Ubuntu не пингуется по имени

Обновлено: 04.07.2024

Я установил DNS-сервер в Centos6.5, и он работает со всеми клиентскими машинами, кроме Ubuntu, теперь у меня проблема с Ubuntu. Пока я пытаюсь пинговать с настольного компьютера на DNS-сервер как ping masterdns.arrivu.local, я не могу пропинговать его вернуть как

Но пока я пингую с ip адресом его работает

Даже я проверил, используя хост, возвращающий IP

Моя проблема заключается в том, что я хочу ping и ssh, используя имя хоста вместо ip, как показано ниже

ping masterdns.arrivu.local ssh [email protected]

IM используя настольный компьютер с Ubuntu

Ip моего рабочего стола 192.168.1.99

Пока я копал со своего рабочего стола, я получил ответ от DNS

NSlookup тоже работал

Информация об интерфейсе моего рабочего стола

Там нет iptables, развернутого на настольном компьютере или что я использую в качестве DNS-сервера тоже

Я просто пошел в мир 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 по имени хоста?

2 ответа

Проблема, описанная здесь, вообще не связана с 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: , вероятно, выглядит так:

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

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

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

127.0.0.1 localhost
127.0.1.1 srv-squid.expoles.local srv-squid

Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.

пятница, 10 августа 2018 г.

Ubuntu 18.04.1 настройка ping по имени по сети

$ grep 'wins' /etc/nsswitch.conf
user@u1804:

$ ps aux | grep 'winbind\|nmbd\|avahi' | grep -v 'grep'
avahi 722 0.0 0.0 47204 3684 ? Ss 15:58 0:00 avahi-daemon: running [u1804.local]
avahi 801 0.0 0.0 47076 340 ? S 15:58 0:00 avahi-daemon: chroot helper
root 836 0.0 0.0 264048 11996 ? Ss 15:58 0:00 /usr/sbin/nmbd --foreground --no-process-group
user@u1804:

$ ps aux | grep 'winbind\|nmbd\|avahi' | grep -v 'grep'
avahi 722 0.0 0.0 47204 3684 ? Ss 15:58 0:00 avahi-daemon: running [u1804.local]
avahi 801 0.0 0.0 47076 340 ? S 15:58 0:00 avahi-daemon: chroot helper
root 836 0.0 0.0 264048 12484 ? Ss 15:58 0:00 /usr/sbin/nmbd --foreground --no-process-group

Увидел u1804.local , так пингуется.
Ниже полезные команды:

$ grep -c 'u1804' /etc/hosts
1
$ sudo nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.53 u1804

авг 10 15:58:41 u1804 avahi-daemon[722]: New relevant interface lo.IPv6 for mDNS.
авг 10 15:58:41 u1804 avahi-daemon[722]: Joining mDNS multicast group on interface lo.IPv4 with address 127.0.0.1.
авг 10 15:58:41 u1804 avahi-daemon[722]: New relevant interface lo.IPv4 for mDNS.
авг 10 15:58:41 u1804 avahi-daemon[722]: Network interface enumeration completed.
авг 10 15:58:41 u1804 avahi-daemon[722]: Registering new address record for fe80::a00:27ff:fed2:1c9a on enp0s3.*.
авг 10 15:58:41 u1804 avahi-daemon[722]: Registering new address record for 192.168.0.53 on enp0s3.IPv4.
авг 10 15:58:41 u1804 avahi-daemon[722]: Registering new address record for ::1 on lo.*.
авг 10 15:58:41 u1804 avahi-daemon[722]: Registering new address record for 127.0.0.1 on lo.IPv4.
авг 10 15:58:41 u1804 systemd[1]: Started Avahi mDNS/DNS-SD Stack.
авг 10 15:58:42 u1804 avahi-daemon[722]: Server startup complete. Host name is u1804.local. Local service cookie is 2772089266

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> u1804
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60914
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;u1804. IN A

;; ANSWER SECTION:
u1804. 0 IN A 192.168.0.53

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

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

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

Попробуйте имя хоста во ВСЕХ КАПЛЯХ. это может быть уловка. Да, я пробовал это, но не повезло. = (Кто-то сказал добавить .local в конце. Мои коллеги сказали, что я должен настроить сеть так, чтобы она указывала на маршрутизатор, чтобы он понял. Поэтому я попробую это, и если это сработает, я пойду вперед и опубликовать ответ

Описанная здесь проблема может вообще не относиться к DNS.

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

Как вы сказали, на вашем Ubuntu установлена ​​Samba, вероятно, именно это и происходит. На всех ваших компьютерах с Windows возможно, из коробки, преобразовать имя Windows в его IP-адрес. Поскольку Samba установлена ​​на Ubunut, для вашего ПК с Windows они видят ПК с Ubuntu как ПК с 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 ( Name Service Switch ), который определяет, из каких источников Linux может разрешать имена хостов, имена пользователей, имена групп и так далее.
В этом файле у вас уже есть строка, начинающаяся с hosts: , вероятно, выглядит так

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

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

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

Читайте также: