Вопрос Как очистить кеш DNS?
Я просто обновил запись DNS (ns1
, ns2
, ns3.myhostingcompany.com
) для сайта, на котором я размещен, но я все еще получаю страницу регистрации регистратора доменов.
Я хотел бы узнать, является ли проблема кэшированными DNS-записями Ubuntu.
Есть ли способ очистить кэш DNS Ubuntu? (если такая вещь существует?)
153
2017-08-13 21:23
происхождения
ответы:
За 18,04 и выше
смотреть на Ответ Майка Шульца,
Для 11.10 и ниже
Ubuntu по умолчанию не кэширует записи DNS, поэтому, если вы не установили кеш DNS, нет ничего, что можно было бы очистить.
DNS-записи, скорее всего, кэшируются DNS-серверами вашего провайдера, поэтому, если вы хотите проверить, были ли удалены изменения DNS, вы можете опросить DNS-сервер из своей службы хостинга домена с помощью dig:
dig -t a ns1.myhostingcompany.com @domain_registrar_dns_server
Вы хотите, чтобы Ubuntu начал кэширование dns. Я рекомендую установить pdnsd
вместе с resolvconf
, nscd
является ошибочным и нецелесообразным.
52
2017-08-14 00:13
12,04
Ubuntu 12.04 использует dnsmasq
который встроен в network-manager
, но это не cache dns, поэтому нет необходимости его скрывать. Вот пример строки из моего syslog
для доказательства этой точки:
dnsmasq[2980]: started, version 2.59 cache disabled
Также нет необходимости в какой-либо конфигурации dnsmasq
, Если вы работаете с настройками запаса, он не будет кэшировать dns, так как для этого вам нужно явно настроить его как это Статья Ubuntu описывает.
Если вы хотите обновить свои настройки, вы можете отключить, а затем включить работу в сети или запустить
sudo service network-manager restart
Это перезапускается dnsmasq
потому что он встроен в network-manager
; Проверьте свои syslog
за доказательства этого.
Если вы используете проводное соединение с dhcp network manager
будет принимать настройки непосредственно с вашего маршрутизатора, и ваше соединение будет автоматически установлено при входе в Ubuntu. Вы можете проверить правильность настроек на своем маршрутизаторе, если вы можете получить к нему доступ через веб-интерфейс и, возможно, перезагрузите его, если необходимо.
Если это общая проблема с dns, вы можете попробовать использовать Google dns вместо своих isp dns, и больше информации об этом подробнее здесь,
69
2017-09-14 20:39
Обратите внимание, что Ubuntu использует systemd-resol с 17.04 и далее, поэтому этот ответ больше не применим к последним версиям Ubuntu. Видеть "очистить DNS-кеш в Ubuntu 17.04 и выше (18.04)"
По умолчанию DNS не кэшируется в Ubuntu <17.04 (но он может быть кэширован в сети или приложении)
Чтобы подтвердить, так или иначе, dnsmasq
кэширование, запуск ps ax | grep dnsmasq
и посмотрите на текущую команду. Вот разбивка моей машины по умолчанию 13.10:
/ usr / sbin / dnsmasq \
--no-resolv \
--keep-in-foreground \
--no-hosts \
--bind-interfaces \
--pid-file = / var / run / NetworkManager / dnsmasq.pid \
--listen-address = 127.0.1.1 \
--conf-file = / var / run / NetworkManager / dnsmasq.conf \
--cache величину = 0 \
--proxy-dnssec \
--enable-dbus = org.freedesktop.NetworkManager.dnsmasq \
--conf-DIR = / и т.д. / NetworkManager / dnsmasq.d
/etc/NetworkManager/dnsmasq.d
по умолчанию пуст. Таким образом, нет никаких переопределений и просто чтобы проверить --cache-size=0
означает, что мы думаем, что это означает (вместо неограниченный кэша), man dnsmasq
показывает:
-c, --cache-size=<cachesize>
Set the size of dnsmasq's cache. The default is 150 names.
Setting the cache size to zero disables caching.
Так что пока dnsmasq
Можно кэш DNS, он не кэширует окно. Вы можете проверить свою машину и различные каталоги конфигурации, чтобы проверить, что вы находитесь на одной странице.
Если вы видите проблемы с кешем, это, вероятно, происходит в одном из нескольких мест:
- Поток от вашего компьютера. Некоторые кеширование маршрутизаторов. Многие корпоративные сети будут кэшировать DNS. Многие DNS-серверы, работающие на ISP, будут использовать свои собственные кеши. Единственный способ гарантировать сетевой кеш - использовать кеш, который вы можете обновить вручную. Вот почему мне нравится OpenDNS.
- В клиентском приложении (особенно в браузерах). Приложения могут делать все виды своего собственного кэширования, на которые Ubuntu не влияет. Как Firefox кэширует DNS, Как очистить кэш DNS от Chrome, Другие браузеры (и приложения) могут иметь свои собственные механизмы.
Я очищаю бочку здесь, но, возможно, вы установили нестандартный DNS-сервер в Ubuntu вместо того, чтобы включить кеширование в dnsmasq
, Здесь очень много: nscd
, DJBDNS dnscache
(ака TinyDNS), pdns
, pdnsd
, Bind9 (и его варианты), и больше я даже не могу вспомнить. Они будут вероятно проявляться в /etc/resolv.conf
(с конфигурацией в файле / etc / resolvconf / `для автоматического создания этого файла). Ниже показан локально перехваченный DNS-запрос:
$ nslookup askubuntu.com
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: askubuntu.com
Address: 198.252.206.24
Если вы не нажмете 8.8.8.8 (или как вы ожидаете, что ваш DNS-сервер будет), проверьте, на что вы нападаете. В моем случае я вижу, что это просто dnsmasq
настроен на зеркальное отображение DNS-запросов для LXC, но в вашем случае это может привести к плохим тайным вещам.
Если вы сделали из перечисленных кешей, процесс их очистки варьируется:
sudo /etc/init.d/nscd reload # nscd
sudo /etc/init.d/named restart # bind9
На слегка связанной заметке, см. это, чтобы включить кеширование в dnsmasq
,
59
2018-03-17 10:40
Для 12.04:
Ubuntu 12.04 кэширует DNS с помощью dnsmasq (см. man dnsmasq
). Для очистки кеша используйте следующее:
sudo kill -HUP $(pgrep dnsmasq)
40
2017-07-21 21:32
sudo /etc/init.d/nscd restart
http://www.ubuntugeek.com/howto-clearflush-dns-cache-in-ubuntu.html
Также в качестве примечания вы можете проверить и посмотреть, распространяются ли ваши DNS-изменения, используя dig и поиск против кого-то другого, кроме DNS-серверов по умолчанию. В этом случае DNS Google.
dig @8.8.8.8 example.com
16
2017-08-13 21:25
Ubuntu 17.04 и выше (18.04)
Начиная с Ubuntu 17.04 и далее, systemd-resolve используется для DNS. Вы можете очистить кеши systemd так:
sudo systemd-resolve --flush-caches
12
2018-06-27 04:09
Лично я бы использовать OpenDNS и использовать их Функция проверки кеша для принудительного обновления, чтобы убедиться, что изменения работают, но вы не можете гарантия они будут обновляться для ваших пользователей в течение 48 часов.
DNS - медленный зверь. Терпение будет держать вас в здравом уме.
11
2017-08-13 21:26