Cómo configurar VPN basada en IPSEC con StrongSwan en CentOS/RHEL 8

Cómo configurar 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 proporciona soporte completo para Intercambio de claves en Internet (ambos Ikev1 y IKev2) establecer asociaciones de seguridad (SA) entre dos pares. Es completo, modular por diseño y ofrece docenas de complementos que mejoran la funcionalidad central.

Artículo relacionado: Cómo configurar VPN basada en IPSEC con Strongswan en Debian y Ubuntu

En este artículo, aprenderá cómo configurar las puertas de enlace VPN IPSEC de sitio a sitio usando Strongswan en CentOS/RHEL 8 servidor. Esto permite a los compañeros autenticarse mutuamente utilizando una fuerte llave previa al intercambio (Psíquico). Una configuración de sitio a sitio significa que cada puerta de enlace de seguridad tiene una sub-red detrás de ella.

Entorno de prueba

No olvide usar sus direcciones IP del mundo real durante las configuraciones mientras sigue la guía.

Sitio 1 puerta de entrada
IP público: 192.168.56.7 IP privado: 10.10.1.1/24 Subred privado: 10.10.1.24/04 
Sitio 2 Gateway
IP público: 192.168.56.6 IP privado: 10.20.1.1/24 Subred privado: 10.20.1.24/04 

Paso 1: habilitando el reenvío IP del kernel en Centos 8

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

# vi /etc /sysctl.confusión 

Agregue estas líneas en el archivo.

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. Después de guardar los cambios en el archivo, ejecute el siguiente comando 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/ruta-eth0 En ambas puertas de enlace de seguridad.

# vi/etc/sysconfig/network-scripts/ruta-etc0 

Agregue la siguiente línea en el archivo.

#Se 1 Gateway 10.20.1.4/24 a través de 192.168.56.7 #SITA 2 Gateway 10.10.1.4/24 a través de 192.168.56.6 

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

# SystemCTL reiniciar NetworkManager 

Paso 2: Instalación de StrongSwan en Centos 8

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

# DNF Instalar Epel-Lelease # DNF Install StrongSwan 

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

# versión de Strongswan 

7. A continuación, comience el Strongswan servicio y habilitarlo para comenzar automáticamente en el arranque del sistema. Luego verifique el estado en ambas puertas de enlace de seguridad.

# SystemCTL Start StrongSwan # SystemCTL Habilitar StrongSwan # SystemCTL Status StrongSwan 

Nota: La última versión de Strongswan en CentOS/Rehl 8 viene con apoyo para ambos swanctl (una nueva utilidad de línea de comandos portátil presentada con Strongswan 5.2.0, utilizado para configurar, controlar y monitorear el Ike Daemon Charon usando el vici complemento) y inicio (o iPsec) Utilidad utilizando el complemento de carrera en desacuerdo.

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

Para esta guía, utilizaremos la utilidad IPSEC que se invoca utilizando el Strongswan comando y la interfaz de trazo. Entonces usaremos los siguientes archivos de configuración:

  • /etc/strongswan/iPsec.confusión - Archivo de configuración para el subsistema StrongSwan IPSEC.
  • /etc/strongswan/iPsec.misterios - archivo de secretos.

Paso 3: Configuración de puertas de enlace de seguridad

9. En este paso, debe configurar los perfiles de conexión en cada puerta de enlace de seguridad para cada sitio utilizando el /etc/strongswan/iPsec.confusión Archivo de configuración de StrongSwan.

Configuración del perfil de conexión del sitio 1

# cp/etc/strongswan/iPsec.conf/etc/strongswan/iPsec.confusión.orig # vi/etc/strongswan/iPsec.confusión 

Copie y pegue la siguiente configuración en el archivo.

