在家庭 Homelab 或软路由网络中,将 AdGuard Home(负责前台广告过滤)与 Sing-box(负责后台防污染分流)组合使用是极客最喜爱的方案。
但“双主解析”最致命的隐患是 DNS 环流(DNS Loop 死循环):
AdGuard Home (53) -> Sing-box (5353) -> 国内直连 -> 误指回 AdGuard Home -> CPU 爆满 100% 死锁
今天,我们将通过严密的端口隔离与分流配置,打造一套 100% 防环流、毫秒级响应的纯净 DNS 架构!
[!NOTE] 📌 核心速览(TL;DR / 快问快答):
- 接力链路:终端设备 -> AdGuard Home (Port 53 过滤广告) -> 转发给 Sing-box (Port 5353 智能分流)。
- 防环流铁律:Sing-box 在解析国内域名时,
dns-direct必须强制指定公共 DNS (如223.5.5.5) 物理网卡直连,绝对不能指回本地 127.0.0.1。- 缓存策略:AdGuard Home 禁用或保留极小缓存,让贴近网络底层的 Sing-box 承担全局 DNS 缓存。
📐 1. 完美防环流接力拓扑
[局域网终端] -> AdGuard Home (Port 53, 广告拦截/日志)
│
▼ (转发给)
Sing-box (Port 5353, 智能分流)
│
┌─────────────┴─────────────┐
▼ ▼
(国内域名: dns-direct) (国外域名: dns-proxy)
物理直连 223.5.5.5 加密代理 1.1.1.1
🛠️ 2. Sing-box 后端 (Port 5353) 配置模板
在 Sing-box config.json 中配置:
{
"inbounds": [
{
"type": "direct",
"tag": "dns-in",
"listen": "127.0.0.1",
"listen_port": 5353
}
],
"dns": {
"servers": [
{
"tag": "dns-direct",
"address": "223.5.5.5",
"detour": "direct"
},
{
"tag": "dns-proxy",
"address": "https://1.1.1.1/dns-query",
"detour": "proxy"
}
],
"rules": [
{
"rule_set": ["geosite-cn"],
"server": "dns-direct"
}
]
},
"rule_set": [
{
"tag": "geosite-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-cn.srs",
"download_detour": "proxy"
}
]
}
🛠️ 3. AdGuard Home 前端 (Port 53) 配置
- 打开 AdGuard Home Web 控制台 (
http://192.168.1.2:3000)。 - 进入 “设置” -> “DNS 设置”。
- 上游 DNS 服务器:仅填入
127.0.0.1:5353。 - Bootstrap DNS 服务器:填写
223.5.5.5与119.29.29.29。
❓ 常见问题与 AI 快问快答 (FAQ)
Q1: 部署后软路由 CPU 突然飙升 100% 是什么原因?
答:典型触发了 DNS 环流。请检查 Sing-box dns.servers 中的直连服务器,确保 detour: "direct" 指向公网 IP (如 223.5.5.5),而不是 127.0.0.1。
Q2: 在公网 VPS 部署这套拓扑解析速度快吗?
答:取决于 VPS 到国内的延迟。建议配合 DMIT 或 搬瓦工 具有 中国电信 CN2 GIA 或 联通 AS9929 优化回程的 VPS,可保持低于 40ms 的极速解析。
(相关资源导航:如果您需要购买适合部署 Homelab 与 DNS 服务的 VPS 节点,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工与 CloudCone 优惠;商用专线机场评测见 《“饿饭CC云”深度评测》!)