nslookup 可以工作,但 ping 不可以

nslookup 可以工作,但 ping 不可以

我有一台运行 Debian etch 的服务器。它运行邮件系统并发送邮件。邮件服务器工作正常,但奇怪的是服务器本身无法解析主机名。我可以正确使用 nslookup 和 dig。

#ping google.com
ping: unknown host google.com


#dig google.com

; <<>> DiG 9.2.4 <<>> google.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64443
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             300     IN      A       209.85.229.104
google.com.             300     IN      A       209.85.229.105
google.com.             300     IN      A       209.85.229.106
google.com.             300     IN      A       209.85.229.147
google.com.             300     IN      A       209.85.229.99
google.com.             300     IN      A       209.85.229.103

;; AUTHORITY SECTION:
google.com.             134830  IN      NS      ns1.google.com.
google.com.             134830  IN      NS      ns2.google.com.
google.com.             134830  IN      NS      ns3.google.com.
google.com.             134830  IN      NS      ns4.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.         105732  IN      A       216.239.32.10
ns2.google.com.         105732  IN      A       216.239.34.10
ns3.google.com.         105732  IN      A       216.239.36.10
ns4.google.com.         105732  IN      A       216.239.38.10

;; Query time: 172 msec
;; SERVER: 212.175.236.100#53(212.175.236.100)
;; WHEN: Sun Dec 20 00:39:35 2009
;; MSG SIZE  rcvd: 260

有一点我很怀疑,那就是有一个安装的包没有被另一个应用程序使用,叫做解析配置. 并创建一个符号链接至原始解析配置文件文件。
我的 iptables 列表是空的。

答案1

您的/etc/nsswitch.conf文件应该包含类似这样的内容,以启用 DNS 查找。

hosts:       files dns

Dig 是一个 DNS 实用程序,因此它会检查 DNS。qmail 也可能忽略 nsswitch.conf。大多数使用 C 库中的标准 DNS 调用的其他程序都遵守它。如果您的 dows 中不包含“dns”,则 DNS 查找在大多数情况下不起作用是很正常的。

相关内容