Ubuntu не может пинговать имя хоста, но может ли IP-адрес ping?

13

Я просто пошел в мир Ubuntu для администрирования. Я нашел похожие темы, за исключением того, что я могу выполнить ping мое собственное имя хоста и IP-адрес, и мои окна могут ping мое имя хоста linux, но Ubuntu не может выполнить ping имя хоста Windows.

Проблема:

  • У меня есть 4 компьютера с Windows, и у меня есть 1 Ubuntu Computer
  • Мои окна Компьютер может пинговать компьютер Ubuntu по имени хоста и по IP-адресу. Кроме того, Net В представлении (cmd) отображается имя хоста компьютера Ubuntu.
  • Ubuntu Computer может только Ping только по IP-адресу. Не по имени хоста. Я также установил Samba.
  • Ubuntu Computer может выполнить ping по IP-адресу и по имени хоста
  • Я могу использовать команду arp и отображать все компьютеры IP в сети, но только по IP-адресу.

Как я могу только пинговать по IP-адресу, а не по имени хоста компьютерам Windows? Но Ubuntu может пинговать сам по IP-адресу, а имя хоста и компьютеры Windows могут также ping Ubuntu по имени хоста?

    
задан user2805313 06.08.2014 в 16:38
источник

2 ответа

21

Проблема, описанная здесь, вообще не связана с DNS.

Вы должны знать, что Windows может разрешить имя хоста Windows на свой IP через другие механизмы, чем стандартный DNS: поиск NetBIOS, WINS, ...

Как вы сказали, у вас есть Samba, установленный на вашем Ubuntu, это, вероятно, то, что происходит. На всей вашей Windows-машине можно, из коробки, разрешить имя Windows на свой IP-адрес. Поскольку Samba установлен на Ubunut, для вашего ПК с ОС Windows они видят Ubuntu PC в качестве ПК с ОС Windows, и такое же разрешение возможно.

Вы сообщаете, что вы запускаете net view в Windows, и вы видите свой Ubuntu PC, поэтому имя NetBIOS хорошо опубликовано в вашей сети, поэтому оно работает из Windows.

Чтобы добиться такого же поведения на Ubuntu, как и в Windows, вам необходимо установить и настроить дополнительные части программного обеспечения. Вам нужно добавить библиотеку поиска, которая позволит Ubuntu конвертировать имена NetBIOS в IP. Эта библиотека содержится в пакете libnss-winbind .

Как и любой другой пакет Ubuntu, вы устанавливаете его, выполняя sudo apt-get install libnss-winbind . Возможно, библиотека уже установлена, вы можете проверить ее присутствие, выполнив dpkg -l|grep libnss-winbind .

После установки библиотеки вы должны включить ее в файле /etc/nsswitch.conf . Этот файл является конфигурационным файлом для NSS ( Service Name Service Switch ), который определяет, из каких источников Linux может разрешить имя хоста , имена пользователей, имена групп и т. д.
В этом файле у вас уже есть строка, начинающаяся с hosts: , вероятно, выглядит так:

hosts:          files dns

Это говорит вашей системе, чтобы сначала просмотреть файл /etc/hosts , а затем в настроенный DNS для разрешения имен хостов.
Вы должны изменить этот способ:

hosts:          files dns wins

Обратите внимание, что порядок слов файлов , dns и побед важен. Во-первых, система проверит локальный файл для разрешения, затем спросит DNS-сервер и, наконец, если он еще не найден, будет выполняться поиск NetBIOS.

После обновления, чтобы правильно функционировать, вам также необходимо запустить службу winbind . Пакет, содержащий его, является зависимостью libnss-winbind , поэтому он был установлен вдоль него.
Do service winbind start , чтобы активировать его.

    
ответ дан Benoit 07.08.2014 в 11:16
0

Преобразование хостов в IP может происходить, если:

-Вы объявляете их в файле / etc / hosts (не рекомендуется)

-Вы получите его с DNS-сервера.

Я бы сказал, что ваша проблема может заключаться в том, что ваша конфигурация сетевого интерфейса не имеет DNS-сервера или использует не те, которые используются в Windows. Если они используют конфигурацию интерфейса DHCP, чаще всего включается конфигурация DNS, и если у вас есть сервер домена Windows в вашей сети, они, скорее всего, используют его как основной DNS.

Попробуйте: «nslookup some_machine_name» в командной строке, чтобы узнать, что произойдет. Он расскажет вам, какой сервер вы используете, если таковые имеются.

НТН     

ответ дан Pyrophorus 07.08.2014 в 10:17