Eu acho que a solução é ter um script que faça
- a resolução de nomes
- a modificação do Netfilter / a tabela de roteamento
e integre este script no procedimento de início do OpenVPN. Isso pode ser feito
- com os scripts internos do OpenVPN (
--up
) - fora do OpenVPN em seu script de início (por exemplo,
ExecStartPre=
em systemd)
Não tenho certeza sobre o primeiro caso, mas presumo que em ambos os casos é necessário (pelo menos útil) impedir que o OpenVPN tente novamente estabelecer a conexão após a quebra do túnel (ou pelo menos limitar o tempo usado para novas tentativas) ).
Em ambos os casos, é necessário ter openvpn
reiniciado de fora, por exemplo com Restart=always
no arquivo de unidade do systemd.