先确认应用把域名交给谁,再配置本地与远程解析器,最后核对 DNS 请求和业务连接各自的出站。本文适合已经导入配置、但遇到部分网站打不开或解析结果异常的用户;按步骤可建立国内直连解析、境外按需远程解析的检查清单,并区分解析污染、DNS 泄露和普通连接故障。
一、先分清解析、路由与代理出站
DNS 把域名转换成 IP 地址。路由决定连接走直连还是代理。两者相关,但不是同一个开关:填入远程 DNS 地址,不等于该 DNS 请求一定经过代理;把某个网站设为代理,也不等于浏览器之前没有用系统 DNS 查询过它。
这条流程表示检查顺序,不表示每个连接都必须先在本机完成解析。HTTP 代理或 SOCKS 代理收到域名后,可以把域名交给远端处理;按 IP 匹配的规则则可能触发本地内核解析。应用如果先解析、再把 IP 交给代理,客户端能利用的原始域名信息就可能减少。
- 区分客户端与内核:v2rayN 是桌面配置界面;实际 DNS 行为取决于启用的内核、运行配置和接管模式。v2rayNG 使用 Xray 内核,v2flyNG 使用 v2fly 内核,不能直接把不同内核的 DNS 字段混用。
- 区分污染与泄露:污染是获得错误或被干扰的解析结果;泄露是查询走了预期之外的解析路径。解析结果正确,也可能发生路径泄露。
- 区分解析失败与连接失败:日志出现域名解析超时,先查 DNS 可达性;已获得地址却连接超时,还要查路由、节点、目标端口和网络限制。
二、选好本地 DNS、远程 DNS 与传输方式
“本地 DNS”通常指用于直连场景的解析器,不一定是运行在电脑上的服务;“远程 DNS”通常指用于代理场景的解析器,也不意味着它自动走代理。先按用途划分,再分别确认传输协议、服务器地址和实际出站。
这些是协议常见端口,不是需要统一填入客户端的监听端口。客户端输入框是否接受 DoH 地址,要看当前版本和字段说明;不能因为 DoH 使用 HTTPS,就把一个普通网站首页当成 DNS 接口。DoT 也不是所有 DNS 输入框都支持的地址格式。
| 解析用途 | 配置方向 | 需要检查 |
|---|---|---|
| 国内直连域名 | 使用当前网络可达的本地解析器,例如运营商 DNS,或按需使用 223.5.5.5 | 查询是否直连,返回地址是否适合当前网络 |
| 境外代理域名 | 使用可经代理访问的远程解析器;支持 DoH 的字段可按需填写 https://dns.google/dns-query | 接口是否受支持、是否可达、请求是否按预期走代理 |
| 代理服务器域名 | 保留代理建立前即可使用的引导解析路径 | 是否依赖尚未连通的代理,是否形成循环依赖 |
| 局域网设备名称 | 优先保留路由器或内网 DNS 的解析能力 | 内网名称是否被误送到公共解析器 |
判断:先确认请求出站,再替换解析器
若远程 DNS 仍通过受干扰的直连路径访问,单纯更换地址未必有效。先用日志或连接记录确认其路径,再决定是否调整服务器和传输方式。
三、在 v2rayN 中检查 DNS 与路由设置
先记录当前运行模式和内核,再打开「设置」→「DNS 设置」。不同发行版本可能把相关选项归入设置窗口的 DNS 页签;应按实际界面的字段说明操作。不要把网上整段 JSON 直接粘贴到含义不同的输入框,也不要认为切换内核后所有 DNS 配置仍保持相同语义。
- 记录原值。保存当前本地 DNS、远程 DNS、路由模式和运行内核的设置记录。若启用了自定义 DNS 配置,先备份原文,避免测试后无法恢复。
- 设置直连解析。在本地或直连 DNS 对应字段中填写可达的解析器。若使用 223.5.5.5,确认当前网络允许访问;企业网络的内部域名应优先交给企业 DNS,而不是一律改成公共地址。
- 设置远程解析。在远程 DNS 对应字段中使用当前内核支持的格式。支持 DoH 时可按需使用
https://dns.google/dns-query;该地址只是配置示例,不代表所有网络都能直连访问。 - 核对路由规则。打开「设置」→「路由设置」,检查国内域名规则、代理域名规则及默认出站。需要按域名分流时,不能只留下 IP 规则而忽略域名规则。
- 保存并重启核心。让新配置重新加载,再观察日志是否出现 DNS 配置格式错误、解析超时或服务器连接失败。界面保存成功,只说明设置已写入,不说明运行路径正确。
若运行配置使用 V2Ray/Xray 的 routing.domainStrategy,需要分清三个常见值。AsIs 表示路由阶段按原始域名处理,不为了 IP 规则主动解析;IPIfNonMatch 在域名规则未匹配后尝试解析并继续匹配;IPOnDemand 在匹配需要 IP 的规则时按需解析。它们不是“直连、代理、全局”的同义词。
四、在 v2rayNG 中检查 VPN 接管与 DNS
在 v2rayNG 中,打开侧栏「设置」,找到「远程 DNS」「本地 DNS」以及版本提供的本地 DNS 启用选项。名称可能随版本调整;填入本地 DNS 后,还要确认相应功能已启用,不能只凭输入框里有地址判断其已经生效。
- 确认连接模式。启动配置并检查系统 VPN 连接状态。若只使用代理模式,没有通过该代理的应用不会自动受这组 DNS 设置管理。
- 检查本地 DNS。按当前网络填写直连解析器,并检查启用开关。保留内网解析需求;公司内网和家庭设备名称通常不能依靠公共 DNS 解析。
- 检查远程 DNS。填写当前版本支持的远程地址,保存后停止并重新启动连接。若需要使用加密 DNS,先确认该字段支持对应协议,不要自行拼接地址前缀。
- 检查路由与分应用。在「设置」→「路由设置」检查国内流量的处理方式;同时检查分应用代理。被排除的应用可能继续使用系统网络和系统 DNS。
- 检查系统与浏览器。记录 Android「私人 DNS」以及浏览器「安全 DNS」是否启用。排查时一次只改变一处,再重新建立连接,比较日志和解析行为。
Android 私人 DNS、浏览器自带 DoH 与内核 DNS 可能形成多条解析路径。不要直接认定某个开关必然覆盖另一个开关;应结合 VPN 接管范围、应用是否被排除以及实际连接记录判断。尤其是浏览器自建 DoH,请求可能作为普通 HTTPS 流量经过路由,却不使用客户端内置的解析器。
五、把解析规则和连接规则配成一组
“国内域名本地解析、境外域名远程解析”需要两层配合:DNS 层选择解析器,路由层选择业务连接出站。只改 DNS 不会自动把连接改为代理;只改业务路由,也不能自动收回应用已经向系统发出的 DNS 查询。
- 先放精确例外。需要直连的内网域名、企业服务和局域网地址应有明确处理方式,避免被宽泛的代理规则覆盖。
- 再放域名分类。若配置采用
geosite:cn等规则,确认运行内核支持并成功加载对应规则资源。分类库不是实时地理定位,也不保证覆盖所有国内网站。 - 补充 IP 兜底。
geoip:cn按 IP 分类,与按域名分类的规则含义不同。一个国内域名可能使用境外地址,一个境外域名也可能返回国内 CDN 地址。 - 检查未匹配行为。确认不在分类列表中的域名最后走哪条出站,以及 DNS 是否会回退到其他服务器。不了解回退行为时,不要承诺境外查询绝不会走本地路径。
还要单独处理代理服务器自身的域名。若节点必须先解析才能连接,而该解析又被规定只能经过尚未建立的代理,就会形成启动循环。远程 DoH 服务器若使用域名,也可能需要引导解析;应检查当前内核如何建立这条初始连接,而不是把所有解析器都一并强制代理。
判断:先保留可启动路径,再收紧分流
先让节点域名和解析服务具备可用的引导路径,再逐步调整业务域名的解析规则。每改一层就重连测试,避免把启动失败误判为节点失效。
六、用日志、缓存与对照查询验证结果
验证要分开回答三个问题:查询发给谁、查询通过哪条路径、业务连接走哪条出站。只看到一个可用 IP,不能证明 DNS 没有绕行;只看到浏览器能打开网页,也不能证明所有应用都已经被接管。
- 选定测试对象。分别选择一个国内公共域名、一个需要代理访问的域名,以及实际使用的内网名称。保持同一组对象,避免每次换网站导致结果不可比。
- 重新建立连接。保存 DNS 设置后重启客户端连接,关闭再打开测试应用。浏览器、系统和内核各有缓存,只清理其中一处可能仍会复用旧结果。
- 观察客户端日志。先排除配置加载失败,再查看解析错误和出站记录。日志是否展示完整 DNS 细节取决于内核和日志等级;没有记录不等于没有查询。
- 做系统侧对照。在 Windows 终端执行下面的命令,观察默认解析器与指定解析器的差别。注意它们检查的是系统侧查询,并不能代替客户端内核 DNS 的验证。
nslookup www.qq.com
nslookup www.qq.com 223.5.5.5
ipconfig /flushdns
第一条命令通常使用当前系统解析器;第二条向指定地址查询;第三条清理 Windows DNS 缓存。不同解析器返回不同 CDN 地址很常见,不能只凭地址不一致就判定污染。应结合地址是否合理、解析是否稳定、目标是否可连接,以及客户端日志一起判断。
七、按症状排查常见 DNS 问题
换了远程 DNS,为什么还是打不开网页?
先在日志中区分解析超时与连接超时。确认远程 DNS 地址格式受支持、服务器可达、请求出站正确;若已经返回 IP,再检查节点连接和业务路由,不要反复更换 DNS。
浏览器正常,其他应用却解析失败怎么办?
先检查该应用是否被排除在 VPN 或分应用代理之外,再核对它是否使用独立 DNS。桌面仅开启系统代理时,也要确认应用是否读取系统代理设置,不能把浏览器成功当作接管全设备的证据。
改完 DNS 后,国内网站反而变慢了?
检查国内域名是否被送到远程解析器,业务连接是否仍走直连。解析位置与连接出口不一致,可能得到不合适的 CDN 地址。恢复国内直连解析后重建连接,再比较同一网站。
只有部分网站失败,要不要关闭 IPv6?
先比较 A 与 AAAA 记录对应的连接情况,并检查当前出口的 IPv6 可达性。可临时调整 IPv6 解析选项做对照,但应记录原值;不要用关闭 IPv6 代替检查 IPv6 路由和接管范围。
订阅更新后,DNS 设置会一起同步吗?
常见节点订阅主要更新服务器配置,不一定包含客户端全局 DNS 和路由设置。更新后重新核对本地设置;若使用完整自定义配置,也要确认运行配置是否覆盖了界面中的 DNS 选项。
最后保留一份可恢复的配置记录:写清运行内核、接管模式、本地与远程解析器、路由策略、浏览器 DNS 设置及修改日期。下次出现问题时,从最后改动的一项开始回退,比同时更换节点、DNS 和路由更容易定位原因。