it-swarm.com.de

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

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?

39
Brian Lacy

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
46
Thomas

Tore

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

Schritte

  1. Drücken Sie Win + R und ncpa.cpl ausführen.

  2. Klicken Sie mit der rechten Maustaste auf die VPN-Verbindung und gehen Sie zu Eigenschaften → Netzwerk .

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

  4. Deaktivieren Sie 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 route print -4 aus.

  8. 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.

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

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

  11. Testen Sie das Setup.

    Wenn alles geklappt hat, zeigen whatismyip.org und www.whatismyip.cx jetzt verschiedene IPs an.

24
Dennis

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
11
Adam