Quando um IP é atribuído a uma interface OpenVPN recém-criada, ele cria uma rota padrão para a sub-rede desse IP?

0

Estou seguindo o tutorial para aprender o OpenVPN .

seguindo as etapas da parte: let's try it Eu uso o OpenVPN para criar uma interface tun2 e atribuir um IP a ele

sudo OpenVPN --mktun --dev tun2
sudo ip link set tun2 up
sudo ip addr add 10.0.0.1/24 dev tun2

então eu uso o tcpdump para monitorar os pacotes que fluem através de tun2

sudo tcpdump -i tun2 

e eu digito ping 10.0.0.2 no terminal, mas não vejo nada na saída do tcpdump, também o ping está preso sem produzir nada.

no tutorial, ele diz que, uma vez que a interface do tun2 é atribuída a um IP 10.0.0.1/24, o pacote de ping com 10.0.0.2 deve passar por tun2 , pois haverá uma rota padrão. Mas isso não acontece no meu caso.

#sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun2
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

E também é estranho que o ping esteja preso sem produzir nada. No tutorial, os resultados devem ser como:

# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable
From 10.0.0.1 icmp_seq=3 Destination Host Unreachable

BTW: é devido a firewalls e iptables devem ser adicionados?

    
por lily 06.10.2015 / 03:47

1 resposta

3

Seu tutorial está certo sobre onde o pacote irá, mas não muito claro sobre o porquê de ele ir para lá. Você ou o tutorial estão confundindo "rota padrão" com "rota criada por padrão".

Quando você atribui um endereço IP a uma interface, uma rota subnet é criada por meio dele "por padrão". No seu exemplo, quando você atribuiu 10.0.0.1/24 ao tun2, ele criou uma rota 10.0.0.0/24 correspondente 1 .

Mas uma "rota padrão" especificamente significa a rota menos específica possível, ou seja, 0.0.0.0/0 para IPv4 ou ::/0 para IPv6. Você não obtém essas rotas automaticamente e muitas vezes não é possível, pois elas normalmente precisam de um conjunto de gateways, que só é conhecido posteriormente.

Portanto, a tabela de roteamento está correta. Seus pacotes não passam pelo tun2 porque o tun2 não está a nada , pelo que seu exemplo mostra.

Não é suficiente apenas criar uma interface tun (assim como não é suficiente adicionar uma placa Ethernet) - você também deve conectar a algo. Para Ethernet, obviamente, envolve a conexão de um cabo e, para dispositivos de tun, um programa deve estar sendo executado na outra extremidade.

Ou seja, você deve realmente configurar um cliente VPN usando o OpenVPN, e dizer para usar o tun2 como o dispositivo VPN. (Claro que você também precisará de um servidor OpenVPN em outro lugar).

1 (também conhecido como máscara 10.0.0.0 255.255.255.0 - mas é melhor usar a ferramenta ip route em vez de route -n .)

    
por 06.10.2015 / 07:49