Я работаю на Linux на своем ноутбуке, я не мог получить доступ к определенному веб-сайту с помощью URL, поэтому я использовал sudo /etc/init.d/nscd restart
для того, чтобы очистить кэш DNS, но URL все еще выдает «Сервер не найден» в Firefox. Я также пробовал Chrome, он все еще не работает. Другие друзья могут видеть веб-страницу, но я не могу. Так в чем может быть основная причина этого? Я могу прекрасно просматривать другие сайты.
Как ни странно, когда я пытаюсь ввести IP-адрес этого конкретного URL-адреса, мне показывается страница, отличная от той, которую видят другие люди.
Я буду признателен за любую помощь по этому вопросу.
решение1
Если вы не запустили его bind
случайно, вам следует проверить nscd
файл конфигурации, расположенный по адресу /etc/nscd.conf
.
Он выведет список сохраненных кэшей.
enable-cache hosts yes
positive-time-to-live hosts 3600
.......
# nscd -?
-g, --statistics Print current configuration statistics
-i, --invalidate=TABLE Invalidate the specified cache
nscd -g
hosts cache:
yes cache is enabled
no cache is persistent
yes cache is shared
211 suggested size
216064 total data pool size
384 used data pool size
600 seconds time to live for positive entries
0 seconds time to live for negative entries
0 cache hits on positive entries
0 cache hits on negative entries
128 cache misses on positive entries
0 cache misses on negative entries
0% cache hit rate
3 current number of cached values
7 maximum number of cached values
2 maximum chain length searched
0 number of delays on rdlock
0 number of delays on wrlock
0 memory allocations failed
yes check /etc/{hosts,resolv.conf} for changes
# nscd -i hosts
Это приведет к аннулированию кэша.
Но после этого записи хостов не изменились. nscd -g
После перезапуска nscd
они были очищены.
service nscd restart
hosts cache:
yes cache is enabled
no cache is persistent
yes cache is shared
211 suggested size
216064 total data pool size
0 used data pool size
600 seconds time to live for positive entries
0 seconds time to live for negative entries
0 cache hits on positive entries
0 cache hits on negative entries
0 cache misses on positive entries
0 cache misses on negative entries
0% cache hit rate
0 current number of cached values
0 maximum number of cached values
0 maximum chain length searched
0 number of delays on rdlock
0 number of delays on wrlock
0 memory allocations failed
yes check /etc/{hosts,resolv.conf} for changes
Если вы не используете bind, это единственный способ очистить кэш, не считая поиска базы данных nscd
и ее удаления, что может вызвать другие проблемы. Я бы следовал процедурам устранения неполадок для разрешения IP. Я изложил некоторые из них в комментариях к вашему вопросу.
Это ссылка на довольно хорошую статью в Linux Journal оУстранение неполадок сети.
решение2
Я знаю, что это старый вопрос, но добавляю его на случай, если кто-то снова столкнется с этой проблемой.
Когда я столкнулся с похожей проблемой кэша DNS-клиента этим утром, я выполнил все обычные шаги по очистке кэша, сохраненного nscd
и, как упоминалось в первом ответе, перезапустил nscd
. Я даже удалил кэш ОС, но определенное имя хоста все еще разрешалось в старый IP-адрес. Оно начало разрешаться только после того, как я удалил строку nameserver 127.0.0.1
из resolv.conf.