Volver a actualizaciones
ActualizadaAug 2, 2026

Setup IPsec VPN — Actualizado!

Configuración automatizada de servidor VPN IPsec con soporte para IPsec/L2TP, IPsec de Cisco e IKEv2. Incluye scripts auxiliares para la gestión de usuarios y certificados, y genera perfiles para clientes de 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.

**Opción 3:** Define tus credenciales de VPN como variables de entorno.```bash
# All values MUST be placed inside 'single quotes'
# DO NOT use these special characters within values: \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' \
sh vpn.sh

[!TIP] Opcionalmente, instala WireGuard, OpenVPN y/o Headscale en el mismo servidor. Si tu servidor ejecuta CentOS Stream, Rocky Linux o AlmaLinux, primero instala OpenVPN/WireGuard y luego instala la VPN IPsec.

Haz clic aquí si no puedes descargar.

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

Alternative setup URLs:```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 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.

Quiero instalar la versión anterior de Libreswan 4.

Generalmente se recomienda usar la última versión de Libreswan 5, que es la versión predeterminada en este proyecto. Sin embargo, si quieres instalar la versión anterior de Libreswan 4:```bash wget https://get.vpnsetup.net -O vpn.sh sudo VPN_SWAN_VER=4.15 sh vpn.sh

**Nota:** Si Libreswan versión 5 ya está instalado, es posible que necesites primero [Desinstalar la VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/uninstall.md) antes de instalar Libreswan versión 4. Alternativamente, descarga el [script de actualización](#upgrade-libreswan), edítalo para especificar `SWAN_VER=4.15`, y luego ejecuta el script.
</details>

## Personalizar opciones de la VPN

### Usar servidores DNS alternativos

Por defecto, los clientes están configurados para usar [Google Public DNS](https://developers.google.com/speed/public-dns/) cuando la VPN está activa. Al instalar la VPN, puedes especificar opcionalmente servidores DNS personalizados para todos los modos de VPN. Ejemplo:```bash
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

Utilice VPN_DNS_SRV1 para especificar el servidor DNS primario, y VPN_DNS_SRV2 para especificar el servidor DNS secundario (opcional).

A continuación se muestra una lista de algunos proveedores de DNS públicos populares para su referencia.

ProveedorDNS primarioDNS secundarioNotas
Google Public DNS8.8.8.88.8.4.4Predeterminado en este proyecto
Cloudflare1.1.1.11.0.0.1Ver también: Cloudflare for families
Quad99.9.9.9149.112.112.112Bloquea dominios maliciosos
OpenDNS208.67.222.222208.67.220.220Bloquea dominios de phishing, configurable.
CleanBrowsing185.228.168.9185.228.169.9Filtros de dominio disponibles
NextDNSVaríaVaríaBloqueo de anuncios, plan gratuito disponible. Más información.
Control DVaríaVaríaBloqueo de anuncios, configurable. Más información.

Si necesita cambiar los servidores DNS después de la configuración de la VPN, consulte Uso avanzado.

[!NOTE] Si IKEv2 ya está configurado en el servidor, las variables anteriores no tienen efecto para el modo IKEv2. En ese caso, para personalizar opciones de IKEv2 como los servidores DNS, primero puede eliminar IKEv2 y luego configurarlo nuevamente usando sudo ikev2.sh.

Personalizar opciones de IKEv2

Al instalar la VPN, los usuarios avanzados pueden opcionalmente personalizar las opciones de IKEv2.

Opción 1: Omitir IKEv2 durante la configuración de la VPN y luego configurar IKEv2 usando opciones personalizadas.

Al instalar la VPN, puede omitir IKEv2 e instalar solo los modos IPsec/L2TP e IPsec/XAuth ("Cisco IPsec"):```bash sudo VPN_SKIP_IKEV2=yes sh vpn.sh

(Opcional) Si deseas especificar servidores DNS personalizados para los clientes VPN, define `VPN_DNS_SRV1` y, opcionalmente, `VPN_DNS_SRV2`. Consulta [Usar servidores DNS alternativos](#use-alternative-dns-servers) para más detalles.

Después de eso, ejecuta el script auxiliar de IKEv2 para configurar IKEv2 de forma interactiva usando opciones personalizadas:```bash
sudo ikev2.sh

Puede personalizar las siguientes opciones: nombre DNS del servidor VPN, nombre y período de validez del primer cliente, servidor DNS para los clientes VPN y si desea proteger con contraseña los archivos de configuración de los clientes.

