Разработчики OpenBSD опубликовали выпуск переносимой редакции пакета маршрутизации OpenBGPD 6.7, который можно использовать в операционных системах, отличных от OpenBSD. Для обеспечения переносимости использованы части кода из проектов OpenNTPD, OpenSSH и LibreSSL. Кроме OpenBSD заявлена поддержка Linux и FreeBSD. Работа OpenBGPD протестирована в Debian 9, Ubuntu 14.04+ и FreeBSD 12.
Разработка OpenBGPD ведётся при поддержке регионального интернет-регистратора RIPE NCC, который заинтересован в доведении функциональности OpenBGPD до пригодности к использованию на серверах для маршрутизации в точках межоператорского обмена трафиком (IXP) и в создании полноценной альтернативы пакету BIRD (из других открытых альтернатив с реализацией протокола BGP можно отметить проекты FRRouting, GoBGP, ExaBGP и Bio-Routing).
При разработке OpenBGPD основное внимание уделяется обеспечению максимального уровня безопасности и надёжности. Для защиты применяется жесткая проверка корректности всех параметров, средства для контроля соблюдения границ буферов, разделение привилегий и ограничение доступа к системным вызовам. Из достоинств также отмечается удобный синтаксис языка определения конфигурации, высокая производительность и эффективность работы с памятью (например, OpenBGPD может работать с таблицами маршрутизации, включающими сотни тысяч записей). Проект поддерживает большую часть спецификаций BGP 4 и соответствует требованиям RFC8212, но не пытается объять необъятное и обеспечивает главным образом поддержку наиболее востребованных и распространённых функций.
В выпуске OpenBGPD 6.7 отмечены следующие улучшения:
- В утилите bgpctl реализована начальная поддержка вывода в формате JSON;
- В bgpd.conf разрешена установка одновременно адресов IPv4 и IPv6 в директиве local-address в блоках "group";
- Обеспечено корректное агрегирование ROA-таблиц (Route Origin Authorisation) c парами prefix/source-as в один элемент с наиболее длинным значением "maxlen";
- В bgpd.conf добавлено свойство "max-prefix {NUM} out" для ограничения числа анонсированных префиксов для избежания утечки полных таблиц;
- В bgpctl команда 'show neighbor' расширена отображением счётчиков полученных и выставленных префиксов, а также значения лимита "max-prefix out";
- В уведомления включены сведения о причине вложенных ошибок. В команде "bgpctl show neighbor" обеспечен вывод причины последней полученной ошибки;
- Для корректного выполнения операции "graceful reload" обеспечена пометка устаревших префиксов в таблице Adj-RIB-Out, хранящей информацию о маршрутах, выбираемых локальным BGP-маршрутизатором для анонсирования оптимальных маршрутов пирам;
- Добавлена возможность сборки OpenBGPD с использованием пакета для написания синтаксических анализаторов bison без наличия byacc;
- Добавлена опция "--runstatedir", через которую можно определить путь к bgpctl.sock;
- Проведена чистка скрипта configure для улучшения переносимости.
|