DNS 泄漏是指在您本应该通过安全的 VPN 连接发送域名查询请求时,却错误地通过您本地的互联网服务提供商 (ISP) 发送了这些请求。 这意味着即使使用了 VPN 来隐藏浏览活动,ISP 仍然可以监视您访问的网站,损害了隐私。避免 DNS 泄漏对于确保 VPN 的有效性至关重要。
下面的 Mihomo DNS 配置可以避免 DNS 泄露。 该配置旨在实现 DNS 分流:国内网站使用国内 DNS 解析,否则使用国外 DNS 解析。 这里参考了 Mihomo 官方的示例配置。
dns:
enable: true
listen: 127.0.0.1:53
ipv6: true
prefer-h3: true
respect-rules: true
enhanced-mode: fake-ip
fake-ip-filter:
- '*'
- +.lan
- +.local
- +.market.xiaomi.com
nameserver:
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
proxy-server-nameserver:
- https://120.53.53.53/dns-query
- https://223.5.5.5/dns-query
nameserver-policy:
geosite:cn:
- https://120.53.53.53/dns-query
- https://223.5.5.5/dns-query
geosite:geolocation-!cn:
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
该配置可能会引起局域网内的 DNS 出错,从而影响局域网服务的访问。建议在局域网环境下对局域网特定域名额外添加下面的配置。
nameserver-policy:
"+.your-lan-domain.cn":
# replace with your lan DNS server
- 172.0.0.1
- 172.0.0.2
该配置将使以 your-lan-domain.cn
结尾的域名使用 DNS 服务器 172.0.0.1
及 172.0.0.2
解析。
如果使用的是 Mac 或者 Linux,修改上述配置后使用常用的 DNS 泄露测试工具可发现 DNS 不再发生泄露(无来自中国大陆的 DNS)。
若使用的是 Windows 11,则还需参考禁用 Windows 智能多宿主名称解析教程来关闭智能多宿主名称解析,
再在设置 App — 网络与 Internet 设置 — 属性 — DNS 服务器分配中设置 DNS 为手动,地址设置为 127.0.0.1
和 ::1
.
完成设置后,使用常用的 DNS 泄露测试工具可发现 DNS 不再发生泄露(无来自中国大陆的 DNS)。