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: instance → area → interface-template. L'instance definisce il processo OSPF; l'area raggruppa i router; l'interface-template associa interfacce o reti all'area.
# 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"
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 link | Costo suggerito | Razionale |
|---|---|---|
| Fibra/SFP 1G+ tra POP | 10 | Percorso preferito, alta capacità |
| Radio PtP 1G (es. 60 GHz) | 20 | Alta capacità ma più sensibile al meteo |
| Radio PtP 300-500M | 50 | Capacità media |
| Radio PtMP / backup | 100 | Da usare solo se il primario cade |
| Link di emergenza/LTE | 500 | Ultima risorsa |
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.
# 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.
# 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
Diagnosi rapida OSPF
# 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
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