Policy Routing: routing table multiple, mangle mark-routing e routing rules
Implementa il policy routing in RouterOS v7 usando /routing/table per creare tabelle custom, mangle con action=mark-routing per marcare i flussi e routing rules per instradare traffico specifico su ISP dedicati.
Cos'è il policy routing e quando serve
Il policy routing (PBR, Policy-Based Routing) consente di instradare il traffico in base a criteri diversi dalla sola destinazione: sorgente IP, interfaccia di ingresso, protocollo, porta, o qualsiasi campo del pacchetto. Caso d'uso tipico WISP: far uscire tutto il traffico di una certa VLAN cliente dal ISP2 dedicato, mentre il resto usa ISP1.
Passo 1: creare la routing table custom
In RouterOS v7 le tabelle di routing si gestiscono nel menu /routing/table. Il sistema include sempre la tabella main. Ogni tabella custom può avere il proprio set di rotte indipendente. Il flag fib indica che la tabella ha una propria FIB (necessario per il forwarding).
# Crea la tabella custom per ISP2 /routing/table/add name=isp2-table fib # Aggiungi il default gateway ISP2 nella tabella custom /ip/route/add dst-address=0.0.0.0/0 \ gateway=198.51.100.1 \ routing-table=isp2-table \ comment="Default via ISP2 (policy routing)" # IMPORTANTE: la tabella main deve avere una rotta che risolva # il gateway ISP2 (solitamente già presente come rotta connected)
Passo 2: marcare il traffico con mangle
Il firewall mangle (chain prerouting o output) usa action=mark-routing per taggare i pacchetti con un nome di routing mark. Questo mark viene poi usato per selezionare la tabella di routing. La chain prerouting intercetta il traffico in ingresso (da LAN verso WAN); output intercetta il traffico generato dal router stesso.
# Marca tutto il traffico proveniente da 10.20.0.0/24 (VLAN cliente speciale) # perché esca da ISP2 /ip/firewall/mangle/add \ chain=prerouting \ src-address=10.20.0.0/24 \ action=mark-routing \ new-routing-mark=isp2-table \ passthrough=yes \ comment="VLAN-speciale -> ISP2" # Marca traffico verso un server specifico (es. backup cloud) via ISP2 /ip/firewall/mangle/add \ chain=prerouting \ dst-address=203.0.113.50 \ action=mark-routing \ new-routing-mark=isp2-table \ passthrough=yes \ comment="Backup cloud -> ISP2"
Passo 3: routing rules (alternativa al mangle)
Le routing rules in /routing/rule sono un meccanismo alternativo al mangle, più semplice per casi basati su IP sorgente/destinazione o interfaccia. La priorità di default è: mangle prima, poi routing rules. Le azioni disponibili sono lookup (usa la tabella, poi fallback a main), lookup-only-in-table (usa solo quella tabella, senza fallback) e drop.
# Tutto il traffico da 10.20.0.0/24 usa isp2-table (senza fallback) /routing/rule/add \ src-address=10.20.0.0/24 \ action=lookup-only-in-table \ table=isp2-table \ comment="VLAN speciale -> ISP2" # Visualizzare le regole attive /routing/rule/print # Ordine di lookup (default): mangle, vrf-lookup, vrf-unreach, local, user, main /routing/settings/print
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