本帖最后由 xzywlx 于 2022-10-9 14:11 编辑
背景:
客户出口有电信、联通、MPLS专线、移动4条外网线路,出口设备为负载均衡AD。内网有DNS服务器,是用于解析内部域名的;使用AD的主要需求是出站负载,根据指定域名走指定线路出去
目前存在问题: 1、所有的流量先经过内网DNS服务器,然后内网DNS服务器设置转发器转到AD,AD负载开启了DNS代理,当用户PC的DNS为内部DNS服务器地址时,会出现选路时而正常时而异常反反复复(原本去往香港应该走MPLS专线的却往国内线路走),这就导致了有些业务访问不了和延迟较高
正常情况是走MPLS专线:172.17.3.13
异常情况
问题原因: 理论上来说内网DNS服务器解析不了的DNS流量都会先经过一次AD,AD也会有对应的域名智能路由表的。但是某些情况下,如果AD设备没有这条域名智能路由的IP记录,但是内网域名DNS服务器又是根据缓存直接返回给PC,那这种情况,就会出现智能路由没走对的情况。这种某些情况包括:AD设备重启宕机、域名智能路由的编辑、海外域名地址集编辑触发提交动作,都会导致AD设备上这个基于域名的智能路由这个表清空,要重新根据经过AD的DNS流量去“学习”
解决方案: 1、DHCP服务器直接分配AD的地址作为DNS服务器,同时AD上做A记录或优先代理策略,解析内网的域名 但这个方案比较繁琐,内网存在AD域时需要把 【_ldap._tcp.dc._msdcs.sz.littlefreddie.cn】也使用优先代理策略解析到内网DNS服务器上(不加会导致加域异常),因此最终并未采用此方案
2、采用主备DNS方式,DHCP服务器上主DNS设置为内网DNS服务器地址,备用DNS服务器设置为AD的地址,此时未做其他改动的话和出现问题的状态是一样的,接下来就需要在DNS服务器上做一个操作 把主DNS服务器上的转发器去掉,那么对于公网域名的处理,主DNS服务器是直接不响应,这时候就会去使用备DNS——AD的地址去解析公网地址 这样,这种场景下关于DNS选路解析异常的问题就解决了 |