问题:在请求 qaz.edc.ziyu.zy.com. 委派的内网域名是出现无法解析,或者解析延时很大的问题。
ziyu.zy.com. IN NS ns1.ziyu.zy.com. ziyu.zy.com. IN NS ns2.ziyu.zy.com. ns1.ziyu.zy.com. IN A 1.1.1.1 ns2.ziyu.zy.com. IN A 1.1.1.2
经过排查涉及下面三个配置:
1.转发服务器,非本机所负责解析区域的请求
转发服务器 : 需要关闭dnssec 功能 注意: 被转发的服务器允许递归 1.全部转发:非本机所负责解析区域的请求,通通转发给指定服务器 options 中定义: options { forward {first|only}//first 优先转发,否则自己迭代查询,only 直接递归至转发服务器 forwarders {}; };
2. 仅转发特定区域的请求至某服务器 这条配置在处问题前没有添加
2.区域转发;仅转发特定区域的请求至某服务器
zone "test.com" IN { type forward; forward only; forwarders { 192.168.100.150; }; }; //单个区域转发
3. /var/named/config/nemd.conf 配置文件中的 zone "." 这个根的zone 文件,里面包含 ipv4/ipv6 13个根配置信息
zone "." { type hint; file "db.external.named.root."; };
问题处理:
1.在 1 和3 项配置生效时当请求qaz.edc.ziyu.zy.com. 这个域名,bind 查看当前配置里没有edc 这个zone 就直接转发域名请求到转发服务器,没有在在 zy zone 里 解析 ziyu.zy.com. 这个子域
的信息。这个子域的信息需要从转发器DNS 上再递归一遍。问题出现是由于指定的 转发器DNS 不响应导致出现问题。
2. 在只有 3 项这个配置生效时,没有转发器的配置下,bind 直接在配置文件中过滤了 ziyu.zy.com. 这个子域的信息并响应,bind 的转发器优先级高于 从根 "." 迭代查询的优先级。
本次解决办法是添加了一个转发域配置将子域直接作为转发域进行处理,不再作为子域进行委派, 在第三项配置单独存在时也可以从配置文件中获得解析。 但是由于环境问题
从 根路由不通,因此必须要添加全局的 options forwarders {}; 配置,在这个配置生效的情况下 ,“非本机所负责解析区域的请求” 就是域名信息需要已单独的 zone 文件存在,才优先处理,
如果是zone 里的子域委派 优先级低于 全局转发配置。
因此得出下面优先级:
转发zone > 转发器DNS > zone "." 配置项
System ›› Configuration : Local Traffic : DNS F5 设备这个目录有个缓存配置,在排查时影响了排查思路