como entender a tabela de roteamento em um cliente OpenVPN

10

Eu apenas configurei o OpenVPN e ele está funcionando como esperado. No entanto, a tabela de roteamento do cliente está me confundindo sem fim. Aqui está a tabela de rotas:

# 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

Então vamos dissecar isso linha por linha

  1. Qualquer pacote destinado a 10.8.0.5 não tem gateway e usará tun0
  2. qualquer pacote destinado a 10.8.0.1 usará 10.8.0.5 como gateway via tun0
  3. qualquer pacote destinado a 54.202.18.143 usará 10.0.2.2 como gateway via eth0
  4. qualquer pacote destinado a 10.0.2.0/24 não tem gateway e usará eth0
  5. Deixa para ignorar a parte 169.254.0.0
  6. Todos os outros pacotes (destinados a 0.0.0.0 ) nos usarão 10.8.0.5 como gateway padrão via tun0 . Então este é o gateway padrão, não é?
  7. Qualquer pacote destinado a 128.0.0.0/7 usará 10.8.0.5 como gateway padrão via tun0
  8. Todos os outros pacotes ( 0.0.0.0 ) usarão 10.0.2.2 como gateway padrão via eth0

Perguntas:

  • Eu tenho 2 gateways padrão se considerarmos os pontos 6 e 8? (pode haver apenas 1 Default Gateway, então eu sei que estou errado, mas não posso justificar) ( provavelmente respondeu, veja abaixo )
  • Considerando os pontos 1 e 2, qualquer coisa que use 10.8.0.1 não está realmente usando nenhum gateway via tun0. Isso está correto?
  • Considerando os pontos 3 e 4, qualquer coisa que use 54.202.18.143 não está realmente usando nenhum gateway via eth0 . Isso está correto?

UPDATE ...

Depois de ler este , encontrei mais algumas informações. As linhas abaixo fazem muito sentido para mim agora:

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

Portanto, a primeira linha está definindo 0.0.0.0/128.0.0.0 e a segunda está definindo 128.0.0.0/128.0.0.0 . Essencialmente:

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

Portanto, acima de 2 rotas estão cobrindo todo o intervalo de endereços IPv4 [0.0.0.0 TO 255.255.255.255] . É uma forma inteligente de OpenVPN adicionar uma rota padrão sem substituir a rota padrão original e esta rota padrão será roteada via tun0 .

Então, acho que tenho uma resposta para minha primeira pergunta:

Do I have 2 default gateways if we consider point 6 and 8?

NÃO, existe apenas um gateway padrão e isso é:

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
    
por slayedbylucifer 24.01.2014 / 09:23

1 resposta

2

Do I have 2 default gateways if we consider point 6 and 8? (there can be only 1 Default Gateway though, so I know I am wrong but can't justify) (probably answered, see below)

A 6ª linha está definindo a faixa 0.0.0.0 - 127.255.255.255 e a 7ª linha está definindo a faixa 128.0.0.0 - 255.255.255.255.

Do I have 2 default gateways if we consider point 6 and 8?

NÃO, existe apenas um gateway padrão e isso é:

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

Considering point 1 and 2, anything going for 10.8.0.1 is not really using any gateway via tun0. Is this correct?

Não, não correto, os pacotes destinados a 10.8.0.1 serão roteados para 10.8.0.5 (que é acessível por tun0 lan como definido pela primeira linha). você estava certo se a netmask não era 255.255.255.255

Considering point 3 and 4, anything going for 54.202.18.143 is not really using any gateway via eth0. Is this correct?

Não, não, correto, os pacotes destinados a 54.202.18.143 serão roteados para 10.0.2.2 (que é outro host na eth0 lan e é acessível pela quarta linha)

    
por 25.03.2016 / 20:55