Guida MikroTik
RoutingIntermedio

OSPF in RouterOS v7: instance, area, interface-template e redistribuzione

Configura OSPF v2 (IPv4) e v3 (IPv6) in RouterOS v7 tramite instance, area e interface-template. Tipi di rete, costo, DR/BDR election, stub area e redistribuzione di rotte statiche.

Architettura OSPF in RouterOS v7

OSPF è un protocollo IGP link-state: ogni router costruisce una mappa completa della rete (LSDB) e calcola i percorsi ottimali con l'algoritmo Dijkstra (SPF). Per un WISP è lo strumento naturale per far parlare i router dei vari POP/BTS senza dover mantenere a mano decine di rotte statiche: aggiungi una subnet a un POP e tutti gli altri la imparano automaticamente. In RouterOS v7 la configurazione è organizzata in tre livelli gerarchici: instanceareainterface-template. L'instance definisce il processo OSPF; l'area raggruppa i router; l'interface-template associa interfacce o reti all'area.

Configurazione OSPF v2 completa (IPv4)
# 1. Creare l'istanza OSPF v2
/routing/ospf/instance/add \
  name=ospf-v2 \
  version=2 \
  router-id=10.0.0.1 \
  redistribute=connected,static \
  in-filter=ospf-in out-filter=ospf-out

# 2. Creare l'area backbone (obbligatoria, area-id 0.0.0.0)
/routing/ospf/area/add \
  name=backbone \
  area-id=0.0.0.0 \
  instance=ospf-v2

# 3a. Aggiungere interfacce per RETE (tutte le interfacce con IP in quella subnet)
/routing/ospf/interface-template/add \
  networks=10.0.0.0/24 \
  area=backbone \
  cost=10 \
  type=broadcast

# 3b. Oppure per INTERFACCIA specifica (link verso un POP remoto)
/routing/ospf/interface-template/add \
  interfaces=ether2 \
  area=backbone \
  cost=100 \
  type=ptp \
  comment="Link punto-punto verso POP-2"
router-id univoco e stabile: usa l'IP di una loopback (bridge senza porte con un /32) come router-id. Se lo lasci scegliere a RouterOS prenderà un IP di interfaccia che può cambiare, destabilizzando la LSDB. Una loopback /32 inserita anche in OSPF ti dà un IP di management sempre raggiungibile da qualsiasi POP.

Il costo OSPF: come influenzare il path

OSPF sceglie il percorso a costo cumulativo più basso. Il costo di un'interfaccia lo imposti nell'interface-template (più alto = meno preferito). Per un WISP questo è lo strumento per dire 'preferisci il link in fibra a 1G rispetto alla tratta radio a 300M': basta dare un costo più alto al link radio. Una metric-table di riferimento utile:

Tipo di linkCosto suggeritoRazionale
Fibra/SFP 1G+ tra POP10Percorso preferito, alta capacità
Radio PtP 1G (es. 60 GHz)20Alta capacità ma più sensibile al meteo
Radio PtP 300-500M50Capacità media
Radio PtMP / backup100Da usare solo se il primario cade
Link di emergenza/LTE500Ultima risorsa
Costi OSPF suggeriti per tipologia di link WISP

Tipi di rete OSPF (cruciale sul wireless)

  • broadcast: default su Ethernet. Elegge DR/BDR. Scoperta neighbor via multicast 224.0.0.5.
  • ptp (point-to-point): link tra due soli router (fibra dedicata, tunnel, radio PtP). Nessun DR/BDR, convergenza più veloce. È il tipo giusto per la maggior parte dei link inter-POP.
  • ptmp (point-to-multipoint): tratta il segmento come insieme di link p2p. Utile su wireless dove la connettività tra i client non è garantita (un AP non sempre 'sente' tutti gli altri).
  • nbma: reti non-broadcast che richiedono neighbor statici. Raro oggi.
Trappola wireless: su un link radio PtP imposta sempre type=ptp, NON broadcast. Con broadcast OSPF elegge DR/BDR e spreca tempo/risorse su un segmento a due soli router; in più, su reti radio dove i nodi non si sentono tutti, il broadcast può non formare adiacenze. ptp evita l'elezione e converge prima.
Stub area, NSSA e area range (summarization)
# Stub area: non riceve LSA tipo 5 (external), usa solo una default route.
# Ottima per un POP 'foglia' che non deve conoscere tutte le rotte BGP esterne.
/routing/ospf/area/add \
  name=area-pop3 \
  area-id=0.0.0.3 \
  instance=ospf-v2 \
  type=stub

# NSSA: come stub ma permette di iniettare rotte esterne LOCALI (LSA tipo 7),
# es. un POP che ha un piccolo uplink locale da ridistribuire.
/routing/ospf/area/add \
  name=area-pop4 \
  area-id=0.0.0.4 \
  instance=ospf-v2 \
  type=nssa

# Summarization inter-area: sull'ABR, annuncia un solo prefisso aggregato
# invece di tutti i /24 dell'area (riduce la LSDB e stabilizza l'SPF).
/routing/ospf/area/range/add \
  prefix=10.30.0.0/16 \
  area=area-pop3 \
  advertise=yes

DR/BDR election e autenticazione

Su reti broadcast, OSPF elegge un DR (Designated Router) e un BDR per ridurre il numero di adiacenze. Il router con priorità più alta vince (default=1, 0=ineleggibile). In caso di parità vince il router-id più alto. L'autenticazione protegge gli aggiornamenti OSPF: senza, chiunque sul segmento può iniettare LSA falsi e dirottare il traffico dell'intera area.

Priorità DR e autenticazione
# Forzare questo router a diventare DR (priorità alta) + autenticazione
/routing/ospf/interface-template/add \
  interfaces=ether1 \
  area=backbone \
  priority=10 \
  type=broadcast \
  auth=md5 \
  auth-id=1 \
  auth-key=SecretOSPF_2026

# Router che NON deve partecipare all'elezione (priority=0)
/routing/ospf/interface-template/add \
  interfaces=ether3 \
  area=backbone \
  priority=0

# Verificare neighbors e stato adiacenza
/routing/ospf/neighbor/print
# Lo stato 'Full' indica adiacenza completa; 'ExStart'/'Loading' = ancora in sync
Usa SEMPRE l'autenticazione OSPF in produzione, in particolare su interfacce radio o esposte. Imposta anche passive-interface (interface-template con passive=yes) sulle interfacce verso i clienti: annunci la subnet in OSPF ma NON formi adiacenze su quel lato, evitando che un cliente malevolo parli OSPF con te.

Diagnosi rapida OSPF

Comandi di verifica e troubleshooting
# Adiacenze e loro stato (deve essere Full sui link operativi)
/routing/ospf/neighbor/print

# Stato delle interfacce OSPF e DR/BDR del segmento
/routing/ospf/interface/print

# Database link-state (la 'mappa' che il router ha della rete)
/routing/ospf/lsa/print

# Rotte apprese via OSPF (flag 'Do' = Dynamic OSPF)
/ip/route/print where ospf
Se due router non formano adiacenza, le cause più comuni sono: (1) tipo di rete diverso ai due lati (uno ptp, l'altro broadcast); (2) MTU diversa (OSPF rifiuta l'adiacenza se le MTU non combaciano — frequente con tunnel/VLAN); (3) auth-key diversa; (4) area-id diversa. Controllale in quest'ordine.
OSPFOSPF v2OSPF v3instanceareainterface-templateDRBDRstub areaNSSAcostneighborLSArouting protocolIGPPOPBTSbackbone

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