这篇指南面向已经完成家庭路由器级VPN初步部署的普通用户,不需要掌握复杂的网络命令,就能通过分步操作完成家庭路由器VPN的DNS配置检查,定位绝大多数DNS相关的连接异常、解析泄漏问题,全程贴合家用网络的实际使用场景,避开专业运维的冗余操作,所有步骤都可以通过普通路由器的可视化管理后台完成。
部署前的DNS配置基础逻辑梳理
路由器级VPN和单设备独立开启VPN的逻辑有明显区别,前者会让所有接入路由器的有线、无线设备流量统一走VPN隧道传输,这时候如果DNS配置没有和VPN隧道对齐,很容易出现解析请求绕出隧道的情况,不仅会出现网页加载失败、域名解析错误的问题,还可能导致VPN部署的预期效果打折扣。很多普通用户部署完VPN之后直接跳过DNS配置检查,后续遇到连接异常时很难定位问题根源。
正式开始检查前要先确认两个基础前提,首先要确认路由器自带的VPN客户端已经处于正常连接状态,不要在VPN还未拨号成功的状态下测试DNS配置,否则所有排查结果都不具备参考性,其次要临时关闭路由器上额外部署的旁路网关、广告过滤插件、自定义DNS规则等第三方功能,避免这类自定义规则干扰基础检查的结果,等完成核心配置校验之后再逐步恢复相关功能。
分步DNS配置基础检查流程
第一步先登录路由器的管理后台,找到WAN口设置页面查看默认DNS配置,预期结果是如果你的VPN服务没有指定专属DNS,这里要么填写合规的公共DNS地址,要么设置为自动跟随VPN隧道下发的DNS地址,不能直接保留运营商默认的DNS地址,很多用户部署完VPN之后忘了修改WAN口的默认DNS,导致部分解析请求直接绕过VPN隧道从运营商链路发出,出现非预期的解析泄漏问题。
第二步进入路由器的VPN客户端配置页面,查看VPN专属的DNS相关设置,绝大多数支持VPN客户端功能的家用路由器,都会单独设置DNS代理的开关,这里要确认DNS代理功能处于开启状态,地址栏也没有填写之前留存的本地局域网旧DNS规则,预期结果是路由器会自动把所有接入设备的DNS请求,统一转发到VPN隧道内部的DNS服务器处理,不会主动把解析请求转发到隧道外的地址。
第三步查看路由器局域网DHCP服务的配置页面,确认DHCP下发给接入设备的DNS地址规则,很多用户之前为了实现去广告、防域名污染的效果,手动给DHCP服务设置了固定的第三方DNS,部署路由器VPN之后这个旧配置如果没有同步更新,接入设备会绕过路由器的转发规则直接向外发送解析请求,你可以随便找一台连入局域网的普通设备,查看网络属性里的DNS地址,预期结果是显示的DNS地址要么是路由器的内网网关地址,要么是你在VPN客户端页面填写的隧道内DNS地址,不能出现和当前VPN节点无关的外部DNS地址。
典型DNS异常现象的定向排查
第一个常见异常现象是部署VPN之后,部分国内常规网站无法正常打开,但海外站点访问状态正常,这时候大概率是DNS解析请求全部走了海外的DNS服务器,对国内域名的解析结果被路由到了海外节点,你可以检查VPN配置里的分流规则,确认是不是把所有域名都强制设置为走隧道,没有给国内域名设置单独的本地解析路径,调整分流规则之后刷新设备的DNS缓存,大部分这类问题都能恢复正常。
第二个常见异常现象是VPN连接状态完全正常,但用公开的DNS检测工具测试时,仍然能看到本地运营商的DNS地址,这时候不要直接判定VPN配置失效,先检查你用来测试的设备有没有手动设置静态DNS,很多用户之前为了特殊需求给电脑、手机手动改过自定义DNS,这类设置不会自动跟随局域网DHCP的配置更新,把设备的DNS改成自动获取之后再重新测试,绝大多数这类泄漏问题都可以直接解决。
第三个常见异常现象是部分智能设备比如电视、家用摄像头连不上网络,这类设备很多内置了硬编码的公共DNS地址,不会主动跟随局域网下发的DNS配置走,你需要在路由器的防火墙规则里添加DNS重定向策略,把所有向外发送的53端口DNS请求都劫持转发到VPN指定的DNS地址,就能解决这类特殊设备的解析异常问题。
常见配置误区规避
很多用户为了提升所谓的安全性,同时在路由器上开启VPN的DNS代理,又在接入设备上单独安装带DNS加密的工具,两类DNS规则互相抢占优先级,最后反而会出现解析冲突、页面加载卡顿的问题,这类叠加操作没有实际的正向收益,反而会大幅提升后续故障排查的复杂度。
不要盲目跟风修改路由器的自定义hosts文件来强制绑定域名解析,部署路由器VPN之后,hosts里留存的旧规则很容易和VPN隧道内的DNS解析结果产生冲突,出现访问跳转到错误站点的问题,除非你明确知晓每一条自定义hosts规则的具体作用,否则排查故障的时候优先把所有自定义hosts规则全部清空,再逐步测试调整。


