当前不少多业务办公场景、多设备家庭网络都会部署双宽带做链路冗余或者业务分流,接入VPN实现内网资源互访的过程中,经常出现DNS解析异常问题,比如内网专属域名无法打开、解析结果跳转到错误的公网地址,甚至出现DNS请求绕过VPN隧道直接走公网链路的情况。本文围绕双宽带环境VPN的DNS配置检查全流程,从前置条件梳理到逐项校验,覆盖常见故障的定位逻辑,帮助运维人员快速排查配置疏漏,理清DNS请求在双链路环境下的流转路径。

运维人员在双宽带多路由网络环境下开展VPN DNS配置校验排查工作
双宽带环境VPN DNS配置的前置梳理
双宽带的常规部署逻辑是两条不同运营商的外线接入多WAN口路由器,菜鸟部分场景下两条链路分别绑定不同的VPN隧道,或者配置主备链路自动切换规则,这种架构下DNS的流转路径比单宽带环境复杂很多,很容易出现跨链路的DNS请求走非指定VPN隧道的问题,很多常规单宽带场景下正常的配置,在双链路环境下都会出现冲突。
正式开始检查前需要先完成基础信息梳理,先确认当前VPN的部署模式,是站点到站点的内网互联VPN,还是面向终端用户的远程访问VPN,同时标记两条宽带对应的WAN口网关、默认分配的公网DNS地址,菜鸟避免后续检查时混淆不同链路的配置项,错把其他宽带的DNS规则当成当前VPN隧道的配置内容。
分层DNS配置逐项检查步骤
第一步先检查路由器层面的DNS绑定规则,双宽带多WAN环境下很多管理员会给不同WAN口配置不同的DNS服务器,接入VPN之后如果没有把VPN隧道对应的DNS请求绑定到指定的WAN链路,就会出现VPN的DNS查询走了另一条未关联VPN的宽带的情况,检查时需要在路由策略里查看VPN对应的内网网段的DNS转发规则,确认所有指向VPN内网域名的请求都被路由到VPN隧道对应的WAN链路。
接下来检查VPN服务端的DNS推送配置,很多站点到站点VPN的服务端会给对端推送指定的内网DNS地址,双宽带环境下如果服务端同时接入两条宽带,推送DNS的时候没有指定对应隧道的出接口,就会出现VPN客户端收到的DNS地址属于另一条宽带的网段,导致解析完全失效,检查时可以在VPN服务端的配置页面查看推送DNS的绑定接口,确认和当前VPN隧道的绑定链路一致。
然后检查终端侧的DNS优先级,双宽带环境下如果终端同时通过有线连接第一条宽带、无线连接第二条宽带,又同时接入VPN,系统的DNS优先级排序很容易出现冲突,检查时可以在终端的网络适配器属性里,查看VPN虚拟网卡的DNS优先级是否高于两个物理网卡的DNS优先级,避免系统优先调用公网宽带的DNS服务器解析VPN内网域名。
最后做实际的解析路径验证,在终端开启VPN连接之后,执行系统自带的域名查询命令查询内网VPN专属域名,查看返回的DNS响应源地址,确认响应地址是VPN服务端推送的内网DNS,而不是任意一条公网宽带自带的公共DNS,这一步的预期结果是所有内网专属域名的解析请求都返回正确的内网IP,公网域名的解析如果配置了分流规则则走指定链路。
常见故障场景的定位排查
最常见的故障是VPN内网域名间歇性解析失败,现象是第一次访问内网资源打不开,刷新几次之后又能正常加载,这种情况大概率是双宽带的链路切换触发了DNS缓存冲突,部分解析请求被自动路由到了备用宽带的链路上,没有走VPN隧道,排查时需要确认路由策略里没有给VPN相关的DNS请求配置负载均衡规则,所有VPN内网网段的DNS请求都绑定到主VPN链路。
第二个常见故障是DNS泄露,双宽带环境下即使VPN连接状态完全正常,部分浏览器或者系统的DNS预读取请求会绕过VPN隧道,直接走未加密的公网宽带发送,排查时可以断开其中一条宽带的物理连接,单独保留VPN对应的链路,测试解析是否正常,再反过来断开VPN对应的链路保留另一条宽带,查看是否还有VPN内网域名的解析请求发出,就能定位到泄露的来源链路。
还有容易被忽略的配置误区,很多管理员为了简化配置直接在双宽带路由器上配置全局DNS转发,没有给VPN隧道单独配置DNS分流表,导致所有DNS请求都被统一转发到公共DNS,完全跳过了VPN服务端推送的内网DNS,这种场景下即使VPN隧道连接状态完全正常,也无法解析任何内网专属域名,排查时只需要把VPN内网域名段添加到独立的DNS分流规则里,指向VPN对应的内网DNS服务器即可。
双宽带环境的VPN DNS配置没有通用的适配所有场景的固定模板,所有检查步骤都需要结合自身的链路绑定规则、菜鸟加速器系统兼容性说明VPN部署模式逐一验证,单次检查只能定位当前可见的配置疏漏,后续链路扩容或者VPN规则更新之后,都需要重新走一遍DNS检查流程,避免新的配置冲突引发解析故障。
菜鸟加速器 


