Выпуск дистрибутива 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.
Release. Ссылка here.