Выпуск дистрибутива BSD Router Project 1.994

ОливьС ΠšΠΎΡ‡Π°Ρ€-Π›Π°Π±Π±Π΅ (Olivier Cochard-Labbé), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ дистрибутива FreeNAS, прСдставил выпуск спСциализированного дистрибутива BSD Router Project 1.994 (BSDRP), ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄ΠΎ находящСйся Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Ρ‚ΠΊΠΈ FreeBSD 15. Дистрибутив ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ RIP, OSPF, BGP ΠΈ PIM. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ производится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Ρ‡Π΅Ρ€Π΅Π· CLI-интСрфСйс, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс Cisco IOS. Дистрибутив доступСн Π² сборках для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86_64 (Ρ€Π°Π·ΠΌΠ΅Ρ€ установочного ΠΎΠ±Ρ€Π°Π·Π° 190 ΠœΠ‘).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ характСристики дистрибутива:

  • Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ входят Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ: FRRouting (Ρ„ΠΎΡ€ΠΊ Quagga) с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ BGP, RIP, RIPng (IPv6), OSPF v2, OSPF v3 (IPv6), ISIS ΠΈ BIRD с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ BGP, RIP, RIPng (IPv6), OSPF v2 ΠΈ OSPF v3 (IPv6).
  • Дистрибутив Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… обособлСнных Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ (FIB), привязанных ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсам.
  • Для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ управлСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ SNMP (bsnmp-ucd).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ экспорт Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Netflow.
  • Для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСти Π² состав входят ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ NetPIPE, iperf, netblast, netsend ΠΈ netreceive. Для накоплСния статистики ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ng_netflow.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° создания отказоустойчивых ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠ· Π΄Π²ΡƒΡ… сСрвСров — Π² ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ распрСдСлСна Π½Π° ΠΎΠ±Π° сСрвСра, Π½ΠΎ Π² случаС сбоя ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·ΡΡ‚ΡŒ Π½Π° сСбя Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ (примСняСтся привязка ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ сСрвСру Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ MAC-адрСса). РСализация основана Π½Π° использовании ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² VRRP (Virtual Router Redundancy Protocol) ΠΈ CARP (Common Address Redundancy Protocol), Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ucarp.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PPTP, PPPoE ΠΈ L2TP ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ mpd (Multi-link PPP daemon).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ограничСния пропускной способности ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ IPFW + dummynet ΠΈΠ»ΠΈ ng_car.
  • Для Ethernet поддСрТиваСтся Ρ€Π°Π±ΠΎΡ‚Π° с VLAN (802.1q), агрСгация Π»ΠΈΠ½ΠΊΠΎΠ² ΠΈ использованиС сСтСвых мостов (802.1w, Rapid Spanning Tree Protocol).
  • Для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° примСняСтся ΠΏΠ°ΠΊΠ΅Ρ‚ monit.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° VPN: GRE, GIF, IPSec (IKEv1 ΠΈ IKEv2 со strongswan), OpenVPN ΠΈ Wireguard.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NAT64 с использованиСм Π΄Π΅ΠΌΠΎΠ½Π° tayga ΠΈ встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ IPv6-to-IPv4.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ pkgng.
  • ИспользованиС Π² качСствС DHCP-сСрвСра dnsmasq, Π° Π² качСствС Π°Π³Π΅Π½Ρ‚Π° доставки ΠΏΠΎΡ‡Ρ‚Ρ‹ — ssmtp.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° управлСния Ρ‡Π΅Ρ€Π΅Π· SSH, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, telnet ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ консоль. Для упрощСния администрирования Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° tmux (BSD-Π°Π½Π°Π»ΠΎΠ³ screen).
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ сгСнСрированы Π½Π° основС FreeBSD ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов ΠΈΠ· NanoBSD.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обновлСния систСмы основываСтся Π½Π° создании Π΄Π²ΡƒΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π° Flash-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅: новая вСрсия загруТаСтся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ появлСния ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ обновлСния (Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами). Π’ случаС выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с установлСнным ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ состояниС систСмы.
  • Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности систСмы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° сохраняСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма sha256.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • БистСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π΄ΠΎ Π²Π΅Ρ‚ΠΊΠΈ FreeBSD 15-HEAD ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 21 января 2025 Π³ΠΎΠ΄Π°.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии FRR 10.2.1, Bird 2.16.1, Strongswan 5.9.14 ΠΈ ExaBGP 4.2.22, iperf to 2.2.1, iperf3 to 3.18, lldpd to 1.0.18, monit 5.34.4, nrpe 4.1.3, open-vm-tools 12.5, python 3.11.
  • Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ DHCP вмСсто isc-dhcp44 ΠΈ dhcprelya задСйствован ΠΏΠ°ΠΊΠ΅Ρ‚ dnsmasq (ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Π·Π°ΠΌΠ΅Π½Ρ‹ рассматривался kea, Π½ΠΎ ΠΎΠ½ вмСстС с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ зависимостями Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 300MB мСста Π½Π° дискС). ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ dhcprelya ΠΈ isc-dhcp44 ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ.
  • Π£Π΄Π°Π»Ρ‘Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ freevrrpd. Для обСспСчСния отказоустойчивости Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ ucarp, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилась собствСнная рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° VRRP, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· freevrrpd.
  • Π£Π΄Π°Π»Ρ‘Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ aquantia-atlantic-kmod, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ сборку Π²ΠΎ FreeBSD 15.
  • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ со сборочных скриптов NanoBSD Π½Π° инструмСнтарий Poudriere-Image. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ UEFI/BIOS, ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя сборки ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сборки ΠΏΠΎΡ€Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru