У меня почти свежая настольная коробка Ubuntu. ОС была установлена две недели назад и обновлена из репозиториев karmic. На прошлой неделе у меня не было проблем с DNS. Но на этой неделе что-то изменилось. Я не уверен, что и когда, и не уверен, изменил ли я какие-либо конфиги.
Так что теперь у меня действительно странная ситуация. По логам разрешение имен должно работать нормально.
/ и т.д. / хосты
127.0.0.1 localhost test
127.0.1.1 desktop
/etc/host.conf
order hosts,bind
multi on
/etc/resolv.conf
# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3
/etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Но если факт, это не так.
user @ test ~> ping test
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Пинг в порядке.
user @ test ~> host test
test.mydomain.com has address xx.xxx.161.201
Я подозреваю, что NetworkManager может вызвать это неправильное поведение, но не знаю, с чего начать, чтобы проверить это. Есть мысли, предложения?
источник
host
утилита не использует/etc/hosts
? И нечего исправить в моем случае?host
> раньше был «обычной» командой запроса имен, подчиняясь/etc/nsswitch.conf
host
когда-либо делалиКоманда
host
(вместе сdig
иnslookup
) является частьюbind
утилит DNS. Как утилита распознавания DNS, она выполняет только разрешение DNS.Если вы заинтересованы в извлечении записи из любого
libnss
хранилища данных на основе -driven, вы можете использоватьgetent
программу. Например, чтобы получить запись hosts, используйте ее так:Это следует порядку разрешения установить под
hosts:
в/etc/nsswitch.conf
в порядке, который включает в себя ,/etc/hosts
если «файлы» в lised в качестве одного из вариантов.источник
getent
команду.getent ahosts
а неgetent hosts
потому, чтоgetent hosts
используетgethostbyaddr()
илиgethostbyname*()
которые устарели. Если я правильно понял,getent hosts
эмулирует, как старые UNIX C-программы раньше работали, иgetent ahosts
эмулирует, как должны работать программы Moderm.Для меня эта проблема возникла из-за неправильных прав доступа к файлам. Только root может читать / etc / hosts. Файл должен быть доступен для чтения всем.
источник