nslookup工作,但ping不

我有一台运行Debian etch的服务器。 它运行qmail并发送邮件。 邮件服务器工作正常,但奇怪的是从服务器本身它不能parsing主机名。 我可以使用nslookup并正确地进行挖掘。

#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 

有一点我怀疑是否有一个软件包没有被另一个名为resolvconf的应用程序使用。 并创build一个符号链接到原始的resolv.conf文件。
我的iptables列表是空的。

你的/etc/nsswitch.conf文件应该包含一个像这样的文件,以启用dns查找。

 hosts: files dns 

挖是一个DNS实用程序,所以它检查DNS。 qmail也可能会忽略nsswitch.conf。 大多数其他在C库中使用标准DNS调用的程序都会遵守它。 如果你的DNS不包含“DNS”,那么DNS查询在大多数情况下都不起作用是非常正常的。