OpenVPN con Docker

Redes VPN: Implementación de servicio OpenVpn con Docker

Las redes vpn son bastantes prácticas para temas de enlace de servidores e infraestructura, ademas de soporte remoto a clientes o sistemas embebidos. El despliegue e implementación resulta abordable y sencillo utilizando el siguiente recurso disponible en github.

Archivo docker-compose.yml:

version: '2'
services:
  openvpn:
    cap_add:
     - NET_ADMIN
    image: kylemanna/openvpn
    container_name: openvpn
    ports:
     - "1194:1194/udp"
    restart: always
    volumes:
     - ./openvpn-data/conf:/etc/openvpn

Configuración de dirección IP pública o dominio del servidor (puerto udp 1194 debe estar liberado en el firewall):

docker-compose run --rm openvpn ovpn_genconfig -u udp://<IP-SERVER o DOMINIO>

Generar certificados, en este paso se solicitara una contraseña ('CA Key Passphrase'):

docker-compose run --rm openvpn ovpn_initpki

Iniciar servicio OpenVPN:

docker-compose up -d

Visualizar logs de servidor vpn:

docker-compose logs -f openvpn

Generar certificado de cliente

export CLIENTVPN="nombre_cliente"
# con password
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTVPN
# sin password
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTVPN nopass

Generar archivo de configuración de cliente:

docker-compose run --rm openvpn ovpn_getclient $CLIENTVPN > $CLIENVPN.ovpn

Ejemplo de conexón de cliente openvpn en el terminal:

sudo openvpn --config client1.ovpn


¿tienes alguna consulta?
Puedes contactarme enviándome un mensaje desde aquí.