Guida MikroTik
Interfacce, switching e VLANIntermedio

Bonding e LACP 802.3ad: aggregazione di link Ethernet

Come configurare il bonding in RouterOS v7 per aggregare più porte fisiche: modalità LACP (802.3ad), balance-xor e active-backup, monitoraggio link, hash policy e utilizzo con bridge.

Il bonding permette di raggruppare più interfacce fisiche in una singola interfaccia logica per ottenere maggiore banda aggregata (load balancing) e/o ridondanza (failover). RouterOS v7 supporta diverse modalità; le più usate in contesti WISP/ISP sono 802.3ad (LACP), balance-xor e active-backup.

Il malinteso più comune: 2x1G non fa 2 Gbps a flusso singolo

Un LAG distribuisce i FLUSSI sulle porte in base a un hash (MAC/IP/porte). Un singolo trasferimento TCP (es. un client che scarica un file) viaggia su UN solo membro: 2x1G non danno 2 Gbps a quel client, ma 1 Gbps. Il guadagno c'è con MOLTI flussi concorrenti (tanti clienti). Per questo la scelta della transmit-hash-policy è cruciale: deve includere abbastanza entropia (IP+porte) per spalmare bene i flussi.

ModalitàRichiede LACP sullo switchBandaFailoverUso tipico
802.3ad (LACP)Aggregata (per flusso)Uplink verso switch managed
balance-xorNo (LAG statico)Aggregata (per flusso)Switch senza LACP
active-backupNo1 linkSì (puro)Ridondanza uplink critica
balance-rrNoAggregata (per pacchetto)Link diretti RB-RB (out-of-order!)
Modalità di bonding e quando usarle

LACP 802.3ad: negoziazione dinamica

LACP (Link Aggregation Control Protocol) è la modalità standard IEEE: i due estremi si accordano dinamicamente su quali porte includere nel gruppo (LAG). Richiede supporto LACP sullo switch/router connesso all'altro capo. È la scelta migliore in produzione perché rileva attivamente membri morti (anche con link 'up' ma non funzionante).

Configurazione LACP 802.3ad tra due interfacce
# Creare l'interfaccia bonding in modalita LACP
/interface/bonding
add name=bond-uplink \
    mode=802.3ad \
    slaves=ether1,ether2 \
    lacp-mode=active \
    lacp-rate=30secs \
    transmit-hash-policy=layer-3-and-4 \
    mtu=1500 \
    comment="Uplink aggregato 2x1Gbps"

# Assegnare IP al bond (non alle porte fisiche!)
/ip/address
add address=10.0.0.1/30 interface=bond-uplink

Balance-xor: LAG statico senza LACP

Bonding balance-xor (LAG statico, no LACP)
# Utile quando lo switch upstream non supporta LACP
/interface/bonding
add name=bond-lan \
    mode=balance-xor \
    slaves=ether3,ether4 \
    transmit-hash-policy=layer-2-and-3 \
    comment="LAG statico verso switch core"

Active-backup: failover puro

Bonding active-backup per alta disponibilità
# ether5 è primario, ether6 entra solo se ether5 cade
/interface/bonding
add name=bond-ha \
    mode=active-backup \
    slaves=ether5,ether6 \
    primary=ether5 \
    link-monitoring=mii \
    mii-interval=100ms \
    comment="Uplink ridondato failover"

Monitoraggio link: MII vs ARP

link-monitoring=mii rileva il link fisico (carrier) tramite l'interfaccia del kernel — rapido e affidabile per rilevare cavi scollegati. link-monitoring=arp invia probe ARP verso un IP target: più preciso in scenari dove il link fisico è su ma il percorso non funziona (es. uplink fiber con ottica difettosa o media converter che tiene il carrier su).

ARP monitoring su bond uplink
# ARP monitoring: prova a raggiungere il gateway 10.0.0.2
/interface/bonding
set bond-uplink \
    link-monitoring=arp \
    arp-ip-targets=10.0.0.2 \
    arp-interval=100ms

# Monitorare lo stato del bond e dei singoli slave
/interface/bonding/monitor bond-uplink
/interface/bonding/monitor-slaves bond-uplink

Bonding nel bridge con hardware offload

Un'interfaccia bonding può essere aggiunta al bridge come una qualunque porta fisica. Su dispositivi con chip compatibili (Marvell Prestera, CRS series), il bonding 802.3ad e balance-xor beneficiano di hardware offload. L'interfaccia bond va aggiunta con hw=yes al bridge.

Bond come porta di un bridge VLAN
# Aggiungere il bond al bridge esistente come trunk tagged
/interface/bridge/port
add bridge=bridge1 interface=bond-uplink \
    frame-types=admit-only-vlan-tagged \
    hw=yes

# Aggiornare la VLAN table per includere bond-uplink
/interface/bridge/vlan
set [find vlan-ids=10] tagged="ether1,bond-uplink,bridge1"
set [find vlan-ids=20] tagged="ether1,bond-uplink,bridge1"
BEST PRACTICE: usa sempre transmit-hash-policy=layer-3-and-4 in LACP o balance-xor su uplink IP (routing). Usa layer-2-and-3 per link verso switch L2. La policy layer-2 pura non distribuisce traffico se c'è un solo MAC sorgente dominante (es. router con NAT).
EVITA balance-rr in produzione: distribuisce per pacchetto e causa riordino (out-of-order) che fa crollare TCP. Ha senso solo su link diretti punto-punto tra due RouterBoard con buffer adeguati, mai verso uno switch.
bondingLACP802.3adaggregazione linkLAGactive-backupbalance-xortransmit-hash-policylink aggregationalta disponibilitàbond

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS