Я только что обновил запись DNS (ns1, ns2, ns3.myhostingcompany.com) для сайта, на котором я разместился, но у меня все еще есть страница парковки регистратора доменов.
d хотел бы посмотреть, является ли проблема кэшированными DNS-записями Ubuntu. Есть ли способ очистить кэш DNS Ubuntu? (если такая вещь существует?)
Для ubuntu 14.04+ я рекомендую эту команду:
sudo service dns-clean
Все ответы выше забыли одну важную вещь в разрешении имен: обычно DNS-серверы, на которые вы запрашиваете разрешение имен, не принадлежат самим записям (авторитетный сервер). Поскольку каждая запись DNS имеет значение Time To Live, которое обязывает каждый DNS-сервер в цепочке разрешений выполнять кэширование в течение секунд, упомянутых этим значением. Таким образом, вы можете не только кэшировать на своем компьютере, но ПОКОСТВЕННО результат поиска имени будет кэшироваться где-то на сервере, который вы не контролируете.
Единственное решение, которое нужно немедленно уведомить об изменении имени заключается в использовании значения TTL 0 при создании / обновлении записи на авторитетном сервере имен. Но это означает, что для каждого разрешения имен сервер будет удален, обычно это не разрешается регистраторами. Например, они могут предоставить список предопределенных значений TTL, которые вы можете выбрать.
Я управляю разными именами доменов и уверен, что изменения хорошо применяются на авторитетных серверах имен, я используя инструмент под названием dnstracer, который может показать результат поиска на каждом сервере из корня DNS.
В заключение, даже без какого-либо решения кэширования DNS, все еще будет задержка между моментом, когда вы изменить записи DNS, и это изменение отображается на ПК. Эта задержка сильно зависит от TTL записей и количества DNS-серверов между вашим ПК и авторитетным сервером имен.
Если вы используете nscd:
sudo /etc/init.d/nscd restart
Стоит упомянуть, что это не может быть ОС, которая кэширует его. Всем нравится кэшировать DNS ... Некоторые тесты:
Проверьте, не новый ли он или старый IP-адрес. Большинство браузеров также кэшируют DNS, поэтому, если вы не перезапустили Chromium или что-то еще, вы можете не видеть последние.
ping yourdomain.com
Переключите локальный сервер имен в /etc/resolv.conf другому провайдеру , google или level, примеры:
nameserver 8.8.8.8
nameserver 4.2.2.2
И снова ping.
Убедитесь, что ваш маршрутизатор не кэширует DNS в любой форме. (Изменяется маршрутизатором / прошивкой и т. Д.)
Наконец, терпение. DNS может занять некоторое время для распространения по всему Интернету.
Я также нашел противоречия, но это: https://superuser.com/a/521562 woks для меня (Ubuntu 13.10 с последними обновлениями, никаких специальных сетевых пакетов не установлено). Короче говоря, просто используйте это sudo /etc/init.d/dns-clean
Я рекомендую openDNS специально на удаленных серверах Ubuntu, это облегчает боль ...
Как это сделать? Ну ...
cd /etc/dhcp
sudo nano dhclient.conf
вставить это до того, как строка «request subnet-mask ...»
supersede domain-name-servers 208.67.222.222,208.67.220.220;
приведет к перезагрузке интерфейса настолько быстро, что вы не должны даже потеряйте соединение с SSH
sudo ifdown eth0 && sudo ifup eth0
проверьте это, чтобы убедиться, что ваш новый openDNS правильно установлен
cat /etc/resolv.conf
Я использовал следующую команду, чтобы очистить кеш dns от моего 12.10 ubuntu, и это сработало фантастически.
sudo kill -HUP $(pgrep dnsmasq)
Другим полезным сигналом является SIGUSR1, который сбрасывает небольшую статистику в syslog или как это отмечается из man dnsmasq:
В режиме -no-daemon или при полном (-q), создается полный дамп содержимого кеша.Ubuntu 12.04 использует dnsmasq, который встроен в network-manager, но он не кэширует dns, поэтому нет необходимости его скрывать. Вот пример строки из моего syslog, чтобы доказать эту точку:
dnsmasq[2980]: started, version 2.59 cache disabled
Также нет никакой необходимости в настройке dnsmasq. Если вы работаете с настройками запаса, он не будет кэшировать dns, так как для этого вам нужно явно установить его, как описано в dnsmasq .
Если вы хотите обновить свои настройки, вы можете отключить, а затем включить сетевое соединение или запустить
sudo service network-manager restart
. Перезагружает dnsmasq, потому что он встроен в network-manager; проверьте свой syslog на наличие доказательств.
Если вы используете проводное соединение с dhcp network manager, вы будете устанавливать настройки прямо с вашего маршрутизатора, и ваше соединение будет автоматически установлено при входе в систему Ubuntu. Вы можете проверить правильность настроек на своем маршрутизаторе, если вы можете получить к нему доступ через веб-интерфейс и, возможно, перезагрузите его, если необходимо. Если это общая проблема с dns, вы можете попробовать использовать Google dns вместо своих isp dns, и более подробная информация об этом подробно описана здесь.
Ubuntu 12.04 кэширует DNS с помощью dnsmasq (см. man dnsmasq). Для очистки кеша используйте следующее:
sudo kill -HUP $(pgrep dnsmasq)
Чтобы подтвердить одностороннее или кэширование 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-size=0 \ --proxy-dnssec \ --enable-dbus=org.freedesktop.NetworkManager.dnsmasq \ --conf-dir=/etc/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 unlimited cache DNS, это не кеширование из коробки.
Если вы видите проблемы с кешем, это, вероятно, происходит в одном из нескольких мест:
] Восходящий поток от вашего компьютера. Некоторые кеширование маршрутизаторов. Многие корпоративные сети будут кэшировать DNS. Многие DNS-серверы, работающие на ISP, будут использовать свои собственные кеши. Единственный способ гарантировать сетевой кеш - использовать кеш, который вы можете обновить вручную. Вот почему мне нравится OpenDNS. В клиентском приложении (особенно в браузерах). Приложения могут делать все виды своего собственного кэширования, на которые Ubuntu не влияет. Как Firefox кэширует DNS. Как очистить кэш DNS Chrome. Другие браузеры (и приложения) могут иметь свои собственные механизмы. Я очищаю бочку здесь, но, возможно, вы установили нестандартный DNS-сервер в Ubuntu вместо того, чтобы включить кеширование в dnsmasq. Их много: nscd, DJBDNS dnscache (aka 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. [ ! d18]
sudo /etc/init.d/nscd restart
http://www.ubuntugeek.com/howto-clearflush-dns-cache-in-ubuntu.html
Также в качестве примечания вы можете проверить и посмотрите, распространялись ли ваши DNS-изменения с помощью копания и поиска против кого-то другого, кроме DNS-серверов по умолчанию. В этом случае DNS Google.
dig @8.8.8.8 example.com
Не уверен, какая именно версия Ubuntu вступает в силу, но с Ubuntu 17.04 моя проблема была в systemd-resolve. Вы можете очистить кеши systemd так:
sudo systemd-resolve --flush-caches
Лично я использую OpenDNS и использую их функцию проверки кэша, чтобы принудительно обновить, чтобы убедиться, что изменения работают, но вы не можете гарантировать, что они будут обновляться для ваших пользователей в течение 48 часов.
] DNS - медленный зверь. Терпение будет держать вас в здравом уме.
Для ubuntu 14.04+ я рекомендую эту команду:
sudo service dns-clean
Все ответы выше забыли одну важную вещь в разрешении имен: обычно DNS-серверы, на которые вы запрашиваете разрешение имен, не принадлежат самим записям (авторитетный сервер). Поскольку каждая запись DNS имеет значение Time To Live, которое обязывает каждый DNS-сервер в цепочке разрешений выполнять кэширование в течение секунд, упомянутых этим значением. Таким образом, вы можете не только кэшировать на своем компьютере, но ПОКОСТВЕННО результат поиска имени будет кэшироваться где-то на сервере, который вы не контролируете.
Единственное решение, которое нужно немедленно уведомить об изменении имени заключается в использовании значения TTL 0 при создании / обновлении записи на авторитетном сервере имен. Но это означает, что для каждого разрешения имен сервер будет удален, обычно это не разрешается регистраторами. Например, они могут предоставить список предопределенных значений TTL, которые вы можете выбрать.
Я управляю разными именами доменов и уверен, что изменения хорошо применяются на авторитетных серверах имен, я используя инструмент под названием dnstracer, который может показать результат поиска на каждом сервере из корня DNS.
В заключение, даже без какого-либо решения кэширования DNS, все еще будет задержка между моментом, когда вы изменить записи DNS, и это изменение отображается на ПК. Эта задержка сильно зависит от TTL записей и количества DNS-серверов между вашим ПК и авторитетным сервером имен.
Если вы используете nscd:
sudo /etc/init.d/nscd restart
Стоит упомянуть, что это не может быть ОС, которая кэширует его. Всем нравится кэшировать DNS ... Некоторые тесты:
Проверьте, не новый ли он или старый IP-адрес. Большинство браузеров также кэшируют DNS, поэтому, если вы не перезапустили Chromium или что-то еще, вы можете не видеть последние.
ping yourdomain.com
Переключите локальный сервер имен в /etc/resolv.conf другому провайдеру , google или level, примеры:
nameserver 8.8.8.8
nameserver 4.2.2.2
И снова ping.
Убедитесь, что ваш маршрутизатор не кэширует DNS в любой форме. (Изменяется маршрутизатором / прошивкой и т. Д.)
Наконец, терпение. DNS может занять некоторое время для распространения по всему Интернету.
Я также нашел противоречия, но это: https://superuser.com/a/521562 woks для меня (Ubuntu 13.10 с последними обновлениями, никаких специальных сетевых пакетов не установлено). Короче говоря, просто используйте это sudo /etc/init.d/dns-clean
Я рекомендую openDNS специально на удаленных серверах Ubuntu, это облегчает боль ...
Как это сделать? Ну ...
cd /etc/dhcp
sudo nano dhclient.conf
вставить это до того, как строка «request subnet-mask ...»
supersede domain-name-servers 208.67.222.222,208.67.220.220;
приведет к перезагрузке интерфейса настолько быстро, что вы не должны даже потеряйте соединение с SSH
sudo ifdown eth0 && sudo ifup eth0
проверьте это, чтобы убедиться, что ваш новый openDNS правильно установлен
cat /etc/resolv.conf
Я использовал следующую команду, чтобы очистить кеш dns от моего 12.10 ubuntu, и это сработало фантастически.
sudo kill -HUP $(pgrep dnsmasq)
Другим полезным сигналом является SIGUSR1, который сбрасывает небольшую статистику в syslog или как это отмечается из man dnsmasq:
В режиме -no-daemon или при полном (-q), создается полный дамп содержимого кеша.Ubuntu 12.04 использует dnsmasq, который встроен в network-manager, но он не кэширует dns, поэтому нет необходимости его скрывать. Вот пример строки из моего syslog, чтобы доказать эту точку:
dnsmasq[2980]: started, version 2.59 cache disabled
Также нет никакой необходимости в настройке dnsmasq. Если вы работаете с настройками запаса, он не будет кэшировать dns, так как для этого вам нужно явно установить его, как описано в dnsmasq .
Если вы хотите обновить свои настройки, вы можете отключить, а затем включить сетевое соединение или запустить
sudo service network-manager restart
. Перезагружает dnsmasq, потому что он встроен в network-manager; проверьте свой syslog на наличие доказательств.
Если вы используете проводное соединение с dhcp network manager, вы будете устанавливать настройки прямо с вашего маршрутизатора, и ваше соединение будет автоматически установлено при входе в систему Ubuntu. Вы можете проверить правильность настроек на своем маршрутизаторе, если вы можете получить к нему доступ через веб-интерфейс и, возможно, перезагрузите его, если необходимо. Если это общая проблема с dns, вы можете попробовать использовать Google dns вместо своих isp dns, и более подробная информация об этом подробно описана здесь.
Ubuntu 12.04 кэширует DNS с помощью dnsmasq (см. man dnsmasq). Для очистки кеша используйте следующее:
sudo kill -HUP $(pgrep dnsmasq)
Чтобы подтвердить одностороннее или кэширование 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-size=0 \ --proxy-dnssec \ --enable-dbus=org.freedesktop.NetworkManager.dnsmasq \ --conf-dir=/etc/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 unlimited cache DNS, это не кеширование из коробки.
Если вы видите проблемы с кешем, это, вероятно, происходит в одном из нескольких мест:
] Восходящий поток от вашего компьютера. Некоторые кеширование маршрутизаторов. Многие корпоративные сети будут кэшировать DNS. Многие DNS-серверы, работающие на ISP, будут использовать свои собственные кеши. Единственный способ гарантировать сетевой кеш - использовать кеш, который вы можете обновить вручную. Вот почему мне нравится OpenDNS. В клиентском приложении (особенно в браузерах). Приложения могут делать все виды своего собственного кэширования, на которые Ubuntu не влияет. Как Firefox кэширует DNS. Как очистить кэш DNS Chrome. Другие браузеры (и приложения) могут иметь свои собственные механизмы. Я очищаю бочку здесь, но, возможно, вы установили нестандартный DNS-сервер в Ubuntu вместо того, чтобы включить кеширование в dnsmasq. Их много: nscd, DJBDNS dnscache (aka 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. [ ! d18]
sudo /etc/init.d/nscd restart
http://www.ubuntugeek.com/howto-clearflush-dns-cache-in-ubuntu.html
Также в качестве примечания вы можете проверить и посмотрите, распространялись ли ваши DNS-изменения с помощью копания и поиска против кого-то другого, кроме DNS-серверов по умолчанию. В этом случае DNS Google.
dig @8.8.8.8 example.com
Не уверен, какая именно версия Ubuntu вступает в силу, но с Ubuntu 17.04 моя проблема была в systemd-resolve. Вы можете очистить кеши systemd так:
sudo systemd-resolve --flush-caches
Лично я использую OpenDNS и использую их функцию проверки кэша, чтобы принудительно обновить, чтобы убедиться, что изменения работают, но вы не можете гарантировать, что они будут обновляться для ваших пользователей в течение 48 часов.
] DNS - медленный зверь. Терпение будет держать вас в здравом уме.
Не уверен, какая именно версия Ubuntu вступает в силу, но с Ubuntu 17.04 моя проблема была в systemd-resolve
. Вы можете сбросить кеши systemd так:
sudo systemd-resolve --flush-caches
Не уверен, какая именно версия Ubuntu вступает в силу, но с Ubuntu 17.04 моя проблема была в systemd-resolve
. Вы можете сбросить кеши systemd так:
sudo systemd-resolve --flush-caches
Не уверен, какая именно версия Ubuntu вступает в силу, но с Ubuntu 17.04 моя проблема была в systemd-resolve
. Вы можете сбросить кеши systemd так:
sudo systemd-resolve --flush-caches