Estendere una VLAN tra siti con WireGuard e VXLAN
Come si costruisce un'estensione Layer 2 con componenti Linux: WireGuard, VXLAN per VLAN, un bridge, MTU calcolata, BPDU filtrate solo sugli endpoint.

La parte più costosa di un cambio di fornitore raramente sono i server. Sono gli indirizzi: ogni record DNS, regola firewall, chiave di licenza e allow list di un partner che ha i vostri IP scritti dentro. Se la stessa VLAN può esistere in entrambi i posti mentre vi spostate, nulla di tutto questo deve cambiare. Ecco come si costruisce un'estensione Layer 2 da semplici componenti Linux, e cosa fare bene prima di affidarle il traffico di produzione.
Perché estendere
Cambiare indirizzi impone un cutover tutto in una volta: tutto si sposta in una notte, o niente. Una VLAN estesa lo trasforma in molti piccoli passi. Un server già spostato e un server non ancora spostato condividono una subnet e un gateway, così potete spostare un host, testarlo nella nuova casa e riportarlo indietro se qualcosa non va. Il costo è un tunnel temporaneo; il risparmio sono settimane di cambio indirizzi e una notte di cutover senza via di ritorno.
L'obiezione abituale è che il Layer 2 tra siti è fragile. Lo è, se costruito come un bridge piatto su internet. Costruito come overlay cifrato, per VLAN, che atterra in un fabric vero, è uno strumento di migrazione che si comporta bene.
I componenti
Quattro pezzi, tutti nel kernel Linux mainline:
- WireGuard per il percorso cifrato punto a punto tra i due endpoint. È piccolo, veloce e non ha quasi nulla da configurare male.
- VXLAN sopra WireGuard, un'interfaccia VXLAN per VLAN estesa, così ogni segmento resta separato dentro il tunnel.
- Un bridge Linux per VLAN, che unisce l'interfaccia VXLAN alla VLAN locale.
- Una sottointerfaccia VLAN sul trunk dell'endpoint verso lo switch locale.
Su ogni endpoint, per una VLAN, la forma è:
# encrypted underlay
ip link add wg0 type wireguard
wg setconf wg0 /etc/wireguard/wg0.conf
ip address add 10.255.0.1/30 dev wg0
ip link set wg0 up
# one VXLAN per stretched VLAN, unicast to the far end over the tunnel
ip link add vx210 type vxlan id 210 local 10.255.0.1 remote 10.255.0.2 dstport 4789
ip link add br210 type bridge
ip link add link eth1 name eth1.210 type vlan id 210
ip link set vx210 master br210
ip link set eth1.210 master br210
ip link set vx210 up; ip link set eth1.210 up; ip link set br210 up
Rendetelo persistente con NetworkManager o systemd-networkd una volta che funziona; la forma a comandi è il modo più chiaro per vedere i livelli.
Prima di tutto, fate bene l'MTU
Quasi ogni problema di tipo «pinga ma l'applicazione si blocca» su una VLAN estesa è l'MTU. Ogni livello aggiunge overhead:
- WireGuard aggiunge 60 byte su IPv4 (80 su IPv6).
- VXLAN aggiunge 50 byte (Ethernet esterno, IP, UDP e l'header VXLAN).
Con un percorso standard da 1500 byte tra i siti, un frame pieno da 1500 byte proveniente da un server non ci sta. Avete due opzioni oneste: alzare l'MTU del percorso di underlay (se il percorso in fibra ed entrambi i capi supportano i jumbo frame, questa è la risposta pulita), oppure abbassare l'MTU sul segmento esteso per la durata della migrazione. Ciò che non dovete fare è sperare che la frammentazione sistemi le cose. Testate con ping don't-fragment alla dimensione che vi aspettate:
ping -M do -s 1472 <host-on-far-side>
Mantenete intatta la protezione dai loop
Una VLAN estesa unisce due domini Layer 2, e la correzione tentatrice per le lamentele dello spanning tree è spegnere lo spanning tree sulla porta. Non fatelo. Filtrate le BPDU solo dove si attacca l'endpoint dell'estensione, così i due lati non fondono i loro domini di spanning tree, mentre ogni altra porta mantiene piena protezione dai loop. E non costruite mai due estensioni parallele per la stessa VLAN a meno che qualcosa non impedisca esplicitamente che siano attive entrambe insieme.
Fatela atterrare in un fabric vero
Sul lato ricevente, il trunk dell'endpoint dovrebbe atterrare su una normale porta switch del fabric, così la VLAN estesa diventa un segmento normale: stesso gateway, stesso dual-homing, stesso monitoraggio di qualsiasi segmento nativo. Se i vostri numeri di VLAN collidono con numeri già usati a destinazione, mappateli su un intervallo libero all'ingresso e tenete una tabella scritta della mappatura. In un fabric EVPN, derivate l'identificatore del segmento dal numero locale della destinazione, mai da quello dell'origine, così la regola di numerazione del fabric continua a valere.
Pianificate il throughput
Cifratura più incapsulamento è lavoro per la CPU, e un singolo tunnel su un dato endpoint ha un tetto di throughput fissato da quel lavoro. Basta e avanza per la maggior parte delle migrazioni, ma è un tetto reale. Misuratelo sul vostro hardware endpoint prima della migrazione con iperf3 attraverso il tunnel, vincolate gli interrupt e il lavoro del tunnel a un core dedicato, e decidete in anticipo a quale carico aggiungere un secondo tunnel su un secondo core e dividere le VLAN tra i due.
Un ordine di migrazione che funziona
- Costruite l'estensione e testatela con un host sacrificabile per lato.
- Verificate l'MTU end to end alla dimensione di frame piena.
- Spostate per primo un server a basso rischio. Controllate raggiungibilità del gateway, DNS, monitoraggio e backup dalla sua nuova casa.
- Spostate il resto in lotti che rispettino le dipendenze della vostra applicazione (le repliche di database prima dei primari, i worker prima dei front end).
- Spostate il gateway per ultimo, quando la maggior parte del traffico è locale al nuovo lato.
- Rimuovete l'estensione solo quando nulla sul vecchio lato risponde più sul segmento.
Prima di iniziare, controllate
- Il tunnel è cifrato end to end, non solo «su una linea privata»?
- Conoscete il tetto di MTU del percorso, misurato, non supposto?
- Il filtro delle BPDU è limitato alle porte dell'estensione?
- C'è una tabella scritta di mappatura delle VLAN?
- Avete un tetto di throughput misurato e un piano per quando lo superate?
Costruiamo queste estensioni tra i nostri siti e da qualsiasi località raggiungibile in fibra, così i clienti si spostano da noi senza cambiare indirizzi. Se state pianificando uno spostamento e volete che gli indirizzi restino dove sono, saremo lieti di pianificarlo con voi.
Related (rows[1])
Correlati: Spostatevi da noi senza cambiare indirizzi: estensione Layer 2 · Fabric del datacenter: EVPN/VXLAN su Cisco Nexus · Backbone cifrato multi-sito: la mesh DMVPN
Pubblicato il 1 settembre 2026.
Tutte le note dal campo