Ho appena installato OpenVPN e funziona come previsto. Tuttavia, la tabella di routing del client mi sta confondendo a non finire. Ecco la tabella dei percorsi:
# 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
Quindi consente di analizzarlo riga per riga
- Qualsiasi pacchetto destinato
10.8.0.5
non ha gateway e lo utilizzeràtun0
- qualsiasi pacchetto destinato
10.8.0.1
verrà utilizzato10.8.0.5
come gateway tramitetun0
- qualsiasi pacchetto destinato
54.202.18.143
verrà utilizzato10.0.2.2
come gateway tramiteeth0
- qualsiasi pacchetto destinato
10.0.2.0/24
non ha gateway e lo utilizzeràeth0
- Ignora la parte 169.254.0.0
- Tutti gli altri pacchetti (destinati a
0.0.0.0
) verranno utilizzati10.8.0.5
come gateway predefinito tramitetun0
. Quindi questo è il gateway predefinito, no? - Qualsiasi pacchetto destinato
128.0.0.0/7
verrà utilizzato10.8.0.5
come gateway predefinito tramitetun0
- Tutti gli altri pacchetti (
0.0.0.0
) verranno utilizzati10.0.2.2
come gateway predefinito tramiteeth0
Domande:
- Ho 2 gateway predefiniti se consideriamo i punti 6 e 8? (può esserci solo 1 Gateway predefinito, quindi so di sbagliarmi ma non posso giustificarlo) ( probabilmente risposta, vedi sotto )
- Considerando i punti 1 e 2, tutto ciò che accade
10.8.0.1
non utilizza realmente alcun gateway tramite tun0. È corretto? - Considerando i punti 3 e 4, tutto ciò che accade
54.202.18.143
non utilizza realmente alcun gateway tramiteeth0
. È corretto?
AGGIORNARE...
Dopo aver letto questo , ho trovato qualche informazione in più. Le righe seguenti hanno molto senso per me ora:
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
Quindi, la prima riga sta definendo 0.0.0.0/128.0.0.0
e la seconda sta definendo 128.0.0.0/128.0.0.0
. Essenzialmente:
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
Pertanto, oltre 2 route coprono l'intero intervallo di indirizzi IPv4 [0.0.0.0 TO 255.255.255.255]
. È un modo intelligente di OpenVPN aggiungere una route predefinita senza sostituire la route predefinita originale e questa route predefinita verrà instradata tramite tun0
.
Quindi penso di avere una risposta per la mia prima domanda:
Ho 2 gateway predefiniti se consideriamo i punti 6 e 8?
NO, esiste un solo gateway predefinito e cioè:
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
0.0.0.0
percorso ha Genmask128.0.0.0
che probabilmente non lo rende un percorso predefinito. Devo dire però che non ho la minima idea di cosa significhi questa maschera e quale sia il percorso per lì: /