Представена е версията на преносимото издание на пакета за маршрутизиране OpenBGPD 8.2, разработван от екипа на проекта OpenBSD и адаптиран за използване в FreeBSD и Linux (обявена е поддръжка за Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). За постигане на преносимост са използвани части от кода на проектите OpenNTPD, OpenSSH и LibreSSL. Проектът поддържа повечето спецификации на BGP 4 и отговаря на изискванията на RFC8212, но не се опитва да обхване всичко и основно осигурява поддръжка на най-затребваните и разпространени функции.
Разработката на OpenBGPD се провежда с подкрепата на регионалния интернет регистратор RIPE NCC, който е заинтересован от увеличаване на функционалността на OpenBGPD до пригодност за използване на сървъри за маршрутизиране в точки на междупотребителски обмен на трафик (IXP) и в създаването на пълноценна алтернатива на пакета BIRD (от отворените алтернативи с реализация на протокола BGP, заслужава да се споменат проектите FRRouting, GoBGP, ExaBGP и Bio-Routing).
В проекта основното внимание е насочено към осигуряване на максимален уровень на безопасност и надеждност. За защита се прилага строга проверка на всички параметри, средства за контрол на спазването на границите на буферите, разделяне на привилегиите и ограничаване на достъпа до системни повиквания. Сред предимствата се отбелязват удобният синтаксис на езика за определяне на конфигурация, висока производителност и ефективност при работа с паметта (например, OpenBGPD може да работи с маршрутизиращи таблици, включващи стотици хиляди записи).
Ключови изменения в новата версия:
- Актуализирана е реализацията на механизма ASPA (Authorization на автономни системни доставчици), използван в BGP за верификация на пътищата AS_PATH, авторизация на автономни системи на доставчиците и защита от утечка на неправилни маршрути. Реализацията на ASPA е приведена в съответствие със спецификациите draft-ietf-sidrops-aspa-verification-16 и draft-ietf-sidrops-aspa-profile-16 и е трансформирана да използва търсещи таблици, независими от AFI (Индикатор на адресно семейство).
- Отстранена е грешка в кода на парсера на съобщенията netlink, свързана с неправилно определяне на размера на съобщенията, което води до аварийно затваряне на платформата Linux.
- Кодът за генериране на съобщения UPDATE е преобразуван да използва нов API ibuf.
- Подобрен е отчетът за грешки, който се извежда в bgpctl при опит за използване на функции, които не се поддържат в преносимата версия на OpenBGPD.
- Примерът за правила за филтриране GRACEFUL_SHUTDOWN е преработен да обработва само сесии ebgp.
Източник: opennet.ru
