У меня есть несколько локальных доменов, разрешенных 127.0.0.1
в моем /etc/hosts
файле. И все было хорошо в течение некоторого времени, но теперь, когда я бегу:
nslookup test.local
Это приводит к:
Server: 192.168.1.3
Address: 192.168.1.3#53
** server can't find test.local: NXDOMAIN
192.168.1.3
Наша сеть DNS и он не должен знать свой локальный домен test.local
. После нескольких поисков я обнаружил, что этот /etc/nsswitch.conf
файл содержит информацию о приоритете источников DNS для запроса. Но там не было никаких проблем! Вот мой:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Так кто-нибудь знает, почему мой hosts
файл не включен в поиск DNS?
ping
одного следует использовать,getent ahosts
потому что это не требует всех дополнительных вещей, которыеping
есть.Я предполагаю, что вы хотите разрешение имени из
/etc/hosts
файла для конкретного хоста (mysite.com).Другая распространенная проблема, которая может вызывать такое поведение, заключается в том, что в
/etc/hosts
файле может быть много записей для одного и того же IP, например:В некоторых реализациях это может привести к передаче разрешения имени в DNS. Быстрое решение, сгруппируйте все в 1 ряд
источник
Еще одна распространенная вещь, которую я вижу, это когда кто-то (обычно я) меняет IP-адрес на имя хоста,
/etc/hosts
например:На первый взгляд выглядит нормально ... Вот мое решение примерно в 50% случаев:
источник