Ich habe gerade das OpenVPN eingerichtet und es funktioniert wie erwartet. Die Routing-Tabelle des Clients verwirrt mich jedoch bis zum Äußersten. Hier ist die Routentabelle:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
Lassen Sie es uns also Zeile für Zeile zerlegen
- Jedes Paket, für
10.8.0.5
das bestimmt ist, hat kein Gateway und wird verwendettun0
- Jedes Paket, für
10.8.0.1
das bestimmt ist, wird10.8.0.5
als Gateway über verwendettun0
- Jedes Paket, für
54.202.18.143
das bestimmt ist, wird10.0.2.2
als Gateway über verwendeteth0
- Jedes Paket, für
10.0.2.0/24
das bestimmt ist, hat kein Gateway und wird verwendeteth0
- Ignorieren wir den Teil 169.254.0.0
- Alle anderen Pakete (für die bestimmt sind
0.0.0.0
) werden uns10.8.0.5
als Standard-Gateway übertun0
. Das ist also das Standard-Gateway, nicht wahr? - Jedes Paket, für
128.0.0.0/7
das bestimmt ist, wird10.8.0.5
als Standard-Gateway über verwendettun0
- Alle anderen Pakete (
0.0.0.0
) werden10.0.2.2
als Standard-Gateway über verwendeteth0
Fragen:
- Habe ich 2 Standard-Gateways, wenn wir Punkt 6 und 8 berücksichtigen? (Es kann jedoch nur 1 Standard-Gateway geben, daher weiß ich, dass ich falsch liege, kann es aber nicht rechtfertigen) ( wahrscheinlich beantwortet, siehe unten )
- In Anbetracht der Punkte 1 und 2 wird für
10.8.0.1
nichts wirklich ein Gateway über tun0 verwendet. Ist das richtig? - In Anbetracht der Punkte 3 und 4 verwendet alles, was angestrebt
54.202.18.143
wird, kein Gateway übereth0
. Ist das richtig?
AKTUALISIEREN...
Nachdem ich dies gelesen hatte , fand ich weitere Informationen. Die folgenden Zeilen sind für mich jetzt sehr sinnvoll:
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
Die erste Zeile definiert also 0.0.0.0/128.0.0.0
und die zweite definiert 128.0.0.0/128.0.0.0
. Im Wesentlichen:
0.0.0.0/128.0.0.0 = 0.0.0.0/1 = 0.0.0.0 TO 127.255.255.255
128.0.0.0/128.0.0.0 = 128.0.0.0/1 = 128.0.0.0 TO 255.255.255.255
Die beiden oben genannten Routen decken also den gesamten IPv4-Adressbereich ab [0.0.0.0 TO 255.255.255.255]
. Es ist eine clevere Möglichkeit von OpenVPN, eine Standardroute hinzuzufügen, ohne die ursprüngliche Standardroute zu ersetzen, und diese Standardroute wird über weitergeleitet tun0
.
Ich glaube, ich habe eine Antwort auf meine erste Frage:
Habe ich 2 Standard-Gateways, wenn wir Punkt 6 und 8 berücksichtigen?
NEIN, es gibt nur ein Standard-Gateway und das ist:
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
quelle
0.0.0.0
Route hat Genmask,128.0.0.0
was sie wahrscheinlich nicht zu einer Standardroute macht. Ich muss allerdings sagen, dass ich nicht die geringste Ahnung habe, was diese Maske bedeutet und wofür die Route da ist: /Antworten:
Die 6. Zeile definiert den Bereich 0.0.0.0 - 127.255.255.255 und die 7. Zeile definiert den Bereich 128.0.0.0 - 255.255.255.255.
NEIN, es gibt nur ein Standard-Gateway und das ist:
Nein, nicht korrekt, Pakete, die für 10.8.0.1 bestimmt sind, werden an 10.8.0.5 weitergeleitet (auf das über tun0 lan zugegriffen werden kann, wie in der ersten Zeile festgelegt).
Sie hatten Recht, wenn die Netzmaske nicht 255.255.255.255 war
Nein, nicht korrekt. Pakete, die für 54.202.18.143 bestimmt sind, werden an 10.0.2.2 weitergeleitet (ein weiterer Host auf eth0 lan, auf den über die 4. Zeile zugegriffen werden kann).
quelle