OpenVPN SSH Proxy
● AtivoContainer Docker que executa um cliente OpenVPN isolado e expõe um túnel SSH para acessar recursos privados.
Docker OpenVPN SSH Alpine Linux
OpenVPN SSH Proxy
Container para executar um cliente OpenVPN isolado e expor um túnel SSH para acessar recursos privados atrás dessa VPN.
O problema
Acessar recursos atrás de VPNs corporativas é doloroso — clientes pesados, conflitos de rede, e a impossibilidade de conectar em mais de uma VPN ao mesmo tempo. Cada VPN instalada no host reescreve a tabela de rotas, gerando conflitos imprevisíveis.
A solução
Isolar o OpenVPN dentro de um container Docker e expor apenas um servidor SSH. O host não precisa de nenhum cliente VPN instalado — basta abrir um túnel SSH para acessar qualquer recurso da rede privada.
Funcionalidades
- Cliente OpenVPN containerizado com isolamento total do host
- Servidor SSH integrado para SOCKS proxy e port forwarding
- Suporte a múltiplas VPNs simultâneas em portas diferentes
- Configuração via variáveis de ambiente
- Compatível com qualquer sistema que rode Docker
- Imagem leve baseada em Alpine Linux
Como funciona
Host (seu computador)
|
|--- ssh -p 1180 proxy@localhost -D 1080 (SOCKS proxy)
|--- ssh -p 1180 proxy@localhost -L 8080:app.internal:80 (port forward)
|
v
Docker Container (OpenVPN + SSH)
|
|--- tun0 (túnel VPN)
|
v
Rede Privada (recursos corporativos)
Quick Start
docker run --rm -it \
--device /dev/net/tun --cap-add NET_ADMIN \
-p 1180:1180 \
-v ./client.ovpn:/vpn/client.ovpn:ro \
-e OVPN_FILE_PATH=/vpn/client.ovpn \
-e SSH_TUNNEL_PORT=1180 \
-e SSH_TUNNEL_USER=proxy \
-e SSH_TUNNEL_PASS=proxy@123 \
mauricioj/openvpn-ssh-proxy:latest
Série de posts
Documentei todo o processo em uma série de 3 posts:
- O Problema e a Solução — conceito e arquitetura
- Implementação Passo a Passo — tutorial completo
- Segurança e Lições Aprendidas — boas práticas e casos de uso