Olivier Cochard-Labbé, der Schöpfer der FreeNAS-Distribution, hat die Veröffentlichung der spezialisierten BSD Router Project 1.994 (BSDRP) vorgestellt, die durch das Update der Codebasis auf den sich in Entwicklung befindlichen Branch FreeBSD 15 bemerkenswert ist. Die Distribution ist darauf ausgelegt, kompakte Software-Router zu erstellen, die die Routing-Protokolle RIP, OSPF, BGP und PIM unterstützen. Die Verwaltung erfolgt über eine Kommandozeilenschnittstelle, die an die Cisco IOS-Oberfläche erinnert. Die Distribution ist in Versionen für die Architektur x86_64 erhältlich (Größe des Installations-Images 190 MB).
Hauptmerkmale der Distribution:
- Im Lieferumfang sind zwei Pakete mit der Implementierung von Routing-Protokollen enthalten: FRRouting (ein Fork von Quagga) mit Unterstützung für BGP, RIP, RIPng (IPv6), OSPF v2, OSPF v3 (IPv6), ISIS und BIRD mit Unterstützung für BGP, RIP, RIPng (IPv6), OSPF v2 und OSPF v3 (IPv6).
- Die Distribution ist für die gleichzeitige Verwendung mehrerer separater Routing-Tabellen (FIB) angepasst, die an reale und virtuelle Schnittstellen gebunden sind.
- Zur Überwachung und Verwaltung kann SNMP (bsnmp-ucd) verwendet werden.
- Der Export von Verkehrsdaten in Form von Netflow-Streams wird unterstützt.
- Zur Bewertung der Netzwerkleistung gehören die Tools NetPIPE, iperf, netblast, netsend und netreceive. Für die Sammlung von Statistiken über den Datenverkehr wird ng_netflow verwendet.
- Unterstützung für die Erstellung von ausfallsicheren Routern aus zwei. Server — Im regulären Betrieb kann die Last auf beide Server verteilt werden, aber im Falle eines Ausfalls kann der erste Router die Last des zweiten übernehmen und der zweite die des ersten (es wird eine Bindung an den aktiven Server mit der virtuellen MAC-Adresse angewendet). Die Implementierung basiert auf den Protokollen VRRP (Virtual Router Redundancy Protocol) und CARP (Common Address Redundancy Protocol), realisiert über das Paket ucarp.
- Unterstützung für PPTP, PPPoE und L2TP über mpd (Multi-link PPP-Daemon).
- Unterstützung für die Bandbreitenbeschränkung mittels IPFW + dummynet oder ng_car.
- Für Ethernet wird die Arbeit mit VLANs (802.1q), Link-Aggregation und die Verwendung von Netzbrücken (802.1w, Rapid Spanning Tree Protocol) unterstützt.
- Für die Überwachung wird das Paket monit verwendet.
- Support VPN: GRE, GIF, IPSec (IKEv1 und IKEv2 mit strongswan), OpenVPN und Wireguard.
- Unterstützung für NAT64 mit dem Daemon tayga und integrierte Unterstützung für IPv6-zu-IPv4-Tunnel.
- Möglichkeit zur Installation zusätzlicher Programme mit dem Paketmanager pkgng.
- Verwendung von dnsmasq als DHCP-Server und ssmtp als E-Mail-Zustellagent.
- Unterstützung für Verwaltung über SSH, serielle Schnittstelle, telnet und lokale Konsole. Zur Vereinfachung der Verwaltung ist das Tool tmux (BSD-Analog zu Screen) im Lieferumfang enthalten.
- Boot-Images wurden auf Basis von FreeBSD mit Hilfe von Skripten aus NanoBSD generiert.
- Der Systemaktualisierungsmechanismus basiert auf der Erstellung von zwei Partitionen auf dem Flash-Laufwerk: Die neue Version wird in die zweite Partition geladen, die nach einem Neustart aktiv wird, während die andere Partition auf das nächste Update wartet (die Partitionen wechseln sich ab). Bei Problemen mit einem installierten Update kann auf den vorherigen Systemzustand zurückgekehrt werden.
- Zur Überprüfung der Integrität des Systems wird für jede Datei eine sha256-Prüfziffer gespeichert.
In der neuen Version:
- Die Systemumgebung wurde auf den FreeBSD 15-HEAD-Zweig und Ports zum Stand vom 21. Januar 2025 aktualisiert.
- Die Versionen von FRR 10.2.1, Bird 2.16.1, Strongswan 5.9.14 und ExaBGP 4.2.22, iperf auf 2.2.1, iperf3 auf 3.18, lldpd auf 1.0.18, monit 5.34.4, nrpe 4.1.3, open-vm-tools 12.5, python 3.11 wurden aktualisiert.
- Für den DHCP-Betrieb wurde anstelle von isc-dhcp44 und dhcprelay das Paket dnsmasq eingesetzt (als Alternative wurde kea in Betracht gezogen, benötigt jedoch zusammen mit den erforderlichen Abhängigkeiten 300 MB Festplattenspeicher). Die Pakete dhcprelay und isc-dhcp44 wurden als veraltet erklärt.
- Das Paket freevrrpd wurde entfernt. Zur Gewährleistung der Ausfallsicherheit wird jetzt ausschließlich das Paket ucarp verwendet, das eine eigene Implementierung des VRRP-Protokolls bietet und ohne freevrrpd auskommt.
- Das Paket aquantia-atlantic-kmod wurde entfernt, da es nicht mit FreeBSD 15 kompatibel ist.
- Es wird an der Migration von den Build-Skripten NanoBSD zu den Poudriere-Image-Tools gearbeitet. Die Migration ermöglicht die Hinzufügung eines Dual-Boot-Modus für UEFI/BIOS, verkürzt die Build-Zeit und nutzt die vertraute Port-Bau-Methode.
Quelle: opennet.ru
