OpenVPN - Verstehen Sie die Routing-Tabelle + So leiten Sie nur den Datenverkehr über das VPN zu einer bestimmten IP-Adresse


12

Ich verbinde mich mit OpenVPN mit einem VPN-Dienst und alles funktioniert einwandfrei. Sobald ich mich verbinde, werden die Regeln automatisch festgelegt:

root@linux:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:1B:01:AC:FB  
          inet addr:192.168.1.201  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37977382 (36.2 MiB)  TX bytes:5098121 (4.8 MiB)
          Interrupt:16 

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.7.126  P-t-P:10.7.7.125  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:31366374 (29.9 MiB)  TX bytes:308591 (301.3 KiB)

root@linux:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.125      128.0.0.0       UG    0      0        0 tun0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
5.120.121.114   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
10.7.7.1        10.7.7.125      255.255.255.255 UGH   0      0        0 tun0
10.7.7.125      *               255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.7.7.125      128.0.0.0       UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Folgendes verstehe ich:

  • Meine lokale IP-Adresse lautet 192.168.1.201
  • Das lokale Gateway ist 191.168.1.1
  • 5.120.121.114 ist die öffentliche VPN-IP
  • tun0 ist der VPN-Tunnel, mein Computer hat 10.7.7.126 als Adresse
  • 10.7.7.125 ist die PTTP-Adresse, von der ich verstehe, dass sie das andere "Ende" des VPN ist

In Bezug auf die Routing-Tabelle verstehe ich Folgendes:

  • Standardmäßig wird der gesamte Datenverkehr über 10.7.7.125 auf der Schnittstelle tun0 gesendet (aber warum diese Maske?)
  • 10.7.7.1 ist über tun0 erreichbar
  • Die öffentliche IP von VPN ist über eth0 erreichbar

Ich verstehe das zweite Standard-Gateway nicht. Dies ist die Standardeinstellung, wenn der VPN nicht aktiv ist. Wird er einfach umgangen?

Was ist mit dem 10.7.7.1? sieht aus wie es ist das Gateway des VPN ...

Warum das Ziel 128.0.0.0?

OpenVPN erstellt automatisch alle diese Regeln. Aber basierend darauf, was sind diese geschaffen?

Ich kann nicht die Serverseite des VPN steuern, sondern nur die Client-Konfiguration.

Was wäre, wenn ich möchte:

  • Erzwingen Sie den gesamten Datenverkehr auf 216.58.213.174, um über VPN tun0 zu gehen, und lassen Sie den Rest über eth0 laufen?
  • Kann ich es beim Starten des VPN automatisch einrichten lassen?

Vielen Dank für Ihren Vorschlag und Ihre Unterstützung beim Verständnis.

KR, dk

BEARBEITEN:

root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0 
default via 192.168.1.1 dev eth0 
5.152.210.249 via 192.168.1.1 dev eth0 
10.7.7.1 via 10.7.7.125 dev tun0 
10.7.7.125 dev tun0  src 10.7.7.126 
128.0.0.0/1 via 10.7.7.125 dev tun0 
192.168.1.0/24 dev eth0  src 192.168.1.201 

1
Nur meine 2 Cent: Verwenden Sie ip route listdiese Option , um eine bessere Übersicht über Ihre Routen zu erhalten. Auch weil ifconfig und route auf dem Weg zur Verfallserklärung unter LInux sind ...

Antworten:


15

Ich verstehe das zweite Standard-Gateway nicht. Dies ist die Standardeinstellung, wenn der VPN nicht aktiv ist. Wird er einfach umgangen?

Dies ist einer der OpenVPN-Hacks zum Weiterleiten des Datenverkehrs durch Ihren Tunnel unter Beibehaltung Ihres Standard-Gateways. Die Routen 0.0.0.0/1 und 128.0.0.0/1 haben Vorrang vor den Routen 0.0.0.0/0, da sie spezifischer sind und dennoch mit allen Adressen übereinstimmen. Suchen Sie in der OpenVPN-Dokumentation nach "def1", um weitere Informationen zu erhalten

Was ist mit dem 10.7.7.1? sieht aus wie es ist das Gateway des VPN ...

Wahrscheinlich ja

OpenVPN erstellt automatisch alle diese Regeln. Aber basierend darauf, was sind diese geschaffen?

Sie werden wahrscheinlich vom Server gepusht. Ich kann weitere Informationen bereitstellen, wenn Sie die Ausgabe von Ihrem Client bereitstellen können, während dieser zusammen mit Ihrer Konfigurationsdatei beginnt

Ich kann nicht die Serverseite des VPN steuern, sondern nur die Client-Konfiguration.

Ja, aber der Client ist hochgradig konfigurierbar, sodass Sie so ziemlich alles überschreiben können, was der Server von Ihrem Client verlangt. Dennoch müssen Sie die grundlegenden Anforderungen Ihres Anbieters erfüllen, um eine Verbindung herzustellen. Sie sollten auch die "Nutzungsbedingungen" Ihres Anbieters überprüfen, um sicherzustellen, dass Sie sie nicht verärgern.

Was wäre, wenn ich möchte:

Erzwingen Sie den gesamten Datenverkehr auf 216.58.213.174, um über VPN tun0 zu gehen, und lassen Sie den Rest über eth0 laufen?

Ja, fügen Sie "route 216.58.213.174 255.255.255.255 10.7.7.125" in Ihre Konfiguration ein. Das sollte Ihre gewünschte Route einrichten. Sie sollten in der Lage sein, Ihre anderen Routen beizubehalten, indem Sie die Option "Redirect-Gateway" aus Ihrer Konfiguration entfernen

Kann ich es beim Starten des VPN automatisch einrichten lassen?

ja, siehe oben

Alle von mir beschriebenen und weitere Optionen finden Sie in der Online-Dokumentation von OpenVPN. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage


Vielen, vielen Dank !!! Ich habe Tage damit verbracht, in Netzwerk-Minutien zu stöbern und zu versuchen, den niedlichen kleinen Trick mit 0.0.0.0/1 und 128.0.0.0/1 zu verstehen. Am Ende musste ich lediglich eine Route hinzufügen, die völlig redundant ist, außer wenn VPN aktiviert ist.
Rlduffy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.