strongSwan es una solución VPN de código abierto, multiplataforma, moderna y completa basada en IPsec para Linux que brinda soporte completo para intercambio de claves de Internet (ambos IKEv1 y IKEv2 ) para establecer asociaciones de seguridad (SA) entre dos pares. Tiene todas las funciones, es modular por diseño y ofrece docenas de complementos que mejoran la funcionalidad principal.
Artículo relacionado :Cómo configurar una VPN basada en IPsec con Strongswan en Debian y Ubuntu
En este artículo, aprenderá cómo configurar puertas de enlace VPN IPsec de sitio a sitio usando strongSwan en CentOS/RHEL 8 servidores. Esto permite que los pares se autentiquen entre sí mediante una clave precompartida fuerte (PSK ). Una configuración de sitio a sitio significa que cada puerta de enlace de seguridad tiene una subred detrás.
Entorno de prueba
No olvide usar sus direcciones IP del mundo real durante las configuraciones mientras sigue la guía.
Puerta de enlace del sitio 1
Public IP: 192.168.56.7 Private IP: 10.10.1.1/24 Private Subnet: 10.10.1.0/24
Puerta de enlace del sitio 2
Public IP: 192.168.56.6 Private IP: 10.20.1.1/24 Private Subnet: 10.20.1.0/24
Paso 1:habilitar el reenvío de IP del kernel en CentOS 8
# vi /etc/sysctl.conf
Agregue estas líneas en el archivo.
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
# sysctl -p
# vi /etc/sysconfig/network-scripts/route-eth0
Agregue la siguiente línea en el archivo.
#Site 1 Gateway 10.20.1.0/24 via 192.168.56.7 #Site 2 Gateway 10.10.1.0/24 via 192.168.56.6
# systemctl restart NetworkManager
Paso 2:Instalación de strongSwan en CentOS 8
# dnf install epel-release # dnf install strongswan
# strongswan version
# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
Nota :La última versión de strongswan en CentOS/REHL 8 viene con soporte para ambos swanctl (una nueva utilidad de línea de comandos portátil introducida con strongSwan 5.2.0, que se usa para configurar, controlar y monitorear el demonio IKE Charon usando el vici plugin) y arrancador (o ipsec ) usando el complemento de trazo en desuso.
# ls /etc/strongswan/
Estructura de configuración de Strongswan
Para esta guía, utilizaremos la utilidad IPsec que se invoca mediante strongswan comando y la interfaz de trazo. Así que usaremos los siguientes archivos de configuración:
- /etc/strongswan/ipsec.conf – archivo de configuración para el subsistema IPsec strongSwan.
- /etc/strongswan/ipsec.secrets – archivo de secretos.
Paso 3:Configuración de puertas de enlace de seguridad
Configuración del perfil de conexión del sitio 1
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Copie y pegue la siguiente configuración en el archivo.
config setup charondebug="all" uniqueids=yes conn ateway1-to-gateway2 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.7 leftsubnet=10.10.1.1/24 right=192.168.56.6 rightsubnet=10.20.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Configuración del perfil de conexión del sitio 2
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Copie y pegue la siguiente configuración en el archivo:
config setup charondebug="all" uniqueids=yes conn 2gateway-to-gateway1 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.6 leftsubnet=10.20.1.1/24 right=192.168.56.7 rightsubnet=10.10.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Describamos brevemente cada uno de los parámetros de configuración anteriores:
- configuración – define la información de configuración general para IPSec que se aplica a todas las conexiones.
- charondebug – especifica la cantidad de salida de depuración de Charon que se debe registrar.
- uniqueids – define si una ID de participante en particular debe mantenerse única.
- conexion gateway1-a-gateway2 – se utiliza para establecer el nombre de la conexión.
- tipo – define el tipo de conexión.
- Automático – utilizado para declarar cómo manejar la conexión cuando se inicia o reinicia IPSec.
- intercambio de claves – declara la versión del protocolo IKE a utilizar.
- autorización – especifica cómo los pares deben autenticarse entre sí.
- izquierda – declara la dirección IP de la interfaz de red pública del participante izquierdo.
- subred izquierda – declara la subred privada detrás del participante izquierdo.
- correcto – declara la dirección IP de la interfaz de red pública del participante correcto.
- subred derecha – declara la subred privada detrás del participante izquierdo.
- como – se utiliza para declarar una lista de algoritmos de encriptación/autenticación IKE/ISAKMP SA que se utilizarán. Tenga en cuenta que puede ser una lista separada por comas.
- esp – especifica una lista de algoritmos de encriptación/autenticación ESP que se utilizarán para la conexión.
- agresivo – declara si usar el Modo Agresivo o Principal.
- intentos de teclado – declara el número de intentos que se deben hacer para negociar una conexión.
- ikelifetime – especifica cuánto debe durar el canal de codificación de una conexión antes de ser renegociado.
- de por vida – especifica cuánto tiempo debe durar una instancia particular de una conexión, desde la negociación exitosa hasta el vencimiento.
- dpddelay – declara el intervalo de tiempo con el que se envían mensajes R_U_THERE/intercambios INFORMATIVOS al par.
- tiempo de espera de dpd – se utiliza para declarar el intervalo de tiempo de espera, después del cual se eliminan todas las conexiones a un par en caso de inactividad.
- acción de dp – especifica cómo usar el protocolo Dead Peer Detection (DPD) para administrar la conexión.
Puede encontrar una descripción de todos los parámetros de configuración para el subsistema IPsec de strongSwan leyendo el ipsec.conf página man.
# man ipsec.conf
Paso 4:Configuración de PSK para la autenticación punto a punto
# head -c 24 /dev/urandom | base64
Generar clave PSK
# vi /etc/strongswan/ipsec.secrets
Introduzca la siguiente línea en el archivo.
#Site 1 Gateway 192.168.56.7 192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL" #Site 1 Gateway 192.168.56.6 192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"
# systemctl restart strongswan # strongswan status
Compruebe las conexiones de Strongswan
# ping 10.20.1.1 # ping 10.10.1.1
Hacer ping a las puertas de enlace de seguridad
# strongswan --help
¡Eso es todo por ahora! Para compartir sus pensamientos con nosotros o hacer preguntas, comuníquese con nosotros a través del formulario de comentarios a continuación. Y para obtener más información sobre la nueva utilidad swanctl y la nueva estructura de configuración más flexible, consulte la documentación del usuario de strongSwan.
Compartir es cuidar…Compartir en FacebookCompartir en TwitterCompartir en LinkedinCompartir en Reddit