DNS - Есть ли способ заставить сервер имен обновить запись домена?

13

Я делаю некоторую работу над некоторыми доменными именами. Я обновляю их. С помощью digя могу запросить наш сервер имен, и я вижу, что правильное имя было обновлено. Однако наш офисный DNS-кэш все еще показывает старое имя. Вчера я установил TTL на 10 минут, поэтому мне не пришлось долго ждать. Однако есть ли способ обмануть DNS-кэш офиса для обновления? Любой подлый маленький трюк, который я могу сделать, чтобы сделать вещи проще?

ОБНОВЛЕНИЕ Давайте предположим, что у меня нет доступа к серверу, и я не могу перезапустить его? Есть ли что-нибудь еще, что я могу сделать?

Рори
источник
На какой платформе работает ваш DNS-сервер? UNIX, Linux, Windows ..?
RainyRat
На какой ОС работает офисный сервер? Это будет иметь значение в том, как вы будете очищать кеш.
Барт Б
2
Google позволяет смыва кэш DNS: developers.google.com/speed/public-dns/cache
Nehal J Вани

Ответы:

16

Предполагается, что ваш DNS-сервер находится на ПК, а не маршрутизатор и т. Д.

Очистка кеша Linux:

/etc/init.d/nscd restart

Или для дистрибутивов без nscd

/etc/init.d/named restart

Очистка кэша клиента Windows для отдельных машин:

ipconfig /flushdns

Очистка кэша сервера Windows для офисного сервера (спасибо ericmayo за исправление):

  1. Перейдите к инструментам администратора
  2. развернуть объект сервера
  3. щелкните правой кнопкой мыши кэшированные объекты
  4. выберите очистить кеш

Mac (возможно ?!):

dscacheutil -flushcache

Если у вас есть веб-интерфейс и т. Д. Для маршрутизатора, там где-то будет опция.

Межплатформенная очистка кеша, как указано выше

О DNS и кешировании

Энди
источник
ipconfig / flushdns не очищает кэш DNS DNS-сервера Windows; это только очищает кеш клиента. Чтобы очистить кэш DNS-сервера Windows, откройте DNS в разделе «Инструменты администратора», разверните объект сервера, щелкните правой кнопкой мыши кэшированные объекты и выберите «Очистить кэш». NSCD не в моем дистрибутиве. В этом случае, просто killall named и перезапустите его; обычно /etc/rc.d/rc.bind start
Кило
Для Mac: dscacheutil -flushcacheочищает локальный кеш в операционной системе, а не сервер имен привязок. rndc flushочистит сервер имен привязки на Mac, который повлияет на все компьютеры, использующие этот сервер имен.
Мэтт Коннолли
11

Если вы используете BIND в качестве резольвера для вашего офиса - т.е. не пересылать другому распознавателю.

Сбросить все в кеше:

rndc flush

Очистить конкретную запись:

rndc flushname example.com

Если вы переадресовываете, вы находитесь в зависимости от кэша экспедитора.

Дэн Карли
источник
4

С Windows DNS просто перезапуская сервис очищает кеш. Стоит попробовать на вашем офисном сервере.

JR

Джон Ренни
источник
3

Если вы используете Windows, вы можете использовать nltest.

  /DSREGDNS - Force registration of all DC-specific DNS records
  /DSDEREGDNS:<DnsHostName> - Deregister DC-specific DNS records for specified DC
      /DOM:<DnsDomainName> /DOMGUID:<DomainGuid> /DSAGUID:<DsaGuid>
  /DSQUERYDNS - Query the status of the last update for all DC-specific DNS records

И если вы используете WINS, nbtstat.

RandomNickName42
источник
0

Если вы используете Bind9 в качестве DNS-сервера, перезапустите службу

sudo service bind9 restart

randomscriptdouch22
источник
Это не верно для всех дистрибутивов; RH / CentOS использует service named restart, как намекал Энди выше. Это было бы более полезным ответом, если бы вы узнали, для каких дистрибутивов это было верно (я подозреваю, что это « Debian и производные », но я не эксперт по Debian), и добавили это. Тем не менее, добро пожаловать в SF!
MadHatter
@MadHatter ... кроме того, это будет зависеть от "состояния" bind, если он используется в качестве авторитетного или рекурсивного сервера. На мой взгляд, сам по себе этот ответ не имеет особого смысла.
gf_