jak zrozumieć tabelę routingu na kliencie OpenVPN


13

Właśnie skonfigurowałem OpenVPN i działa zgodnie z oczekiwaniami. Jednak tabela routingu klienta wprowadza mnie w błąd bez końca. Oto tabela tras:

# 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

Przeanalizujmy go więc linia po linii

  1. Każdy pakiet przeznaczony dla 10.8.0.5nie ma bramy i będzie z niego korzystaćtun0
  2. dowolny pakiet przeznaczony 10.8.0.1będzie 10.8.0.5jako brama przeztun0
  3. dowolny pakiet przeznaczony 54.202.18.143będzie 10.0.2.2jako brama przezeth0
  4. każdy pakiet przeznaczony dla 10.0.2.0/24nie ma bramy i będzie z niego korzystaćeth0
  5. Zignorujmy część 169.254.0.0
  6. Wszystkie pozostałe pakiety (przeznaczone 0.0.0.0) będą dla nas 10.8.0.5domyślną bramą przez tun0. To jest domyślna brama, prawda?
  7. Dowolny pakiet przeznaczony 128.0.0.0/7będzie 10.8.0.5jako domyślna brama przeztun0
  8. Wszystkie pozostałe pakiety ( 0.0.0.0) będą używane 10.0.2.2jako brama domyślna przezeth0

Pytania:

  • Czy mam 2 domyślne bramy, jeśli weźmiemy pod uwagę punkty 6 i 8? (może być tylko 1 domyślna brama, więc wiem, że się mylę, ale nie mogę tego uzasadnić) ( prawdopodobnie odpowiedział, patrz poniżej )
  • Biorąc pod uwagę punkt 1 i 2, cokolwiek się dzieje, 10.8.0.1tak naprawdę nie korzysta z żadnej bramy przez tun0. Czy to jest poprawne?
  • Biorąc pod uwagę punkty 3 i 4, wszystko, co się dzieje, 54.202.18.143tak naprawdę nie korzysta z żadnej bramy przez eth0. Czy to jest poprawne?

AKTUALIZACJA...

Po przeczytaniu tego znalazłem więcej informacji. Poniższe wiersze mają dla mnie teraz duży sens:

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

Tak więc pierwsza linia definiuje, 0.0.0.0/128.0.0.0a druga definiuje 128.0.0.0/128.0.0.0. Głównie:

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

Ponad 2 trasy obejmują cały zakres adresów IPv4 [0.0.0.0 TO 255.255.255.255]. Jest to sprytny sposób OpenVPN, aby dodać domyślną trasę bez zastępowania oryginalnej domyślnej trasy, a ta domyślna trasa zostanie przekierowana tun0.

Myślę więc, że mam odpowiedź na moje pierwsze pytanie:

Czy mam 2 domyślne bramy, jeśli weźmiemy pod uwagę punkty 6 i 8?

NIE, istnieje tylko jedna brama domyślna, a mianowicie:

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

2
Pierwsza 0.0.0.0trasa ma Genmask, 128.0.0.0co prawdopodobnie nie czyni jej domyślną. Muszę jednak powiedzieć, że nie mam najmniejszego pojęcia, co oznacza ta maska ​​i jaka jest droga dla: /
Martin von Wittich

Uważaj też, że routing 128.0.0.0 w Twojej sieci jest naprawdę dziwny, ponieważ jest to publiczny adres IP lub zarezerwowany, nie pamiętam. Ale w obu przypadkach jest to dziwne.
Kiwy

Część 128.0.0.0 pochodzi z openvpn. wyjaśniono to tutaj
slayedbylucifer

Powinieneś zamienić swoją „AKTUALIZACJĘ” w odpowiedź, ponieważ jest to właśnie ta odpowiedź: odpowiedź, która pomogła mi zrozumieć ten sam dokładny problem, jaki miałem :)
WoJ

@slayedbylucifer wyjaśnienie 128.0.0.0 wydaje się być wyłączone i nie ma dostępnego archiwum. Czy zdarza ci się mieć link online na ten temat?
SaAtomic

Odpowiedzi:


4

Czy mam 2 domyślne bramy, jeśli weźmiemy pod uwagę punkty 6 i 8? (może być tylko 1 domyślna brama, więc wiem, że się mylę, ale nie mogę tego uzasadnić) (prawdopodobnie odpowiedział, patrz poniżej)

Szósta linia określa zakres 0.0.0.0 - 127.255.255.255, a siódma linia określa zakres 128.0.0.0 - 255.255.255.255.

Czy mam 2 domyślne bramy, jeśli weźmiemy pod uwagę punkty 6 i 8?

NIE, istnieje tylko jedna brama domyślna, a mianowicie:

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

Biorąc pod uwagę punkt 1 i 2, wszystko, co jest w wersji 10.8.0.1, tak naprawdę nie korzysta z żadnej bramy przez tun0. Czy to jest poprawne?

Nie nie jest poprawne, pakiety przeznaczone dla 10.8.0.1 byłyby kierowane do 10.8.0.5 (który jest dostępny przez tun0 lan, jak ustawiono w pierwszej linii).
miałeś rację, jeśli maska ​​sieci nie była 255.255.255.255

Biorąc pod uwagę punkty 3 i 4, wszystko, co dzieje się w 54.202.18.143, tak naprawdę nie korzysta z żadnej bramy przez eth0. Czy to jest poprawne?

Nie, niepoprawne, pakiety przeznaczone dla 54.202.18.143 byłyby kierowane do 10.0.2.2 (który jest innym hostem na et0 lan i jest dostępny przez czwartą linię)


Odpowiedź na pierwsze pytanie jest sama. Chciałem tylko, aby odpowiedź była kompletna, więc wspomniałem o tym.
Arash,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.