Я устанавливаю клиентскую машину виртуального бокса, на которой работает 64-разрядная версия centos6.2, хост-машина - 64-разрядная версия Windows7, и устанавливаю две сетевые карты на клиентской машине, первая - режим NAT, вторая - режим только для хоста, затем я столкнулся со следующей проблемой. запуск клиента centos:
когда я пингую 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 mirror.centos.org 80
telnet: mirror.centos.org: Name or service not known
mirror.centos.org: Host name lookup failure
но когда я телнет IP напрямую, это успешно:
$ telnet 202.76.233.2 80
Trying 202.76.233.2...
Connected to 202.76.233.2.
Escape character is '^]'.
мой вопрос: при успешном выполнении ping имя хоста кажется разрешенным, почему снова возникает ошибка поиска, когда telnet использует то же имя хоста? (на самом деле это также не может разрешить одно и то же имя хоста в другой программе, такой как yum)
Спасибо за любую помощь.
добавить описание:
Извините, у меня ошибка в описании проблемы, ручная настройка DNS отключена маршрутизатором, поэтому, похоже, проблема снова возникла в Centos. Я использую tcpdump для захвата пакета DNS при запуске «telnet www.centos.org 80», список журналов здесь:
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), это, конечно, неправильное имя хоста, поэтому почему это случилось?