Cómo configurar una VPN basada en IPsec con Strongswan en CentOS/RHEL 8

Cómo configurar una VPN basada en IPsec con Strongswan en CentOS/RHEL 8

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. (tanto IKEv1. como 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 utilizando strongSwan. en servidores CentOS/RHEL 8. Esto permite que los pares se autentiquen entre sí mediante una clave fuerte previamente compartida ( 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 IP pública: 192.168.56.7 IP privada: 10.10.1.1/24 Subred privada: 10.10.1.0/24 Puerta de enlace del sitio 2 IP pública: 192.168.56.6 IP privada: 10.20.1.1/24 Subred privada: 10.20.1.0/24

Paso 1: Habilitar el reenvío de IP del kernel en CentOS 8

1.. Empiece por habilitar la funcionalidad de reenvío de IP del kernel en /etc/sysctl.conf archivo de configuración en ambas puertas de enlace VPN.

# vi/etc/sysctl.conf freestar.config.enabled_slots.push

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

2.. Después de guardar los cambios en el archivo, ejecute lo siguiente comando wing para cargar los nuevos parámetros del kernel en tiempo de ejecución.

# sysctl-p

3.. A continuación, cree una ruta estática permanente en el archivo /etc/sysconfig/network-scripts/route-eth0. en ambas puertas de enlace de seguridad.

# vi/etc/sysconfig/network-scripts/route-eth0

Agregue la siguiente línea en el archivo.

#Site 1 Gateway 10.20.1.0/24 vía 192.168.56.7 #Site 2 Gateway 10.10.1.0/24 vía 192.168.56.6

4.. Luego reinicie el administrador de red para aplicar los nuevos cambios.

# systemctl restart NetworkManager

Paso 2: Instalar strongSwan en CentOS 8

5.. El paquete strongswan. se proporciona en EPEL. repositorio. Para instalarlo, debe habilitar el repositorio de EPEL, luego instalar strongwan en ambas puertas de enlace de seguridad.

# dnf install epel-release # dnf install strongswan

6.. Para verificar la versión de strongswan. instalado en ambas puertas de enlace, ejecute el siguiente comando.

# strongswan versión

7.. A continuación, inicie strongswan. service y habilítelo para que se inicie automáticamente al arrancar el sistema. Luego verifique el estado en ambas puertas de enlace de seguridad.

# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan

Nota. La última versión de strongswan. en CentOS/REHL 8. viene con soporte para swanctl. (una nueva utilidad de línea de comandos portátil introducida con strongSwan 5.2.0, usada para configurar, controlar y monitorear el demonio IKE Charon usando el complemento vici. y la utilidad starter. (o ipsec. usando el complemento de carrera obsoleto.

8.. El directorio de configuración principal es /etc/strongswan/ que contiene archivos de configuración para ambos complementos:

# ls/etc/strongswan/ Estructura de configuración de Strongswan  Estructura de configuración de Strongswan Estructura de configuración de Strongswan

Para esta guía, usaremos la utilidad IPsec que se invoca mediante el comando strongswan. y la interfaz de trazos. Entonces usaremos los siguientes archivos de configuración:

  • /etc/strongswan/ipsec.conf. archivo de configuración para el subsistema strongSwan IPsec.
  • /etc/strongswan/ipsec.secrets. archivo de secretos.

Paso 3: Configuración de pasarelas de seguridad

9.. En este paso, debe configurar los perfiles de conexión en cada puerta de enlace de seguridad para cada sitio mediante el archivo de configuración /etc/strongswan/ipsec.conf. strongswan.

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! agresivo = sin entradas de claves =% para siempre ikelifetime = 28800s vida útil = 3600s dpddelay = 30s dpdtimeout = 120s dpdaction = reiniciar 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 = secreta izquierda = 192.168.56.6 leftsubnet = 10.20.1.1/24 derecha = 192.168.56.7 rightsubnet = 10.10.1.1/24 ike = aes256-sha1-modp1024! esp = aes256-sha1! agresivo = sin entradas de claves =% para siempre ikelifetime = 28800s vida útil = 3600s dpddelay = 30s dpdtimeout = 120s dpdaction = reiniciar

Describamos brevemente cada uno de los parámetros de configuración anteriores:

  • configuración de 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 identificación de participante en particular debe mantenerse única.
  • conn gateway1-to-gateway2. se utiliza para establecer el nombre de la conexión.
  • tipo. define el tipo de conexión.
  • Auto. se utiliza para declarar cómo manejar la conexión cuando se inicia o reinicia IPSec.
  • keyexchange. declara la versión del protocolo IKE que se utilizará.
  • authby. especifica cómo los pares deben autenticarse e uno al otro.
  • left. declara la dirección IP de la interfaz de red pública del participante izquierdo.
  • leftsubnet. declara la subred privada detrás del participante izquierdo.
  • right. declara la dirección IP de la interfaz de red pública del participante derecho.
  • rightsubnet. declara la subred privada detrás del participante izquierdo.
  • ike. se utiliza para declarar una lista de algoritmos de autenticación/cifrado 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 autenticación/cifrado ESP que se utilizarán para la conexión.
  • agresivo. declara si se debe usar el modo principal o agresivo.
  • intentos de clave. declara el número de intentos que se deben realizar para negociar una conexión.
  • ikelifetime. especifica cuánto tiempo debe durar el canal de claves de una conexión antes de ser renegociado.
  • tiempo de vida. especifica cuánto tiempo debe durar una conexión en particular. La instancia de una conexión debe durar, desde la negociación exitosa hasta el vencimiento.
  • dpddelay. declara el intervalo de tiempo con el que los mensajes R_U_THERE/intercambios INFORMACIONALES se envían al par.
  • dpdtimeout. se utiliza para declarar el intervalo de tiempo de espera, después del cual todas las conexiones a un par se eliminan en caso de inactividad.
  • dpdaction. especifica cómo use 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 strongSwan IPsec leyendo ipsec.conf. página de manual.

# man ipsec.conf

Paso 4: Configuración de PSK para la autenticación de igual a igual

10.. A continuación, debe Genere un PSK fuerte para que lo utilicen los pares para la autenticación de la siguiente manera.

# head-c 24/dev/urandom | base64  Generar clave PSK Generar clave PSK Generar clave PSK

11.. Agregue el PSK en /etc/strongswan/ipsec.conf. en ambas puertas de enlace de seguridad.

# 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”

12.. Luego, inicie el servicio strongsan. y verifique el estado de las conexiones.

# systemctl restart strongswan # strong Estado de gswan  Check Strongswan Conexiones  Verifique las conexiones de Strongswan Verifique las conexiones de Strongswan

13.. Pruebe si puede acceder a las subredes privadas desde cualquiera de las puertas de enlace de seguridad ejecutando un comando ping.

# ping 10.20.1.1 # ping 10.10.1.1  Ping Security Gateways Ping Security Gateways Ping Security Gateways

14.. Por último, pero no menos importante, para obtener más información sobre los comandos strongswan. para activar/desactivar manualmente las conexiones y más, consulte la página de ayuda de strongswan.

# 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.