我设置了一个运行centos6.2 64bit的虚拟机客户端机器,主机是windows7 64bit,并在客户端机器中设置两个网卡,第一个是NAT模式,第二个是仅主机模式,然后我落入运行客户端centos时出现以下问题:
当我ping mirror.centos.org时,似乎达到了名称:
PING mirror.centos.org (202.76.233.2) 56(84) bytes of data.
64 bytes from 202.76.233.2: icmp_seq=1 ttl=49 time=91.2 ms
当我telnet相同的主机名时,它失败了:
$ telnet mirror.centos.org 80
telnet: mirror.centos.org: Name or service not known
mirror.centos.org: Host name lookup failure
但是当我直接telnet ip时,它成功了:
$ telnet 202.76.233.2 80
Trying 202.76.233.2...
Connected to 202.76.233.2.
Escape character is '^]'.
我的问题是:当ping成功时,主机名似乎已经解决了,为什么当telnet使用相同的主机名时它再次查找失败? (实际上它也无法在其他程序中解析相同的主机名,例如yum)
感谢您的帮助。
追加描述:
抱歉,我有一个错误来描述问题,路由器禁用了manully dns,因此似乎问题再次出现在centos中。 运行“telnet www.centos.org 80”时,我使用tcpdump捕获dns包,这里的日志列表:
16:12:15.662796 IP 192.168.116.129.54451 > 192.168.116.2.domain: 19272+ A? www.centos.org. (32)
16:12:15.662914 IP 192.168.116.129.54451 > 192.168.116.2.domain: 33092+ AAAA? www.centos.org. (32)
16:12:15.665205 IP 192.168.116.2.domain > 192.168.116.129.54451: 19272 1/0/0 A 85.12.30.227 (48)
16:12:15.667042 IP 192.168.116.2.domain > 192.168.116.129.54451: 33092- 0/0/0 (43)
16:12:15.667121 IP 192.168.116.129.47706 > 192.168.116.2.domain: 19272+ A? www.centos.org. (32)
16:12:15.667226 IP 192.168.116.129.47706 > 192.168.116.2.domain: 33092+ AAAA? www.centos.org. (32)
16:12:15.667977 IP 192.168.116.2.domain > 192.168.116.129.47706: 19272 1/0/0 A 85.12.30.227 (48)
16:12:15.670181 IP 192.168.116.2.domain > 192.168.116.129.47706: 33092- 0/0/0 (43)
16:12:15.670291 IP 192.168.116.129.34270 > 192.168.116.2.domain: 61846+ A? www.centos.org.localdomain. (44)
16:12:15.670393 IP 192.168.116.129.34270 > 192.168.116.2.domain: 7936+ AAAA? www.centos.org.localdomain. (44)
16:12:15.671208 IP 192.168.116.2.domain > 192.168.116.129.34270: 61846 NXDomain*- 0/0/0 (44)
16:12:15.673649 IP 192.168.116.2.domain > 192.168.116.129.34270: 7936- 0/0/0 (55)
16:12:15.673726 IP 192.168.116.129.49484 > 192.168.116.2.domain: 61846+ A? www.centos.org.localdomain. (44)
16:12:15.673827 IP 192.168.116.129.49484 > 192.168.116.2.domain: 7936+ AAAA? www.centos.org.localdomain. (44)
16:12:15.674595 IP 192.168.116.2.domain > 192.168.116.129.49484: 61846 NXDomain*- 0/0/0 (44)
16:12:15.676653 IP 192.168.116.2.domain > 192.168.116.129.49484: 7936- 0/0/0 (55)
在第3行,dns服务器返回了查询的地址,但是“telnet”继续查询,后来它给域名(www.centos.org.localdomain)留了一个尾巴,这是一个错误的主机名字,为什么会发生这种情况?
答案 0 :(得分:0)
日志文件可能会有所帮助,VirtualBox中有三种名称解析模式,“NAT”UDP请求,代理(当DNS请求转发到主机的DNS服务器列表时)和主机解析(当NAT使用时)主机名称解析API以回复DNS请求) - 所以日志可以指出是什么情况。如果你打开副本&此处在其他终端粘贴至少tcpdump "port domain"
的输出。