CentOS全新安装的DNS问题

我正在用CentOS 6.2安装一个新盒子时遇到一些DNS问题。

我可以使用nslookup,dig或host来查找名称。 我能够通过名称或IP地址ping机器。 但是,当我尝试使用其他工具(如ssh,wget或yum)时,它们无法parsing名称。 例如:

# wget http://www.google.com --2012-03-08 14:48:06-- http://www.google.com/ Resolving www.google.com... failed: Name or service not known. wget: unable to resolve host address `www.google.com' # ssh www.google.com ssh: Could not resolve hostname www.google.com: Name or service not known # ping -c 1 www.google.com PING www.l.google.com (74.125.113.106) 56(84) bytes of data. 64 bytes from vw-in-f106.1e100.net (74.125.113.106): icmp_seq=1 ttl=46 time=43.6 ms --- www.l.google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 59ms rtt min/avg/max/mdev = 43.665/43.665/43.665/0.000 ms # host www.google.com www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.113.99 www.l.google.com has address 74.125.113.103 www.l.google.com has address 74.125.113.104 www.l.google.com has address 74.125.113.105 www.l.google.com has address 74.125.113.106 www.l.google.com has address 74.125.113.147 

我的/etc/nsswitch.conf文件是默认的,包括这个(标准)行:

 hosts: files dns 

/etc/resolv.conf是由DHCP设置的:

 ; generated by /sbin/dhclient-script nameserver 192.168.1.254 

192.168.1.254是一个工作的DNS服务器(我的DSL调制解调器,与其他机器工作多年)

任何人都知道为什么ping会工作,但ssh / wget会失败?


根据NcA的build议,我试着将/etc/resolv.conf改为8.8.8.8。 奇怪的是,这确实使它工作。 显然,我的DSL调制解调器正在以某种方式响应DNS请求,某些方面Linux的parsing系统的某些部分不喜欢。 看着tcpdump,我看不出有什么不同。 当然,两台服务器都发送相同的地址。

