Estou me conectando a um serviço VPN usando o OpenVPN e tudo funciona bem. Depois de conectar, estas são as regras definidas automaticamente:
root@linux:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:1B:01:AC:FB
inet addr:192.168.1.201 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37977382 (36.2 MiB) TX bytes:5098121 (4.8 MiB)
Interrupt:16
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.7.7.126 P-t-P:10.7.7.125 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:31366374 (29.9 MiB) TX bytes:308591 (301.3 KiB)
root@linux:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.7.7.125 128.0.0.0 UG 0 0 0 tun0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
5.120.121.114 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
10.7.7.1 10.7.7.125 255.255.255.255 UGH 0 0 0 tun0
10.7.7.125 * 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.7.7.125 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Aqui está o que eu entendo:
- meu endereço IP local é 192.168.1.201
- o gateway local é 191.168.1.1
- 5.120.121.114 é o IP público da VPN
- tun0 é o túnel da VPN, minha máquina tem 10.7.7.126 como endereço
- 10.7.7.125 é o endereço ptp que eu entendo é o outro "fim" da VPN
Em relação à tabela de roteamento, entendo que:
- por padrão, todo o tráfego é enviado via 10.7.7.125 na interface tun0 (mas por que essa máscara?)
- 10.7.7.1 é alcançável via tun0
- ip público do vpn é alcançável via eth0
Eu não entendo o segundo gateway padrão, este é o padrão quando o vpn não está ativo, é simplesmente ignorado?
E o 10.7.7.1? parece que é o gateway do vpn ...
Por que o destino 128.0.0.0?
O OpenVPN cria automaticamente todas essas regras. Mas com base no que são criados?
Não consigo controlar o lado do servidor da VPN, mas apenas a configuração do cliente.
Agora, e se eu gostaria de:
- forçar todo o tráfego para 216.58.213.174 a passar via VPN tun0 e ter todo o resto passando por eth0?
- posso estabelecê-lo automaticamente ao iniciar a VPN?
Obrigado por sua sugestão e apoio para entender isso.
KR, dk
EDITAR:
root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0
default via 192.168.1.1 dev eth0
5.152.210.249 via 192.168.1.1 dev eth0
10.7.7.1 via 10.7.7.125 dev tun0
10.7.7.125 dev tun0 src 10.7.7.126
128.0.0.0/1 via 10.7.7.125 dev tun0
192.168.1.0/24 dev eth0 src 192.168.1.201
ip route list
para obter uma melhor visualização de suas rotas. Além disso, porque ifconfig e route estão no caminho de desaprovar no LInux ...Respostas:
Este é um dos hacks do OpenVPN para rotear o tráfego através do seu túnel, mantendo o gateway padrão. As rotas 0.0.0.0/1 e 128.0.0.0/1 têm precedência sobre a rota 0.0.0.0/0, pois são mais específicas e ainda correspondem a todos os endereços. Procure por "def1" na documentação do OpenVPN para obter mais detalhes
Provavelmente sim
Eles provavelmente são enviados do servidor. Posso fornecer mais informações se você puder fornecer a saída do seu cliente enquanto ele estiver iniciando junto com o seu arquivo de configuração
Sim, mas o cliente é altamente configurável, de modo que você pode substituir praticamente tudo o que o servidor deseja que ele faça. Ainda assim, você precisará atender aos requisitos básicos de seus fornecedores para se conectar. Você também deve verificar os "Termos de uso" de seus fornecedores para garantir que você não os irrite.
Sim, inclua "route 216.58.213.174 255.255.255.255 10.7.7.125" na sua configuração. Isso deve configurar sua rota desejada. Você deve manter suas outras rotas no local removendo a opção "redirecionar-gateway" da sua configuração
sim veja acima
Todas as opções que descrevi e mais podem ser encontradas na documentação online do OpenVPN. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
fonte