имя хоста для разрешения ip не использует файл / etc / hosts

373
monim

Я определил некоторые имена хостов в / etc / hosts, т.е. 192.168.15.20 example.comкогда я ping example.comполучаю разрешенный ip как тот, который определен в / etc / hosts, но когда я меняю этот IP на другой IP (сохраняя то же имя хоста), он все равно читает старый IP, также иногда, когда я выполняю ping, он использует новый IP, но когда я делаю telnet, я вижу старый IP в журнале команды. Я использую Red Hat Enterprise Linux Server версии 6.5 (Сантьяго)

0
Я сделал несколько изменений в хостах, и они мгновенные. Но, возможно, стоит попытаться перезапустить сетевые адаптеры на сервере с помощью `/etc/init.d/networking restart` или` ifdown eth0 && ifup eth0` Panomosh 6 лет назад 0

1 ответ на вопрос

1
grawity

Поиск адресов, выполняемый с помощью стандартных функций glibc, может быть кэширован с помощью nscd (который является стандартной частью glibc, хотя по умолчанию он очень редко включен).

Если служба nscd запущена, скажите ей, чтобы аннулировать кэши:

nscd -i hosts 

(Не всегда достаточно просто перезапустить службу, так как она может сохранить кэш на диске. С другой стороны, перезапуск службы может потребоваться для перезагрузки изменений nsswitch.conf .)