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

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

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

  • Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ входят Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ: 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 16-HEAD ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 25 сСнтября 2025 Π³ΠΎΠ΄Π°.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии bird 2.17, frr 10.4.1 (с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ скриптов Π½Π° языкС Lua), openvpn 2.6.15 ΠΈ strongswan 6.0.1, dnsmasq 2.90, iperf 3.19, lldp 1.0.19, monit 5.35.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСм Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64.
  • Π’ установочном ΠΎΠ±Ρ€Π°Π·Π΅ обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ°ΠΊ Π½Π° систСмах с UEFI, Ρ‚Π°ΠΊ ΠΈ Π½Π° систСмах с BIOS. Для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с MBR Π½Π° GPT трСбуСтся пСрСустановка.
  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с инструмСнтария Nanobsd Π½Π° poudriere-image.
  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: net/vpp, flashrom, mstflint ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Mellanox NIC.
  • Π£Π΄Π°Π»Π΅Π½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ isc-dhcp44 ΠΈ dhcprelya, вмСсто ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задСйствован dnsmasq.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