Anpassen, wie lange Linux benötigt, um ein Failover auf den in resolv.conf aufgelisteten DNS-Sicherungsserver durchzuführen


15

Derzeit verwende ich die einfache Vanilla-Linux-Konfiguration für resolv.conf... so etwas wie:

nameserver 123.123.123.123
nameserver 8.8.8.8

Wenn 123.123.123.123 ausfällt, werden DNS-Abfragen langsam unmöglich. Ich gehe davon aus, dass Linux jedes Mal den ersten Versuch wiederholt. Gibt es eine Möglichkeit, Linux in dieser Hinsicht schlauer zu machen? Gesundheitschecks oder so? Oder verstehe ich falsch, wie resolv.confes funktionieren soll?

Antworten:


17

Zusätzlich zu ewwhite's großartiger Resonanz gibt es einige Nachträge.

Sie können dies hinzufügen /etc/resolv.conf

options timeout:1 attempts:1 rotate

Die Standardeinstellungen sind Zeit: 5 Versuche: 2

Was passiert ist, dass die Resolver-Bibliothek versucht, die in /etc/resolv.confvon oben nach unten aufgelisteten Nameserver zu verwenden , wenn keine Option zum Drehen vorhanden ist. Wenn rotate vorhanden ist, wird eine Round-Robin-Auswahl durchgeführt. Wenn der Resolver an das Ende der Liste gelangt und der Server nicht innerhalb von X Sekunden antwortet (wobei X der Timeout-Parameter ist), wiederholt er den gesamten Vorgang der Round-Robin-Auswahl erneut für Y-1-Male (wobei Y der Wert ist) Wert der Versuche).

Vorsicht ist jedoch geboten, wenn Sie diese resolv.conf-Optionen nicht mit Freunden testen. Da meiden sie Resolverbibliotheken und fragen direkt die Nameserver. getent hosts ist der bessere Befehl. Beachten Sie, dass alles, was glibc resolver verwendet, der /etc/resolv.confDatei gehorchen muss .


12

Dies wird über beschrieben man resolv.conf.

Bitte versuchen Sie es mit einer der Timeout-Optionen, um die Standardeinstellung von 5 Sekunden auf vielleicht 1 Sekunde zu verringern ...

options timeout:1
nameserver 123.123.123.123
nameserver 8.8.8.8

Tatsächlich verfügt DNS jedoch über so viele Ausfallsicherheiten, dass Timeouts mit geringerer Auflösung vermieden werden können. Ist es möglich, ein besseres öffentliches DNS auszuwählen oder einen eigenen internen Resolver auszuführen?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.