DNS - Alguma maneira de forçar um servidor de nomes a atualizar o registro de um domínio?

13

Estou trabalhando em alguns nomes de domínio. Estou atualizando-os. Ao usar dig, posso consultar nosso servidor de nomes e ver que o nome correto foi atualizado. No entanto, o cache de DNS do nosso escritório ainda está mostrando o nome antigo. Ontem, reduzi o TTL para 10 minutos, para não ter que esperar muito. No entanto, existe alguma maneira de enganar o cache de DNS do escritório para atualizar? Algum truque sorrateiro que eu possa fazer para facilitar as coisas?

ATUALIZAÇÃO Vamos assumir que não tenho acesso ao servidor e não consigo reiniciá-lo? Há algo mais que eu possa fazer?

Rory
fonte
Em qual plataforma o servidor DNS está sendo executado? UNIX, Linux, Windows ..?
21909 RainyRat
Qual sistema operacional está executando o servidor do escritório? Isso fará a diferença em como você liberaria o cache.
227 Bart Bart
2
O Google permite que você limpe o cache do DNS: developers.google.com/speed/public-dns/cache
Nehal J Wani 9/16

Respostas:

16

Supondo que seu servidor DNS esteja em um PC e não em um roteador, etc:

Liberação de cache do Linux:

/etc/init.d/nscd restart

Ou para distros sem nscd

/etc/init.d/named restart

Liberação de cache do cliente Windows para máquinas individuais:

ipconfig /flushdns

Liberação de cache do servidor Windows para servidor do escritório (graças a ericmayo pela correção):

  1. Navegue para Ferramentas do administrador
  2. expanda o objeto do servidor
  3. clique com o botão direito do mouse em objetos em cache
  4. selecione limpar cache

Mac (possivelmente ?!):

dscacheutil -flushcache

Se você tiver uma GUI da web etc para um roteador, haverá uma opção em algum lugar.

Liberação de cache de plataforma cruzada como acima

Sobre DNS e cache

Andy
fonte
ipconfig / flushdns não libera o cache DNS de um servidor DNS do Windows; apenas libera o cache do cliente. Para liberar um cache do servidor DNS do Windows, abra o DNS em Ferramentas do Administrador, expanda o objeto do servidor, clique com o botão direito do mouse em objetos em cache e selecione Limpar cache. nscd não está na minha distribuição. Nesse caso, apenas killall nomeou e reinicie; normalmente /etc/rc.d/rc.bind start
Kilo
Para mac: dscacheutil -flushcachelibera o cache local no sistema operacional, não o servidor de nomes de ligação. rndc flushlimpará o servidor de nomes de ligação em um mac, o que afetará todos os computadores que usam esse servidor de nomes.
Matt Connolly
10

Se você estiver executando o BIND como um resolvedor para o seu escritório - ie. não encaminhando para outro um resolvedor.

Esvazie tudo no cache:

rndc flush

Liberar um registro específico:

rndc flushname example.com

Se você estiver encaminhando, estará à mercê do cache do encaminhador.

Dan Carley
fonte
4

Com o DNS do Windows, basta reiniciar o serviço para limpar o cache. Vale a pena experimentar o servidor do escritório.

JR

John Rennie
fonte
3

Se você estiver usando o Windows, poderá usar o 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

E se você estiver usando WINS, nbtstat.

RandomNickName42
fonte
0

Se você estiver usando o Bind9 como seu servidor DNS, reinicie o serviço

serviço sudo bind9 reiniciar

randomscriptdouch22
fonte
Isso não é verdade para todas as distros; O RH / CentOS usa service named restart, como Andy menciona acima. Esta seria uma resposta mais útil se você descobrisse para quais distros isso era verdade (suspeito que seja " Debian e derivados ", mas não sou especialista em Debian) e adicionei isso. Dito isto, seja bem-vindo ao SF!
MadHatter
@ MadHatter ... além disso, dependeria do "estado" de bind, se for usado como um servidor autoritativo ou recursivo. Na minha opinião, como está, essa resposta por si só não faz muito sentido.
18716 Gf_