1

Насколько я понимаю, команды Unix ping и host должны генерировать один и тот же IP-адрес для одного и того же домена. Если вы посмотрите на эти две команды:

$ ping api.dev.myserver.com
PING api.dev.myserver.com (10.11.12.15): 56 data bytes
64 bytes from 10.11.12.15: icmp_seq=0 ttl=64 time=0.303 ms
(...)

$ host api.dev.myserver.com
api.dev.myserver.com has address 69.68.153.135

Первая - это моя локальная виртуальная машина разработки, которая показывает желаемый IP-адрес, указанный в файле /etc /hosts. Второй показывает live box, обходящий мой файл /etc /hosts. Я очистил кэш DNS, чтобы убедиться, что это не вызывает разницы.

2 ответа2

2

команда host (и команда nslookup) игнорируют /etc /hosts, как вы нашли. Они работают против серверов имен (DNS), а не локальных файлов.

Я уверен, что getent ahosts (host) также будет использовать /etc /hosts, как это делает ping.

2

Host является приложением запроса DNS и не ищет в файле hosts. Смотрите http://linux.die.net/man/1/host

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .