Hinzufügen einer Route auf dem Client mithilfe von OpenVPN

13

Das ist also mein Setup. Laptop mit Ubuntu OpenVPN Version 2.3.2

Ich verbinde mich mit einem OpenVPN-Server, der eine Verbindung zu einem externen Netzwerk herstellt.

Ich starte den OpenVPN-Client und kann den VPN-Server anpingen. Der Server pusht keine Routen, daher muss ich auf dem Client routen.

Hinzufügen der externen Netzwerke zum Weiterleiten an den VPN-Server, damit ich auf das externe Netzwerk zugreifen kann.

Das Problem, das ich habe, ist, dass meine Anforderungen nicht vom 192.168.0.1-Netzwerk zum externen Standort 172 springen . . * eins ... Kann ich bei meinem Kunden etwas dagegen tun? Ich habe keinen Besitz des Servers und die Routen werden jetzt nicht vom Server gepusht, in Zukunft weiß ich es nicht

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.242.2.6  P-t-P:10.242.2.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:0 (0.0 B)  TX bytes:12129 (12.1 KB)

wlan1     Link encap:Ethernet  HWaddr 5c:93:a2:a0:6e:1b  
      inet addr:10.101.7.41  Bcast:10.101.31.255  Mask:255.255.224.0
      inet6 addr: fe80::5e93:a2ff:fea0:6e1b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:355109 errors:0 dropped:0 overruns:0 frame:0
      TX packets:206832 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:454685028 (454.6 MB)  TX bytes:23942624 (23.9 MB)



Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.101.0.1      0.0.0.0         UG        0 0          0 wlan1
10.101.0.0      0.0.0.0         255.255.224.0   U         0 0          0 wlan1
10.242.2.1      10.242.2.5      255.255.255.255 UGH       0 0          0 tun0
10.242.2.5      0.0.0.0         255.255.255.255 UH        0 0          0 tun0
192.168.0.0     10.242.2.5      255.255.255.0   UG        0 0          0 tun0
192.168.82.0    10.242.2.5      255.255.255.0   UG        0 0          0 tun0
Jocke
quelle
Routen können durch Pusen / Ziehen oder manuelle Konfiguration in der Client-Konfiguration hinzugefügt werden. Ist Ihre Frage, wie Sie dies tun können, ohne Routen auf dem Server zu verschieben, oder ist Ihre Frage, wie Sie sie vom Server auf die Clients (oder einzelne) übertragen können? Bitte geben Sie in Ihre Frage an ( bearbeiten Sie sie bitte): 1) Ob Sie die Kontrolle über die Konfiguration des Servers haben. 2) Schließen Sie die OpenVPN-Clientkonfiguration ein (auch Server, wenn 1 Ja war). Auf diese Weise können wir Ihnen besser helfen.
Gertvdijk

Antworten:

25

Schauen Sie sich Ihre Routing-Tabelle an. Es gibt keine explizite Route, die den Verkehr zu 172 ... * sagt, wie Sie es nennen. Wird an die VPN-Tun-Schnittstelle gesendet.

Sie haben mehrere Möglichkeiten:

  1. Wenn Sie Zugriff auf den openVPN-Server haben, fügen Sie diese Anweisung zur openvpn-Konfiguration hinzu:

    push "redirect-gateway def1 bypass-dhcp"
    

    Diese Einstellung leitet den gesamten Datenverkehr durch das VPN weiter. Die andere Alternative, die Sie haben. Ist es, selbst auf der Client-Seite eine statische Route hinzuzufügen

  2. Fügen Sie die Route manuell auf der Clientseite in einem Terminal hinzu

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. openvpn verfügt über eine Direktive zum Hinzufügen und Entfernen von clientseitigen Routen in Ihrer openvpn-Konfigurationsdatei mit der routeOption.

    Hinzufügen:

    route 172.16.0.0 255.255.255.0
    

    zu Ihrer openvpn-Konfigurationsdatei auf dem VPN-Client. fügt die Route automatisch hinzu, wenn Sie eine Verbindung herstellen

  4. Bonus: openvpn hat auch eine up/ downDirektive, mit der Sie ein Skript starten können, wenn Sie eine Verbindung zu VPN herstellen. Auf diese Weise können Sie benutzerdefinierte Aktionen wie das Festlegen von DNS, Routen usw. ausführen. Sie müssen jedoch die auszuführenden Befehle in einer anderen Datei speichern.

    Wenn Sie also Folgendes zu Ihrer openvpn-Client-Konfigurationsdatei hatten

    script-security 2 system
    up run-stuff-after-vpn-connect.sh
    

    Erstellen Sie eine Datei mit dem Namen run-stuff-after-vpn-connect.sh(stellen Sie sicher, dass sie über Ausführungsberechtigungen verfügt. Fügen Sie Folgendes hinzu:

    #!/bin/sh
    route add -net 172.16.0.0/24 dev tun0
    

    Dadurch wird die Route hinzugefügt, sobald der Tunnel hoch ist


Da Sie uns in Ihrer Frage nicht die vollständige Deklaration Ihres Subnetzes unter der Annahme seines 172.16.0.0/24 gegeben haben

Tomodachi
quelle
Wenn ich also die Aufwärtsroute hinzufüge, füge -net 172.16.0.0/24 dev tun in meiner client.conf-Datei hinzu, sollte der Router in netstat -rn angezeigt werden?
Jocke
Nein, der VPN geht nicht hoch, wenn ich diese Zeile in client.conf hinzufüge
Jocke
Wo füge ich den Befehl up route hinzu ... ??
Jocke
2
@ Tomodachi Ich musste Punktnotation verwenden, damit dies auf einem OpenVPN-Client (2.3.11) funktioniertroute 0.0.0.0 128.0.0.0
Matt
4
Auf meinem OpenVPN 2.3.13 (Windows 10) wird die Option route 172.16.0.0/24nicht akzeptiert, ich muss 172.16.0.0 255.255.255.0stattdessen route verwenden.
WoJ