configuración de configuración charondebug = "all" uniqueIDs = yes conn ateway1-to-gateway2 type = tunnel Auto = start keyExchange = iKev2 authby = secreto izquierdo = 192.168.56.7 Leftsubnet = 10.10.1.1/24 correcto = 192.168.56.6 Rightsubnet = 10.20.1.1/24 IKE = AES256-SHA1-MODP1024! esp = AES256-SHA1! agresivo = sin keyingtries =%para siempre iKelifetime = 28800S LifeTime = 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.confusión.orig # vi/etc/strongswan/iPsec.confusión 

Copie y pegue la siguiente configuración en el archivo:

configuración de configuración 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 correcto = 192.168.56.7 Rightsubnet = 10.10.1.1/24 IKE = AES256-SHA1-MODP1024! esp = AES256-SHA1! agresivo = sin keyingtries =%para siempre iKelifetime = 28800S LifeTime = 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.
  • charonbug - Especifica cuánto se debe registrar la salida de depuración de Charon.
  • ÚNICOS - Define si una identificación de participante en particular debe mantenerse única.
  • Conn Gateway1 a Gateway2 - Se usa para establecer el nombre de conexión.
  • tipo - Define el tipo de conexión.
  • Auto - Se usa para declarar cómo manejar la conexión cuando se inicia o reiniciar iPsec.
  • intercambio de llaves - Declara la versión del protocolo IKE para usar.
  • auténtico - Especifica cómo los compañeros deben autenticarse entre sí.
  • izquierda - declara la dirección IP de la interfaz de red pública del participante izquierdo.
  • marco de la izquierda - declara la subred privada detrás del participante de la izquierda.
  • bien - Declara la dirección IP de la interfaz de red pública del participante correcto.
  • Rightsubnet - declara la subred privada detrás del participante de la izquierda.
  • Ike - Se utiliza para declarar una lista de algoritmos de cifrado/autenticación IKE/ISAKMP SA para ser utilizados. Tenga en cuenta que esta puede ser una lista separada por comas.
  • espíritu - Especifica una lista de algoritmos de cifrado/autenticación de ESP que se utilizarán para la conexión.
  • agresivo - declara si usar el modo agresivo o principal.
  • triunfas - declara el número de intentos que se deben hacer para negociar una conexión.
  • iKelifetime - Especifica cuánto tiempo debe durar el canal de teclas de una conexión antes de ser renegociado.
  • toda la vida - Especifica cuánto tiempo debería durar una instancia particular de una conexión, desde una negociación exitosa hasta caducidad.
  • dpddelay - Declara el intervalo de tiempo con el que se envían r_u_sthere mensajes/intercambios informativos al par.
  • dpdtimeout - Se utiliza para declarar el intervalo de tiempo de espera, después de lo cual todas las conexiones a un par se eliminan en caso de inactividad.
  • dpdaction - Especifica cómo usar el protocolo de detección de pares muertos (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 el iPsec.confusión página del hombre.

# hombre ipsec.confusión 

Paso 4: Configuración de PSK para la autenticación entre pares

10. A continuación, debe generar un PSK fuerte para ser utilizado por los compañeros para la autenticación de la siguiente manera.

# Head -C 24 /dev /urandom | base64 
Generar la tecla PSK

11. Agregue el PSK en el /etc/strongswan/iPsec.confusión Archivo en ambas puertas de enlace de seguridad.

# vi/etc/strongswan/iPsec.misterios 

Ingrese la siguiente línea en el archivo.

#Se 1 Gateway 192.168.56.7 192.168.56.6: PSK "0GE0DIEA0IOSYS2O22WYDICJ/LN4WOCL" #SITA 1 GATEWAY 192.168.56.6 192.168.56.7: PSK "0GE0DIEA0IOSYS2O22WYDICJ/LN4WOCL" 

12. Entonces comienza el Strongsan servicio y verifique el estado de las conexiones.

# SystemCTL reiniciar StrongSwan # StrongSwan Status 
Verifique las conexiones StrongSwan

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

# ping 10.20.1.1 # ping 10.10.1.1 
Ping Security Gateways

14. Por último, pero no menos importante, para aprender más Strongswan Comandos para mencionar manualmente las conexiones y más, vea 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.