Killswitch: bloqueia todas as conexões exceto uma VPN IP Dinâmica (não pode usar iptables se eu não souber o IP)

0

Eu tenho uma VPN à qual me conecto por meio de nome de domínio, não por meio de IP. (com o OpenVPN, no Debian)

O IP da VPN é dinâmico, pode mudar a qualquer momento, por design, fora do meu controle. Eu quero que a comunicação somente da minha máquina com a Internet, em tudo, exceto tun0 , seja my.vpn.domain.com (via OpenDNS eu acho) e nada mais. Sem vazamentos.

Agora, eu manualmente verifico um IP vpn válido do domínio, e eu uso o iptables / ufw para fazer as limitações apropriadas. Mas eu preciso de uma solução de (re) conexão totalmente automática.

Acho que a única opção é usar uma solução de Camada de Aplicação (camada 7), já que o iptables (camada 3 + 4) não pode lidar com a resolução de domínio. Parece que eu quero algo que use o OpenDNS para obter automaticamente o IP para a VPN e ao mesmo tempo não ter outros vazamentos como o acima mencionado.

Como podemos conseguir isso? Eu posso fazer isso com o PFSense, mas não posso usar o PFSense.

    
por Spectraljump 07.04.2018 / 23:58

1 resposta

0

Eu acho que a solução é ter um script que faça

  1. a resolução de nomes
  2. a modificação do Netfilter / a tabela de roteamento

e integre este script no procedimento de início do OpenVPN. Isso pode ser feito

  1. com os scripts internos do OpenVPN ( --up )
  2. 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.

    
por 08.04.2018 / 15:54