Nota: La variable VPN_SKIP_IKEV2 no tiene efecto si IKEv2 ya está configurado en el servidor. En ese caso, para personalizar las opciones de IKEv2, primero puede eliminar IKEv2 y luego configurarlo nuevamente usando sudo ikev2.sh.

Opción 2: Personalizar las opciones de IKEv2 usando variables de entorno.

Al instalar la VPN, puede especificar opcionalmente un nombre DNS para la dirección del servidor IKEv2. El nombre DNS debe ser un nombre de dominio totalmente calificado (FQDN). Ejemplo:```bash sudo VPN_DNS_NAME='vpn.example.com' sh vpn.sh

De manera similar, puedes especificar un nombre para el primer cliente IKEv2. El valor predeterminado es `vpnclient` si no se especifica.```bash
sudo VPN_CLIENT_NAME='your_client_name' sh vpn.sh

Por defecto, los clientes están configurados para usar Google Public DNS cuando la VPN está activa. Puedes especificar servidores DNS personalizados para todos los modos de VPN. Ejemplo:```bash sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

Por defecto, no se requiere contraseña al importar la configuración del cliente IKEv2. Puedes optar por proteger los archivos de configuración del cliente con una contraseña aleatoria.```bash
sudo VPN_PROTECT_CONFIG=yes sh vpn.sh
Para referencia: Lista de parámetros de IKEv1 e IKEv2.
Parámetro IKEv1*Valor predeterminadoPersonalizar (variable de entorno)**
Dirección del servidor (nombre DNS)-No, pero puedes conectarte usando un nombre DNS
Dirección del servidor (IP pública)Detección automáticaVPN_PUBLIC_IP
Clave precompartida IPsecGeneración automáticaVPN_IPSEC_PSK
Nombre de usuario VPNvpnuserVPN_USER
Contraseña VPNGeneración automáticaVPN_PASSWORD
Servidores DNS para clientesGoogle Public DNSVPN_DNS_SRV1, VPN_DNS_SRV2
Omitir configuración de IKEv2noVPN_SKIP_IKEV2=yes

* Estos parámetros de IKEv1 son para los modos IPsec/L2TP e IPsec/XAuth ("Cisco IPsec").
** Defínelos como variables de entorno al ejecutar vpn(setup).sh.

Parámetro IKEv2*Valor predeterminadoPersonalizar (variable de entorno)**Personalizar (interactivo)***
Dirección del servidor (nombre DNS)-VPN_DNS_NAME
Dirección del servidor (IP pública)Detección automáticaVPN_PUBLIC_IP
Nombre del primer clientevpnclientVPN_CLIENT_NAME
Servidores DNS para clientesGoogle Public DNSVPN_DNS_SRV1, VPN_DNS_SRV2
Proteger archivos de configuración del clientenoVPN_PROTECT_CONFIG=yes
Habilitar/Deshabilitar MOBIKEHabilitar si es compatible
Validez del certificado del cliente10 años (120 meses)VPN_CLIENT_VALIDITY****
Validez del certificado CA y del servidor10 años (120 meses)
Nombre del certificado CAIKEv2 VPN CA
Tamaño de la clave del certificado3072 bits

* Estos parámetros de IKEv2 son para el modo IKEv2.
** Defínelos como variables de entorno al ejecutar vpn(setup).sh, o al configurar IKEv2 en modo automático (sudo ikev2.sh --auto).
*** Se pueden personalizar durante la configuración interactiva de IKEv2 (sudo ikev2.sh). Consulta la opción 1 anterior.
**** Usa VPN_CLIENT_VALIDITY para especificar el período de validez del certificado del cliente en meses. Debe ser un número entero entre 1 y 120.

Además de estos parámetros, los usuarios avanzados también pueden personalizar las subredes VPN durante la configuración de la VPN.

Próximos pasos

Lee esto en otros idiomas: English, 简体中文, 繁體中文, 日本語, Русский.

Configura tu computadora o dispositivo para usar la VPN. Consulta:

Configurar clientes VPN IKEv2 (recomendado)

Configurar clientes VPN IPsec/L2TP

Configurar clientes VPN IPsec/XAuth ("Cisco IPsec")

Lee 📖 VPN book para acceder a contenido adicional.

¡Disfruta de tu propia VPN! ✨🎉🚀✨

Notas importantes

