Mit OpenVPN in ein Firmennetzwerk verbinden

Inzwischen mache ich auch mehr Home-Office und muss mich deshalb immer mal wieder mit unserem Firmennetzwerk verbinden.

Meinen Rechner daheim hatte ich dazu initial in der Firma und habe ihn in die Domäne hinzugefügt, und melde mich auch mit meinem Domänenkonto lokal an im Home-Office.

Wir haben auf unserer OPNsense-Firewall/Gateway einen OpenVPN-Server laufen, und entsprechend auf den Clients ein OVPN-Profil (plus Zertifikat), um mittels dem OpenVPN-GUI-Client unter Windows 10 mit dem Firmennetz zu verbinden.

Dazu habe ich mir eine Batch-Datei geschrieben:

start "" "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command connect "OpenVPN_Server_vpn_zeta_software_de.ovpn"

Das habe ich in der Aufgabenplanung eingestellt als „Bei Anmeldung eines Benutzers“ ausführen.

Schnittstellenmetrik

Ich hatte eine Weile damit zu kämpfen, dass ich bei der Namensauflösung unserer Server im Firmennetzwerk falsche IP-Adressen bekommen habe.

Wenn ich route print in der Befehlszeile eingegeben habe, hat das so ausgesehen:

C:\Windows\system32>route print
===========================================================================
Schnittstellenliste
  4...18 c0 4d 2a 22 d6 ......Intel(R) Ethernet Connection (7) I219-V
  7...........................Wintun Userspace Tunnel
 15...00 ff a6 2e 35 4b ......TAP-Windows Adapter V9
 20...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
 17...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  1...........................Software Loopback Interface 1
===========================================================================

D. h. die eingebaute Netzwerkkarte („Intel(R) Ethernet Connection (7) I219-V“) war mit einer höheren Metrik versehen als der virtuelle OpenVPN-Adapter („TAP-Windows Adapter V9“).

Nach meinem Verständnis war das die Ursache; die Auflösung von Namen/das Routing geht die Schnittstellen in der Reihenfolge von niedriger Metrik zu höherer Metrik durch. Sobald er einen Namen auflösen kann, hört er auf. Deshalb muss der VPN-Adapter vor dem anderen Adapter in der Metrik-Reihenfolge stehen.

Ich bin dann in die Netzwerk-Einstellungen gegangen und habe die Schnittstellen-Metriken von „automatisch“ geändert entsprechend angepasst, so dass der Wert des virtuellen OpenVPN-Adapters eine kleinere Zahl hatte und entsprechend höher in der Liste steht und der Wert der eingebauten Netzwerkkarte so geändert, dass sie nach dem OpenVPN-Adapter steht.

Eingebauter Netzwerk-Adapter

OpenVPN-Adapter

Anschließend sah die Metrik dann so aus:

C:\Windows\system32>route print
===========================================================================
Schnittstellenliste
 15...00 ff a6 2e 35 4b ......TAP-Windows Adapter V9
  4...18 c0 4d 2a 22 d6 ......Intel(R) Ethernet Connection (7) I219-V
  7...........................Wintun Userspace Tunnel
 20...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
 17...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  1...........................Software Loopback Interface 1
===========================================================================

Der virtuelle OpenVPN-Adapter steht jetzt also vor der eingebauten Netzwerkkarte.

Bei mir haben diese Einstellungen auch nach einem Reboot funktioniert, allerdings hat es ca. 20-30 Sekunden nach der Anmeldung noch gedauert, bis das dann korrekt stand, und die Server mit den korrekten IP-Adressen aufrufbar waren.

Alternativ ist hier beschrieben, wie die Metrik direkt in der *.ovpn-Datei gesetzt werden kann.

Admin-Zugriff auf unsere Amazon-Server

Aktuell habe ich noch ein Problem mit dem Zugriff auf unsere Server bei Amazon.

Wir haben da bewusst die Firewalls dort so konfiguriert, dass ich nur vom Firmennetzwerk aus per RDP und SSH zugreifen kann.

Meine öffentliche IP-Adresse ist jedoch nicht die unseres Firmennetzes, sondern irgend eine andere.

Der Trick, der hier beschrieben ist, nämlich folgendes in der OVPN-Datei im Ordner „C:\Users\ukeim\OpenVPN\config“ zu ergänzen:

redirect-gateway def1

hat bei mir nicht geholfen. Da hat dann irgendwie gar nichts mehr funktioniert.

Hier bin ich also noch am Suchen. Eventuell muss ich ein Routing ergänzen, das alle Amazon-Server über den OpenVPN-Server tunnelt, oder ich besorge mir eine statische IP-Adresse bei Unitymedia/Vodafone und erweitere die Amazon-Firewalls um meine IP-Adresse.

Hier ist beschrieben, wie man eine Route direkt in die *.ovpn-Datei einträgt.

Lösung

Nach Rücksprache mit unserem Provider habe ich eine Lösung für die Amazon-AWS-Server gefunden:

Ich muss die Server einzeln im OpenVPN-Server hinterlegen. Zum Glück sind das bei uns nur eine Hand voll.

Eine IP-Adresse muss jeweils an zwei Stellen im OPNsense-Admin-Bereich hinterlegt werden:

  1. VPN → OpenVPN → Servers → „OpenVPN-Server“ → Stift-Symbol → unten im Feld „Advanced“ jeweils eine Zeile push "route 123.124.125.126 255.255.255.255" eingeben (das „123.124.125.126“ durch die korrekte IP-Adresse des Zielservers ersetzen) → Speichern via „Save“-Schaltfläche

    (Achtung: Bei jedem Speichern wird der VPN-Server neu geladen und alle fliegen kurz raus)

  2. Firewall → Aliases → WAN_IPs_via_VPN → Stift-Symbol → Feld „Content“ um die gewünschten IP-Adressen erweitern (Anschließend jeweils ein Komma eingeben) → Speichern via „Save“-Schaltfläche → anwenden via „Apply“-Schaltfläche

  3. (Optional) die neue Konfiguration auch gleich exportieren via: System → Configuration → Backups → „Download configuration“-Schaltfläche

Hat bei mir hervorragend geklappt.

1 „Gefällt mir“

In neueren OpenVPN-Versionen heißt der Adapter nicht mehr „OpenVPN TAP-Windows6“ (oder so ähnlich), sondern „Open VPN Data Channel Offload“:

Dann entsprechend obige Einstellungen mit der Metrik für diese „Open VPN Data Channel Offload“-Adapter auf 1 setzen.