Если у меня есть следующие записи в файле hosts:
192.168.100.1 bugs
192.168.100.2 daffy.example.com
192.168.100.3 elmer.example.com.
Будут ли попытки ввода IP-> имен разрешением локальными утилитами (я полагаю, используя 'gethostbyaddr' или эквивалент Windows) удовлетворить эти записи? Это поведение настраивается? Как это зависит от операционной системы? Имеет ли значение, что записи файла 'hosts' полностью определены или нет?
РЕДАКТИРОВАТЬ: В ответ Рассел, моя тестовая система Linux работает на RHEL 4. Мой /etc/nsswitch.conf содержит следующую строку 'hosts':
hosts: files dns nis
Если я пингую любой из моих хостов по имени (например, ошибки, daffy), прямое разрешение работает правильно. Если я отследю любую из них по IP-адресу, обратный поиск будет работать, как и ожидалось. Однако, если я пингую их по IP, ping не разрешает имена хостов. Насколько я понимаю, Linux-пинг всегда будет пытаться преобразовать IP-адреса в имена, если не указано иное. Почему traceroute может обрабатывать обратные запросы в файлах хостов, а ping - нет?
источник
host
утилиты ISC может сложиться впечатление, что редактирование / etc / hosts не имеет никакого эффекта.host 10.0.0.1
сделает запрос DNS и проигнорирует файл hosts. Это позволяет проверить системный распознаватель:perl -MSocket -le '$a=inet_aton(shift); $_=gethostbyaddr $a, AF_INET; print' 10.0.0.1
Я нашел ссылку на изменение записей реестра для изменения порядка разрешения имен в Windows:
http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=963485
Цитирую оттуда:
По умолчанию Windows проверяет поставщиков разрешения имен в следующем порядке:
Local, (локальный кэш имен NetBT), хосты, DNS, NetBT (WINS).
Вы хотите, чтобы заказ был Hosts, DNS, Local, NetBT.
В дальнейшем более низкие числа имеют более высокий приоритет.
Следующие ключи реестра в
должны быть изменены.
источник
В
/etc/host.conf
файле указывается , какой порядок используется для обнаружения IP - адреса. Мой по умолчанию содержит следующее:Это означает, что сначала проверяется файл hosts, а затем DNS (привязка).
Если
nis
здесь не указано иное, то оно никогда не будет просматриваться/etc/nsswitch.conf
.Ссылка на документацию: http://tldp.org/LDP/nag/node82.html
источник