Estou conectado à Internet por meio de uma rede de campus: a faixa de IPs é, digamos, 10.42.0.0/16
e tudo precisa passar por um servidor proxy 10.42.0.42
.
Às vezes, estou conectado a essa rede por meio de um ponto de acesso sem fio, em um intervalo de IP local 192.168.0.0/24
, esse roteador sem fio sendo conectado à rede do campus.
Eu também estou usando uma VPN pessoal, baseada no OpenVPN. Meu intervalo de IP da VPN é 10.8.0.0/24
.
Quando estou conectado a essa rede sem fio, minha tabela de roteamento é:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 304 0 0 wlan0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
192.168.1.0 0.0.0.0 255.255.255.0 U 304 0 0 wlan0
E quando eu inicio minha VPN nessa rede sem fio:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.41 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 304 0 0 wlan0
10.8.0.0 10.8.0.41 255.255.255.0 UG 0 0 0 tun0
10.8.0.41 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
128.0.0.0 10.8.0.41 128.0.0.0 UG 0 0 0 tun0
10.42.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 wlan0
10.42.0.42 192.168.1.1 255.255.255.255 UGH 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 304 0 0 wlan0
Como você pode ver, configurei minha VPN para que a rede do campus não seja redirecionada para tun0
, para que os servidores nessa zona privada permaneçam disponíveis.
Mas aí vem o problema: o Wireless sendo instável (e eu não posso fazer nada sobre isso), eu estou regularmente desconectado e reconectado. Durante esse processo, todas as entradas na tabela de roteamento sobre wlan0
são liberadas, e minha tabela fica assim:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.41 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 304 0 0 wlan0
10.8.0.0 10.8.0.41 255.255.255.0 UG 0 0 0 tun0
10.8.0.41 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
128.0.0.0 10.8.0.41 128.0.0.0 UG 0 0 0 tun0
E nada funciona mais: todo o tráfego é redirecionado para tun0 , que não existe mais, e o openVPN não pode se reconectar ao meu servidor ( No route to host.
). A única solução que encontrei é reiniciar manualmente o meu cliente OpenVPN.
É possível estabilizar isso e como?
Estou executando o Gentoo Linux, gerenciando minha rede com o Wicd.