Разработчиците на OpenBSD издание на преносима версия на пакета за маршрутизиране , който може да се използва в операционни системи, различни от OpenBSD. За осигуряване на преносимост са използвани части от кода на проектите OpenNTPD, OpenSSH и LibreSSL. Освен OpenBSD се заявява поддръжка на Linux и FreeBSD. Работата на OpenBGPD е тествана в Debian 9, Ubuntu 14.04+ и FreeBSD 12.
Развитието на OpenBGPD се извършва с регионалния интернет регистратор RIPE NCC, който е заинтересован в развитието на функционалността на OpenBGPD до приложимост за използване на сървъри за маршрутизиране в точки на междупоставъчно обменяне на трафик (IXP) и в създаването на реална алтернатива на пакета (от други отворени алтернативи с реализация на протокола BGP можем да отбележим проектите , , и ).
При разработката на OpenBGPD основното внимание е насочено към осигуряване на максимално ниво на сигурност и надеждност. За защита се използва строга проверка на коректността на всички параметри, средства за контрол върху спазването на границите на буферите, разделяне на привилегиите и ограничаване на достъпа до системни повици. Сред предимствата също се отбелязва удобен синтаксис на езика за описание на конфигурацията, висока производителност и ефективност при работа с паметта (например, OpenBGPD може да работи с маршрутизиращи таблици, включващи стотици хиляди записа). Проектът поддържа голяма част от спецификациите BGP 4 и отговаря на изискванията на RFC8212, но не се опитва да обхване всичко и предоставя предимно поддръжка на най-търсените и разпространените функции.
В изданието OpenBGPD 6.7 следните подобрения:
- В утилитата bgpctl е реализирана начална поддръжка за извеждане в формат JSON;
- В е разрешена настройката на адреси IPv4 и IPv6 едновременно в директивата local-address в блоковете «group»;
- Осигурено е коректно агрегиране на ROA-таблици (Route Origin Authorisation) с двойки 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 за подобряване на преносимостта.
Източник: opennet.ru
