ECMP: bilanciamento del carico su più WAN con rotte a pari costo
Configura ECMP (Equal Cost Multi-Path) in RouterOS v7 per distribuire il traffico su più gateway ISP con la stessa distance, scegliendo la strategia di hash ottimale.
Cos'è ECMP e quando usarlo
ECMP (Equal Cost Multi-Path) permette a RouterOS di usare contemporaneamente più gateway per lo stesso prefisso di destinazione, distribuendo i flussi di traffico tra di essi. A differenza del failover (distance diverse), con ECMP entrambi i link ISP sono attivi in parallelo. È ideale quando si hanno due o più link con capacità simile e si vuole massimizzare la banda aggregata — scenario tipico di un WISP che combina due FTTH o due tratte radio verso il backbone.
Configurazione ECMP con due ISP
Per attivare ECMP è sufficiente aggiungere due rotte verso 0.0.0.0/0 con la stessa distance. RouterOS le raggruppa automaticamente in un gruppo ECMP e le identifica con il flag +.
# ISP1 e ISP2 con identica distance: ECMP automatico /ip/route/add dst-address=0.0.0.0/0 \ gateway=203.0.113.1 \ distance=1 \ check-gateway=ping \ comment="ISP1-ECMP" /ip/route/add dst-address=0.0.0.0/0 \ gateway=198.51.100.1 \ distance=1 \ check-gateway=ping \ comment="ISP2-ECMP" # Verificare: le rotte con flag '+' formano il gruppo ECMP /ip/route/print where dst-address=0.0.0.0/0 # Output atteso: flag "A S +" su entrambe le rotte
Strategia di hash: come vengono distribuiti i flussi
RouterOS usa una funzione di hash per assegnare ogni flusso a un gateway, in modo che i pacchetti di una stessa connessione seguano sempre lo stesso percorso (evitando il reordering che danneggerebbe TCP). La granularità si configura globalmente in /ip/settings:
- Layer3 (src+dst IP): tutti i flussi tra la stessa coppia di host vanno sullo stesso link. Stabile ma sbilanciato se pochi host generano molto traffico.
- Layer4 (src+dst IP + porte): distribuzione più fine perché distingue le singole connessioni. Migliore per molti flussi brevi (HTTP, DNS) tipici di una platea di clienti.
# Mostra le impostazioni IP correnti /ip/settings/print # Hash a livello Layer4 (src/dst IP + porte): distribuzione più uniforme /ip/settings/set route-cache=yes # Nota: la granularità ECMP (per-flow su src/dst, eventualmente con porte) # in RouterOS v7 è gestita dal forwarding; verifica la distribuzione reale # osservando il traffico sulle due WAN: /interface/monitor-traffic ether-wan1,ether-wan2
Alternativa: PCC (Per Connection Classifier) via mangle
Quando ECMP non basta (es. vuoi una distribuzione più controllata, o gli ISP hanno gateway che danneggiano l'hash), l'alternativa storica è il PCC: si marcano le connessioni con il mangle distribuendole su due routing mark in base a un hash di src/dst, poi si instradano con il policy routing. È più verboso ma dà controllo totale e si integra bene con il connection tracking.
# Marca le connessioni in ingresso dalla LAN, dividendole 2 vie /ip/firewall/mangle/add chain=prerouting in-interface=bridge-lan \ connection-state=new dst-address-type=!local \ per-connection-classifier=both-addresses:2/0 \ action=mark-connection new-connection-mark=wan1-conn passthrough=yes /ip/firewall/mangle/add chain=prerouting in-interface=bridge-lan \ connection-state=new dst-address-type=!local \ per-connection-classifier=both-addresses:2/1 \ action=mark-connection new-connection-mark=wan2-conn passthrough=yes # Trasferisci il mark di connessione in mark di routing /ip/firewall/mangle/add chain=prerouting connection-mark=wan1-conn in-interface=bridge-lan \ action=mark-routing new-routing-mark=to-wan1 passthrough=no /ip/firewall/mangle/add chain=prerouting connection-mark=wan2-conn in-interface=bridge-lan \ action=mark-routing new-routing-mark=to-wan2 passthrough=no # Default gateway per ciascuna routing mark (con check-gateway per il failover) /ip/route/add dst-address=0.0.0.0/0 gateway=203.0.113.1 routing-table=to-wan1 check-gateway=ping /ip/route/add dst-address=0.0.0.0/0 gateway=198.51.100.1 routing-table=to-wan2 check-gateway=ping
ECMP con check-gateway: failover integrato
Aggiungendo check-gateway=ping a entrambe le rotte ECMP, RouterOS rimuove automaticamente dal gruppo il gateway che non risponde, trasformando l'ECMP in failover automatico. Quando il link si ripristina, il gateway rientra nel gruppo ECMP.
Continua con
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