OpenVPN und systemd aufgelöst

9

Wie benutzt man die DNS, die über einen OpenVPN-Server mit Systemd-Auflösung gepusht werden?

Bevor ich mich für ein Upgrade auf systemd-networkd entscheide. Ich könnte eine Variante des Skripts openvpn-resolv-conf verwenden , um resolvconf aufzurufen und Einträge in /etc/resolv.conf zu verwalten, wenn ein VPN-Tunnel erfolgreich eingerichtet wurde.

Dies würde es mir ermöglichen, Namen am entfernten Ende des VPN-Tunnels aufzulösen.

Ist es nun möglich, nach der Verwaltung von /run/systemd/resolved/resolv.conf durch systemd-resolve automatisch DNS, das über eine openvpn-Verbindung übertragen wurde, zur Liste der für die Auflösung verwendeten Nameserver hinzuzufügen?

sw1nn
quelle

Antworten:

2

Bearbeiten : Ab heute ist diese Lösung meist veraltet. Benutzer neuerer systemd-Versionen sollten sich auf die von Piotr Dobrogost bereitgestellte Lösung beziehen.

Der Trick besteht darin, eine temporäre Netzwerkkonfigurationsdatei mit DNS-Einstellungen zu erstellen und anschließend neu zu starten, systemd-networkdamit die globalen DNS-Einstellungen angewendet werden.

Ich habe ein modifiziertes Skript geschrieben, das genau das tut. Sie können es hier überprüfen: update-systemd-network.sh

WGH
quelle
Ich finde, dass es eine Race-Bedingung gibt, bei der Routen erstellt werden, die beim Neustart von über die openvpn-Konfiguration übertragen werden systemd-networkd. Anstatt jedoch eine neue Netzwerkkonfiguration systemd-networkzu erstellen und neu zu starten, ist es möglich, eine sehr ähnliche Datei in zu erstellen /run/systemd/resolved-conf.d/und dann neu systemd-resolvedzu starten, was zu funktionieren scheint
sw1nn
Es sieht so aus, als ob die oben genannten Funktionen in systemd-Resolution 229 nach meiner ursprünglichen Frage hinzugefügt wurden.
sw1nn
Laut @grawity von #systemd ist der richtige Weg, um es zum org.freedesktop.resolve1.Manager.SetLinkDNS()Laufen zu bringen, über DBus anzurufen
Piotr Dobrogost