Sven Rautenberg: Nameserver, Redundanz und Caching

Beitrag lesen

Moin!

Danke für den Hinweis. Eventuell mache ich nichteinmal eine
Weiterleitung an den Hauptserver, sondern rufe die Mails einfach von
jedem Mailserver ab (bzw. einfach dann, wenn mal ein Ausfall wäre).

Dann wären die MXe alle mit derselben Priorität anzugeben - hätte auch den Vorteil, dass sich dann der Traffic verteilen würde - aber ich glaube nicht, dass das bei dir SO arg ist, oder?

Es ist von der Einfachheit her wirklich schöner, die sekundären Mailserver so zu konfigurieren, dass sie die Mails an den primären Server weiterleiten. Dann mußt du dort nämlich keinen POP3 oder IMAP Server installieren und brauchst auch nicht zwei oder drei Logins zu definieren.

Jetzt habe ich dich nicht verstanden. Mit öffentlichen Nameserver
meinst du zum Beispiel die cachenden ISP-Nameserver der
Internetzugangsprovider, oder?

Richtig.

Du meinst, dass sich diese nicht
nach den SOA der eigenen Nameserver richten, sondern einfach
staatisch eine konstante Refreshzeit festlegen?

Nein, umgekehrt. Solche Server sollen sich ja gerade nach der SOA-TTL richten. Was du zuhause mit einem ansonsten für niemanden erreichbaren Nameserver machst, ist dir überlassen - aber üblicherweise würdest du dort auch nur ein klassisches DNS-Serverpaket installieren (also BIND, djbdns,...), und die verhalten sich eben auch zuhause "normal", beachten also die Cachingzeiten. Schließlich werden die nicht gewürfelt, sondern haben schon manchmal ihren Sinn. dyndns-Adressen beispielsweise sind absichtlich nur 10 Minuten gültig. Wäre blöd, wenn man die durch Eigeninitiative plötzlich vier Stunden gültig machen würde.

Definiere "zum Zuge kommen"? Wie hast du das festgestellt?

Ganz einfach, die alten zwei Nameserver zeigten auf einen Webspace
mit Inhalt X, die neuen Nameserver zeigen auf einen anderen Webspace
mit Inhalt Y. Selbst nach eintragen der Reihenfolge NS_neu1; NS_neu2;
NS_alt1;NS_alt2 bei switch.ch wurde mir nach mehreren Tagen der
Inhalt X angezeigt (obwohl bereits längst die neuen zwei NS aktiv
geworden sein sollten). Erst nach entfernen der NS_alt1 und NS_alt2
bekam ich nach einiger Zeit den Inhalt Y zu sehen.

Das ist alles andere als ein Beweis. Die Reihenfolge der Nameserver ist irrelevant. Mit Pech haben die deinem Browser zugeordneten Nameserver zwar registriert, dass da zwei neue Nameserver befragbar wären, haben aber trotzdem weiterhin die alten Nameserver gefragt. Wie gesagt: Es gibt für fragende DNS-Server keine primären oder sekundären Nameserver, sondern einfach nur "angegebene Nameserver", die gefälligst zuständig sein sollen.

Welcher Nameserver gefragt wird, ist beim allerersten Zugriff zufällig. Mehrere nachfolgende Zugriffe könnten sich aber (es hängt vom fragenden Nameserver ab) an der Antwortzeit eines Nameservers orientieren. Beim Überschreiten einer gewissen Schranke wird dann einfach mal ein anderer Server gefragt. Auf diese Weise wird tendentiell immer der Server gefragt, der - abhängig von der Netztopologie - die schnellste Antwort liefert. Und das scheint bei dir eben immer der mit den alten Daten zu sein.

Wenn du tatsächlich wissen willst, was switch.ch in der ch-Zone eingetragen hat, wirst du dich zwangsläufig mit nslookup, dig oder dnsq(r) beschäftigen müssen und die authoritativen Nameserver direkt befragen (andernfalls kriegst du nur die zeitverzögerte Antwort vom cachenden DNS deines Providers.

Ist es nicht so, dass zuerst der primäre Nameserver gefragt wird und
erst bei Nichterhalt der Antwort der sekundäre Nameserver (usw.)
gefragt wird?

Nein. Es gibt keinen "primären" Nameserver, weil es keinerlei Information im DNS gibt, der einen Server als "primär" kennzeichnen kann. Oder gibst du im Zonefile
IN PNS primary.domain.tld.
IN SNS secondary.backup.tld
ein? Wohl eher nicht, die Dinger heißen alle "NS", sind also alle gleichwertig zu behandeln - sollen ja schließlich auch komplett identische Informationen ausspucken.

Oder anders gefragt: Gibt es Clients, die den
Nameserver durch eine Art Round-Roubin auswählen (also eben
irgendeinen)? - Das wäre für mich ebenfalls wichtig zu wissen, denn
ich kann nicht alle Nameserver mit denselben Daten füllen (was
auch nicht weiter schlimm ist, denn normalerweise sind die zwei
ersten Nameserver nie offline und wenn sie doch einmal offline sind,
kommt eben eine Art Backup-Nameserver zum Einsatz, der auf einen
Fallback-Server zeigt).

Warum geht das nicht? Das ist doch eigentlich der Sinn der Sache: Alle Nameserver, die authoritativ für eine Domain sind, sollen die identischen Informationen haben.

Dein Szenario ist natürlich spezieller: Zwei identische Webserver mit unterschiedlichen IPs sollen gegenseitig füreinander einspringen. Aber wie ich schon sagte: Das kannst du nicht per DNS regeln, mindestens dauert das viel zu lange, bis sich damit was verändert.

Du kannst die beiden IPs, die für den einen Namen gelten sollen, beide im Zonefile verewigen und dann auf alle Nameserver überspielen. Dann die benutzte IP zufällig ausgesucht und dadurch die Last ungefähr 1:1 verteilt. Ist aber auch nicht das, was Ausfallsicherheit bringt, denn wenn der eine Server weg ist, bleibt er das für alle Besucher, die dessen IP mitgeteilt bekamen. Oder es gibt so lustige Effekte wie "mal geht es, mal geht es nicht".

- Sven Rautenberg