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.