117471
Aug 18, 2014, updated at 16:46:22 (UTC)
1562
8
0
Knobelaufgabe: Seltsames Verhalten Windows DNS (2008 R2)
Ich möchte den Ausfall eines DNS-Servers simulieren und habe hierfür zwei AD-Server und ein im AD abgelegtes DNS aufgesetzt. Um nachzuvollziehen, ob bei einem Ausfall korrekt auf den jeweils anderen Server umgeschaltet wird, habe ich mir folgendes ausgedacht:
Auf beiden Servern läuft der IIS mit einer jeweils unterschiedlichen Homepage. Ich habe auf jedem DNS eine gleichlautende primäre Zone angelegt, die nicht im AD hinterlegt ist (diese heißt jenachserver.local). Der entsprechende Hosteintrag (www.jenachserver.local) zeigt auf den jeweiligen Server.
D.h. je nachdem, welchen DNS-Server ich frage, bekomme ich eine andere IP zurückgeliefert (nämlich die IP von dem Server, den ich gefragt habe). Ich habe die DNS "kreuzweise" als primären DNS angezeigt und bekomme auf Server a unter dem Hostnamen die Seite von b angezeigt, der Server b zeigt fehlerfrei die Seite a an.
Auf dem Client bekomme ich via nslookup ebenfalls eine unterschiedliche IP, je nachdem, welchen Server ich frage:
nslookup www.jenachserver.local ip_von_server_a liefert die IP-Adresse von Server A
nslookup www.jenachserver.local ip_von_server_b liefert die IP-Adresse von Server B
Der Client hat Server A als ersten und Server B als alternativen DNS-Server "drin". Unter www.jenachserver.local zeigt er nach Anmeldung im AD die Homepage vom Server A an.
Jetzt kommt mein Netzausfall (Deaktivierung der Netzwerkschnittstelle auf Server A, "ipconfig /flushdns" auf dem Client). Eigentlich müsste jetzt unter www.jenachserver.local die Homepage von Server B erscheinen.
Aber das tut er nicht: Statt dessen dauert es ein paar Sekunden, und es erscheint immer noch die Homepage von Server A (obwohl dieser aktuell gar keine Netzwerkbindung hat).
Und jetzt die Masterfrage: Wer oder was spielt mir hier einen Streich?
Auf beiden Servern läuft der IIS mit einer jeweils unterschiedlichen Homepage. Ich habe auf jedem DNS eine gleichlautende primäre Zone angelegt, die nicht im AD hinterlegt ist (diese heißt jenachserver.local). Der entsprechende Hosteintrag (www.jenachserver.local) zeigt auf den jeweiligen Server.
D.h. je nachdem, welchen DNS-Server ich frage, bekomme ich eine andere IP zurückgeliefert (nämlich die IP von dem Server, den ich gefragt habe). Ich habe die DNS "kreuzweise" als primären DNS angezeigt und bekomme auf Server a unter dem Hostnamen die Seite von b angezeigt, der Server b zeigt fehlerfrei die Seite a an.
Auf dem Client bekomme ich via nslookup ebenfalls eine unterschiedliche IP, je nachdem, welchen Server ich frage:
nslookup www.jenachserver.local ip_von_server_a liefert die IP-Adresse von Server A
nslookup www.jenachserver.local ip_von_server_b liefert die IP-Adresse von Server B
Der Client hat Server A als ersten und Server B als alternativen DNS-Server "drin". Unter www.jenachserver.local zeigt er nach Anmeldung im AD die Homepage vom Server A an.
Jetzt kommt mein Netzausfall (Deaktivierung der Netzwerkschnittstelle auf Server A, "ipconfig /flushdns" auf dem Client). Eigentlich müsste jetzt unter www.jenachserver.local die Homepage von Server B erscheinen.
Aber das tut er nicht: Statt dessen dauert es ein paar Sekunden, und es erscheint immer noch die Homepage von Server A (obwohl dieser aktuell gar keine Netzwerkbindung hat).
Und jetzt die Masterfrage: Wer oder was spielt mir hier einen Streich?
Please also mark the comments that contributed to the solution of the article
Content-Key: 246759
Url: https://administrator.de/contentid/246759
Printed on: April 19, 2024 at 04:04 o'clock
8 Comments
Latest comment
Moin,
sehr wahrscheinlich das Browser-DNS-Caching:
http://blog.krakovic.de/firefox-dns-cache-loschen-abschalten-einstellen ...
Browsercache löschen und Browser neu starten.
Grüße Uwe
sehr wahrscheinlich das Browser-DNS-Caching:
http://blog.krakovic.de/firefox-dns-cache-loschen-abschalten-einstellen ...
Browsercache löschen und Browser neu starten.
Grüße Uwe
für einen Test brauchst du keine so komische Konstellation konstruieren. Lösche die Zonen, dann den DNS-Cache der DNS-Server löschen (ich meine dnscmd nicht ipconfig), und auf den Clients ebenfalls. Dann schaltest du einen Server ab und prüfe ob du unterschiedliche Webseiten aufrufen kannst. Dann weist du sicher das der Client richtig umswitcht.
Wenn noch Zweifel bestehen sollten, einfach mit Wireshark in den Traffic reinschauen, dann sind jegliche Zweifel ausgeschlossen, und dein "merkwürdiges Verhalten" erklärbar!
Noch zur Info: Ein Umschwenken des Clients auf den sekundären DNS findet nur statt wenn der primäre DNS nicht antwortet (Timeout) oder er eine nicht routbare Adresse zurückliefert. Solange dieser z.B. mit "Domain not existent" antwortet wird nicht auf den sekundären umgeschwenkt.
Aber du hattest ja richtigerweise das Interface abgeschaltet.
Wenn noch Zweifel bestehen sollten, einfach mit Wireshark in den Traffic reinschauen, dann sind jegliche Zweifel ausgeschlossen, und dein "merkwürdiges Verhalten" erklärbar!
Noch zur Info: Ein Umschwenken des Clients auf den sekundären DNS findet nur statt wenn der primäre DNS nicht antwortet (Timeout) oder er eine nicht routbare Adresse zurückliefert. Solange dieser z.B. mit "Domain not existent" antwortet wird nicht auf den sekundären umgeschwenkt.
Aber du hattest ja richtigerweise das Interface abgeschaltet.
Hallo,
was möglich ist, bei deiner Konstruktion, das der Chache vom Server auch dazwischen funkt.
Da Du die Server über kreuz auflösen lässt, was ein soll ist, wenn die Daten GLEICH sind, kann da Du ja die Webseite vom B server aufgerufen hast und der anstelle SEINER Seite die vom anderen angezeigt hat der Cache vom Server selber dazwischen funken.
Mach auf dem Server auch einen Cachereset (Server und Client) und dann versuch nochmal dein Glück.
Um zu sehen, ob die DNS-Server umschwenken, solltest Du eigentlich eine Internetwebseite aufrufen die Du noch nie aufgerufen hast oder ein AD Rechner anpinken mit dem Du noch nix zu tun hattest.
Dein Szenario hat unnötige Fehlerquellen die das Ergebniss verfäschen.
Gruß
Chonta
was möglich ist, bei deiner Konstruktion, das der Chache vom Server auch dazwischen funkt.
Da Du die Server über kreuz auflösen lässt, was ein soll ist, wenn die Daten GLEICH sind, kann da Du ja die Webseite vom B server aufgerufen hast und der anstelle SEINER Seite die vom anderen angezeigt hat der Cache vom Server selber dazwischen funken.
Mach auf dem Server auch einen Cachereset (Server und Client) und dann versuch nochmal dein Glück.
Um zu sehen, ob die DNS-Server umschwenken, solltest Du eigentlich eine Internetwebseite aufrufen die Du noch nie aufgerufen hast oder ein AD Rechner anpinken mit dem Du noch nix zu tun hattest.
Dein Szenario hat unnötige Fehlerquellen die das Ergebniss verfäschen.
Gruß
Chonta
Zitat von @117471:
Finde ich echt nett, dass Ihr mir so schnell geholfen habt.
keine Ursache Finde ich echt nett, dass Ihr mir so schnell geholfen habt.
Macht es mehr Sinn, auf den (ausgehenden) Traffic vom Client oder eher auf den (eingehenden) Traffic vom Server zu schauen? Oder
ist das eher "Wumpe"?
Da du wissen willst welchen Server der Client fragt, wohl eher die ausgehenden Anfragen des Clients, aber die Unterhaltung kannst du ja Filtern so dass nur die DNS-Anfragen und die dazugehörigen Antworten zusammen erscheinen.ist das eher "Wumpe"?
Gibt es in einer Active Directory Domäne einen weiteren Mechanismus, der DNS-Daten zwischen den Clients und den Servern
transportiert?
nope, außer du meinst Netbios Anfragen aber das sind ja in dem Sinne keine "echten" DNS Anfragen.transportiert?
Oder gehen diese DNS-Anfragen auch beim AD *immer* über Port 53?
yip