Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la capa gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Uso del servicio VPN de sitio a sitio de Oracle Cloud Infrastructure en modo HA con enrutamiento ECMP desde Linux y Libreswan
Introducción
En el mundo interconectado actual, garantizar la disponibilidad y la seguridad de los datos transmitidos por las redes es clave. Para satisfacer esta necesidad crítica, Oracle Cloud ofrece sólidas capacidades de red, incluida la capacidad de establecer túneles IPSec de alta disponibilidad. En este tutorial, exploraremos el concepto de túneles IPSec de alta disponibilidad y le guiaremos a través del proceso de configuración de una arquitectura de red resiliente en Oracle Cloud mediante el protocolo de rutas múltiples de igual costo (ECMP).
En este tutorial, nos centraremos en el uso de Oracle Linux, un sistema operativo potente y seguro optimizado para entornos de Oracle Cloud, junto con Libreswan, un cliente IPSec bien establecido, para establecer túneles IPSec en modo basado en rutas. Aprovecharemos la funcionalidad de gateway de direccionamiento dinámico (DRG) que proporciona Oracle Cloud Infrastructure (OCI) para permitir un failover y un equilibrio de carga perfectas entre varios túneles IPSec.
Objetivos
Proporcione una guía completa para implantar túneles IPSec en OCI mediante el protocolo de enrutamiento ECMP para equilibrar la carga del tráfico a lo largo de ellos en un escenario activo/activo.
- Comprender los conceptos básicos del protocolo IPSec de sitio a sitio
- Comprender los diferentes modos IPSec: transporte frente a túnel, basado en políticas frente a basado en rutas
- Configuración de Libreswan en Oracle Linux con equilibrio de carga ECMP
- Configurar DRGv2 para túneles IPSec redundantes
- Probar redundancia de túneles y equilibrio de carga con Iperf3
Si sigue este tutorial, obtendrá una comprensión completa de IPSec en OCI. Adquirirá las habilidades necesarias para interconectar de forma eficaz su infraestructura local con OCI a través de una conexión redundante.
Requisitos
-
Un arrendamiento de OCI activo. Debe tener los permisos necesarios para crear y gestionar recursos de red en OCI.
-
Conocimientos básicos del sistema operativo Linux, los conceptos de redes y OCI. Esto incluye la familiaridad con conceptos fundamentales de red, como el direccionamiento IP, las subredes, el enrutamiento y el firewall, que es esencial.
-
Conocimientos básicos de Oracle Linux, incluido cómo instalar y configurar. Si es nuevo en Oracle Linux, puede que desee realizar un tutorial básico de Oracle Linux o una guía de antemano.
-
Una red virtual en la nube (VCN) y subredes configuradas en OCI, con reglas de enrutamiento adecuadas, gateway de Internet, DRG y listas de seguridad configuradas.
-
Conocimientos avanzados sobre cómo utilizar la consola de OCI o la CLI de OCI para crear y gestionar recursos de red.
Nota: Se recomienda tener un entorno de prueba configurado en OCI para experimentar con configuraciones de red y IPSec antes de implementarlas en un entorno de producción.
¿Qué es la VPN IPSec?
La seguridad del protocolo de Internet (IPSec) es un marco de estándares abiertos para ayudar a garantizar comunicaciones privadas y seguras a través de redes de protocolo de Internet (IP) mediante el uso de servicios de seguridad criptográfica. IPSec soporta la integridad de datos a nivel de red, la confidencialidad de datos, la autenticación de origen de datos y la protección de reproducción. Debido a que IPSec está integrado en la capa de Internet (capa 3), proporciona seguridad para casi todos los protocolos del conjunto TCP/IP y a que IPSec se aplica de forma transparente a las aplicaciones, no es necesario configurar una seguridad independiente para cada aplicación que utilice TCP/IP.
IPSec ayuda a proporcionar defensa en profundidad frente a ataques basados en red de computadoras que no son de confianza, ataques que pueden dar como resultado la denegación de servicio de aplicaciones, servicios o la red.
- corrupción de datos
- Robo de datos
- Robo de credenciales de usuario
- Control administrativo de servidores, otras computadoras y la red.
VPN de sitio a sitio
Una VPN IPSec (seguridad de protocolo de Internet) de sitio a sitio, también conocida como VPN de red a red, establece una conexión segura y cifrada entre dos o más redes a través de Internet. Permite la transmisión segura de datos entre sitios distribuidos geográficamente, creando una red privada virtual (VPN) que amplía el alcance de la red más allá de sus límites físicos.
En una VPN IPSec de sitio a sitio, las redes participantes, que suelen pertenecer a diferentes organizaciones o ramas remotas de la misma organización, están conectadas mediante túneles IPSec dedicados. Estos túneles encapsulan y cifran el tráfico de red, lo que garantiza su confidencialidad, integridad y autenticidad mientras atraviesan redes que no son de confianza, como Internet.
Por otro lado, una VPN de punto a sitio (P2S) establece una conexión segura entre dispositivos cliente individuales y una red remota. A diferencia de las VPN de sitio a sitio, que conectan redes, las VPN P2S permiten un acceso remoto seguro para que los dispositivos individuales accedan a los recursos de red. Las VPN P2S se suelen utilizar para permitir el acceso seguro a empleados remotos, contratistas o usuarios móviles que necesitan conectarse a la red de la organización desde ubicaciones externas.
Nota: Este ámbito de tutorial está limitado a la VPN IPSec de sitio a sitio que actualmente es la única soportada en OCI DRGv2.
Conceptos de los túneles de VPN IPSec
IPSec significa seguridad de protocolo de Internet o seguridad IP. IPSec es un conjunto de protocolos que cifra todo el tráfico IP antes de transferir los paquetes del nodo de origen al destino. IPSec se puede configurar en dos modos:
-
Modo de Transporte: IPSec sólo cifra y/o autentica la carga útil real del paquete, y la información del encabezado permanece intacta.
-
Modo de túnel: IPSec cifra y/o autentica todo el paquete. Después del cifrado, el paquete se encapsula para formar un nuevo paquete IP UDP que tiene información de cabecera diferente.
IPSec Los túneles de sitio a sitio de VPN ofrecen las siguientes ventajas:
-
No es necesario comprar líneas de leasing costosas específicas de un sitio a otro, ya que las líneas de telecomunicaciones públicas se utilizan para transmitir datos.
-
Las direcciones IP internas de las redes y los nodos participantes se ocultan a los usuarios externos.
-
Se cifra toda la comunicación entre los sitios de origen y destino, lo que disminuye significativamente las posibilidades de robo de información. OCI solo admite el modo de túnel de VPN IPSec y se ofrece como autoservicio mediante la consola web.
Nota: La VPN de sitio a sitio de OCI SOLO soporta el modo de túnel para que sea el único modo disponible en OCI.
Arquitectura
OCI IPSec con ECMP consta de listas que incluyen:
-
DRGv2 asociado a VCN1 y VCN2 mediante tablas de rutas por defecto y tablas de rutas generadas automáticamente RT2 "Tabla de rutas de derivación generada automáticamente para asociaciones de VCN" en la región de Fráncfort.
-
Mismo DRGv2 con una conexión IPSec que incluye dos túneles:
- túnel 1, dirección IP de VPN de Oracle 193.122.x.x con tabla de rutas generada automáticamente RT1 "Tabla de rutas de derivación generada automáticamente para anexos RPC, VC y IPSec".
- túnel 2, dirección IP de VPN de Oracle 158.101.x.x con tabla de rutas generada automáticamente RT1 "Tabla de rutas de derivación generada automáticamente para anexos RPC, VC y IPSec".
-
Una máquina virtual de Oracle Linux como cliente IPSec con soporte de ECMP desde entornos locales que se ejecuta en el rango de CIDR privado 192.168.0.0/16, IP pública 143.47.48.219.
-
Iperf3 en Oracle Linux en entornos locales como cliente y como servidor en Oracle OCI.
-
Un CPE configurado como Libreswan con IP pública 143.47.x.x.
-
ECMP ha activado Oracle Linux 8 y OCI.
Tarea 1: Configurar valores de OCI
Para este tutorial, hemos creado una instancia de VM de Oracle Linux 7 e instalado Libreswan 3.25. Para instalar Libreswan en Linux, puede seguir la siguiente documentación de Oracle: Acceso a otras nubes con Libreswan. Puede instalar Libreswan en el entorno que desee. Para este tutorial, hemos elegido otra región remota en OCI como cliente de Libreswan e iniciador de túnel.
Una vez que haya instalado Libreswan (sin configurarlo aún), tenga en cuenta la IP pública de la máquina virtual de Linux 7, así como el rango privado de IPv4 CIDR en el que instaló Libreswan.
Ahora, vamos a configurar los valores de OCI
-
Conéctese a la consola de OCI y vaya al separador Red para crear VCN1 y VCN2, de la siguiente forma: Cree la VCN.
-
Cree VCN1 con CIDR 10.0.0.0/16 y dos subredes: subred A 10.0.1.0/24 y subred B 10.0.0.0/24.
-
Cree VCN2 con CIDR 172.20.0.0/16 y dos subredes: subred C 172.20.1.0/24 y subred D 172.20.2.0/24.
-
Cree máquinas virtuales en las subredes de destino en OCI para probar los túneles IPSec. En este tutorial hemos creado 3 máquinas virtuales (origin1, origin2 y origin3).
-
Ahora vamos a crear un DRG, en Red, Conectividad de cliente, Gateways de enrutamiento dinámico.
-
Una vez creado el DRG, deberá crear una asociación de red virtual en la nube tanto con VCN1 como con VCN2.
-
Una vez creadas, tendremos dos asociaciones de red (una por VCN) que conectarán ambas VNIC al DRG con una tabla de enrutamiento de DRG AutoGenerated para las asociaciones de VCN (tabla de enrutamiento RT2 en la arquitectura principal).
-
En esta tabla de enrutamiento se indica al DRG dónde enviar/enrutar el tráfico entrante desde las redes virtuales que se acaban de asociar: cualquier tráfico desviado a "CIDR de destino" se enviará a "Asociación de siguiente salto" de la siguiente manera:
-
Más adelante, al crear túneles IPSec, tendremos una tabla de enrutamiento generada automáticamente similar para el tráfico entrante desde la ubicación local mediante el túnel IPSec.
-
-
Ahora, vamos a crear la conectividad IPSec. Antes de crear IPSec, tendremos que crear el equipo local de cliente (CPE), que representa el dispositivo local que se conecta a OCI a través de IPSec, en Red, Conectividad de cliente, Equipo local de cliente, Crear CPE:
-
X.X.X.X debe ser la dirección IP PÚBLICA desde la que se conecta el dispositivo local. NO confunda con la dirección IP privada asignada a la máquina Oracle Linux de Libreswan que instaló en pasos anteriores. Muy probablemente su máquina virtual de Oracle Linux esté detrás de NAT (sin tener directamente la IP pública). Si no conoce la dirección IP pública, siempre puede ejecutar el siguiente comando desde la consola de Linux para averiguar:
curl ifconfig.co
. -
Para este tutorial, seleccione Vendor Libreswan versión 3.18 o posterior.
-
-
Vaya a Redes, Conectividad de cliente, VPN de sitio a sitio, Crear conexión IPSec y proporcione los siguientes detalles.
Nota: Puede utilizar el asistente de VPN, pero está fuera del ámbito de este tutorial.
-
Nombre de la configuración de IPSec
-
Crear en compartimento: compartimento
-
Equipo local de cliente en su compartimento: seleccione el CPE que ha creado en el paso anterior
- Este CPE está detrás de un dispositivo NAT: esto afectará directamente a cómo se "presentará" el ID de Internet Key Exchange (IKE) a OCI desde entornos locales. Suponiendo que Libreswan se está ejecutando detrás de NAT, si desea utilizar la IP privada desde la que Libreswan se está ejecutando como ID de IKE, marque esta opción. De lo contrario, si desea utilizar la IP pública desde la que se conecta Libreswan, no marque esta opción. Configuraremos este ID de IKE más adelante desde la configuración de Libreswan.
-
Compartimento de gateway de enrutamiento dinámico: seleccione el DRG que ha configurado en pasos anteriores.
-
Rutas a su red local: el enrutamiento dinámico está fuera del ámbito de este tutorial. Nos centraremos en ECMP para el equilibrio de carga y la redundancia mediante la configuración IPSec basada en rutas. Agregaremos aquí manualmente/estáticamente las rutas/CIDRS locales a las que deseamos poder acceder desde OCI a las ubicaciones locales. Para este tutorial utilizaremos 192.168.0.0/16 como CIDR local.
-
Túnel 1:
- Nombre
- Proporcionar secreto compartido del cliente: puede utilizar su propia clave compartida previamente de IKE (contraseña) o dejarla en blanco para que OCI elija una (la usaremos más adelante durante la configuración de Libreswan)
- Versión de IKE: para este tutorial utilizaremos IKEv1
- Tipo de enrutamiento: para este tutorial utilizaremos el enrutamiento estático para la configuración de IPSec basada en rutas; por lo tanto, seleccione "Enrutamiento estático"
- IPv4 dentro de la interfaz de túnel - CPE y Oracle: deje esta opción en blanco
- Direccionamiento IPv6: déjelo en blanco, ya que IPv6 está fuera de ámbito en este tutorial
-
Túnel 2: Rellene el túnel 2 exactamente de la misma manera que el túnel 1 (versión IKE, tipo de enrutamiento, etc.).
-
-
Haga clic en Crear conexión IPSec. Si todo va bien, después de algunos minutos debe tener una configuración IPSec en ejecución con dos túneles para la redundancia.
-
Ahora que tenemos el DRG y IPSec en su lugar, tenemos que asegurarnos de que todo el tráfico desde las redes virtuales de OCI hacia las ubicaciones locales vaya al DRG. Una vez que el tráfico llegue a DRG, será túnel hacia las instalaciones mediante los dos túneles IPSec configurados recientemente. Para ello, necesitamos agregar el CIDR local como una regla de ruta para cada tabla de rutas de subred de la VCN (seleccionamos la tabla de rutas por defecto en el tutorial), el tipo de destino Gateway de enrutamiento dinámico, el tipo de destino Bloque de CIDR y, a continuación, agregar la ruta local, en este caso 192.168.0.0/16.
Nota: El motivo por el que necesitamos agregar esta ruta es que OCI no tiene un enrutamiento implícito para direcciones CIDR fuera del dominio de VCN. Como resultado, debemos agregar manualmente el bloque CIDR para garantizar que el tráfico llegue al DRG.
-
Tarea 2: Configuración de los valores de Linux y Libreswan
Esta parte del tutorial se centrará en los pasos de configuración del sistema operativo Linux y Libreswan. El Libreswan que hemos instalado anteriormente actuará como iniciador de túnel de sitio a sitio y DRG de OCI como responsable de respuesta de túnel.
-
Acceda a su sistema operativo Oracle Linux mediante SSH. Aumente los privilegios para ejecutar comandos importantes (admin).
-
sudo su
: se convertirá en usuario raíz. -
Asegúrese de que Libreswan esté instalado con la versión correcta: ipsec -version. Debe ver la versión 3.25 o superior de Libreswan. Si no es así, vaya a Tarea 1: configuración de OCI Settings y siga las instrucciones para instalar Libreswan.
-
Vaya a la carpeta config:
cd /etc
. -
Libreswan almacena toda la configuración de túneles en el archivo
ipsec.conf
. Utilice su editor de archivos favorito. "vi" es una buena opción:vi ipsec.conf
-
Libreswan ipsec.conf:
-
conn [TunnelName1}: Nombre de túnel
-
type= túnel (modo de túnel)
-
authby=secret (la autenticación utilizará una frase de contraseña secreta)
-
pfs=yes (Perfectward secrecy enabled)
-
keyexchange=ike
-
leftid= n.n.n.n (Esta es la dirección IP pública desde la que se conecta Libreswan. Se utilizará como identificador de ID de IKE, a menos que haya seleccionado la opción 'CPE is detrás de NAT' durante la creación de IPSec. En ese caso, cualquier dirección IP o nombre de dominio totalmente cualificado (FQDN) se puede establecer como identificador)
-
leftsourceip= m.m.m.m (Esta es la IP privada asignada a Libreswan, es decir, 192.168.1.1)
-
leftsubnet= x.x.x.x/x (Este es el bloque de CIDR asignado a Libreswan, es decir, 192.168.0.0/16)
-
right= y.y.y.y (Esta es la dirección IP "pública" de la VPN de OCI asignada a tunnel1 durante la creación de IPSec en Red, conectividad del cliente, VPN de sitio a sitio, YourIPSEC)
-
rightid= y.y.y.y (Este es el ID de IKE enviado desde OCI. Normalmente es la dirección IP "pública" de la VPN de OCI, normalmente el mismo parámetro que el derecho)
-
leftsubnet=0.0.0.0/0 (Este es el bloque CIDR que se enviará a OCI como parte del protocolo Internet Key Exchange (IKEv2) de negociación del selector de tráfico de SA 2.2.9. Esto NO significa que todo el tráfico de OCI se enrutará a entornos locales. En su lugar, lo que hace este bloque CIDR es determinar qué tráfico específico se aceptará, cifrará y tunelizará a través del túnel IPSec. El túnel IPSec descrito aquí estará representado por una interfaz virtual denominada interfaz de túnel virtual (VTI), que actúa como una interfaz de red virtual (como una tarjeta de red virtual) que representa el propio túnel. Digamos que la VTI se llama vti01. Cualquier tráfico que se enrute hacia la interfaz vti01 pasará a formar parte del túnel IPSec y se enviará de forma segura al otro extremo de la conexión. Este enfoque, donde las decisiones de enrutamiento se toman en función del túnel IPSec específico y su VTI asociada, se conoce como enrutamiento basado en rutas IPSec)
-
rightsubnet=0.0.0.0/0 (Igual que antes para el tráfico aceptado en OCI desde entornos locales)
-
mark=n/0xffffffffff (*opción necesaria para usar con interfaces VTI con el fin de marcar paquetes encapsulados dentro del túnel IPSec asociado a esta interfaz VTI. Debe ser único en todos los túneles, es decir, 5/0xffffffff*)
-
vti-interface=vtinn (*nombre de la interfaz VTI, es decir, vti01*)
-
vti-routing=no (si las rutas se deben crear automáticamente en el dispositivo VTI). Seleccione NO, ya que no queremos crear la ruta 0.0.0.0/0 automáticamente)
-
encapsulation= yes/auto (sí fuerza al código de detección NAT a que se acople e indique al par remoto que la encapsulación RFC-3948 (ESP en el puerto 4500 paquetes UDP). Auto forzará la detección automática de NAT
-
aggrmode= no
-
ike=aes_cbc256-sha2_384;modp1536 (algoritmo de cifrado/autenticación IKE que se utilizará para la conexión (fase 1, también conocida como SA ISAKMP). El formato es "cipher-hash;modpgroup, cipher-hash;modpgroup, ...)
-
esp=aes_gcm256;modp1536 (Especifica los algoritmos que se ofrecerán/aceptarán para una negociación de SA secundaria. El formato de ESP es ENC-AUTH seguido de un PFSgroup opcional. Por ejemplo, "aes_gcm256" o "aes256-sha2_512-dh14" o "aes-sha2_512+sha2_256")
-
ikev2= no (Para utilizar IKEv2, cambie a ikev2=insist)
-
-
-
Vaya a la carpeta config:
cd /etc/ipsec.d
. -
Libreswan almacena todos los túneles comparten secretos (contraseñas) en el archivo
shared.secrets
.-
Formato shared.secrets de Libreswan: leftid right : PSK "secret"
-
leftid: ID de IKE configurado en IPSec.conf (leftid). Normalmente, la dirección IP pública de Libreswan.
-
right: dirección IP pública del túnel de OCI.
-
"secret": secreto/contraseña compartidos del túnel actual configurados en OCI. Puede obtener esta información de la consola de OCI en Redes, conectividad de cliente, VPN de sitio a sitio, YourIPSEC, TunnelName, información de túnel, secreto compartido, Mostrar.
-
-
-
-
Para este tutorial, hemos creado los siguientes elementos
ipsec.conf
yshared.secrets
(las IP públicas están ocultas):ipsec.conf
shared.secrets
-
Ahora, vamos a intentar establecer los dos túneles de alta disponibilidad en OCI.
-
Reinicie el servicio de Libreswan: como usuario root, ejecute
ipsec restart
. Si todo va bien no se mostrarán errores, de lo contrario verá algo así:Fallo en el trabajo para ipsec.service porque el proceso de control ha salido con código de error. Consulte "systemctl status ipsec.service" y "journalctl -xe" para obtener más información.
-
Ahora vamos a comprobar el estado actual de los túneles IPSec: ejecute
ipsec status
. Verá mucha información sobre los túneles actuales configurados alrededor de ESP(plano de datos) e IKE(plano de señalización), subredes permitidas, etc. Por ahora, nos centraremos en la lista de conexiones.Lista de conexiones 000:
000
000 Total de conexiones IPSec: *cargado 0, activo 0
-
Actualmente no hay ninguna configuración de túnel cargada, ninguna activa.
-
Ejecute
ipsec auto --add ConnName1
, es decir,ipsec auto --add home_liftvti
.- 002 ha agregado la descripción de conexión "home_liftvti" <- Ahora la conexión está "cargada" pero aún no está activa. Compruébelo con el estado ipsec.
-
Ejecute
ipsec auto --up ConnName1
para iniciar el túnel 1, es decir,ipsec auto --up home_liftvti
. Si todo va bien, verá IPSec SA estableció el modo de túnel; de lo contrario, verá diferentes errores IKE/IPSec que deberá solucionar. -
Ahora se activa para el segundo túnel: ejecute ipsec auto -add ConnName2, es decir, ipsec auto -add home_liftvti2
- 002 ha agregado la descripción de conexión "home_liftvti2" <- Ahora la conexión está "cargada" pero aún no está activa. Compruébelo con el estado de ipsec
-
Ejecute ipsec auto-up ConnName2 para iniciar el túnel 1, es decir, ipsec auto-up home_liftvti2. Si alguna vez va bien, verá "IPSec SA establecido modo túnel", de lo contrario verá diferentes errores IKE/IPSec que necesitará para solucionar problemas
-
Tarea 3: Configurar el enrutamiento de IP y el tráfico de túnel
Esta parte del tutorial se centrará en el enrutamiento de IP y el tráfico de túnel.
-
Ahora que ambos túneles están activos y en ejecución, intentemos hacer ping en alguna máquina de OCI desde Libreswan para probar túneles. Por ejemplo, haga ping en origin1 con IP 10.0.0.109. Verá que fallará.
PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 10.0.0.109 ping statistics 26 packets transmitted, 0 received, 100% packet loss,
-
Puede que se pregunte por qué no funciona, aunque los túneles IPSec estén activos y en ejecución en OCI. La respuesta es que los dos túneles que hemos establecido en OCI están "basados en rutas" y cada túnel está representado por una interfaz virtual (VTI). Puede ver cada VTI como una tarjeta de interfaz de red virtual (NIC) que representa un túnel IPSec. Cualquier tráfico encaminado a la VTI se encapsula mediante el protocolo ESP (Encapsulating Security Payload) y se envía al otro extremo del túnel. La VTI actúa como una puerta de enlace para el tráfico que se debe proteger y transmitir a través del túnel IPSec.
-
En nuestro escenario de prueba, tenemos dos interfaces VTI, vti01 y vti02, cada una de las cuales representa home_liftvti y home_liftvti02 en el DRG de OCI. Puede verlos fácilmente ejecutando el comando de Linux
ifconfig
. -
Ahora todo lo que tenemos que hacer es agregar una ruta del sistema operativo Linux a esas interfaces VTI para garantizar que el tráfico llegue a OCI a través de los dos túneles. Tenga en cuenta que cualquier tráfico dirigido a una interfaz de VTI se encapsulará en su túnel asociado IPSec y se enrutará a OCI.
-
El comando para agregar la ruta tiene el siguiente formato:
ip route add {vcnCidrBlock} nexthop dev {vti1} weight {priority}nexthop dev {vti2} weight {priority}
` -
En nuestro caso de prueba, queremos poder llegar a OCI VCN1 con CIDR 10.0.0.0/16: ip route add 10.0.0.0/16 nexthop dev vti01 Peso 1 nexthop dev vti02 Peso 1
-
-
Ahora el ping debe funcionar inmediatamente.
ping 10.0.0.109 PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 64 bytes from 10.0.0.109: icmp_seq=1 ttl=61 time=29.0 ms 64 bytes from 10.0.0.109: icmp_seq=2 ttl=61 time=29.4 ms 64 bytes from 10.0.0.109: icmp_seq=3 ttl=61 time=29.0 ms
-
Ahora tenemos dos túneles trabajando.
Tarea 4: Configuración del equilibrio de carga y la redundancia de ECMP
Esta parte del tutorial se centrará en el equilibrio de carga y la redundancia de ECMP.
-
En este punto del tutorial, actualmente tenemos dos túneles IPSec establecidos y operativos con OCI. Ambos túneles utilizan la misma ruta hacia nuestra red local, como se especifica en nuestro caso de prueba 192.168.0.0/16.
-
Túnel 1 192.168.0.0/16 -> Local
-
Túnel 2 192.168.0.0/16 -> Local
-
-
Puesto que ambos túneles utilizan la misma ruta local (192.168.0.0/16), esta ruta se propagará al resto de las asociaciones de red de DRG para que otros elementos de red (VCN, subredes, etc.) puedan acceder a la ubicación local a través de IPSec. Como puede ver en la siguiente imagen, tendremos un conflicto en la ruta 192.168.0.0/16 que será el mismo para los dos túneles de seguridad de IP de la tabla de DRG generada automáticamente para las asociaciones de VCN.
-
Con esta configuración, utilizaremos solo un túnel e ignoraremos el otro. El objetivo de este tutorial es poder utilizar ambos túneles al mismo tiempo para lograr alta disponibilidad (activa/activa) y duplicar el rendimiento agregando el rendimiento de dos túneles. Aquí es donde entra en juego ECMP. Para activar ECMP, primero tendremos que activarlo en la tabla de DRG generada automáticamente para cada asociación de VCN: Red, Conectividad de cliente, Gateways de enrutamiento dinámico, DRGName, Detalles de la tabla de rutas de DRG, Botón Editar (debe hacerlo en cada tabla de asociación de DRG).
-
Verá que se resuelve el conflicto de rutas en la tabla de rutas de DRG generada automáticamente para las asociaciones de VCN.
-
Active ECMP en Linux y Libreswan. Para admitir el enrutamiento de rutas múltiples de igual costo (ECMP), Linux presenta la opción de política hash mediante
fib_multipath_hash_policy
, una nueva configuraciónsysctl
que controla qué política hash utilizar para rutas de rutas múltiples. Cuandofib_multipath_hash_policy
se establece en 1, el núcleo realiza el hash L4, que es un hash de rutas múltiples para los paquetes IPv4 según un conjunto de valores de 5 tuplas (IP de origen, puerto de origen, IP de destino, puerto de destino, tipo de protocolo IP). Cuandofib_multipath_hash_policy
se define en 0 (valor por defecto), solo se utiliza el hash L3 (direcciones IP de origen y destino). En la consola de Linux, como usuario root, ejecute:sysctl -w net.ipv4.fib_multipath_hash_policy=1
-
Ahora, tenemos ECMP activado en ambos extremos, por lo que ambos túneles se utilizarán en modo activo/activo, agregando un rendimiento total de dos túneles IPSec. Para nuestras pruebas, hemos utilizado el comando
iperf3
para inspeccionar el tráfico y hemos obtenido los siguientes resultados:From Libreswan: iperf3 -c 10.0.0.109 -b 1100Mb -P 8 -t 300 From OCI Origin1: iperf3 -s [SUM] 0.00-1.75 sec 249 MBytes 1.20 Gbits/sec 7122 sender
Enlaces relacionados
Acuses de recibo
Autores: Luis Catalán Hernández (especialista en redes de OCI en la nube y multinube), Antonio Gamir (especialista en redes de OCI en la nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Use Oracle Cloud Infrastructure Site-to-Site VPN service in HA mode with ECMP routing from Linux and Libreswan
F84216-01
July 2023
Copyright © 2023, Oracle and/or its affiliates.