Retour à l'accueil

VXLAN MacSec : connectivité d'infrastructure entre DC

L'article décrit la configuration du tunnel VXLAN avec MacSec pour créer un réseau L2 sécurisé entre centres de données de différents fournisseurs. Commandes Linux, exemples tcpdump et mise à l'échelle jusqu'au troisième nœud sont fournis. Convient aux spécialistes intermédiaires/seniors.

Comment connecter des centres de données avec VXLAN + chiffrement MacSec
Advertisement 728x90

Connexion d'une infrastructure distribuée avec VXLAN et MacSec

Pour relier des machines virtuelles entre centres de données sans passer par Internet public, nous utilisons un tunnel VXLAN sécurisé par chiffrement MacSec. Cela offre une connectivité L2 avec un surcoût minimal. La configuration implique deux fournisseurs : DC1 (IP 192.0.2.135 sur eth0) qui héberge les bases de données et les sauvegardes, et DC2 (IP 198.51.100.75 sur ens1) qui fait tourner le site web et les sauvegardes.

Sur chaque nœud, nous créons une interface VXLAN avec VNI 1 et port UDP 4789. Les adresses MAC sont définies manuellement pour plus de prévisibilité.

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

Après attribution des IP (par ex. 10.255.255.1/2), testez la connectivité avec ping et SSH. Tcpdump affiche le trafic VXLAN encapsulant les paquets ICMP/TCP.

Chiffrement du trafic avec MacSec

Le VXLAN pur n'assure aucune confidentialité. MacSec (802.1AE) s'ajoute par-dessus pour un chiffrement L2 lié aux adresses MAC. Le surcoût est faible, et le trafic reste illisible même dans 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

Dans tcpdump, les paquets apparaissent comme des trames chiffrées 802.1AE avec PN et SCI. Le trafic interne (ICMP, TCP) reste masqué.

Google AdInline article slot

Avantages de MacSec par rapport à TLS :

  • Fonctionne au niveau L2.
  • Surcoût minimal.
  • Lié aux MAC sans protocoles supplémentaires.

Mise à l'échelle vers un troisième nœud

Pour ajouter un lab maison (DC3, IP 203.0.113.52 sur enp3s0 avec monitoring et sauvegardes), réutilisez le même VNI. Ajoutez des entrées FDB et des clés 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

Sur DC1 et DC2, ajoutez :

  • FDB pour 203.0.113.52.
  • Adresse RX de:ad:be:ef:00:03 avec clé 03.

Points clés

  • Connectivité L2 : VXLAN assure un réseau fluide entre fournisseurs sans NAT.
  • Chiffrement : MacSec sécurise le trafic au niveau liaison, masquant les charges utiles à tcpdump.
  • Évolutivité : Les nouveaux nœuds s'intègrent via entrées FDB et clés — pas besoin de recréer les tunnels.
  • Efficacité : Faible surcharge CPU/RAM par rapport à IPsec ou WireGuard.
  • Compatibilité : Fonctionne sur noyaux Linux 4.7+ (VXLAN) et 4.6+ (MacSec).

— Editorial Team

Advertisement 728x90

Lire ensuite