代理客户端 DNS 设置的核心是两件事:选 fake-ip 还是 redir-host 模式,以及国内外域名分别交给哪些 DNS 服务器解析。对大多数用户,推荐 fake-ip 加 DNS 劫持:国内域名用国内 DNS 解析,走代理的域名交给节点在远端解析,既快又不容易泄露。
代理为什么要管 DNS
访问网站之前,系统要先把域名解析为 IP。这一步处理不好,会出现三类问题:
- 解析被污染:部分境外域名在本地解析时拿到错误的 IP,即使流量走了代理也连不上。
- 分流不准:
GEOIP,CN这类基于 IP 的规则依赖解析结果,解析错了分流就错了。 - DNS 泄露:访问了哪些网站,通过本地 DNS 查询暴露给所在网络。
所以 Clash 系、sing-box、Xray 等客户端都内置了 DNS 模块,把系统的 DNS 查询接管过来统一处理。
fake-ip 与 redir-host 怎么选
| 对比项 | fake-ip | redir-host(真实 IP) |
|---|---|---|
| 返回给应用的地址 | 保留网段里的假 IP(常见 198.18.0.0/16) |
真实解析结果 |
| 打开网页速度 | 快,无需等待真实解析 | 每次都要等解析完成 |
| 走代理的域名在哪解析 | 交给节点远端解析 | 本地先解析一次 |
| 兼容性 | 局域网发现、部分游戏、时间同步可能异常 | 好,应用拿到的都是真地址 |
| 配置难度 | 低,开箱可用 | 防污染需要额外配置加密 DNS |
fake-ip 的工作过程是:应用查询域名时,客户端立即返回一个假 IP 并记住对应关系;应用连接这个假 IP 时,客户端反查出原始域名,用域名匹配规则;走代理的连接把域名直接交给节点,直连的连接才在本地做真实解析。
| 情况 | 建议 |
|---|---|
| 普通用户、电脑开 TUN、路由器方案 | fake-ip |
| 个别应用在 fake-ip 下异常 | 仍用 fake-ip,把相关域名加入 fake-ip-filter |
| 大量依赖真实 IP 的局域网或游戏环境 | 考虑 redir-host |
按 mihomo 官方文档,
enhanced-mode只有fake-ip与redir-host两个选项,两者都在维护,没有被弃用。部分客户端界面会把真实 IP 模式显示成其他名称,以实际界面为准。
两种模式更深入的对比见 Fake-IP 与 Redir-Host 模式有什么区别,如何选择。
mihomo 常用 DNS 配置
下面是 Clash 系客户端(mihomo 内核)的一份常见配置,可以在客户端的 DNS 设置界面或覆写功能里实现。DNS 服务器地址可替换为你信任的服务。
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter: # 这些域名返回真实 IP
- "*.lan"
- "*.local"
- "time.*.com"
- "ntp.*.com"
default-nameserver: # 解析下面 DNS 服务器自身的域名,填 IP
- 223.5.5.5
- 119.29.29.29
proxy-server-nameserver: # 只用来解析节点服务器的域名
- https://dns.alidns.com/dns-query
nameserver: # 默认解析服务器
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
nameserver-policy: # 按域名分类指定服务器,优先于 nameserver
"geosite:geolocation-!cn":
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
逐项说明:
- default-nameserver:用来解析 DoH 服务器自己的域名,官方文档要求填 IP 形式。
- proxy-server-nameserver:专门解析机场节点的域名。节点域名解析失败会导致全部节点超时,单独指定一组稳定的国内 DNS 更可靠。
- nameserver:用国内加密 DNS,保证国内网站解析到就近的 CDN。
- nameserver-policy:让境外域名使用海外 DNS,优先级高于 nameserver。fake-ip 模式下走代理的连接本来就由节点远端解析,这一项主要影响需要本地真实解析的场景。
- ipv6:节点不支持 IPv6 时建议关闭,避免 IPv6 流量绕开代理或连接失败。
v2rayN / v2rayNG 使用 Xray 或 sing-box 的 DNS 格式,思路一致:国内域名用国内 DNS,境外域名用远程 DNS 并经过代理查询。图形界面的具体位置见 Clash Verge Rev 使用教程 和 OpenClash 使用教程。
开启 TUN 时别忘了 DNS 劫持
开启 TUN 模式后,要同时开启 DNS 劫持(hijack),把发往任意地址 53 端口的查询都交给客户端。否则部分程序会直接向路由器或运营商 DNS 查询,绕过客户端,造成分流失效和泄露。虚拟网卡的原理和开启方法见 TUN 模式详解。
检测与防止 DNS 泄露
DNS 泄露指使用代理访问境外网站时,域名查询仍然发往本地运营商等非预期的 DNS 服务器。它不会直接暴露你的出口 IP,但会让所在网络看到你访问了哪些域名,也可能被部分服务用来判断真实地区。
检测步骤:
- 开启代理并确认可以访问境外网站。
- 打开一个 DNS 泄露检测网站,运行扩展测试。
- 查看结果中列出的 DNS 服务器:出现本地运营商的服务器,就说明存在泄露。
| 泄露原因 | 对策 |
|---|---|
| 只开系统代理,SOCKS 代理在本地解析 | 浏览器改用 HTTP 代理或开启远程解析;或改用 TUN |
| TUN 未开启 DNS 劫持 | 开启 DNS 劫持 |
| 浏览器开启了“安全 DNS” | 浏览器绕过客户端直接查询,建议关闭或改为系统默认 |
| 安卓“私人 DNS”、系统级 DoH | 设为自动或关闭,交由客户端处理 |
更完整的检测工具和各客户端防护配置,见 代理环境下 DNS 泄露怎么检测与彻底防护。
常见问题
退出客户端后部分网站打不开?
fake-ip 地址残留在系统 DNS 缓存里。Windows 执行 ipconfig /flushdns,macOS 执行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,或者稍等片刻、重启浏览器。
开了 fake-ip 后打印机、NAS 或公司内网连不上?
这些设备名拿到了假 IP。把对应域名或通配符加入 fake-ip-filter,让它们返回真实地址。详细排查步骤见 fake-ip 模式引发的兼容问题怎么排查与修复。
DNS 服务器应该填哪些?
国内部分选两到三个可靠的公共 DNS 即可,优先用加密的 DoH 地址;境外部分选常见的公共 DoH 服务。数量不是越多越好,填太多反而会拖慢首次解析。改完后用泄露检测网站和几个常用网站各验证一次。
改了 DNS 设置却没有生效?
先确认改的是当前正在使用的配置:很多客户端里机场订阅自带 dns 段,更新订阅后会覆盖你的手动修改。长期保留的改动应写在覆写或合并配置里,然后重启内核并清空系统 DNS 缓存再测试。
国内网站打开变慢?
检查 nameserver 是否误用了海外 DNS,导致国内网站解析到海外的 CDN 节点;同时确认处于规则模式而不是全局模式。
节点有延迟,但网页就是打不开?
很多时候是 DNS 出了问题,例如本地解析被污染或 DNS 服务器本身无法访问。可以先切换到全局模式对比,再按 代理 DNS 问题怎么解决 排查。
兼容的机场
以下为 推荐榜 前列品牌,品牌资料显示均支持第三方客户端订阅导入;导入方式以各品牌官方说明为准。
星岛梦是 2020 年开始运营的机场品牌,提供月付、季付、年付以及不限时按量套餐,入门年付折合约 8 元/月(60GB),线路采用内网互联与国际专线。
- 年付折合
- ¥8/月
- 每月流量
- 最高 600GB
光速云是 2020 年开始运营的综合型机场,品牌资料强调 IEPL 专线、企业级内网专线与 VLESS 协议,提供自研客户端并支持第三方客户端订阅导入,入门年付折合约 7.5 元/月(59GB),月付 17 元起(110GB)。
- 年付折合
- ¥7.5/月
- 每月流量
- 最高 500GB
飞猫云是 2023 年开始运营的机场品牌,品牌资料重点突出 IEPL 专线与低价小流量年付套餐,入门年付折合约 7 元/月(50GB),提供自研客户端与多地区节点覆盖。
- 年付折合
- ¥7/月
- 每月流量
- 最高 500GB