BFD in RouterOS v7: rilevamento guasti sub-secondo per OSPF e BGP
Configura BFD (Bidirectional Forwarding Detection) in RouterOS v7 per rilevare i guasti di link in millisecondi e accelerare la convergenza di OSPF, BGP e delle rotte statiche.
Cos'è BFD e perché serve
I protocolli di routing rilevano i guasti tramite i loro timer 'hello' (OSPF di default impiega ~40 s a dichiarare morto un neighbor; BGP fino a 180 s). Su questi tempi i clienti restano senza connettività per parecchi secondi a ogni guasto. BFD è un protocollo leggerissimo, indipendente dal media, che scambia pacchetti hello molto rapidi (millisecondi) e notifica immediatamente al protocollo di routing che il link è caduto, portando la convergenza da decine di secondi a sotto il secondo. È particolarmente prezioso quando il link fisico non segnala la caduta (es. una radio o uno switch in mezzo che resta 'up' anche se il path è interrotto).
I timer BFD
| Parametro | Significato | Valore tipico WISP |
|---|---|---|
| tx-interval | Intervallo di invio dei pacchetti BFD | 200ms (radio) / 100ms (fibra) |
| rx-interval | Intervallo minimo di ricezione atteso | 200ms / 100ms |
| multiplier | N. di pacchetti persi prima di dichiarare down | 3-5 |
Il tempo di rilevamento è circa rx-interval × multiplier. Con 200ms × 3 ottieni un detection time di ~600ms. Su link radio non scendere troppo: tx-interval troppo aggressivi causano falsi positivi quando la radio ha micro-interruzioni (meteo, interferenze).
# 1. Definire una configurazione BFD (timer per link in fibra, aggressiva) /routing/bfd/configuration/add \ interfaces=ether2 \ min-tx=100ms \ min-rx=100ms \ multiplier=3 \ comment="BFD link fibra POP-2" # 2. Abilitare BFD sull'interface-template OSPF di quel link /routing/ospf/interface-template/set [find interfaces=ether2] \ cost=10 bfd=yes # 3. Verificare le sessioni BFD attive /routing/bfd/session/print # Lo stato deve essere 'up' su entrambi i lati
# Abilitare BFD sulla sessione BGP: alla caduta del link BFD, # la sessione BGP viene abbattuta SUBITO senza aspettare l'hold-time (180s) /routing/bgp/connection/set [find name=peer-upstream] use-bfd=yes # Configurazione BFD verso l'IP del peer BGP /routing/bfd/configuration/add \ interfaces=ether-wan1 \ min-tx=200ms min-rx=200ms multiplier=4 \ comment="BFD verso upstream BGP"
# Failover statico sub-secondo: il gateway viene monitorato via BFD /ip/route/add dst-address=0.0.0.0/0 \ gateway=203.0.113.1 \ distance=1 \ check-gateway=bfd \ comment="Default ISP1 con BFD"
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