很多搭建双路由器网络的用户,习惯把二级路由器挂VPN客户端实现多设备统一走加密通道,这类场景下DNS配置出错导致的泄漏、访问异常问题占比很高,这套双路由器环境VPN:DNS配置检查实操步骤,完全基于普通家用和小型办公的双路由拓扑设计,不需要特殊测试工具,普通用户跟着操作就能定位绝大多数常见的DNS配置问题。
双路由器环境VPN:DNS配置检查的前置准备
操作前首先要理清当前双路由的实际拓扑,绝大多数用户的部署逻辑是光猫接主路由完成PPPoE拨号,主路由的LAN口接二级路由的WAN口,二级路由开启VPN客户端模式,这类场景下DNS的生效层级分为路由级和终端级,很多用户混淆两个层级的配置规则,很容易出现看似VPN连接成功、实际DNS请求走运营商通道的问题。

普通用户在双路由器网络环境下实操排查VPN相关DNS配置问题
正式检查前要先确认两个路由器的管理后台地址、管理员登录凭证,网络加速器把所有用来测试的手机、电脑终端都连接到二级路由的WiFi或者有线网络下,不要直接接入主路由的原生网络,避免测试样本出现交叉干扰,同时提前关闭终端上所有单独的代理、VPN类软件,排除本地配置对路由级VPN DNS检测的影响。
第一层级:二级路由器VPN侧DNS配置校验
登录二级路由器的管理后台,找到VPN客户端的配置页面,先确认VPN连接处于正常在线状态,接着查看配置页内的DNS相关选项,很多默认配置下VPN服务商推送的DNS没有被自动写入二级路由的DHCP地址池,终端拿到的还是主路由分配的运营商公共DNS,这是双路由场景下最常见的DNS泄漏点。
这里要注意区分不同配置选项的作用,如果二级路由的VPN设置里有“允许VPN服务器指定DNS”的勾选框,要确认该选项处于开启状态,同时不要手动在二级路由的WAN口配置页填写运营商的公共DNS,避免路由级的非VPN流量DNS请求直接走主路由的通道。
调整完配置之后先在二级路由的系统状态页查看VPN通道的运行信息,确认当前页面显示的DNS服务器地址,和你预期的VPN对应DNS地址一致,不要出现主路由分配的运营商DNS出现在VPN通道的DNS列表里的情况。
第二层级:终端侧DNS获取结果核验
拿Windows终端举例,按下Win+R输入cmd打开命令提示符,输入ipconfig /all指令,查看当前连接的无线或者有线网卡的DNS服务器地址,确认显示的地址是二级路由分配的、和VPN侧配置的DNS一致,不要出现主路由的DNS或者本地手动设置的公共DNS。
使用macOS或者移动终端的话,可以在网络设置的详情页直接查看DNS列表,要是发现多个DNS地址里排在首位的不是VPN对应的DNS,就需要回到二级路由的DHCP设置页,清空原有冗余的DNS条目,强制写入VPN对应的DNS地址,再保存重启二级路由的DHCP服务。
接下来可以用系统自带的nslookup工具,随便解析一个常用域名,看返回的解析来源IP是不是属于VPN所在区域的DNS节点,要是解析请求的回包地址是运营商的公共DNS,就说明当前DNS没有走VPN加密通道。
常见配置误区与故障定位思路
很多用户以为只要二级路由挂了VPN,所有连接二级路由的设备DNS就会自动走VPN,实际上如果双路由之间用的是LAN口接LAN口的桥接模式,二级路由相当于一个无线AP,这时候VPN的DNS配置不会覆盖主路由的DHCP分配规则,所有终端的DNS还是主路由下发的,这种场景下的双路由器环境VPN:DNS配置检查要优先调整主路由的DHCP DNS条目,把指向VPN通道的DNS地址填进去。
还有一类常见误区是用户在终端本地手动设置了公共DNS,哪怕二级路由的VPN DNS配置完全正确,终端的解析请求也会绕过路由下发的DNS规则,直接走本地设置的公共DNS,Astrill VPN出现DNS泄漏,这种情况要先把终端的DNS设置改回自动获取,再重新走一遍校验流程。
完成所有检查步骤之后,也不能完全排除其他因素导致的DNS异常,比如VPN服务商的临时推送规则变更、上游节点的DNS调整,要是校验结果不符合预期,可以尝试重新拨号VPN客户端,再重复走一遍全链路的检查流程,排查临时连接波动带来的配置异常。

