come comprendere la tabella di routing su un client OpenVPN


13

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

  1. Qualsiasi pacchetto destinato 10.8.0.5non ha gateway e lo utilizzeràtun0
  2. qualsiasi pacchetto destinato 10.8.0.1verrà utilizzato 10.8.0.5come gateway tramitetun0
  3. qualsiasi pacchetto destinato 54.202.18.143verrà utilizzato 10.0.2.2come gateway tramiteeth0
  4. qualsiasi pacchetto destinato 10.0.2.0/24non ha gateway e lo utilizzeràeth0
  5. Ignora la parte 169.254.0.0
  6. Tutti gli altri pacchetti (destinati a 0.0.0.0) verranno utilizzati 10.8.0.5come gateway predefinito tramite tun0. Quindi questo è il gateway predefinito, no?
  7. Qualsiasi pacchetto destinato 128.0.0.0/7verrà utilizzato 10.8.0.5come gateway predefinito tramitetun0
  8. Tutti gli altri pacchetti ( 0.0.0.0) verranno utilizzati 10.0.2.2come 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.1non utilizza realmente alcun gateway tramite tun0. È corretto?
  • Considerando i punti 3 e 4, tutto ciò che accade 54.202.18.143non utilizza realmente alcun gateway tramite eth0. È 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.0e 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

2
Il primo 0.0.0.0percorso ha Genmask 128.0.0.0che 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ì: /
Martin von Wittich,

Inoltre, tieni presente che il routing 128.0.0.0 all'interno della tua rete è davvero strano perché è un IP pubblico o riservato che non ricordo. Ma in entrambi i casi è strano.
Kiwy

La parte 128.0.0.0 proviene da openvpn. è spiegato qui
slayedbylucifer

Dovresti trasformare il tuo "AGGIORNAMENTO" in una risposta in quanto è proprio questo: una risposta che mi ha aiutato a capire lo stesso esatto problema che stavo avendo :)
WoJ,

@slayedbylucifer la spiegazione per 128.0.0.0 sembra non essere disponibile e non è disponibile alcun archivio. Ti capita di avere un link online su questo?
SaAtomic,

Risposte:


4

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)

La sesta riga definisce l'intervallo 0.0.0.0 - 127.255.255.255 e la settima riga definisce l'intervallo 128.0.0.0 - 255.255.255.255.

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

Considerando i punti 1 e 2, tutto ciò che va per 10.8.0.1 non utilizza realmente alcun gateway tramite tun0. È corretto?

No non corretto, i pacchetti destinati a 10.8.0.1 verrebbero indirizzati a 10.8.0.5 (che è accessibile da tun0 lan come impostato dalla prima riga).
avevi ragione se la maschera di rete non fosse 255.255.255.255

Considerando i punti 3 e 4, tutto ciò che accade per 54.202.18.143 non utilizza realmente alcun gateway tramite eth0. È corretto?

No non corretto, i pacchetti destinati a 54.202.18.143 verrebbero indirizzati a 10.0.2.2 (che è un altro host su eth0 lan ed è accessibile dalla 4a riga)


La prima domanda ha una risposta da solo. Volevo solo che la risposta fosse completa, quindi l'ho rimandata.
Arash,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.