很多朋友使用代理工具后发现,即使全局翻墙,某些国内外网站仍然打不开、跳体验差的区域限制,或者使用泄漏测试网站时(如 ipleak.net),发现还是能看见自己本地运营商的 DNS 服务器 IP。这种情况不仅会拖慢速度,还有严重的隐私隐患,被称为**“DNS 泄露 (DNS Leak)”**。
在其他客户端里,DNS 设置是一项黑魔法,常常折腾很久也没用。而在 Sing-box 里,它可以通过严谨的逻辑控制 dns 模块轻松达到最科学的解析方案。
Table of contents
Open Table of contents
什么是 DNS 泄漏?为什么发生?
当你的浏览器想要访问 www.google.com 时,电脑必须先知道它的 IP 地址(这需要问 DNS 服务器)。
如果你的系统或代理工具配置不当,这个查询请求(DNS Query)会通过你的本地运营商网络发给国内的 DNS(比如 114.114.114.114)。
结果有三个可能:
- 被投毒污染: 返回一个错误的假 IP,导致网页打不开。
- CDN 错位: 返回了距离节点极其遥远的内容服务器 IP,导致网速很慢。
- 隐私暴露: 本地运营商知道了你正在试图请求某些网站。
在 Sing-box 避免泄露的终极策略
想要完美分配 DNS 且不泄漏,我们的目标很明确:
- 目标为国内网站时: 使用国内的无污染大厂公共 DNS(如阿里或腾讯),并且走国内网络直连。
- 目标为国外受限网站时: 必须使用国外的加密 DNS 并经由代理节点发送,以获得正确的真实 IP,或者是利用 FakeIP 方案屏蔽真实解析带来的延迟。
1. 基础防泄漏方案 (远程 DNS 查询)
在你的 JSON 中,单独配一个 dns 字段:
"dns": {
"servers": [
{
"tag": "google-dns",
"address": "tls://8.8.8.8",
"detour": "proxy" // 强制让 DNS 查询顺着代理隧道发出去!
},
{
"tag": "local-dns",
"address": "223.5.5.5",
"detour": "direct" // 国内的由直连发出
}
],
"rules": [
{
"geosite": "cn",
"server": "local-dns"
},
{
"domain_suffix": ["google.com", "youtube.com"],
"server": "google-dns" // 将其指定到需要翻墙的DNS服务器
}
]
}
这里面最重要的一句是 "detour": "proxy"。这个配置告诉核心:针对 google-dns 发送查询数据包时,不要直接从我的网卡走,必须从名为 “proxy” 的那个出站(节点)加密出去,去问海外真正的 DNS。
2. FakeIP:终极大招,速度与防泄露兼顾
传统的方法下,即便是送出国查询,你的手机也要先干等这个 IP 解析结果传回来,才能建立实际连接。这多费了半个来回的延迟!
FakeIP (伪造IP) 的思路是:当系统问这个域名的 IP 是什么时,Sing-box 直接秒骗系统:“哦,它的 IP 叫 198.18.0.x”。然后系统对着这个假 IP 建立连接时,Sing-box 直接用代理通道向外把整个发往原域名的请求包转发走(不提前在本地域名解析真实 IP)。
如何在 Sing-box 配置 FakeIP?
- 开启入站的 Tun:并且设置为允许嗅探。
{
"type": "tun",
"interface_name": "tun0",
"inet4_address": "172.19.0.1/30",
...
"sniff": true,
"sniff_override_destination": true
}
- 配置 DNS 服务器引入 FakeIP 模块:
"dns": {
"servers": [
{
"tag": "fakeip-dns",
"address": "fakeip"
},
{
...你的其他真实DNS
}
],
"rules": [
{
"query_type": ["A", "AAAA"],
"server": "fakeip-dns"
}
],
"fakeip": {
"enabled": true,
"inet4_range": "198.18.0.0/15"
}
}
这段规则告诉工具,当设备问任何域名的 IPv4 地址时,直接丢一个在 198.18.0.0 里的虚假 IP 给它!所有关于真实解析的时效都被节省下来,交给了代理远端节点去做。
结语
使用 FakeIP 后,再去 ipleak.net 测试,你会发现这辈子的网络如此洁净,连一丝本地 ISP 运营商的痕迹都找不到!你已经成为一个真正懂底层规则的极客玩家。