O OpenVPN não parece limpar a tabela de rotas quando um túnel VPN é quebrado

O OpenVPN não parece limpar a tabela de rotas quando um túnel VPN é quebrado

Eu configurei um Raspberry Pi (chamado blitzen, instalado com Jessie) na minha rede local para atuar como um gateway VPN para todos os computadores da rede local usarem para acessar a Internet.

Estou usando iptablespara NAT a conexão OpenVPN ( tun0) e encaminhar pacotes eth0para ela. Estou usando dnsmasqo DHCP para configurar todos os computadores da rede para usar este servidor como rota padrão para a Internet.

Isso funciona bem.

Porém, se o modelo ADSL travar, tenho um problema. OpenVPN percebe que está tun0com defeito e desconecta. Em seguida, ele tenta se reconectar, mas falha porque não consegue resolver o nome do host do servidor VPN:

Nov  3 17:27:20 blitzen ovpn-TunnelBearGermany[3020]: RESOLVE: Cannot resolve host address: de.tunnelbear-ios.com: Temporary failure in name resolution

Investigando, verifica-se que, quando o túnel é desmontado, a antiga tabela de rotas permanece ativa:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.18.13.37    0.0.0.0         UG    0      0        0 tun0
46.101.162.205  192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     202    0        0 eth0
172.18.13.1     172.18.13.37    255.255.255.255 UGH   0      0        0 tun0
172.18.13.37    0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Se eu remover manualmente a rota padrão e reconfigurá-la para apontar para o modem ADSL, o Pi resolverá o nome do servidor VPN e se reconectará imediatamente. Tudo retorna ao estado feliz.

Minha pergunta é - assumindo que esse comportamento seja normal - como posso automatizar a reversão da tabela de rotas quando o túnel entra em colapso? Existe um gancho apropriado (no OpenVPN, ou talvez no pacote de rede genérico) para fazer isso?

informação relacionada