DNS 查询被路由到 Ubuntu 9.04 上的本地主机

DNS 查询被路由到 Ubuntu 9.04 上的本地主机

由于某种原因,我的一台 Ubuntu 9.04 机器上的所有 DNS 查询都被路由到 localhost,导致无法解析任何域名。例如,尝试 时dig example.com,它会挂起约 20 秒,然后退出并显示消息“ ;; connection timed out; no servers could be reached”。但是dig example.com @193.75.75.75会立即返回正确的结果。此问题适用于所有 DNS 查询,而不仅仅是来自 的查询dig

$ cat /etc/resolv.conf
193.75.75.75
193.75.75.193

我没有 .digrc,NetworkManager 已卸载,网络其他方面都正常工作(例如,我可以正常使用它来访问 /etc/resolv.conf 中的主机)。我没有安装本地 DNS 服务器,并nmap确认没有任何东西在端口 53 上监听。我在同一网络上还有几台运行 Ubuntu 9.04 的机器,DNS 在所有机器上都工作正常。

我已经使用 strace 来确认 dig 确实读取了resolv.conf

open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 6
(...)
read(6, "193.75.75.75\n193.75.75.193\n"..., 4096) = 27

我还使用了 tcpdump 来确认问题确实是 DNS 查询被路由到本地主机:

$ sudo tcpdump -i lo
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
14:11:54.175580 IP localhost.45910 > localhost.domain: 38233+ A? example.com. (29)
14:11:54.175633 IP localhost > localhost: ICMP localhost udp port domain unreachable, length 65
14:11:55.175542 IP6 ip6-localhost.54963 > ip6-localhost.domain: 38233+[|domain]
14:11:55.175575 IP6 ip6-localhost > ip6-localhost: ICMP6, destination unreachable[|icmp6]

我没有办法解决这个问题,因此非常欢迎任何意见和建议。

答案1

/etc/resolv.conf 中的记录应如下所示

nameserver 193.75.75.75

答案2

的格式/etc/resolv.conf不正确,应为:

search domain.com
nameserver 193.75.75.75
nameserver 193.75.75.193

搜索行当然是可选的。如果存在,它将用于限定主机名,例如,查找地址router将返回地址router.domain.com

答案3

如果您最近更改了此项,您是否尝试过“服务网络重启”或重新启动整个服务器?

听起来很新,但这就是修改 resolv.conf 时所需要的。

相关内容