OpenVPN: Nur eine bestimmte IP-Adresse über VPN routen?

44

In einem privaten Remotenetzwerk gibt es zwei Server - einen Dateiserver und einen Datenbankserver (beide sind Windows-Computer, falls es darauf ankommt).

Der Dateiserver verfügt über eigene, recht robuste Authentifizierungsmechanismen und ermöglicht es mir, eine direkte Verbindung von einem Remotestandort aus herzustellen.

Der Datenbankserver verwendet einen einfachen Benutzernamen und ein Kennwort. Um 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 sehr 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?

Brian Lacy
quelle
Es ist ganz einfach. Hier erfahren
Sameer

Antworten:

49

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
Thomas
quelle
Wir sprechen überwiegend Englisch und sprechen nicht unbedingt Deutsch. Bitte übersetzen Sie Ihre Antwort.
Gronostaj
1
+1. Genau das habe ich gebraucht. Ich benutze Ovpn-Clients auf meinem Linux und daher hast du mich gerettet. Vielen Dank.
slayedbylucifer
Kann ich einfach eine Website an vpn weiterleiten? Zum Beispiel nur www.facebook.com
Nicola Peluchetti
In meinem Fall scheint das Routing einzelner IP-Adressen über VPN in Ordnung zu sein. Bei Verwendung der Subnetzmaske funktioniert dies jedoch überhaupt nicht. Irgendwelche Ideen warum?
running.t
Ich immer noch nicht wissen , Antwort auf meine Frage ( siehe oben), aber ich habe einige Untersuchungen und erstellt separaten Thread dagegen getan: superuser.com/questions/854194/...
running.t
24

Tore

  • Verwenden Sie die normale Internetverbindung standardmäßig für den gesamten Internetverkehr, auch wenn eine VPN-Verbindung besteht.
  • Leiten Sie den Datenverkehr über das VPN an eine bestimmte IP-Adresse weiter.

Schritte

  1. Drücken Sie Win+ Rund führen Sie aus ncpa.cpl.

  2. Klicken Sie mit der rechten Maustaste auf die VPN-Verbindung und wählen Sie Eigenschaften → Netzwerk .

  3. Wählen Sie Internet Protocol Version 4 und gehen Sie auf Eigenschaften → Erweitert ... .

  4. Deaktivieren Sie das Kontrollkästchen Standardgateway im Remotenetzwerk verwenden und klicken Sie auf OK .

  5. (Optional) Wiederholen Sie die vorherigen Schritte für Internet Protocol Version 6 .

  6. Verbinden Sie sich (erneut) mit Ihrem VPN.

  7. Öffnen Sie eine Eingabeaufforderung und führen Sie aus route print -4.

  8. Suchen Sie die VPN-Schnittstelle in der Schnittstellenliste und das 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 10.xxx.xxx.xxxBlock ist.

  9. 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 23.22.135.169ist die IP von whatismyip.org, die IP des 10.88.1.1Gateways und 32die Nummer der Schnittstelle.

  10. (optional) Wiederholen Sie die vorherigen Schritte für route print -6.

  11. Testen Sie das Setup.

    Wenn alles geklappt, whatismyip.org und www.whatismyip.cx wird nun verschiedenen IPs angezeigt werden soll .

Dennis
quelle
1
Sicher gibt es einen einfacheren Weg?
Brian Lacy
1
Wissen Sie, wie Sie dies unter Linux (Ubuntu) erreichen?
Елин Й.
1
@ ЕлинЙ. Wenn Sie Network Manager verwenden, wählen Sie einfach "Diese Verbindung nur für Ressourcen in diesem Netzwerk verwenden".
Leif81
1
+1 ... aber könnte das Golf spielen?
Olivier Dulac
11

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 der Serverkonfiguration Folgendes 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
Adam
quelle
-2
iptables -A PREROUTING -t mangle -i <LAN_interface> \
-d <remote_network>/<remote_netmask> -j ROUTE --gw <openvpn_host_ip>
Dharmesh
quelle
Bitte erläutern Sie, was dieser Befehl bewirkt. Nur ein Befehl ohne Erklärung ist nicht so nützlich. Überprüfen Sie auch die Formatierung Ihres Posts - alle <brackets>sind nicht sichtbar, wenn sie nicht als Code markiert sind.
Slhck