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
- Każdy pakiet przeznaczony dla
10.8.0.5
nie ma bramy i będzie z niego korzystaćtun0
- dowolny pakiet przeznaczony
10.8.0.1
będzie10.8.0.5
jako brama przeztun0
- dowolny pakiet przeznaczony
54.202.18.143
będzie10.0.2.2
jako brama przezeth0
- każdy pakiet przeznaczony dla
10.0.2.0/24
nie ma bramy i będzie z niego korzystaćeth0
- Zignorujmy część 169.254.0.0
- Wszystkie pozostałe pakiety (przeznaczone
0.0.0.0
) będą dla nas10.8.0.5
domyślną bramą przeztun0
. To jest domyślna brama, prawda? - Dowolny pakiet przeznaczony
128.0.0.0/7
będzie10.8.0.5
jako domyślna brama przeztun0
- Wszystkie pozostałe pakiety (
0.0.0.0
) będą używane10.0.2.2
jako 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.1
tak 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.143
tak naprawdę nie korzysta z żadnej bramy przezeth0
. 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.0
a 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
0.0.0.0
trasa ma Genmask,128.0.0.0
co prawdopodobnie nie czyni jej domyślną. Muszę jednak powiedzieć, że nie mam najmniejszego pojęcia, co oznacza ta maska i jaka jest droga dla: /