Serverumzug - DNS-Update

handschigl

New Member
Hallo,

wenn ich mit einer Website von einem auf einen anderen Server umziehe, dann ändere ich in meinem Domain Robot bei Hetzner die IP-Adresse im jeweiligen DNS-Eintrag.
Leider wird die IP-Adresse vom Browser in der Cache gespeichert, um künftige Request schneller bearbeiten zu können. Dadurch erhalte ich oft E-Mails von meinen Forenmitgliedern, da diese noch das Forum bzw. eine Fehlermeldung auf dem alten Server sehen und das noch nach mehreren Stunden und PC-Neustarts (da hier in der Regel die Cache geleert wird).

Ich selbst weiß, dass man mittels "ipconfig /flushdns" die DNS-Cache des PCs leeren kann. Meine Mitglieder leider nicht.
Ist es irgendwie möglich, dass auf dem alten Server ein DNS-Server eingerichtet wird und dieser dann die neue IP-Adresse zurückgibt, falls jemand noch die alte in seiner Cache hat?
Wenn ja, wie funktioniert dies?
 
Leider wird die IP-Adresse vom Browser in der Cache gespeichert
Genauer gesagt von einem Windows-Dienst. Alle Browser greifen auf diese DNS-Schnittstelle zurueck.

Meine Mitglieder leider nicht.
Erklaer ihnen dass ein PC-Neustart das Problem behebt.

dann ändere ich in meinem Domain Robot bei Hetzner die IP-Adresse im jeweiligen DNS-Eintrag.
Setz 24 Stunden zuvor den TTL (Time-to-live) der Eintraege so niedrig wie moeglich. 1 - 5 Minuten sollte akzeptabel sein (sofern moeglich).
Beachte aber dass einige Provider beim rekursiven Lookup die TTL klammheimlich auf 24 Stunden hochheben um auf ihren Servern die Last zu reduzieren.

Ist es irgendwie möglich, dass auf dem alten Server ein DNS-Server eingerichtet wird und dieser dann die neue IP-Adresse zurückgib
Ein DNS-Server nicht da gar keine DNS-Anfrage an deinen alten Server gestellt wird. Allerdings kannst du einen Proxy (zb nginx oder sogar Apache) auf dem alten Server laufen lassen welcher die Anfragen an den neuen weiterleitet und mit mod_rpaf2 im neuen Server die IP korrigieren.

Alternativ kannst du eine temporaere Subdomain neuerserver.deinedomain.tld anlegen auf welche der alte Server die Besucher mit einem 302-Redirect weiterleitet. Funktioniert allerdings nur wenn dein Forum sowie alle Seitenelemente relativ ("../images/coolesbild.jpg") verlinkt sind statt absolut ("http://meinedomain.de/images/coolesbild.jpg").
Verschiedene Skripte setzen aber auch den Domainnamen dynamisch wo es dann wiederum funktioniert.
 
Natuerlich kann man auch schnoede TCP-Proxy's nehmen (ich bevorzuge simpleproxy) allerdings geht dann die Ip-Adresse des Clients verloren was im besten Fall zu witzigen Statistiken und im schlechsten Fall zu Ip-Blockierung usw fuehrt, ausserdem sind waehrend diesem Zeitraum (1-2Tage) die Serverlogs des Apache dann nicht brauchbar (zumals bezogen auf Exploits).
 
Jetzt mal ganz blöd: Was rinetd macht, das forwarding, könnte iptables doch auch :confused:
 
Dafür lässt sich rinetd wunderbar direkt im Rescuesystem betreiben, während man nebenbei die Kiste neu aufsetzt oder für den Nachmieter plättet. Das spart enorm viel Zeit und ist für die paar Stunden, die ein DNS-Update benötigt, durchaus akzeptabel und erfordert keinen weiteren Administrationsaufwand beim Zielsystem. Low-cost auf allen Ebenen...
 
Danke für Eure Antworten.

Den Neustart hatte ich Ihnen auch empfohlen und auf dem alten Server eben eine Fehlermeldung laufen lassen, dass ein Neustart das Problem behebt. Nur funktioniert das scheinbar nicht bei jedem Windows-System, denn einige Mitglieder haben Ihren PC sogar mehrmals neu gestartet und dennoch wurde der alte Server aufgerufen...
Mittlerweile, nach ca. 12 Stunden, funktioniert es aber bei allen...
 
Nur funktioniert das scheinbar nicht bei jedem Windows-System
Das liegt nicht an Windows sondern wie DNS funktioniert.

Dein PC fragt den Router, dieser fragt deinen Internet-Provider, dieser fragt nacheinanderfolgend die DNS-Rootserver, die TLD-Nameserver sowie die Domain-Nameserver.
(Nennt man rekursives Lookup)

Um die nicht zu vernachlaessigende Arbeit und Bandbreite bei DNS-Abfragen zu reduzieren speichert jeder Knoten (manchmal auch der Router) die Abfragen fuer eine gewisse Zeit zwischen. Verschiedene ignorieren gaenzlich die von der DNS mitgelieferte Gueltigkeit und speichern immer fuer X Stunden, andere speichern nur fuer paar Minuten, andere halten sich an die Time-To-Live der DNS-Abfrage.

Somit kannst du nie garantieren dass ein Reboot des PC (oder des Router) danach die neuen DNS-Werte zurueckliefert, um sicher zu gehen solltest du einen Proxy auf dem alten Server aufsetzen. (Was aber einfach und schnell gemacht ist, zb haproxy, nginx, ...)
 
Back
Top