LINUX.ORG.RU
ФорумAdmin

nslookup и кэш DNS


0

1

Как сбросить кэш dns на клиенте? А то панимаешь на dns сервере ip изменил, другие клиенты правильно резолвят имя, а один резолвит в старый ip.


нету такой функции, так как нет кэша dns :=)

vadv ★★ ()

nslookup — это неправильный DNS-клиент для linux. Его написали специально для вендузятников, как ты, ТС. Если ты хочешь сбросить кеш DNS, вали в семёрочку, там тебе ipconfig /flushdns. а у нас уже ip a и gethostbyname(3), ну dig на худой конец

anonymous ()
Ответ на: комментарий от vadv

нету такой функции, так как нет кэша dns :=)

т.е. резолвинг в линуксе делается путем постоянного обращения в dns серверу?

Ок. Подождем окончания TTL записи.

zooooo ()
Ответ на: комментарий от anonymous

nslookup — это неправильный DNS-клиент для linux. Его написали специально для вендузятников, как ты, ТС. Если ты хочешь сбросить кеш DNS, вали в семёрочку, там тебе ipconfig /flushdns. а у нас уже ip a и gethostbyname(3), ну dig на худой конец

:))) на твой худой конец dig тоже лапшу несет.

zooooo ()
Ответ на: комментарий от zooooo

проблему вы не поняли, не может быть такого что у всех машин одинаковый dns и какая-то машина упрямо не резолвит :) проверьте /etc/hosts либо /etc/resolv.conf

vadv ★★ ()
Ответ на: комментарий от vadv

проблему вы не поняли, не может быть такого что у всех машин одинаковый dns и какая-то машина упрямо не резолвит :) проверьте /etc/hosts либо /etc/resolv.conf

в первую очередь проверил hosts и resolv.conf. /etc/init.d/netwoking restart решило проблему, но откуда ноги не понял.

zooooo ()
Ответ на: комментарий от zooooo

Существует nscd (name service cache daemon), если он запущен, он держит кеш, в том числе и DNS-записей и резолвинг его использует. Но, я не знаю дистрибутивов, где он по умолчу запущен.

mky ★★★★★ ()
Ответ на: комментарий от mky

Существует nscd (name service cache daemon), если он запущен, он держит кеш, в том числе и DNS-записей и резолвинг его использует. Но, я не знаю дистрибутивов, где он по умолчу запущен.

спасибо за инфу, не знал. На проблемной машине его нет. Я думаю глюк был связан с OpenVPN подключением. Когда клиент цепляется openvpn-ом в другую сеть, получает список других dns и они прописываются в resolv.conf. Но сейчас уже гадание и что там было не установить. Клиентская машина далеко и давно установлена, я и сам забыл про openvpn. Возможно я глянул в resolv.conf, посмотрел что все в норме, а клиент запустил OpenVPN... Ну и фиг с ним.

zooooo ()
Ответ на: комментарий от mky

Существует nscd (name service cache daemon)

Ещё существуюте различные DNS серверы, начиная с того же бинда, которые вполне можно вешать на локалхост как кеширующий рекурсор. В какой-то системе я видел такое по умолчанию даже.

const86 ★★★★★ ()
Ответ на: комментарий от const86

Различные DNS серверы прописываются в /etc/resolv.conf и сразу видно, что /etc/resolv.conf прописан 127.0.0.1. А nscd нужно просто запустить и всё, в /etc/resolv.conf его прописывать не надо, т.е. он менее заметен.

mky ★★★★★ ()

А вы действительно уверены, что у вас в кэше такое есть старое имя? Покажите вывод «cat /etc/nsswitch.conf | grep hosts». Вероятно у вас старое имя забито в файл hosts или используется NIS, причем поиск сперва будет выполняться сначала в hosts, потом в NIS, и лишь затем в DNS. То есть до DNS дело тупо не доходит. Порядок поиска задается в nsswitch

andrew667 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.