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?


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


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.


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


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.


0

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

serviço sudo bind9 reiniciar


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_
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.