以下是tcpdump -nn -X的输出,服务器设置为DSL调制解调器上的DNS服务器。 这显然是用正确的地址回复,但是由于某种原因,ssh / wget似乎并不满意:

 15:53:52.133580 IP 192.168.1.254.53 > 192.168.1.2.54836: 33157 7/0/0 CNAME www.l.google.com., A 74.125.115.105, A 74.125.115.106, A 74.125.115.147, A 74.125.115.99, A 74.125.115.103, A 74.125.115.104 (148) 0x0000: 4500 00b0 e33a 0000 ff11 53b1 c0a8 01fe E....:....S..... 0x0010: c0a8 0102 0035 d634 009c 7528 8185 8180 .....5.4..u(.... 0x0020: 0001 0007 0000 0000 0377 7777 0667 6f6f .........www.goo 0x0030: 676c 6503 636f 6d00 0001 0001 c00c 0005 gle.com......... 0x0040: 0001 0007 acd0 0008 0377 7777 016c c010 .........www.l.. 0x0050: c02c 0001 0001 0000 0001 0004 4a7d 7369 .,..........J}si 0x0060: c02c 0001 0001 0000 0001 0004 4a7d 736a .,..........J}sj 0x0070: c02c 0001 0001 0000 0001 0004 4a7d 7393 .,..........J}s. 0x0080: c02c 0001 0001 0000 0001 0004 4a7d 7363 .,..........J}sc 0x0090: c02c 0001 0001 0000 0001 0004 4a7d 7367 .,..........J}sg 0x00a0: c02c 0001 0001 0000 0001 0004 4a7d 7368 .,..........J}sh 15:53:52.135669 IP 192.168.1.254.53 > 192.168.1.2.54836: 65062- 0/0/0 (32) 0x0000: 4500 003c e33b 0000 ff11 5424 c0a8 01fe E..<.;....T$.... 0x0010: c0a8 0102 0035 d634 0028 98f9 fe26 8000 .....5.4.(...&.. 0x0020: 0001 0000 0000 0000 0377 7777 0667 6f6f .........www.goo 0x0030: 676c 6503 636f 6d00 001c 0001 gle.com..... 

我不是一个专家,知道这是不是在某种程度上是畸形的,但坪似乎做了正确的事情。

为了进行比较,查询8.8.8.8时是一样的:

 15:57:27.990270 IP 8.8.8.8.53 > 192.168.1.2.49028: 59114 7/0/0 CNAME www.l.google.com., A 74.125.113.105, A 74.125.113.103, A 74.125.113.106, A 74.125.113.147, A 74.125.113.104, A 74.125.113.99 (148) 0x0000: 4500 00b0 5530 0000 2f11 6453 0808 0808 E...U0../.dS.... 0x0010: c0a8 0102 0035 bf84 009c 39f8 e6ea 8180 .....5....9..... 0x0020: 0001 0007 0000 0000 0377 7777 0667 6f6f .........www.goo 0x0030: 676c 6503 636f 6d00 0001 0001 c00c 0005 gle.com......... 0x0040: 0001 0001 516a 0008 0377 7777 016c c010 ....Qj...www.l.. 0x0050: c02c 0001 0001 0000 0116 0004 4a7d 7169 .,..........J}qi 0x0060: c02c 0001 0001 0000 0116 0004 4a7d 7167 .,..........J}qg 0x0070: c02c 0001 0001 0000 0116 0004 4a7d 716a .,..........J}qj 0x0080: c02c 0001 0001 0000 0116 0004 4a7d 7193 .,..........J}q. 0x0090: c02c 0001 0001 0000 0116 0004 4a7d 7168 .,..........J}qh 0x00a0: c02c 0001 0001 0000 0116 0004 4a7d 7163 .,..........J}qc 15:57:28.018909 IP 8.8.8.8.53 > 192.168.1.2.49028: 31984 1/1/0 CNAME www.l.google.com. (102) 0x0000: 4500 0082 7b1b 0000 2f11 3e96 0808 0808 E...{.../.>..... 0x0010: c0a8 0102 0035 bf84 006e c67e 7cf0 8180 .....5...n.~|... 0x0020: 0001 0001 0001 0000 0377 7777 0667 6f6f .........www.goo 0x0030: 676c 6503 636f 6d00 001c 0001 c00c 0005 gle.com......... 0x0040: 0001 0001 517f 0008 0377 7777 016c c010 ....Q....www.l.. 0x0050: c030 0006 0001 0000 0258 0026 036e 7334 .0.......X.&.ns4 0x0060: c010 0964 6e73 2d61 646d 696e c010 0016 ...dns-admin.... 0x0070: 91f3 0000 0384 0000 0384 0000 0708 0000 ................ 0x0080: 003c .< 

我仍然不知道为什么服务器的答复是足够的平,而不是ssh / wget。

如果有人有想法,我很乐意听到他们的意见。 不过,现在我可以引用外部的DNS服务器,或者在新的机器上build立自己的服务器。 这是一个解决方法,似乎应该是不必要的,但会允许我继续。

我有同样的问题,但我修好了。

您必须在界面中添加DNS。 它在这里:/ etc / sysconfig / network-scripts / ifcfg-eth0添加行:

DNS1 = xxx.xxx.xxx.xxx

然后你必须重新启动networking服务。

首先停止防火墙。 排除networking问题时(尽可能)总是将其排除在外。 如果你放弃了防火墙,问题就消失了,那么问题就解决了,如果不行的话,至less现在已经不存在了。

1)iptables -L看是否有任何可能影响传出数据包的DROP规则

2)检查selinux是否正在运行,并执行任何奇怪的事情(/ etc / selinux / config)

3)以下输出是什么:route -n

4)/ etc / sysconfig / network-scripts / ifcfg-eth0是什么样的

5)你可以ping你的网关没有问题?

希望其中的一个将提供你需要的信息来诊断问题。

使用这个: https : //www.centos.org/modules/newbb/viewtopic.php?topic_id=39343

我发现了一个帮助我排除故障的关键命令:

[root@localhost ~]# wget -6 URL #wget [root@localhost ~]# wget -6 URL -Failed

[root@localhost ~]# wget -4 URL #wget [root@localhost ~]# wget -4 URL -Worked

这是与某些使用情况下导致问题的默认ipv6堆栈有关。 禁用ipv6来解决。

尝试添加命令主机,绑定/etc/host.conf

基于原来的post,我将8.8.8.8添加到了/etc/resolv.conf/etc/sysconfig/network-scripts/ifcfg-eth0两个编辑都没有解决我的问题。

然后我编辑了/etc/nsswitch.conf

原版的

 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 

编辑

 hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4 

现在DNS适用于yum和wget。

尝试在你的/etc/resolv.conf中添加“options single-request”选项。 这将告诉libc发出2个请求(A和AAAA),而不是从同一个端口发送它们。 它应该帮助。