Troubleshooting conexões via OpenVPN

1o passo - verificar se os serviços de VPN estão funcionando

Verificar erros de conexão em tempo real

# Testar via OpenVPN diretamenteopenvpn --config client.conf# Testar via systemdsystemctl start openvpn@clientjournalctl --follow -u openvpn@client# Verificando todas as conexões abertas via systemdsystemctl status openvpn@*journalctl --follow -u openvpn@*

Importante, verifique se não há outras conexões em aberto! Se houver mais de uma conexão tentando usar a mesma porta podemos ter um problema!

Tente usar uma porta aleatória no cliente.

lport 0

1o passo - verificar se as rotas estão corretas nas máquinas cliente

# Verificando a tabela de roteamento no linuxip route showroute -n# Adicionando uma rota para um IP conhecido (exemplo)ip route add 172.10.0.0/16 via 192.168.0.1 dev tun0# Adicionando uma rota para uma interfaceroute add -net 172.10.0.0/16 dev tun0# Apagando uma rotaroute del -net 0.0.0.0 gw 192.168.178.1 netmask 0.0.0.0 dev eth0

2o passo - verificar as permissões no firewall local do cliente

Dê uma olhada nos firewall do iptables

3o passo - verificar as regras no firewall da VPN (pfSense, por exemplo)

Veja as regras ativas no firewall da VPN

Exemplo de meu caso particular

Em uma das VPNs que utilizo, adicionei no arquivo de configuração do servidor uma rota para a rede local em que o servidor VPN estava.

Entretanto tive que instalar um cliente da VPN dentro da rede a qual esta rota estava. Isso criou um conflito de rotas nesse cliente, impedindo-o de acessar qualquer outro computador na rede local.

Para esse caso, há duas soluções:

1a solução

Remover a rota para a rede local no arquivo de configuração do servidor da OpenVPN, assim o cliente em específico não entrará em conflito.

Problema: todos os outros clientes que não estiverem nessa LAN não encontrarão a rota, ou precisarão ter essa rota configurada de outra forma.

2a solução

Faça um Client Specific Override para o cliente com erro de rota. Habilite a opção Prevent this client from receiving any server-defined client settings.

Adicionar a rota manualmente no arquivo de configuração local da VPN, adicionando a linha no arquivo .conf (ou .ovpn para Windows):

route 172.16.0.0 255.255.0.0

Referência

https://askubuntu.com/questions/612840/adding-route-on-client-using-openvpn

Manual Oficial OpenVPN
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/

Adicionando rotas pelo OpenVPN
https://askubuntu.com/questions/612840/adding-route-on-client-using-openvpn/612848

You should also read:

OpenVPN + pfSense

Ao se conectar em uma OpenVPN (como cliente), recebe-se do servidor um endereço de DNS para usar como padrão, forçado-o a substituir o…