Я установил 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 , чтобы активировать его.
root@srv-squid:/home/andrey# ping exvlkdc01
ping: exvlkdc01: Temporary failure in name resolution
===
root@srv-squid:/home/andrey# nslookup 192.168.13.2
2.13.168.192.in-addr.arpa name = exvlkdc01.expoles.local.
Authoritative answers can be found from:
===
root@srv-squid:/home/andrey# nslookup exvlkdc01.expoles.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can’t find exvlkdc01.expoles.local: SERVFAIL
===
root@srv-squid:/home/andrey# ping 192.168.13.2
PING 192.168.13.2 (192.168.13.2) 56(84) bytes of data.
64 bytes from 192.168.13.2: icmp_seq=1 ttl=128 time=0.452 ms
64 bytes from 192.168.13.2: icmp_seq=2 ttl=128 time=0.234 ms
64 bytes from 192.168.13.2: icmp_seq=3 ttl=128 time=0.242 ms
^C
— 192.168.13.2 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2040ms
rtt min/avg/max/mdev = 0.234/0.309/0.452/0.101 ms
127.0.0.1 localhost
127.0.1.1 srv-squid.expoles.local srv-squid
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts