不少小型工作室、多设备家庭都会部署双宽带线路,分别承载不同的业务流量,不少用户会搭配VPN实现特定场景的加密访问,这类双宽带环境下的DNS配置逻辑远比单宽带场景复杂,很容易出现解析泄露、域名跳转异常、分流规则失效等隐性问题,这份全攻略从故障现象倒推排查步骤,帮用户逐层定位双宽带环境VPN场景下的DNS配置问题。
双宽带环境VPN的DNS配置前置原理
双宽带场景一般依托多WAN路由器或者搭载双网卡的终端设备承载两条独立的运营商线路,默认状态下系统会生成两套独立的DNS解析路由规则,接入VPN之后如果没有做针对性的策略适配,解析请求很容易绕过VPN加密通道,直接走未加密的宽带出口,这也是很多用户明明成功连接VPN,还是能看到本地运营商解析记录的核心原因。
正式开展检查前需要先确认配置基线,不要提前修改任何设备的原有网络参数,先分别记录两条宽带线路默认分配的DNS地址、对应公网出口的特征信息,避免后续排查过程中出现数据混淆,无法判断异常配置的来源。
接入VPN前的基线DNS校验
第一步先断开所有VPN连接,在多WAN管理后台手动关闭其中一条宽带的WAN口,只保留第一条宽带作为唯一活跃出口,通过公网IP查询类站点确认当前线路的公网出口信息,同时记录下当前系统获取到的全部DNS服务器地址,之后切换到第二条宽带单独作为活跃出口,重复同样的记录操作。
这一步的预期结果是两条宽带对应的DNS地址分别匹配对应运营商的官方分配地址,没有提前手动设置的第三方公共DNS或者陌生DNS记录,如果这里已经出现不属于当前运营商的DNS地址,说明本地设备的历史残留配置已经干扰基线,需要先把两条宽带的WAN口DNS设置恢复成自动获取状态,再继续后续排查流程。
完成单线路的基线记录后,同时激活两条宽带出口,保持VPN断开状态,再次查看当前设备加载的DNS服务器列表,正常情况下多WAN设备会同时把两条线路的运营商DNS加载为备用解析服务器,不会出现单条线路独占所有解析请求的情况,也不会出现多余的未知DNS条目。
VPN运行时的DNS路由匹配检查
启动需要使用的VPN连接,暂时不调整任何分流规则,直接查看VPN客户端或者多WAN路由器VPN配置页的DNS状态信息,确认VPN服务端推送的DNS地址有没有成功加入当前系统的DNS服务器列表,同时查看原有双宽带的运营商DNS是否还在列表中。
双宽带环境下很多多WAN设备的本地路由优先级默认高于VPN推送的路由规则,很容易出现VPN连接成功,但DNS服务器列表里仍然保留了两条宽带的运营商DNS的情况,这时候域名解析请求会在多个DNS地址之间轮询,大概率出现部分请求绕过VPN加密通道的DNS泄露问题。
接下来打开系统自带的命令行工具,连续多次对同一个未访问过的陌生域名做解析测试,每次记录返回结果的DNS服务器地址,如果出现部分解析请求的响应来源是之前记录的运营商宽带DNS,说明当前存在DNS分流泄露,需要在VPN配置页开启DNS抢占优先级选项,强制VPN推送的DNS排在所有原有DNS的最前面。
分流规则下的DNS定向校验
绝大多数双宽带用户都会配置自定义分流规则,比如特定业务站点走VPN通道,普通国内站点走本地宽带线路,这种场景下的DNS配置最容易出现冲突,需要单独给不同的路由组绑定对应的DNS服务器,走VPN通道的流量必须指定仅使用VPN分配的DNS,走本地宽带的流量才允许调用对应运营商的DNS。
检查的时候要分别测试分流规则里的境外站点和国内站点的解析结果,走VPN通道的站点解析响应不能出现本地运营商的DNS标识,走本地宽带的站点解析结果要匹配对应宽带的覆盖区域,避免出现跨线路解析带来的访问异常问题。
这个场景下的常见误区是很多用户为了简化配置,直接把全局DNS改成公共DNS,在双宽带VPN场景下反而会造成分流规则失效,所有解析请求都绕过VPN出口,完全达不到加密解析的预期效果。
所有检查完成之后,建议定期做复测,尤其是双宽带的运营商后台刷新DNS分配地址之后,要同步更新设备里的基线配置,避免后续出现隐性的解析故障,整个检查流程不需要额外的特殊工具,只要按照路由层级逐层校验,就能覆盖绝大多数双宽带环境VPN下的DNS配置问题。
蜜蜂加速器 
