In einem privaten Remotenetzwerk gibt es zwei Server - einen Dateiserver und einen Datenbankserver (beide sind Win-Computer, falls es darauf ankommt).
Der Dateiserver verfügt über eigene, recht robuste Authentifizierungsmechanismen und ermöglicht mir, eine direkte Verbindung von einem Remotestandort aus herzustellen.
Der Datenbankserver verwendet einen einfachen Benutzernamen und ein Kennwort. Um einen unbefugten Zugriff zu verhindern, ist er auf das lokale Netzwerk beschränkt - der externe Datenverkehr wird blockiert.
Um auf den Datenbankserver zuzugreifen, verwende ich den OpenVPN-Client unter Windows, um eine Verbindung zu einem VPN-Server im privaten Netzwerk herzustellen.
Standardmäßig leitet OpenVPN alle Netzwerkpakete, die für das Remotenetzwerk bestimmt sind, in dem sich der VPN-Server befindet, über das VPN weiter. Leider ist der Zugriff auf den Dateiserver über das VPN extrem langsam!
Frage:
Wie kann ich den OpenVPN-Client so konfigurieren, dass NUR Datenverkehr über das VPN geleitet wird, das für eine einzelne, bestimmte IP-Adresse bestimmt ist - nämlich den Datenbankserver?
Die richtige Konfiguration für OpenVpn ist:
route-nopull
route 192.168.0.0 255.255.255.0
Diese Einträge gehören in Ihre .ovpn-Datei und leiten den gesamten 192.168.0. * -Subnetz-Verkehr über das VPN.
Nur für eine IP (192.168.0.1):
route-nopull
route 192.168.0.1 255.255.255.255
Drücken Sie Win + R und ncpa.cpl
ausführen.
Klicken Sie mit der rechten Maustaste auf die VPN-Verbindung und gehen Sie zu Eigenschaften → Netzwerk .
Wählen Sie Internet Protocol Version 4 und gehen Sie zu Eigenschaften → Erweitert ... .
Deaktivieren Sie Standardgateway im Remotenetzwerk verwenden und klicken Sie auf OK.
(Optional) Wiederholen Sie die vorherigen Schritte für Internet Protocol Version 6 .
Verbinden Sie sich (erneut) mit Ihrem VPN.
Öffnen Sie eine Eingabeaufforderung und führen Sie route print -4
aus.
Suchen Sie die VPN-Schnittstelle in der Schnittstellenliste und ihr Gateway in den aktiven Routen .
Auf meiner Maschine habe ich:
Interface List
32...........................Super Free VPN
[...]
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 On-link 10.6.6.127 31
10.0.0.0 255.0.0.0 10.88.1.1 10.88.1.102 31
Hier ist das Gateway des VPNs 10.88.1.1
, da es das Gateway für den Block 10.xxx.xxx.xxx
ist.
Fügen Sie eine dauerhafte Route hinzu, die bei jeder Verbindung zum VPN an die aktiven Routen angehängt wird:
route -p add 23.22.135.169 10.88.1.1 if 32
In diesem Beispiel ist 23.22.135.169
die IP von whatismyip.org
, 10.88.1.1
die IP des Gateways und 32
die Nummer der Schnittstelle.
(Optional) Wiederholen Sie die vorherigen Schritte für route print -6
.
Testen Sie das Setup.
Wenn alles geklappt hat, zeigen whatismyip.org und www.whatismyip.cx jetzt verschiedene IPs an.
Fügen Sie zu Ihrer OpenVPN-Client-Konfiguration eine Zeile wie die folgende hinzu:
route The.IP.To.Go 255.255.255.255
(Wobei The.IP.To.Go die IP ist, die Sie über das VPN weiterleiten möchten)
Dadurch wird OpenVPN angewiesen, den Eintrag in der Routing-Tabelle Ihres Betriebssystems zu erstellen.
Alternativ kann der OpenVPN-Server veranlasst werden, diese Routing-Konfiguration auf die Clients zu "pushen", indem Folgendes zur Serverkonfiguration hinzugefügt wird:
Push "route The.IP.To.Go 255.255.255.255"
BEARBEITEN: Eine Sache, die ich übersehen habe, ist die Standardweiterleitung des gesamten Datenverkehrs. Sie kann entweder auf dem Server deaktiviert sein oder Clients können "Push" -Anweisungen ignorieren (unsere zweite Option "Push" der Route würde also nicht funktionieren ) über:
route-nopull