Cómo configurar VPN con sede en IPSEC con Strongswan en Debian y Ubuntu
- 1054
- 37
- Sr. Eduardo Menchaca
StrongSwan es una implementación de VPN (red privada virtual) de código abierto, multiplataforma, completa y ampliamente utilizada que se ejecuta en Linux, FreeBSD, OS X, Windows, Android e iOS. Es principalmente un demonio que admite el Intercambio de claves en Internet Protocolos (Ikev1 y IKev2) para establecer asociaciones de seguridad (SA) Entre dos compañeros.
Este artículo describe cómo configurar el sitio al sitio IPSEC VPN puertas de enlace usando Strongswan en Ubuntu y Debian servidor. Por sitio a sitio nos referimos a cada puerta de enlace de seguridad tiene una sub-red detrás de esto. Además, los compañeros se autenticarán mutuamente utilizando una llave previa al intercambio (Psíquico).
Entorno de prueba
Recuerde reemplazar las siguientes IPS con sus IPS del mundo real para configurar su entorno.
Sitio 1 Gateway (Tecmint-Devgateway)
OS 1: Debian o Ubuntu Public IP: 10.20.20.1 IP privada: 192.168.0.101/24 Subred privada: 192.168.0.24/04
Sitio 2 Gateway (TecMint-Prodgateway)
OS 2: Debian o Ubuntu Public IP: 10.20.20.3 IP privado: 10.0.2.15/24 Subred privada: 10.0.2.24/04
Paso 1: habilitando el reenvío de paquetes del núcleo
1. Primero, debe configurar el núcleo para habilitar el reenvío de paquetes agregando las variables del sistema apropiadas en /etc/sysctl.confusión Archivo de configuración en ambas puertas de enlace de seguridad.
$ sudo vim /etc /sysctl.confusión
Busque las siguientes líneas y desenchufarlas y establecer sus valores como se muestra (lea los comentarios en el archivo para obtener más información).
neto.IPv4.ip_forward = 1 net.IPv6.confusión.todo.reenvío = 1 net.IPv4.confusión.todo.Acept_Redirects = 0 net.IPv4.confusión.todo.send_redirects = 0
2. A continuación, cargue la nueva configuración ejecutando el siguiente comando.
$ sudo sysctl -pCargar Configuración del kernel SYSCTL
3. Si tiene un servicio de firewall UFW habilitado, debe agregar las siguientes reglas al /etc/UFW/antes.normas archivo de configuración justo antes del filtro reglas en cualquier puerta de enlace de seguridad.
Sitio 1 Gateway (Tecmint-Devgateway)
*nat: posterior a aceptar [0: 0] -A POSTROUTING -S 10.0.2.4/24 -D 192.168.0.0/24 -J Masquerade Commit
Sitio 2 Gateway (TecMint-Prodgateway)
*nat: posterior a Aceptar [0: 0] -A Postrouting -S 192.168.0.4/24 -d 10.0.2.0/24 -J Masquerade Commit
4. Una vez que se han agregado las reglas del firewall, aplique los nuevos cambios reiniciando UFW como se muestra.
$ sudo UFW DISPLED $ sudo UFW Enable
Paso 2: Instalación de Strongswan en Debian y Ubuntu
5. Actualice su caché de paquete en ambas puertas de enlace de seguridad e instale el Strongswan Paquete usando el Administrador de paquetes APT.
$ sudo apt actualización $ sudo apt install strongswan
6. Una vez que se complete la instalación, el script de instalación iniciará el Strongswan servicio y habilitarlo para comenzar automáticamente en el arranque del sistema. Puede verificar su estado y si está habilitado utilizando el siguiente comando.
$ sudo systemctl status strongswan.Servicio $ sudo SystemCTL IS-habilitado StrongSwan.servicio
Paso 3: Configuración de puertas de enlace de seguridad
7. A continuación, debe configurar las puertas de enlace de seguridad utilizando el /etc/iPsec.confusión archivo de configuración.
Sitio 1 Gateway (Tecmint-Devgateway)
$ sudo cp /etc /iPsec.conf /etc /iPsec.confusión.orig $ sudo nano /etc /iPsec.confusión
Copie y pegue la siguiente configuración en el archivo.
configuración configuración charondebug = "all" uniqueIDs = yes conn devgateway a-prodgateway type = tunnel Auto = start keyExchange = iKev2 authby = Secret Left = 10.20.20.1 Leftsubnet = 192.168.0.101/24 derecho = 10.20.20.3 Rightsubnet = 10.0.2.15/24 IKE = AES256-SHA1-MODP1024! esp = AES256-SHA1! agresivo = sin keyingtries =%para siempre iKelifetime = 28800S LifeTime = 3600S dpddelay = 30s dpdtimeout = 120s dpdaction = reiniciar
Sitio 2 Gateway (TecMint-Prodgateway)
$ sudo cp /etc /iPsec.conf /etc /iPsec.confusión.orig $ sudo nano /etc /iPsec.confusión
Copie y pegue la siguiente configuración en el archivo.
configuración de configuración charondebug = "all" uniqueids = yes conndgateway a-devgateway type = tunnel Auto = start keyExchange = iKev2 authby = Secret Left = 10.20.20.3 Leftsubnet = 10.0.2.15/24 derecho = 10.20.20.1 Rightsubnet = 192.168.0.101/24 IKE = AES256-SHA1-MODP1024! esp = AES256-SHA1! agresivo = sin keyingtries =%para siempre iKelifetime = 28800S LifeTime = 3600S dpddelay = 30s dpdtimeout = 120s dpdaction = reiniciar
Aquí está el significado de cada parámetro de configuración:
- configuración de configuración - Especifica la información de configuración general para IPSEC que se aplica a todas las conexiones.
- charonbug - Define cuánto se debe registrar la salida de depuración de Charon.
- ÚNICOS - Especifica si una identificación de participante en particular debe mantenerse única.
- Conn Prodgateway a Devgateway - Define el nombre de la conexión.
- tipo - Define el tipo de conexión.
- auto - Cómo manejar la conexión cuando se inicia o reinicie iPsec.
- intercambio de llaves - Define la versión del protocolo IKE para usar.
- auténtico - Define cómo los compañeros deben autenticarse entre sí.
- izquierda - Define la dirección IP de la interfaz de red pública del participante izquierdo.
- marco de la izquierda - establece la subred privada detrás del participante de la izquierda.
- bien - Especifica la dirección IP de la interfaz de red pública del participante correcto.
- Rightsubnet - establece la subred privada detrás del participante de la izquierda.
- Ike - Define una lista de algoritmos de cifrado/autenticación IKE/ISAKMP SA para ser utilizado. Puede agregar una lista separada por comas.
- espíritu - Define una lista de algoritmos de cifrado/autenticación de ESP que se utilizarán para la conexión. Puede agregar una lista separada por comas.
- agresivo - establece si usar el modo agresivo o principal.
- triunfas - establece el número de intentos que deben hacerse para negociar una conexión.
- iKelifetime - establece cuánto tiempo debería durar el canal de llave de una conexión antes de ser renegociado.
- toda la vida - Define cuánto tiempo debería durar una instancia particular de una conexión, desde una negociación exitosa hasta caducidad.
- dpddelay - Especifica el intervalo de tiempo con el que se envían a los mensajes/intercambios informativos.
- dpdtimeout - Especifica el intervalo de tiempo de espera, después de lo cual todas las conexiones a un par se eliminan en caso de inactividad.
- dpdaction - Define cómo usar el protocolo de detección de pares muertos (DPD) para administrar la conexión.
Para obtener más información sobre los parámetros de configuración anteriores, lea el iPsec.confusión página del hombre ejecutando el comando.
$ hombre ipsec.confusión
Paso 4: Configuración de PSK para la autenticación entre pares
8. Después de configurar ambas puertas de enlace de seguridad, genere una segura Psíquico para ser utilizado por los compañeros utilizando el siguiente comando.
$ head -c 24 /dev /urandom | base64Generar la tecla PSK
9. A continuación, agregue el Psíquico en el /etc/iPsec.misterios Archivo en ambas puertas de enlace.
$ sudo vim /etc /iPsec.misterios
Copiar y pegar la siguiente línea.
------- Sitio 1 Gateway (Tecmint-Devgateway) ------- 10.20.20.1 10.20.20.3: psk "qlgltvqofqvglswp75fetlgtwn3hu0ku6c5hitko6ac =" ------- Sitio 2 Gateway (TecMint-Prodgateway) ------- 10.20.20.3 10.20.20.1: psk "qlgltvqofqvglswp75fetlgtwn3hu0ku6c5hitko6ac ="
10. Reiniciar el IPsec programa y verifique su estado para ver las conexiones.
$ sudo ipsec reiniciar $ sudo ipsec estadoVer estado de conexión IPSEC
11. Finalmente, verifique que pueda acceder a las sub-redes privadas desde cualquier puerta de de seguridad ejecutando un comando de ping.
$ ping 192.168.0.101 $ ping 10.0.2.15Verificar la configuración de VPN de sitio a sitio
12. Además, puedes detener y comenzar iPsec como se muestra.
$ sudo ipsec stop $ sudo iPsec inicio
13. Para saber más sobre los comandos IPSEC para mencionar manualmente las conexiones y más, vea la página de ayuda de IPSEC.
$ ipsec --help
Eso es todo! En este artículo, hemos descrito cómo configurar una VPN IPSEC de sitio a sitio usando Strongswan en Ubuntu y Debian servidores, donde ambas puertas de enlace de seguridad se configuraron para autenticarse utilizando un Psíquico. Si tiene alguna pregunta o pensamiento para compartir, comuníquese con nosotros a través del formulario de comentarios a continuación.
- « Cómo instalar MySQL 8 en Fedora 36 Linux
- 7 características y herramientas de seguridad de Linux útiles para principiantes »