Nameserver parallel abfragen
Im Hetzner Online Diskussionsforum gab es heute kleinere Beschwerden von Kunden, da wohl einer der drei von Hetzner bereitgestellten Nameserver zeitweise ausgefallen war.
Solche Ausfälle können immer wieder passieren. Schließlich sind Nameserver auch nur normale Server, welche kaputt gehen können. Daher gibt es auch mehrere Nameserver. Ist der eine Server nicht erreichbar, lässt sich ein anderer fragen.
Ein Problem ist hierbei jedoch, dass die Standard-Konfiguration auf Linux-Systemen vorsieht, alle verfügbaren Nameserver in die Datei resolv.conf einzutragen. Die dort aufgeführten Server werden dann nacheinander abgefragt. Ist ein Server nicht erreichbar, wartet das System bis zu einem (relativ langen) Timeout, bis es den nächsten Nameserver abfragt. Hierdurch kommt es zu merklichen Problemen auf den Systemen. Zum Beispiel verzögert sich der SSH-Login oder die Einlieferung von E-Mails, da hierbei meist eine Reverse-Auflösung der IP-Adresse des Kommunikationspartners erfolgt.
Um dieses Problem erfolgreich zu umgehen, setzen wir auf allen unseren Servern den DNS-Cache pdnsd ein. Hierbei handelt es sich um ein Programm, welches Nameserveranfragen entgegen nimmt und weiterleitet. Vorteil hierbei ist, dass pdnsd in der Lage ist, mehrere Nameserver gleichzeitig zu befragen und auch Details wie Timeouts, Caching, etc. viel feingranularer konfiguriert werden können. Seit mehreren Jahren, in denen wir nun pdnsd einsetzen hatten wir daher mit Nameserver-Ausfällen keine mehr Probleme mehr.