systemd/NetworkManager - DNS-Server-Reihenfolge

systemd/NetworkManager - DNS-Server-Reihenfolge

Meine Debian-Installation verwendet systemd-resolvedNetworkManager. Für meine Heimverbindungen habe ich NetworkManager so konfiguriert, dass die zu verwendenden DNS-Server festgelegt werden:

$cat /etc/NetworkManager/system-connections/my-wifi-ssid.nmconnection

...
[ipv4]
dns=10.30.20.1;1.1.1.1;8.8.8.8;
ignore-auto-dns=true
method=auto
...

Grundsätzlich möchte ich 10.30.20.1standardmäßig meinen DNS-Server vor Ort verwenden und die anderen beiden nur als Fallback nutzen.

Das Problem besteht darin, dass der aktive/verwendete Server scheinbar zufällig ausgewählt wird:

$resolvectl status
Link 4 (wlp3s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 1.1.1.1
       DNS Servers: 10.30.20.1 1.1.1.1 8.8.8.8

Beachten Sie, dass ich alle drei als aktiv gesehen habe, aber das ist nicht konsistent. Gibt es eine Möglichkeit, systemd-resolved zu zwingen, den von NetworkManager zuerst aufgelisteten Server zu bevorzugen?

Antwort1

Selbst wenn statische DNS-Server konfiguriert sind, löscht NetworkManager gelegentlich alle davon und lässt keinen funktionsfähig. Außerdem ändert es Ihre DNS-Server, wenn Netzwerkschnittstellen hoch- und heruntergefahren werden. Es scheint keine Möglichkeit im NetoworkManager zu geben, die dynamische Verwaltung abzuschalten.

Eine alternative Lösung besteht darin, die dynamische Verwaltung des DNS vollständig zu deaktivieren. Sie können dies tun, indem Sie den /etc/resolv.confsymbolischen Link löschen und durch eine echte, statische Datei ersetzen. So etwas würde funktionieren:

nameserver 10.30.20.1
nameserver 1.1.1.1
nameserver 8.8.8.8

Diese Datei enthält weitere Einstellungen, die NetworkManager automatisch hinzufügt. Möglicherweise möchten Sie diese auch kopieren.

verwandte Informationen