A abordagem simplista para configurar sua conexão VPN por meio de um túnel SSH não funcionará. Primeiro problema: você está apenas tunelando a conexão com o próprio servidor VPN, que não permite que todo o outro tráfego seja roteado através do servidor VPN OVER da ssh
connection (ofuscando assim a conexão). A correção para isso é usar um proxy SOCKS [5] dinâmico e informar ao OpenVPN para se conectar através desse proxy. Adicione ao seu arquivo de configuração do OpenVPN:
socks-proxy localhost 6886
socks-proxy-retry
Em seguida, inicie sua sessão ssh
com um proxy SOCKS dinâmico:
ssh -D 6886 -N REMOTE
Então você pode iniciar sua conexão OpenVPN. No entanto, isso ainda tem mais uma falha, pelo menos supondo que você deseja redirecionar todo o tráfego através da VPN (diretiva redirect-gateway def1
do OpenVPN). Para que isso funcione, você precisa manter uma rota para o ponto final do proxy SOCKS que não é mascarado pelas rotas adicionadas pelo cliente OpenVPN. Para fazer isso, adicione outra diretiva à sua configuração do OpenVPN que se pareça com isto:
route REMOTE-IP 255.255.255.255 net_gateway default
Você pode conseguir usar o nome do host REMOTE nessa diretiva, mas talvez seja necessário resolvê-lo para um endereço IP manualmente.
Isso deve funcionar, pelo menos para o tráfego IPv4. Uma rápida pesquisa no google esta postagem do blog que faz essencialmente a mesma coisa, tem boas descrições do que está acontecendo, mas parece ser mais complicado na solução (usando um script de conexão)
Alternativamente, você também pode procurar usar obfs4proxy
(ex. this e isto ou empacotado para o Ubuntu )