клиентский компьютер virtualbox: ошибка поиска имени хоста в telnet, в то время как тот же успех поиска имени хоста в ping

Я устанавливаю клиентскую машину виртуального бокса, на которой работает 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), это, конечно, неправильное имя хоста, поэтому почему это случилось?


person user3131707    schedule 24.12.2013    source источник
comment
ПРЕДЛОЖЕНИЯ: 1) установите Wireshark и отследите неудачный поиск. 2) Проверьте следующие ошибки Redhat: Ошибка 504951, Ошибка 508481 и Ошибка 442047.   -  person paulsm4    schedule 24.12.2013
comment
В: Почему ping работает, а telnet не работает для одного и того же хоста? A: (предполагается ошибками Redhat, указанными выше): возможно, клиент telnet использует разные библиотеки NSS. ДОПОЛНИТЕЛЬНОЕ ПРЕДЛОЖЕНИЕ: Также рассмотрите возможность установки другого клиента telnet. Убедитесь, что новый клиент является 64-разрядным (без 32-разрядных зависимостей).   -  person paulsm4    schedule 24.12.2013
comment
Спасибо за совет. Я должен был убедиться, что telnet - это x86-64, 64-битный клиент.   -  person user3131707    schedule 25.12.2013
comment
Рад, что проблема решилась :)   -  person paulsm4    schedule 25.12.2013
comment
Я проверил список ошибок выше, у centos нет пакета yum, такого как nss-mdns, поэтому, похоже, он не влияет на centos. Наконец, я обнаружил, что когда я использую DNS вручную для сетевой карты режима NAT клиентской ОС (centos), DNS не работает даже при пинге, те же самые DNS работают на моем хост-компьютере, это странно, и швы, что проблема в виртуальном боксе я не знаком с его сетью. Спасибо, в любом случае   -  person user3131707    schedule 25.12.2013


Ответы (1)


Файл журнала может быть полезен, в VirtualBox есть три режима разрешения имен: «NATing» UDP-запросы, проксирование (когда DNS-запросы перенаправляются в список DNS-серверов хоста) и разрешение хоста (когда NAT использует разрешение имен хостов). API для ответа на DNS-запросы) — чтобы журнал мог указать, в чем дело. если вы откроете копирование и вставку вывода по крайней мере tcpdump "port domain" в другой терминал здесь.

person vvlevchenko    schedule 25.12.2013