Olivier Cochard-Labbé, der Entwickler der FreeNAS-Distribution, hat die Veröffentlichung der spezialisierten Distribution BSD Router Project 1.994 (BSDRP) vorgestellt, die durch die Aktualisierung der Codebasis auf den in Entwicklung befindlichen Branch von FreeBSD 15 bemerkenswert ist. Die Distribution ist für die Erstellung kompakter Software-Router konzipiert, die die Routing-Protokolle RIP, OSPF, BGP und PIM unterstützen. Die Verwaltung erfolgt über eine Befehlszeilenschnittstelle, die an die Cisco IOS-Oberfläche erinnert. Die Distribution ist in Versionen für die Architektur x86_64 verfügbar (Größe des Installationsabbilds 190 MB).
Hauptmerkmale der Distribution:
- Das Paket beinhaltet zwei Software-Pakete mit Implementierungen der Routing-Protokolle: 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 den parallelen Einsatz mehrerer abgegrenzter Routing-Tabellen (FIB) angepasst, die mit realen und virtuellen Schnittstellen verknüpft sind.
- Für die Ü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 sind die Werkzeuge NetPIPE, iperf, netblast, netsend und netreceive enthalten. Für die Sammlung von Verkehrsstats wird ng_netflow verwendet.
- Unterstützung für die Erstellung von fehlertoleranten Routern aus zwei Server — im Normalbetrieb kann die Last auf beide Server verteilt werden, doch im Falle eines Ausfalls kann der erste Router die Last des zweiten übernehmen und umgekehrt (es wird eine Bindung an den aktiven Server der virtuellen MAC-Adresse verwendet). Die Implementierung basiert auf den Protokollen VRRP (Virtual Router Redundancy Protocol) und CARP (Common Address Redundancy Protocol), die mit Hilfe des Pakets ucarp realisiert wurden.
- Unterstützung für PPTP, PPPoE und L2TP mithilfe von mpd (Multi-link PPP daemon).
- Unterstützung für Bandbreitenbeschränkungen durch IPFW + dummynet oder ng_car.
- Für Ethernet wird die Arbeit mit VLAN (802.1q), Link-Aggregation und die Verwendung von Netzwerk-Bridge (802.1w, Rapid Spanning Tree Protocol) unterstützt.
- Für die Überwachung wird das Paket monit verwendet.
- Bestellen VPN: GRE, GIF, IPSec (IKEv1 und IKEv2 mit strongswan), OpenVPN und Wireguard.
- Unterstützung von NAT64 durch den Daemon tayga und eingebaute Unterstützung für IPv6-to-IPv4-Tunnel.
- Die Möglichkeit, zusätzliche Programme mit dem Paketmanager pkgng zu installieren.
- Verwendung von dnsmasq als DHCP-Server und von ssmtp als E-Mail-Versand-Agent.
- SSH-, serielle Port-, telnet- und lokale Konsolenverwaltungsunterstützung. Zur Vereinfachung der Administration ist das Tool tmux (eine BSD-Alternative zu screen) inbegriffen.
- Boot-Images wurden basierend auf FreeBSD mithilfe von Skripten aus NanoBSD generiert.
- Der Aktualisierungsmechanismus basiert auf der Erstellung von zwei Partitionen auf dem Flash-Speicher: die neue Version wird in die zweite Partition geladen, die nach dem Neustart aktiv wird, während die andere Partition auf das nächste Update wartet (die Partitionen wechseln die Plätze). Im Falle von Problemen mit dem installierten Update ist eine Rückkehr zum vorherigen Zustand des Systems möglich.
- 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 Branch FreeBSD 15-HEAD und die Ports vom 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 die DHCP-Arbeit wird anstelle von isc-dhcp44 und dhcprelya das Paket dnsmasq verwendet (als Alternative zur Ersetzung wurde kea in Betracht gezogen, aber es benötigt zusammen mit den erforderlichen Abhängigkeiten 300 MB Speicherplatz). Die Pakete dhcprelya und isc-dhcp44 wurden als veraltet erklärt.
- Das Paket freevrrpd wurde entfernt. Um die Fehlertoleranz sicherzustellen, wird jetzt nur noch das Paket ucarp verwendet, das eine eigene Implementierung des VRRP-Protokolls bietet und somit ohne freevrrpd auskommt.
- Das Paket aquantia-atlantic-kmod wurde entfernt, da es nicht unter FreeBSD 15 gebaut werden kann.
- Es wird an der Migration von den Build-Skripten NanoBSD auf das Poudriere-Image-Tool gearbeitet. Diese Migration wird es ermöglichen, den Dual-Boot-Modus UEFI/BIOS hinzuzufügen, die Build-Zeit zu verkürzen und die gewohnte Methode zur Erstellung von Ports zu verwenden.
Quelle: opennet.ru
