Olivier Cochard-Labbé, creatore della distribuzione FreeNAS, ha presentato il rilascio della distribuzione specializzata BSD Router Project 2.0 (BSDRP), notevole per l'aggiornamento della base di codice alla versione in sviluppo di FreeBSD 16. La distribuzione è progettata per creare router software compatti che supportano i protocolli di routing RIP, OSPF, BGP e PIM. La gestione avviene tramite una interfaccia a riga di comando simile a quella di Cisco IOS. La distribuzione è disponibile in versioni per architetture x86_64 e ARM64 (dimensione delle immagini di installazione compresse ~340 MB).
Caratteristiche principali della distribuzione:
- Il pacchetto include due implementazioni dei protocolli di routing: FRRouting (fork di Quagga) con supporto per BGP, RIP, RIPng (IPv6), OSPF v2, OSPF v3 (IPv6), ISIS e BIRD con supporto per BGP, RIP, RIPng (IPv6), OSPF v2 e OSPF v3 (IPv6).
- La distribuzione è adattata per un uso parallelo di più tabelle di routing isolate (FIB), legate a interfacce reali e virtuali.
- Per il monitoraggio e la gestione può essere utilizzato SNMP (bsnmp-ucd).
- È supportata l'esportazione dei dati sul traffico sotto forma di flussi Netflow.
- Per valutare le prestazioni della rete sono inclusi strumenti come NetPIPE, iperf, netblast, netsend e netreceive. Per accumulare statistiche sul traffico viene utilizzato ng_netflow.
- Supporto per la creazione di router ridondanti da due server: in modalità normale, il carico può essere distribuito su entrambi i server, ma in caso di guasto, il primo router può assumere il carico del secondo e viceversa (si applica il legame all'attivo server virtuale MAC-address). L'implementazione si basa sull'uso dei protocolli VRRP (Virtual Router Redundancy Protocol) e CARP (Common Address Redundancy Protocol), realizzati tramite il pacchetto ucarp.
- Supporto per PPTP, PPPoE e L2TP tramite mpd (Multi-link PPP daemon).
- Supporto per il limitamento della larghezza di banda tramite IPFW + dummynet o ng_car.
- Per Ethernet è supportato il lavoro con VLAN (802.1q), aggregazione dei link e utilizzo di bridge di rete (802.1w, Rapid Spanning Tree Protocol).
- Per il monitoraggio viene utilizzato il pacchetto monit.
- Supporto VPN: GRE, GIF, IPSec (IKEv1 e IKEv2 con strongswan), OpenVPN e Wireguard.
- Supporto per NAT64 utilizzando il demone tayga e supporto integrato per tunnel IPv6-to-IPv4.
- Possibilità di installare software aggiuntivo utilizzando il gestore di pacchetti pkgng.
- Utilizzo di dnsmasq come server DHCP e ssmtp come agente di consegna della posta.
- Supporto per la gestione tramite SSH, porta seriale, telnet e console locale. Per semplificare l'amministrazione, il pacchetto include l'utilità tmux (analogico BSD di screen).
- Le immagini di avvio sono state generate su base FreeBSD utilizzando script da NanoBSD.
- Il meccanismo di aggiornamento del sistema si basa sulla creazione di due partizioni su un'unità Flash: la nuova versione viene caricata nella seconda partizione, che dopo il riavvio diventa attiva, mentre l'altra partizione attende il successivo aggiornamento (le partizioni si scambiano di posto). In caso di problemi con l'aggiornamento installato, è possibile ripristinare il sistema allo stato precedente.
- Per verificare l'integrità del sistema, viene calcolata una somma di controllo sha256 per ciascun file.
Nel nuovo rilascio:
- L'ambiente di sistema è stato aggiornato alla versione FreeBSD 16-HEAD e ai porti aggiornati al 25 settembre 2025.
- Aggiornate le versioni di bird 2.17, frr 10.4.1 (incluso il supporto per gli script in linguaggio Lua), openvpn 2.6.15 e strongswan 6.0.1, dnsmasq 2.90, iperf 3.19, lldp 1.0.19, monit 5.35.
- Aggiunto supporto per sistemi basati su architettura ARM64.
- Nell'immagine di installazione è garantito il supporto per l'avvio sia su sistemi con UEFI che su sistemi con BIOS. Per la migrazione da MBR a GPT è necessaria una reinstallazione.
- È avvenuto il passaggio dall'utensile Nanobsd a poudriere-image.
- Sono inclusi pacchetti: net/vpp, flashrom, mstflint e utilità Mellanox NIC.
- Rimossi i pacchetti isc-dhcp44 e dhcprelya, sostituiti da dnsmasq.
Fonte: opennet.ru
