Wie kann ich dafür sorgen, dass DNS und VPN reibungslos zusammenarbeiten?

Wie kann ich dafür sorgen, dass DNS und VPN reibungslos zusammenarbeiten?

Wenn ich auf der Arbeit bin und meinen Laptop mit einem Kabel anschließe, bin ich sofort in unserem internen Netzwerk. So kann ich mich direkt mit Computern im Inneren verbinden, ohne Domänennamen wie: ssh host1, mit Domänennamen: ssh host1.example.comoder direkt über IP: ssh 192.168.100.101.

Aber wenn ich zu Hause bin, muss ich mich zuerst bei unserem VPN anmelden. Danach kann ich
sowohl mit ssh host1.example.comals auch sicher eine Verbindung herstellen ssh 192.168.100.101.Aber wie komme ich ssh host1zur Arbeit?

Ich verwende Ubuntu 18.04.3 LTS und verbinde mich mit OpenVPN 2.4.4 mit dem VPN.

Bis vor kurzem funktionierte es noch, aber dann stellte sich heraus, dass ichallemein Datenverkehr wurde über das VPN geleitet, was mir natürlich das Gefühl gab, ich sei im Büro, aber es wurden auch zusätzliche Roundtrips für den Datenverkehr benötigt, der nicht
für das Büro bestimmt war. Unter NetworkManager->VPN-Verbindung bearbeiten->„IPv4-
Einstellungen“->Routen... gibt es also ein Kontrollkästchen „Diese Verbindung nur für Ressourcen in ihrem Netzwerk verwenden“.

Bildbeschreibung hier eingeben

Wenn diese Option nicht aktiviert ist, erhalte ich eine Standardroute, die den gesamten Datenverkehr an die VPN-Schnittstelle (tun0) weiterleitet:

$ ip route
default via 172.30.0.25 dev tun0 proto static metric 50 
default via 192.168.1.1 dev enxc8f750cc2555 proto dhcp metric 100 
...

Wenn diese Option aktiviert ist, wird die erste Standardregel entfernt:

$ ip route
default via 192.168.1.1 dev enxc8f750cc2555 proto dhcp metric 100
...

Es gibt natürlich noch weitere Routing-Regeln die die VPN-Konfiguration vervollständigen, aber die werden für die Problembeschreibung hier wohl nicht benötigt.

Nachdem ich dieses Kontrollkästchen aktiviert habe, funktioniert alles (außer der DNS-Suche) und ich habe eine schnellere Erfahrung mit dem Rest des Netzes (glaube ich).

Ich habe ein bisschen mit Resolve herumgespielt, aber noch nicht herausgefunden, wie ich es
zum Laufen bekomme. Ich habe versucht, /etc/resolve.confauf beides hinzuweisen:

/run/systemd/resolve/resolv.conf
/run/systemd/resolve/stub-resolv.conf

Es scheint jedoch keine Verhaltensänderung zu geben.

searchIch vermute, dass dies mit der Einstellung zu tun hat, resolve.confaber ich kann nicht genau herausfinden, wie.

Ich glaube, ich hätte also gerne Folgendes:

  • Netzwerkkonfiguration mit DHCP abrufen, wo immer ich mich verbinde (das funktioniert)
  • Wenn ich mich beim VPN anmelde, sollte der DNS innerhalb des VPN die Standardeinstellung sein.

Was/wie kann ich ändern, prüfen und bestätigen? Anregungen? Fragen?

Oder bin ich hier auf dem Holzweg?

Antwort1

Der VPN-Schnittstelle müssen die DNS-Adresse und die Suchdomäne vor Ort hinzugefügt werden. Stellen Sie über VPN eine Remoteverbindung zu einem Computer mit Ihrer Hauptsite her und überprüfen Sie die DNS-Adresse. Sie benötigen außerdem Ihr DNS-Suffix, auch bekannt als Suchdomäne. (Beispiel: Wenn Ihr vollqualifizierter Domänenname computer1.xyz.com oder comp1.abc.local lautet, wäre die Suchdomäne/das Suffix xyz.com oder abc.local.)

Nachdem Sie diese Informationen haben, ändern Sie die Einstellungen in Netplan und fügen den Nameserver (DNS-Server) und das DNS-Suchsuffix hinzu. Das würde dann so aussehen:

$ sudo vi /etc/netplan/50-cloud-init.yaml

ethernets:
        vpn0:
            addresses: [192.168.86.30/24]
            dhcp4: no
            dhcp6: no
            gateway4: 192.168.86.1
            nameservers:
                    addresses: [192.168.86.10] #dns server address goes here
                    search: [xyz.com] #end of FQDN goes here


$ sudo netplan apply

Fügen Sie nur Nameserver/Adressen/Suchwerte hinzu. Ignorieren Sie die anderen. Möglicherweise müssen Sie die VPN-Schnittstelle danach hoch- und herunterfahren.

verwandte Informationen