È stata presentata la versione portatile del pacchetto di routing OpenBGPD 8.2, sviluppata dagli sviluppatori del progetto OpenBSD e adattata per l'uso in FreeBSD e Linux (è supportato Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). Per garantire la portabilità sono state utilizzate parti del codice dei progetti OpenNTPD, OpenSSH e LibreSSL. Il progetto supporta gran parte delle specifiche BGP 4 e soddisfa i requisiti di RFC8212, ma non cerca di abbracciare l'impossibile, fornendo principalmente supporto per le funzioni più richieste e diffuse.
Lo sviluppo di OpenBGPD avviene con il supporto del registro internet regionale RIPE NCC, che è interessato a portare le funzionalità di OpenBGPD all'idoneità per l'utilizzo su server per il routing nei punti di interconnessione tra operatori (IXP) e nella creazione di un'alternativa completa al pacchetto BIRD (tra le alternative open source con implementazioni del protocollo BGP si possono citare i progetti FRRouting, GoBGP, ExaBGP e Bio-Routing).
Nel progetto, la massima attenzione è rivolta a garantire il massimo livello di sicurezza e affidabilità. Per la protezione, viene applicato un rigoroso controllo della correttezza di tutti i parametri, strumenti per il monitoraggio del rispetto dei limiti dei buffer, separazione dei privilegi e limitazione dell'accesso alle chiamate di sistema. Tra i vantaggi si nota anche una sintassi comoda per il linguaggio di definizione della configurazione, elevate prestazioni ed efficienza nell'uso della memoria (ad esempio, OpenBGPD può gestire tabelle di instradamento che includono centinaia di migliaia di record).
Modifiche chiave nella nuova versione:
- È stata aggiornata l'implementazione del meccanismo ASPA (Autonomous System Provider Authorization), utilizzato in BGP per la verifica dei percorsi AS_PATH, l'autorizzazione dei sistemi autonomi dei fornitori e la protezione contro la fuga di percorsi errati. L'implementazione di ASPA è stata allineata alle specifiche draft-ietf-sidrops-aspa-verification-16 e draft-ietf-sidrops-aspa-profile-16, ed è stata trasferita all'uso di tabelle di ricerca indipendenti dall'AFI (Address Family Indicator).
- È stato corretto un errore nel codice del parser dei messaggi netlink, relativo alla definizione errata delle dimensioni dei messaggi, che portava a un arresto anomalo sulla piattaforma Linux.
- Il codice per la generazione dei messaggi UPDATE è stato trasferito all'uso del nuovo API ibuf.
- Migliorati i messaggi di errore visualizzati in bgpctl quando si tenta di utilizzare funzionalità non supportate nella versione portatile di OpenBGPD.
- Esempio delle regole di filtraggio GRACEFUL_SHUTDOWN modificato per gestire solo le sessioni ebgp.
Fonte: opennet.ru
