Категории

понедельник, 27 августа 2012 г.

Ubuntu и DNS-Суффикс, /etc/nsswitch.conf, NetworkManager

Столкнулся с проблемой, когда Ubuntu при работе по DHCP неправильно работала с DNS-суффиксом, а именно работала только с суффиксами, а полные доменные имена не понимала, как следствие некорректно работали некоторые локальные сайты в браузерах, да и банальные пинги работали как-то не совсем правильно:
Ubuntu$ ping server
PING server.local (192.168.0.2) 56(84) bytes of data.
64 bytes from server.local (192.168.0.2): icmp_req=1 ttl=64 time=0.131 ms
^C
Ubuntu$ ping server.local
ping: unknown host server.local
При этом DNS сервер отлично обрабатывает запросы:
Ubuntu$ nslookup server
Server:  192.168.0.254
Address: 192.168.0.254#53

Name: server.local
Address: 192.168.0.2
И для доменного имени полностью:
Ubuntu$ nslookup server.local
Server:  192.168.0.254
Address: 192.168.0.254#53

Name: server.local
Address: 192.168.0.2
Погуглив немного, решил, что проблема в NetworkManager'е, на старых версиях Ubuntu он неправильно генерировал /etc/resolv.conf, проверил свой:
Ubuntu$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.254
search local
Как оказалось, в моем случае NetworkManager вовсе не виноват! Но в чем же тогда проблема? Еще раз погуглил яндексом в рамблере и пришел к выводу, что виноват конфиг /etc/nsswitch.conf, сравнил его с FreeBSD'шным, где все работает как надо и пришел к выводу, что нужно строку hosts: привести к такому виду:
#НЕ работает!
#hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

#работает!
hosts:          files dns
Что такое mdns4 разбираться не стал, без него все работает так, как надо и это главное.

Ссылки по теме:
1. Debian/Ubuntu - [решено] Не распознаёт имя контроллера домена

2 комментария:

Анонимный комментирует...

Спасибо большое!

2 дня искал в чём дело, пока не нашёл Вашу статью...

Удачи!!!

Анонимный комментирует...

да клёва, тока я удалил network manager, думал он
спасибо.

Отправить комментарий