使用特定默认路由解决bind9选择性失败

网络工程 dns
2022-03-04 21:28:00

多年来,我一直在 Linux 机器上运行我自己的名称服务器 (bind9),我的办公室里有几个由 Verizon FiOS 提供服务。今天早上我发现我无法再解析 google.com 域中的任何内容。其他域查找继续工作。我验证了我的根服务器表是最新的。

无法识别错误配置,并注意到 Linode 上的 VPS 中的名称服务器不存在问题,我尝试了一种解决方法。该 VPS 位于我的办公网络的第 2 层 VPN 上,因此我在一些受影响的办公系统上切换了我的默认路由,以便所有到 Internet 的流量都通过 VPS。此切换后,名称服务正常,解析 google.com。

请参阅下面的演示。请注意,192.168.10.87 是我的内部路由器之一,它对版本 FiOS 接口进行 NAT。192.168.10.78 在远程站点的 VPN 上充当路由器,在我更改默认路由后,有效地为我的命名进程(不幸的是,其他所有进程)提供了通往 Internet 的隧道。该行为在三台不同的计算机上是一致的。

我对正在发生的事情有一些半生不熟的理论,但我无法决定如何进一步诊断。

root@flipper:~# host google.com
;; connection timed out; no servers could be reached
root@flipper:~# host yahoo.com
yahoo.com has address 206.190.36.45
yahoo.com has address 98.138.253.109
yahoo.com has address 98.139.183.24
yahoo.com has IPv6 address 2001:4998:44:204::a7
yahoo.com has IPv6 address 2001:4998:c:a06::2:4008
yahoo.com has IPv6 address 2001:4998:58:c02::a9
yahoo.com mail is handled by 1 mta5.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta7.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta6.am0.yahoodns.net.
root@flipper:~# ip ro del default via 192.168.10.87
root@flipper:~# ip ro add default via 192.168.10.78
root@flipper:~# host google.com
google.com has address 216.58.219.206
google.com has IPv6 address 2607:f8b0:4006:80e::200e
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
root@flipper:~# cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
2个回答

我在几个 Centos 6 系统上运行 DJBDNS 时遇到了类似的问题。我最终将以下域的所有查找重定向到位于 71.150.0.12 的 Fios dns 缓存服务器,现在名称解析。

googleapis.com google.com googlemail.com googleusercontent.com gstatic.com

在重定向之前,缓存服务器完成的所有查找要么没有得到响应,要么服务器出现故障,但使用 dig 手动查找可以解决。使用 tshark 监控数据包流以查看这一点。

我不知道以下域是否相关,但它具有相同的行为。

llnwd.net

基于我们使用不同软件的事实,我认为问题一定是外部的,但我不知道是什么原因造成的。

更新:只需添加 youtube.com ytimg.com ggpht.com 和 google-analytics.com

问题已自行解决。底线是我的递归服务器对与 Google 关联的名称的 DNS 查询至少在几个小时内都没有解析,但只有在来自我的 FiOS 线路时才会解析。我猜想通过 Verizon 到所需的 DNS 服务器的路由中断。我没有费心进行数据包跟踪或跟踪路由,系统日志中也没有任何信息。它现在正在起作用,我想原因仍然是个谜。