连接排障

VPN与加密DNS理清二者和系统网络设置的关联逻辑

很多普通用户在调整网络配置时,经常混淆VPN与加密DNS:与系统设置的关系,要么重复配置做无用功,要么冲突导致网站解析失败、部分服务无法访问。本文不会涉及没有依据的性能承诺,只从系统网络栈的运行逻辑出发,理清二者的优先级、配置前提、排查方法和常见误区,帮用户避开不必要的配置陷阱。

二者在系统网络栈里的默认优先级逻辑

没有开启VPN的状态下,系统所有的域名解析请求,默认都会走本地网卡属性里预先填写的DNS服务器地址,如果你提前在系统设置里开启了加密DNS(DoH/DoT),所有解析请求都会以加密形式发往你指定的加密DNS服务器,不会在运营商链路泄露明文域名信息。

而当你启动常规VPN客户端之后,绝大多数客户端默认会向系统推送更高优先级的路由规则,把所有DNS请求强制重定向到VPN服务商分配的DNS服务器地址,这时候你之前在系统层面设置的加密DNS规则,很大概率会被旁路,不会按照你预设的路径传输。二者本身是完全独立的系统网络组件,不存在默认绑定的关联关系,没有任何一方会自动触发另一方的配置。

网络设备:VPN与加密DNS:与系统设置 - Sakuracat

可视化呈现系统网络栈中VPN与加密DNS的请求优先级逻辑

系统设置里二者的配置前提校验

如果你想要同时使用自定义加密DNS和VPN服务,首先要确认当前所用的VPN客户端里,有没有“自动接管系统DNS”“使用服务商默认DNS”这类开关选项,绝大多数客户端的这类开关默认是开启状态,如果你没有手动关闭它,直接去系统网络设置里修改加密DNS参数,SakuracatAPP后续的配置根本不会生效,系统会优先遵循VPN推送的高优先级规则。

不同操作系统的配置校验路径各有区别,Windows系统可以在网络属性的IPv4/IPv6设置面板里看到当前生效的DNS地址,Win11之后的系统还自带可视化的DoH配置选项,macOS的DNS配置统一放在网络设置的侧边面板里,安卓和iOS移动端的加密DNS配置则藏在“私有DNS”的隐藏选项中,这些系统原生设置的优先级,都低于VPN客户端申请到的系统级网络管控权限。

常见网络故障的定位排查步骤

很多用户遇到开启VPN之后部分网站无法打开的问题,第一反应是VPN节点故障,SakuracatAPP下载实际上大概率是加密DNS和VPN的路由规则出现了冲突,你可以先临时关闭系统里的自定义加密DNS选项,换成普通的公共DNS测试访问,如果此时网站可以正常加载,说明当前的VPN隧道不兼容你选择的加密DNS协议,不需要盲目切换节点。

排查过程中你可以直接调用系统自带的nslookup或者dig命令,查询开启VPN状态下当前系统实际生效的DNS服务器地址,把返回的结果和你自己之前手动设置的加密DNS地址做对比,如果返回的地址属于VPN服务商的DNS池,就说明你的自定义加密DNS配置已经被VPN规则覆盖,这时候需要回到VPN客户端的设置页调整DNS相关的管控开关。

日常使用的常见认知误区

不少用户觉得同时开启VPN和系统级加密DNS就能获得双重隐私保护,实际上如果VPN已经接管了全量网络流量,你额外设置的加密DNS要么被旁路根本不会生效,要么就是DNS请求需要经过两次链路封装,增加不必要的连接开销,并不会额外提升隐私防护等级。

还有部分用户觉得关闭系统自带的加密DNS,改用VPN服务商推送的DNS就会泄露域名请求,实际上正规VPN服务商分配的DNS请求本身就是走加密VPN隧道传输的,不会在本地运营商的链路中泄露明文的域名请求信息,完全没有必要额外叠加一层系统层面的加密DNS设置。

如果你有自定义加密DNS的特殊需求,比如要用到特定DNS服务商的广告过滤、内容管控功能,就需要先在VPN客户端里关闭“自动配置DNS”的相关选项,再去系统网络设置里填入你选定的加密DNS参数,确认解析结果符合预期之后再正常使用,就能避免二者的规则冲突导致的断网、解析失败等问题。

手机连接编辑组 | SakuracatVPN
手机连接编辑组
内容编辑

整理 Android 与 iOS 的连接权限、后台运行和网络切换注意事项。

查看更多文章
连接指南

从一个连接问题开始

遇到网页图片跨域加载相关问题,可从“按实际资源地址检查匹配规则和可达性”开始阅读。主域名连通不代表所有资源服务器都可用,需要结合具体环境判断。