Der Nameserver des VPN landet immer wieder unter dem des LAN, und ein Bearbeiten von /etc/resolv.conf behebt das für ein paar Minuten. Diese Datei wird erzeugt, daher hält die Korrektur nie. Bei Debians resolvconf ist die Sortiereingabe /etc/resolvconf/interface-order, und sie sortiert Eintragsnamen statt DNS-Adressen. Prüfen Sie, welcher Resolver-Stack tatsächlich zuständig ist, bevor Sie eine der beiden Dateien anfassen.

Bestätigen Sie, dass resolvconf die Ausgabe besitzt

Fragen Sie zuerst, was die aktuelle Datei geschrieben hat und was sie erneut schreiben wird. Das Paket resolvconf beschreibt sich als Rahmen für dynamische Resolver-Konfiguration, und ein Host mit systemd-resolved oder einem von NetworkManager verwalteten Resolver kann von außen ähnlich aussehen und dennoch eine völlig andere Richtlinie verwenden.

readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1

Führt der aufgelöste Pfad nicht in das Laufzeitverzeichnis von resolvconf, hören Sie hier auf: dieses Runbook gehört zu einem anderen Stack.

Erst nach dieser Prüfung lohnt es sich, die Einträge aufzulisten, die resolvconf derzeit hält.

Lesen Sie die Einträge, bevor Sie Muster schreiben

interface-order gleicht die Namen von Zulieferereinträgen ab, nicht Adressen und nicht Kernel-Interfacenamen. Listen Sie auf, was registriert ist, damit Ihre Muster auf vorhandene Einträge verweisen.

ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order

Ein Eintragsname trägt meist ein Suffix, das seinen Zulieferer kennzeichnet, sodass ein Tunnel-Eintrag und ein DHCP-Eintrag dasselbe Interface-Präfix teilen und dennoch unterschiedlich sortieren können. Kopieren Sie die genauen Namen aus der Verzeichnisauflistung. Leiten Sie keinen Namen aus dem Interfacenamen ab, denn die Client-Integration entscheidet, was sie registriert. Ein erfundener Name passt nie, und der Eintrag fällt ohne jede Fehlermeldung auf das Sammelmuster zurück.

Schreiben Sie die Reihenfolge als Ersttreffer-Muster

Die Datei ist eine Liste von Shell-Glob-Mustern, eines pro Zeile. Ein Eintrag nimmt die Position des ersten Musters ein, auf das er passt, daher macht ein breites Muster über einem spezifischen die spezifische Zeile unerreichbar.

# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*

Setzen Sie das spezifische Tunnelmuster über das Sammelmuster und über das Muster der physischen Schnittstelle.

Behalten Sie die übrigen Zeilen bei, die die Datei bereits hatte. Die ganze Richtlinie durch ein Beispiel zu ersetzen, ist der Weg, auf dem sich unabhängige Zulieferer still verschieben; ändern Sie eine Zeile, erzeugen Sie neu und vergleichen Sie. Muster dürfen keine Leerzeichen, Schrägstriche oder einen führenden Punkt oder eine Tilde enthalten, und Leerzeilen sowie Hash-Kommentare werden ignoriert.

Erzeugen Sie neu und prüfen Sie das Ergebnis

Die Reihenfolge greift, wenn die Aktualisierungsskripte die Datei neu aufbauen. Lösen Sie den unterstützten Aktualisierungspfad aus, statt die erzeugte Ausgabe zu bearbeiten, und lesen Sie dann, was der Resolver tatsächlich erhalten hat.

resolvconf -u
cat /etc/resolv.conf

Prüfen Sie zwei Abfragen, nicht eine: einen privaten Namen, der über den Tunnel aufgelöst werden soll, und einen öffentlichen Kontrollnamen. Schlägt der private Name weiterhin fehl, während die Reihenfolge korrekt aussieht, liegt das Problem im Namensraum-Routing und nicht in der Eintragspriorität, und kein Umsortieren behebt es. Vergleichen Sie jede Antwort mit dem Server, der sie geliefert hat, nicht nur mit dem Erfolg. Ein privater Name, den der falsche Resolver beantwortet, ist weiterhin ein Fehler, und für den Nutzer sieht er wie ein DNS-Ausfall aus.

Setzen Sie den veralteten Eintrag außer Betrieb, statt ihn herabzustufen

Ein veralteter VPN-Eintrag, der nach dem Trennen immer wieder auftaucht, ist ein Lebenszyklusfehler in der Client-Integration. Ihn ans Ende zu schieben verdeckt das Symptom und lässt einen toten Resolver in der Liste.

Setzen Sie ihn über die Komponente außer Betrieb, die ihn registriert, und bestätigen Sie dann, dass das Eintragsverzeichnis ihn nicht mehr führt.

Notieren Sie den Zulieferernamen, das geänderte Muster und die beiden Abfragen, die Sie ausgeführt haben. Die nächste Person braucht diese Namen mehr als die Geschichte.

Ähnliche Artikel