Guida MikroTik
RoutingAvanzato

VRF in RouterOS v7: routing virtuale isolato per multi-tenant e MPLS VPN

Configura VRF (Virtual Routing and Forwarding) in RouterOS v7 per isolare tabelle di routing per clienti o servizi diversi, con uso in contesto MPLS BGP VPN e assegnazione interfacce.

Cos'è VRF e quando usarlo

VRF (Virtual Routing and Forwarding) crea istanze di routing completamente isolate sullo stesso router fisico. Ogni VRF ha la propria tabella di routing, indipendente dalle altre e dalla main. È essenziale per: separare il traffico di clienti diversi su un PE router MPLS, isolare la rete di management out-of-band, implementare L3VPN BGP. Due VRF possono persino usare lo stesso spazio di indirizzamento (es. due clienti entrambi su 192.168.1.0/24) senza conflitti, perché le tabelle sono separate.

Creare e configurare un VRF
# 1. Creare il VRF e assegnargli un'interfaccia
/ip/vrf/add name=cliente-A interfaces=ether3

# 2. Assegnare un IP all'interfaccia: la connected va automaticamente nel VRF
/ip/address/add address=10.100.1.1/24 interface=ether3

# 3. Rotta statica nel VRF (nota la sintassi gateway@vrf per il next-hop)
/ip/route/add \
  dst-address=0.0.0.0/0 \
  gateway=10.100.1.254%cliente-A \
  routing-table=cliente-A \
  comment="Default GW per cliente A"

# 4. Verificare le rotte del VRF
/ip/route/print where routing-table=cliente-A
L'ordine dei VRF conta: se la VRF main ha interfaces=all, i VRF figli definiti dopo potrebbero non ricevere le interfacce. Verifica con /ip/vrf/print e, se serve, riordina con /ip/vrf/move. Assegna sempre interfacce ESPLICITE ai VRF cliente, mai 'all'.

VRF con BGP per L3VPN (MPLS)

Nel contesto MPLS L3VPN, ogni VRF cliente è associato a un Route Distinguisher (RD) che rende univoci i prefissi anche quando più clienti usano lo stesso spazio di indirizzi. I Route Target (RT) controllano quali prefissi vengono importati/esportati tra VRF tramite BGP VPNv4. È l'architettura standard dei carrier per offrire VPN L3 a più clienti su un'unica infrastruttura.

VRF con BGP VPNv4 (PE router)
# Associare RD e RT al VRF cliente
/routing/bgp/vpn/add \
  vrf=cliente-A \
  label-allocation-policy=per-vrf \
  route-distinguisher=65001:100 \
  import.route-targets=65001:100 \
  export.route-targets=65001:100

# Sessione iBGP VPNv4 verso l'altro PE (address-family vpnv4)
/routing/bgp/connection/add \
  name=ibgp-vpnv4 \
  instance=bgp-main \
  remote.address=10.255.0.2 \
  local.role=ibgp \
  address-families=vpnv4

# Verificare le rotte VPNv4 ricevute
/ip/route/print where afi=vpnv4

Route leaking tra VRF

Per permettere comunicazione controllata tra VRF diversi (es. un VRF cliente che deve raggiungere un DNS/NTP in un VRF shared-services) si usa il route leaking: rotte statiche con la notazione gateway@altro-vrf. Permette traffico selettivo senza unire completamente i VRF.

Route leaking tra VRF
# Permettere a cliente-A di raggiungere il DNS nel VRF shared-services
/ip/route/add \
  dst-address=172.16.0.0/24 \
  gateway=172.16.0.1%shared-services \
  routing-table=cliente-A \
  comment="DNS/NTP shared accessibili da cliente-A"
Il route leaking rompe l'isolamento per definizione: ogni rotta 'trapelata' è una breccia controllata. Documenta sempre quali prefissi condividi e perché. In contesti carrier/MSSP preferisci l'architettura BGP VPNv4 con RT import/export, che è scalabile e auditabile, rispetto al leaking manuale che diventa ingestibile su molti VRF.
VRFvirtual routingrouting isolationMPLS VPNL3VPNmulti-tenantip vrfroute distinguisherroute targetBGP VPNroute leakingvpnv4

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