DNS - Wie kann ein Nameserver gezwungen werden, den Eintrag einer Domain zu aktualisieren?

13

Ich arbeite gerade an einigen Domainnamen. Ich aktualisiere sie. Mit digkann ich unseren Nameserver abfragen und feststellen, dass der korrekte Name aktualisiert wurde. Unser DNS-Cache im Büro zeigt jedoch immer noch den alten Namen an. Gestern habe ich die TTL auf 10 Minuten eingestellt, damit ich nicht lange warten muss. Gibt es jedoch eine Möglichkeit, den DNS-Cache des Büros zu aktualisieren? Gibt es einen hinterhältigen kleinen Trick, mit dem ich die Dinge einfacher machen kann?

UPDATE Nehmen wir an, ich habe keinen Zugriff auf den Server und kann ihn nicht neu starten. Kann ich sonst noch etwas tun?

Rory
quelle
Auf welcher Plattform läuft Ihr DNS-Server? UNIX, Linux, Windows ..?
RainyRat
Auf welchem ​​Betriebssystem läuft der Server des Büros? Das wird einen Unterschied darin machen, wie Sie vorgehen würden, um den Cache zu leeren.
Bart B
2
Mit Google können Sie den DNS-Cache
leeren

Antworten:

16

Angenommen, Ihr DNS-Server befindet sich auf einem PC und nicht auf einem Router usw.:

Linux Cache Flush:

/etc/init.d/nscd restart

Oder für Distributionen ohne NSCD

/etc/init.d/named restart

Windows- Client- Cache-Flush für einzelne Computer:

ipconfig /flushdns

Windows Server Cache Flush für Office Server (danke an ericmayo für die Korrektur):

  1. Navigieren Sie zu Administrator Tools
  2. Erweitern Sie das Serverobjekt
  3. Klicken Sie mit der rechten Maustaste auf zwischengespeicherte Objekte
  4. Wählen Sie Cache leeren

Mac (möglicherweise ?!):

dscacheutil -flushcache

Wenn Sie eine Web-GUI usw. für einen Router haben, gibt es irgendwo eine Option.

Plattformübergreifendes Cache-Leeren wie oben

Informationen zu DNS und Caching

Andy
quelle
ipconfig / flushdns leert den DNS-Cache eines Windows-DNS-Servers nicht. Es wird nur der Cache des Clients geleert. Um einen Windows-DNS-Server-Cache zu leeren, öffnen Sie DNS unter Administrator Tools, erweitern Sie das Serverobjekt, klicken Sie mit der rechten Maustaste auf zwischengespeicherte Objekte und wählen Sie Cache leeren. nscd ist nicht in meiner Distribution. In diesem Fall einfach killall named und starte es neu. Normalerweise /etc/rc.d/rc.bind Start
Kilo
Für Mac: dscacheutil -flushcacheLeert den lokalen Cache im Betriebssystem und nicht den Bindungsnamenserver. rndc flushlöscht den Bindungsnamenserver auf einem Mac, was sich auf alle Computer auswirkt, die diesen Namenserver verwenden.
Matt Connolly
10

Wenn Sie BIND als Resolver für Ihr Büro ausführen, d. H. Einen Resolver nicht an einen anderen weiterleiten.

Alles im Cache leeren:

rndc flush

Einen bestimmten Datensatz leeren:

rndc flushname example.com

Wenn Sie weiterleiten, sind Sie dem Cache des Weiterleiters ausgeliefert.

Dan Carley
quelle
4

Wenn der Windows-DNS-Dienst nur neu gestartet wird, wird der Cache geleert. Einen Versuch wert auf Ihrem Büroserver.

JR

John Rennie
quelle
3

Wenn Sie Windows verwenden, können Sie nltest verwenden.

  /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

Und wenn Sie WINS verwenden, nbtstat.

RandomNickName42
quelle
0

Wenn Sie Bind9 als DNS-Server verwenden, starten Sie den Dienst neu

sudo service bind9 neu starten

randomscriptdouch22
quelle
Dies gilt nicht für alle Distributionen. RH / CentOS verwendet service named restart, wie Andy oben anspielt. Dies wäre eine hilfreichere Antwort, wenn Sie herausfinden würden, für welche Distributionen dies zutrifft (ich vermute, es handelt sich um " Debian und Derivate ", aber ich bin kein Debian-Experte) und fügten dies hinzu. Das heißt, willkommen bei SF!
MadHatter
@ MadHatter ... zusätzlich wäre es abhängig vom "Zustand" bind, ob es als autorisierender oder rekursiver Server verwendet wird. Meiner Meinung nach ergibt diese Antwort für sich genommen nicht viel Sinn.
gf_