DNS: un modo per forzare un nameserver ad aggiornare il record di un dominio?


13

Sto lavorando su alcuni nomi di dominio. Li sto aggiornando. Usando digposso interrogare il nostro nameserver e vedo che il nome corretto è stato aggiornato. Tuttavia, la nostra cache DNS dell'ufficio mostra ancora il vecchio nome. Ieri ho impostato il TTL su 10 minuti, quindi non devo aspettare molto. Tuttavia, esiste un modo per ingannare la cache DNS dell'ufficio per l'aggiornamento? Qualche piccolo trucco che posso fare per semplificare le cose?

AGGIORNAMENTO Supponiamo che non ho accesso al server e non riesco a riavviarlo? C'è qualcos'altro che posso fare?


Su quale piattaforma è in esecuzione il tuo server DNS? UNIX, Linux, Windows ..?
RainyRat,

Quale sistema operativo è in esecuzione il server dell'ufficio? Ciò farà la differenza nel modo in cui andresti a svuotare la cache.
Bart B,

2
Google ti consente di svuotare la cache DNS: developers.google.com/speed/public-dns/cache
Nehal J Wani

Risposte:


16

Supponendo che il tuo server DNS sia su un PC e non su un router ecc.:

Svuota cache Linux:

/etc/init.d/nscd restart

O per le distribuzioni senza nscd

/etc/init.d/named restart

Svuota cache client Windows per singoli computer :

ipconfig /flushdns

Svuotamento cache server Windows per server Office (grazie a ericmayo per la correzione):

  1. Passare a Strumenti amministratore
  2. espandere l'oggetto server
  3. fare clic con il pulsante destro del mouse sugli oggetti memorizzati nella cache
  4. seleziona cancella cache

Mac (forse ?!):

dscacheutil -flushcache

Se hai una GUI web ecc per un router, ci sarà un'opzione lì da qualche parte.

Svuotamento della cache multipiattaforma come sopra

Informazioni su DNS e cache


ipconfig / flushdns non scarica la cache DNS di un server DNS di Windows; svuota solo la cache del client. Per svuotare una cache del server DNS di Windows, apri DNS in Strumenti amministratore, espandi l'oggetto server, fai clic con il pulsante destro del mouse sugli oggetti memorizzati nella cache e seleziona svuota cache. nscd non è sulla mia distribuzione. In tal caso, basta semplicemente chiamare tutti e riavviarlo; di solito /etc/rc.d/rc.bind inizia
Kilo il

Per mac: dscacheutil -flushcachesvuota la cache locale nel sistema operativo, non il server dei nomi di bind. rndc flushcancellerà il server dei nomi di bind su un mac che interesserà tutti i computer che usano quel server dei nomi.
Matt Connolly,

11

Se stai eseguendo BIND come resolver per il tuo ufficio, ad es. non inoltrare a un altro un risolutore.

Svuota tutto nella cache:

rndc flush

Svuota un record specifico:

rndc flushname example.com

Se stai inoltrando, sei in balia della cache dello spedizioniere.


4

Con il DNS di Windows, solo il riavvio del servizio svuota la cache. Vale la pena provare sul tuo server d'ufficio.

JR


3

Se stai usando Windows, puoi usare 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 stai usando WINS, nbtstat.


0

Se stai usando Bind9 come server DNS, riavvia il servizio

sudo service bind9 restart


Questo non è vero per tutte le distro; RH / CentOS usa service named restart, come Ally allude sopra. Questa sarebbe una risposta più utile se scoprissi per quali distribuzioni era vero (sospetto che sia " Debian e derivati ", ma non sono un esperto Debian) e lo hai aggiunto. Detto questo, benvenuto in SF!
MadHatter,

@MadHatter ... inoltre dipenderà dallo "stato" di bind, se utilizzato come server autorevole o ricorsivo. Secondo me, così com'è, questa risposta da sola non ha molto senso.
gf_
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.