quinta-feira, 24 de janeiro de 2019

Usando o sshuttle para conectar no OpenVPN

Hoje vamos ver túneis

Obs: Não costumo alterar os endereços mas, quem mandou escrever durante o sono 😴. Então quem curtiu pode curtir novamente e desculpe pelos transtornos. Agora o texto já revisado.

Hoje vamos numa situação bem hipotética. Você está com um notebook, em uma rede protegida por um firewall poderoso e precisa acessar um servidor, que se situa a alguns quilômetros daqui, que só é acessível via VPN. Daí tenta rodar o openvpn para conectar e descobre que o firewall desta rede bloqueia os pacotes udp usados pelo software.


O que fazer, neste caso??? O único acesso concreto é em um outro servidor, na porta ssh 22. Esse o acesso é normal. Mas você precisa acessar aquela rede. Bom, para tudo tem um jeito e existe sim, como acessar e, para isso temos o sshuttle.

Mas como fazer para utilizar?? Primeiro instalamos o sshuttle.

Depois, como root, podemos rodar os seguintes comandos:

ip route add local default dev lo table 100
ip rule add fwmark 1 lookup 100


Esses dois comandos marcam os pacotes udp para que o sshuttle use a tabela mangle do iptables.

Depois

shuttle --method tproxy -r usuario@servidor.remoto.com.br ip.do.servidor.vpn/32


Deve pedir uma senha do ssh ou use o esquema de chaves publica e privada e, dando certo, deve formar um túnnel e roteando todos os pacotes que vão para ip.do.servidor.vpn sejam direcionados para o primeiro tunnel.

Logo em seguida,  rode o cliente vpn que vai conectar direto. Neste caso o tunnel pega o caminho do ssh, chega no servidor remoto e, este servidor remoto conecta com o servidor vpn. Com isso será possível usar o tunnel normalmente sem se preocupar com o bloqueio do firewall.

Eu não deixei muitos exemplos já que pode usar openvpn ou qualquer outro tipo de vpn que utiliza pacotes UDP.

Mais detalhes pode conferir na documentação do sshuttle.

Tenham uma boa semana.

Nenhum comentário:

Postar um comentário