Usuarios de Windows: Para el modo IPsec/L2TP, se requiere un cambio de registro único si el servidor o el cliente VPN está detrás de NAT (p. ej., router doméstico).

La misma cuenta VPN puede ser utilizada por varios de tus dispositivos. Sin embargo, debido a una limitación de IPsec/L2TP, si deseas conectar varios dispositivos desde detrás del mismo NAT (p. ej., router doméstico), debes usar el modo IKEv2 o IPsec/XAuth. Para ver o actualizar las cuentas de usuario VPN, consulta Gestionar usuarios VPN.

Para servidores con un firewall externo (p. ej., EC2/GCE), abre los puertos UDP 500 y 4500 para la VPN. Usuarios de Aliyun, consulta #433.

Los clientes están configurados para usar Google Public DNS cuando la VPN está activa. Si prefieres otro proveedor de DNS, consulta Uso avanzado.

El uso del soporte del kernel puede mejorar el rendimiento de IPsec/L2TP. Está disponible en todos los sistemas operativos compatibles. Los usuarios de Ubuntu deben instalar el paquete linux-modules-extra-$(uname -r) y ejecutar service xl2tpd restart.

Los scripts harán una copia de seguridad de los archivos de configuración existentes antes de realizar cambios, con el sufijo .old-date-time.

Actualizar Libreswan

Usa este comando de una línea para actualizar Libreswan (registro de cambios | anuncio) en tu servidor VPN.```bash wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh

<details>
<summary>
Haz clic aquí si no puedes descargar.
</summary>

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

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

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

La versión más reciente compatible de Libreswan es la `5.4`. Comprueba la versión instalada: `ipsec --version`.

**Nota:** `xl2tpd` se puede actualizar usando el gestor de paquetes de tu sistema, como `apt-get` en Ubuntu/Debian.

## Gestionar usuarios de VPN

Consulta [Gestionar usuarios de VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md).

- [Gestionar usuarios de VPN mediante scripts auxiliares](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manage-vpn-users-using-helper-scripts)
- [Ver usuarios de VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-vpn-users)
- [Ver o actualizar el PSK de IPsec](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-or-update-the-ipsec-psk)
- [Gestionar usuarios de VPN manualmente](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manually-manage-vpn-users)

## Uso avanzado

Consulta [Uso avanzado](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md).

- [Usar servidores DNS alternativos](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#use-alternative-dns-servers)
- [Cambios de nombre DNS y de IP del servidor](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#dns-name-and-server-ip-changes)
- [VPN solo con IKEv2](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ikev2-only-vpn)
- [Habilitar secreto perfecto hacia adelante en IKEv2](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#enable-ikev2-perfect-forward-secrecy)
- [IPs internas de VPN y tráfico](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#internal-vpn-ips-and-traffic)
- [Especificar la IP pública del servidor VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#specify-vpn-servers-public-ip)
- [Personalizar subredes de VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets)
- [Soporte de IPv6](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ipv6-support)
- [Reenvío de puertos a clientes VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#port-forwarding-to-vpn-clients)
- [Tunelización dividida](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#split-tunneling)
- [Acceder a la subred del servidor VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-servers-subnet)
- [Acceder a clientes VPN desde la subred del servidor](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-clients-from-servers-subnet)
- [Modificar reglas de IPTables](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#modify-iptables-rules)
- [Implementar el control de congestión Google BBR](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#deploy-google-bbr-congestion-control)

## Desinstalar la VPN

Para desinstalar la VPN IPsec, ejecuta el [script auxiliar](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/extras/vpnuninstall.sh):

> [!CAUTION]
> Este script auxiliar eliminará la VPN IPsec de tu servidor. Toda la configuración de VPN se **borrará permanentemente**, y se eliminarán Libreswan y xl2tpd. ¡Esta acción **no se puede deshacer**!```bash
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
Haz clic aquí si no puedes descargar.

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

URLs alternativas del script:```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnuninstall.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnuninstall.sh

Para más información, consulta Desinstalar la VPN.

Comentarios y preguntas

Licencia

Copyright (C) 2014-2026 Lin Song Ver mi perfil en LinkedIn
Basado en el trabajo de Thomas Sarlandie (Copyright 2012)

Licencia Creative Commons
Esta obra está bajo la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported
Se requiere atribución: incluye mi nombre en cualquier obra derivada y ¡hazme saber cómo la has mejorado!

Categorías