Volver al inicio

VXLAN MacSec: conectividad de infraestructura entre DC

El artículo describe la configuración de túnel VXLAN con MacSec para crear una red L2 segura entre centros de datos de diferentes proveedores. Comandos de Linux, ejemplos de tcpdump y escalado al tercer nodo. Adecuado para especialistas intermedios/senior.

Cómo conectar centros de datos con VXLAN + cifrado MacSec
Advertisement 728x90

Conectar infraestructuras distribuidas con VXLAN y MacSec

Para enlazar máquinas virtuales entre centros de datos sin usar internet público, empleamos un túnel VXLAN protegido con cifrado MacSec. Esto proporciona conectividad L2 con un overhead mínimo. La configuración involucra dos proveedores: DC1 (IP 192.0.2.135 en eth0) con bases de datos y copias de seguridad, y DC2 (IP 198.51.100.75 en ens1) que ejecuta el sitio web y copias de seguridad.

En cada nodo, creamos una interfaz VXLAN con VNI 1 y puerto UDP 4789. Las direcciones MAC se configuran manualmente para mayor predictibilidad.

DC1:

Google AdInline article slot
sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev eth0
sudo ip link set vxlan0 up
sudo ip link set vxlan0 address de:ad:be:ef:00:01
sudo bridge fdb append to 00:00:00:00:00:00 dst 198.51.100.75 dev vxlan0

DC2:

sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev ens1
sudo ip link set vxlan0 up
sudo ip link set vxlan0 address de:ad:be:ef:00:02
sudo bridge fdb append to 00:00:00:00:00:00 dst 192.0.2.135 dev vxlan0

Tras asignar IPs (p. ej., 10.255.255.1/2), prueba la conectividad con ping y SSH. Tcpdump muestra el tráfico VXLAN encapsulando paquetes ICMP/TCP.

Cifrar el tráfico con MacSec

El VXLAN simple no ofrece confidencialidad. MacSec (802.1AE) se superpone para cifrado L2 vinculado a direcciones MAC. El overhead es bajo y el tráfico resulta ilegible incluso en tcpdump.

Google AdInline article slot

DC1:

sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1 sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip address add 192.168.255.1/24 dev macsec0

DC2:

sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1 sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip address add 192.168.255.2/24 dev macsec0

En tcpdump, los paquetes aparecen como tramas cifradas 802.1AE con PN y SCI. El tráfico interno (ICMP, TCP) permanece oculto.

Google AdInline article slot

Ventajas de MacSec sobre TLS:

  • Opera a nivel L2.
  • Overhead mínimo.
  • Vinculado a MAC sin protocolos adicionales.

Escalar a un tercer nodo

Para añadir un laboratorio casero (DC3, IP 203.0.113.52 en enp3s0 con monitoreo y copias de seguridad), reutiliza el mismo VNI. Agrega entradas FDB y claves MacSec RX/TX.

DC3:

sudo ip link add vxlan0 type vxlan id 1 dstport 4789 dev enp3s0
sudo ip link set vxlan0 up
sudo bridge fdb append to 00:00:00:00:00:00 dst 198.51.100.75 dev vxlan0
sudo bridge fdb append to 00:00:00:00:00:00 dst 192.0.2.135 dev vxlan0
sudo ip link add link vxlan0 macsec0 type macsec encrypt on
sudo ip macsec add macsec0 tx sa 0 pn 1 on key 03 abcdef0123456789abcdef0123456789
sudo ip link set macsec0 up
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:01 port 1 sa 0 pn 1 on key 01 0123456789abcdef0123456789abcdef
sudo ip macsec add macsec0 rx address de:ad:be:ef:00:02 port 1 sa 0 pn 1 on key 02 fedcba9876543210fedcba9876543210
sudo ip address add 192.168.255.3/24 dev macsec0

En DC1 y DC2, agrega:

  • FDB para 203.0.113.52.
  • Dirección RX de:ad:be:ef:00:03 con clave 03.

Lecciones clave

  • Conectividad L2: VXLAN ofrece redes fluidas entre proveedores sin NAT.
  • Cifrado: MacSec protege el tráfico en la capa de enlace, ocultando cargas de tcpdump.
  • Escalabilidad: Nuevos nodos se unen agregando entradas FDB y claves, sin reconstruir túneles.
  • Eficiencia: Bajo consumo de CPU/RAM frente a IPsec o WireGuard.
  • Compatibilidad: Funciona en kernels Linux 4.7+ (VXLAN) y 4.6+ (MacSec).

— Editorial Team

Advertisement 728x90

Leer después