Volver a actualizaciones
ActualizadaAug 8, 2026

Setup IPsec VPN — Actualizado!

Configuración automatizada de servidor VPN IPsec con soporte para IPsec/L2TP, Cisco IPsec e IKEv2. Incluye scripts auxiliares para la gestión de usuarios y certificados, y genera perfiles para clientes iOS, macOS, Android y Windows.

Compartir

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

Scripts de configuración automática del servidor VPN IPsec

Build Status GitHub Stars Docker Stars Docker Pulls

Configura tu propio servidor VPN IPsec en solo unos minutos, con IPsec/L2TP, Cisco IPsec e IKEv2.

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 o habitaciones de hotel.

Usaremos Libreswan como servidor IPsec, y xl2tpd como proveedor L2TP.

Características:

  • Configuración del servidor VPN IPsec totalmente automatizada, sin necesidad de entrada del usuario
  • 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 scripts auxiliares para gestionar usuarios y certificados VPN

También disponible:

Inicio rápido

Primero, prepara tu servidor Linux* con una instalación de un SO compatible.

Usa este comando de una línea para configurar un servidor VPN IPsec:```bash wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

Tus datos de acceso a la VPN se generarán aleatoriamente y se mostrarán al finalizar.

> [!TIP]
> Opcionalmente, instala [WireGuard](https://github.com/hwdsl2/wireguard-install), [OpenVPN](https://github.com/hwdsl2/openvpn-install) y/o [Headscale](https://github.com/hwdsl2/headscale-install) en el mismo servidor.

<details>
<summary>
Ver el script en acción (grabación de terminal).
</summary>

**Nota:** Esta grabación es solo para fines de demostración. Las credenciales de VPN en esta grabación **NO** son válidas.

<p align="center"><img src="https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/docs/images/script-demo.svg"></p>
</details>
<details>
<summary>
Haz clic aquí si no puedes descargar.
</summary>

También puedes usar `curl` para descargar:```bash
curl -fsSL https://get.vpnsetup.net -o vpn.sh && sudo sh vpn.sh

URLs alternativas de configuración:```bash https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh

Si no puedes descargarlo, abre [vpnsetup.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/vpnsetup.sh) y haz clic en el botón `Raw` a la derecha. Pulsa `Ctrl/Cmd+A` para seleccionar todo, `Ctrl/Cmd+C` para copiar y luego pégalo en tu editor favorito.
</details>

También está disponible una [imagen Docker](https://github.com/hwdsl2/docker-ipsec-vpn-server) precompilada. Para otras opciones y configuración del cliente, lee las secciones siguientes.

\* Un servidor en la nube, un servidor privado virtual (VPS) o un servidor dedicado.

## 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 debatir
- ⭐ Marca el repositorio con una estrella si te resulta útil: ayuda a que otros lo descubran

## Requisitos

Un servidor en la nube, un servidor privado virtual (VPS) o un servidor dedicado, con una instalación de:

- Ubuntu 26.04, 24.04 o 22.04
- Debian 13, 12 o 11
- CentOS Stream 10 o 9
- Rocky Linux o AlmaLinux
- Oracle Linux

<details>
<summary>
Otras distribuciones de Linux compatibles.
</summary>

- Raspberry Pi OS (Raspbian)
- Kali Linux
- Alpine Linux
- Red Hat Enterprise Linux (RHEL)
</details>

Esto también incluye máquinas virtuales Linux en nubes públicas, como [DigitalOcean](https://blog.ls20.com/digitalocean), [Vultr](https://blog.ls20.com/vultr), [Linode](https://blog.ls20.com/linode), [OVH](https://www.ovhcloud.com/en/vps/) y [Microsoft Azure](https://azure.microsoft.com). Los usuarios de nubes públicas también pueden desplegar usando [datos de usuario](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#vpnsetup).

Despliegue rápido en:

[![Desplegar en Linode](https://assets.kitploit.com/production/public/readmes/647/14c2143c20d7c521b606f90a0cf1610d8bd96b3f6516f422d8ca848b879bb6fc.png)](https://cloud.linode.com/stackscripts/37239) &nbsp;[![Desplegar en Azure](https://assets.kitploit.com/production/public/readmes/647/79c45f89c80fa35c65259790605f75fe6b65db10aacefa870a55784152a9d31e.png)](azure/README.md)

[**&raquo; Quiero ejecutar mi propia VPN pero no tengo un servidor para ello**](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#gettingavps)

Para servidores con un firewall externo (p. ej. [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls)), abre los puertos UDP 500 y 4500 para la VPN.

También está disponible una [imagen Docker](https://github.com/hwdsl2/docker-ipsec-vpn-server) precompilada. Los usuarios avanzados pueden instalar en una [Raspberry Pi](https://www.raspberrypi.com). [[1]](https://elasticbyte.net/posts/setting-up-a-native-cisco-ipsec-vpn-server-using-a-raspberry-pi/) [[2]](https://www.stewright.me/2018/07/create-a-raspberry-pi-vpn-server-using-l2tpipsec/)

> [!ADVERTENCIA]
> **NO** ejecutes estos scripts en tu PC o Mac. ¡Solo deben usarse en un servidor!

## Instalación

Primero, actualiza tu servidor con `sudo apt-get update && sudo apt-get dist-upgrade` (Ubuntu/Debian) o `sudo yum update` y reinícialo. Esto es opcional, pero recomendado.

Para instalar la VPN, elige una de las siguientes opciones:

**Opción 1:** Haz que el script genere credenciales VPN aleatorias para ti (se mostrarán al finalizar).```bash
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

Opción 2: Edita el script y proporciona tus propias credenciales de VPN.```bash wget https://get.vpnsetup.net -O vpn.sh nano -w vpn.sh [Replace with your own values: YOUR_IPSEC_PSK, YOUR_USERNAME and YOUR_PASSWORD] sudo sh vpn.sh

> [!NOTE]
> Una PSK IPsec segura debe consistir en al menos 20 caracteres aleatorios.

Categorías