除了在 CentOS 中使用 nslookup/dig 外,无法解析主机名

除了在 CentOS 中使用 nslookup/dig 外,无法解析主机名

我无法解析主机名,除非使用 dig/nslookup。声明 hosts可以正常工作。DNSmasq 和 bind 均未运行。以下是运行时/etc/hosts的输出:tcpdump port 53dig google.com

21:02:49.269083 IP txxxxxx1.corp.mxxxxxxs.com.39872 > dxxxxxx3.corp.mxxxxxs.com.domain:  7362+ A? google.com. (28)
21:02:49.269614 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.39872:  7362 5/0/0 A ord08s07-in-f19.1e100.net,[|domain]
21:02:49.270506 IP txxxxxx1.corp.mxxxxxxs.com.33316 > dxxxxxx3.corp.mxxxxxxs.com.domain:  30910+ PTR? 83.225.125.74.in-addr.arpa. (44)
21:02:49.303321 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.33316:  30910*- 1/0/0 (83)

运行结果如下ping google.com

21:03:05.027197 IP txxxxxx1.corp.mxxxxxxs.com.59151 > dxxxxxx3.corp.mxxxxxxs.com.domain:  56092+ A? google.com. (28)
21:03:05.029069 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.59151:  56092 5/0/0 A ord08s07-in-f18.1e100.net,[|domain]
21:03:05.029309 IP txxxxxx1.corp.mxxxxxxs.com.58238 > dxxxxxx3.corp.mxxxxxxs.com.domain:  10345+ PTR? 82.225.125.74.in-addr.arpa. (44)
21:03:05.065058 IP dxxxxxx3.corp.mxxxxxxs.com.domain > txxxxxx1.corp.mxxxxxxs.com.58238:  10345*- 1/0/0 (83)

与主机名一起使用时,Ping 不会返回任何数据包。上面的结果从给出命令时起延迟了约 5 秒。我 ping IP 没有任何问题。

内容/etc/resolv.conf

nameserver 10.100.52.11
nameserver 10.100.52.13

这两个名称服务器与 dig 一起使用时都会得到良好的结果。

结果route -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.xxx.131.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         10.xxx.131.1    0.0.0.0         UG    0      0        0 eth0

内容/etc/hosts

127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6
10.xxx.131.xxx      txxxxxx1.corp.mxxxxxxs.com ast01
10.xxx.32.xxx       mail.mxxxxxxs.com

UseDNS如果设置为“是”,SSHD 甚至不允许登录。NSCD 正在运行: nscd 28525 0.0 0.0 233652 2900 ? Ssl 20:10 0:00 /usr/sbin/nscd

谢谢!

。 。 。 编辑

我解决了这个问题。 /etc/nsswitch.conf有这样一行:

hosts: files wins dns

我将其改为:

hosts: dns files wins

现在一切都正常了。奇怪的是,直到上周一切都还运行正常。什么都没有改变,当然 DNS 也没有改变。希望这对某些人有帮助。

答案1

运行 ping 时,您是否依赖主机名补全(或 Windows 世界中的“dns 后缀附加”)来获取完全限定域名?如果是这样,则您/etc/resolv.conf缺少domainand/orsearch选项。

nameserver 10.100.52.11
nameserver 10.100.52.13
domain corp.mxxxxxxs.com

这应该会自动将 corp.mxxxxxxs.com 附加到 $HOST,以便您拥有一个可以正确解析的 FQDN。

查看手册页更多细节。

相关内容