Volver a actualizaciones
ActualizadaAug 24, 2026

Docker IPsec VPN Server — Actualizado!

Servidor VPN IPsec basado en Docker compatible con IPsec/L2TP, Cisco IPsec e IKEv2 con generación automática de credenciales y configuración de clientes multiplataforma.

Compartir

English | 简体中文 | 繁體中文 | Русский

Servidor VPN IPsec en Docker

Build Status GitHub Stars Docker Stars Docker Pulls

Imagen de Docker para ejecutar un servidor VPN IPsec, con IPsec/L2TP, Cisco IPsec e IKEv2.

Basada en Alpine 3.23 o Debian 12 con Libreswan (software de VPN IPsec) y xl2tpd (demonio L2TP).

Una VPN IPsec cifra tu tráfico de red, de modo que nadie entre tú y el servidor VPN pueda espiar tus datos mientras viajan por Internet. Esto es especialmente útil cuando se utilizan redes no seguras, por ejemplo, en cafeterías, aeropuertos o habitaciones de hotel.

Características:

  • Genera automáticamente las credenciales VPN y la configuración de IKEv2 en el primer inicio
  • Admite IKEv2 con cifrados fuertes y rápidos (por ejemplo, AES-GCM)
  • Genera perfiles VPN para autoconfigurar dispositivos iOS, macOS y Android
  • Admite Windows, macOS, iOS, Android, Chrome OS y Linux como clientes VPN
  • Incluye un script auxiliar para gestionar usuarios y certificados de IKEv2
  • Compilada y publicada automáticamente mediante GitHub Actions
  • Datos persistentes mediante un volumen de Docker
  • Multiarquitectura: linux/amd64, linux/arm64, linux/arm/v7

También disponible:

📘 ¿Te interesa la IA autoalojada? The Self-Hosted AI Builder’s Guide es una guía práctica para construir, proteger y operar tu propia pila de IA privada.

Inicio rápido

Usa este comando para configurar un servidor VPN IPsec en Docker:

docker run \
    --name ipsec-vpn-server \
    --restart=always \
    -v ikev2-vpn-data:/etc/ipsec.d \
    -v /lib/modules:/lib/modules:ro \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -d --privileged \
    hwdsl2/ipsec-vpn-server

Tus datos de inicio de sesión de VPN se generarán aleatoriamente. Consulta Recuperar los datos de inicio de sesión de VPN.

Como alternativa, puedes configurar una VPN IPsec sin Docker. Para obtener más información sobre cómo usar esta imagen, lee las secciones a continuación.

Comunidad

Requisitos

  • Un servidor Linux con una dirección IP pública o un nombre DNS
  • Docker instalado
  • Puertos de VPN abiertos en tu firewall (UDP 500 y 4500)
  • También puedes usar Podman para ejecutar esta imagen, después de crear un alias para docker

Nota: Los usuarios avanzados pueden usar esta imagen en macOS con Docker for Mac. Antes de usar el modo IPsec/L2TP, es posible que necesites reiniciar el contenedor una vez con docker restart ipsec-vpn-server. Esta imagen no es compatible con Docker for Windows.

Descarga

Obtén la compilación de confianza desde el registro de Docker Hub:

docker pull hwdsl2/ipsec-vpn-server

Alternativamente, puedes descargar desde Quay.io:

docker pull quay.io/hwdsl2/ipsec-vpn-server
docker image tag quay.io/hwdsl2/ipsec-vpn-server hwdsl2/ipsec-vpn-server

Plataformas compatibles: linux/amd64, linux/arm64 y linux/arm/v7.

Los usuarios avanzados pueden compilar desde el código fuente en GitHub.

Comparación de imágenes

Hay dos imágenes precompiladas disponibles. La imagen predeterminada basada en Alpine ocupa solo ~19 MB.

Basada en AlpineBasada en Debian
Nombre de la imagenhwdsl2/ipsec-vpn-serverhwdsl2/ipsec-vpn-server:debian
Tamaño comprimido~ 19 MB~ 62 MB
Imagen baseAlpine Linux 3.23Debian Linux 12
Plataformasamd64, arm64, arm/v7amd64, arm64, arm/v7
Versión de Libreswan5.4.15.4.1
IPsec/L2TP✅✅
Cisco IPsec✅✅
IKEv2✅✅

Nota: Para usar la imagen basada en Debian, reemplace cada hwdsl2/ipsec-vpn-server por hwdsl2/ipsec-vpn-server:debian en este README. Estas imágenes no son actualmente compatibles con los sistemas Synology NAS.

Quiero usar la versión anterior de Libreswan 4.

Por lo general, se recomienda usar la última versión de Libreswan 5, que es la versión predeterminada en este proyecto. Sin embargo, si desea usar la versión anterior de Libreswan 4, puede compilar la imagen de Docker desde el código fuente:

git clone https://github.com/hwdsl2/docker-ipsec-vpn-server
cd docker-ipsec-vpn-server
# Specify Libreswan version 4
sed -i 's/SWAN_VER=5\..*/SWAN_VER=4.15/' Dockerfile Dockerfile.debian
# To build Alpine-based image
docker build -t hwdsl2/ipsec-vpn-server .
# To build Debian-based image
docker build -f Dockerfile.debian -t hwdsl2/ipsec-vpn-server:debian .

Cómo usar esta imagen

Variables de entorno

Nota: Todas las variables de esta imagen son opcionales, lo que significa que no es necesario introducir ninguna variable, ¡y puedes tener un servidor VPN IPsec listo para usar! Para ello, crea un archivo env vacío con touch vpn.env y pasa a la siguiente sección.

Esta imagen de Docker utiliza las siguientes variables, que se pueden declarar en un archivo env (ver ejemplo):

VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password

Categorías