Volver a actualizaciones
ActualizadaAug 1, 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.

Basado en Alpine 3.23 o Debian 12 con Libreswan (software 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 al usar redes no seguras, p. ej. en cafeterías, aeropuertos u hoteles.

Características:

  • Genera automáticamente credenciales VPN y configuración IKEv2 en el primer inicio
  • Compatible con IKEv2 con cifrados fuertes y rápidos (p. ej. AES-GCM)
  • Genera perfiles VPN para configurar automáticamente dispositivos iOS, macOS y Android
  • Compatible con Windows, macOS, iOS, Android, Chrome OS y Linux como clientes VPN
  • Incluye un script auxiliar para gestionar usuarios y certificados IKEv2
  • Compilado y publicado automáticamente mediante GitHub Actions
  • Datos persistentes mediante un volumen de Docker
  • Multi-arquitectura: linux/amd64, linux/arm64, linux/arm/v7

También disponible:

Inicio rápido

Usa este comando para configurar un servidor VPN IPsec en Docker:```bash 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 acceso a la VPN se generarán aleatoriamente. Consulta [Recuperar datos de acceso a la VPN](#retrieve-vpn-login-details).

Alternativamente, puedes [configurar IPsec VPN sin Docker](https://github.com/hwdsl2/setup-ipsec-vpn). Para obtener más información sobre cómo usar esta imagen, lee las secciones a continuación.

## Comunidad

- 📬 [Suscríbete para recibir actualizaciones del proyecto](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (1–2 correos al mes) — obtén guías gratuitas de despliegue de VPN e IA (PDF)
- 💬 Únete a la comunidad [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/) para debates
- ⭐ Marca el repositorio con una estrella si te resulta útil — ayuda a que otros lo descubran

## Requisitos

- Un servidor Linux con una dirección IP pública o un nombre DNS
- Docker instalado
- Puertos de VPN abiertos en tu cortafuegos (UDP 500 y 4500)
- También puedes usar [Podman](https://docs.podman.io) para ejecutar esta imagen, después de crear un alias para `docker`

**Nota:** Los usuarios avanzados pueden usar esta imagen en macOS con [Docker para Mac](https://docs.docker.com/desktop/setup/install/mac-install/). Antes de usar el modo IPsec/L2TP, es posible que debas reiniciar el contenedor una vez con `docker restart ipsec-vpn-server`. Esta imagen no es compatible con Docker para Windows.

## Descarga

Obtén la compilación confiable desde el [registro de Docker Hub](https://hub.docker.com/r/hwdsl2/ipsec-vpn-server/):```bash
docker pull hwdsl2/ipsec-vpn-server

Alternativamente, puedes descargar desde Quay.io:```bash 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](https://gitlab.com/hwdsl2/docker-ipsec-vpn-server/-/blob/master/docs/advanced-usage.md#build-from-source-code) en GitHub.

### Comparación de imágenes

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

|                   | Basada en Alpine             | Basada en Debian                   |
| ----------------- | ------------------------ | ------------------------------ |
| Nombre de la imagen | hwdsl2/ipsec-vpn-server  | hwdsl2/ipsec-vpn-server:debian |
| Tamaño comprimido | ~ 19 MB                  | ~ 62 MB                        |
| Imagen base       | Alpine Linux 3.23        | Debian Linux 12                |
| Plataformas       | amd64, arm64, arm/v7     | amd64, arm64, arm/v7           |
| Versión de Libreswan | 5.4                      | 5.4                            |
| 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.

<details>
<summary>
Quiero usar la versión anterior de Libreswan 4.
</summary>

Generalmente se recomienda usar la última versión de [Libreswan](https://libreswan.org/) 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:```bash
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 tienes que escribir ninguna variable y puedes tener un servidor VPN IPsec listo para usar. Para ello, crea un archivo env vacío usando touch vpn.env y pasa a la siguiente sección.

Categorías