Deweloperzy OpenBSD wydanie przenośnej wersji pakietu routingu , który można wykorzystać w systemach operacyjnych innych niż OpenBSD. W celu zapewnienia przenośności wykorzystano fragmenty kodu z projektów OpenNTPD, OpenSSH i LibreSSL. Oprócz OpenBSD zapowiedziano wsparcie dla Linuxa i FreeBSD. Praca OpenBGPD została przetestowana w Debianie 9, Ubuntu 14.04+ i FreeBSD 12.
Rozwój OpenBGPD prowadzi się przy regionalnego rejestratora internetowego RIPE NCC, który jest zainteresowany rozwinięciem funkcjonalności OpenBGPD do użyteczności na serwerach do routingu w punktach wymiany ruchu między operatorami (IXP) oraz w stworzeniu pełnoprawnej alternatywy dla pakietu (z innych otwartych alternatyw z implementacją protokołu BGP można wymienić projekty , , i ).
Podczas rozwoju OpenBGPD skupiono się na zapewnieniu maksymalnego poziomu bezpieczeństwa i niezawodności. W celu ochrony stosuje się rygorystyczne sprawdzanie poprawności wszystkich parametrów, środki do kontroli przestrzegania granic buforów, podział przywilejów i ograniczenie dostępu do wywołań systemowych. Do zalet należy również wygodna składnia języka definicji konfiguracji, wysoka wydajność i efektywność pracy z pamięcią (na przykład OpenBGPD może pracować z tabelami routingu zawierającymi setki tysięcy rekordów). Projekt wspiera większość specyfikacji BGP 4 i spełnia wymagania RFC8212, ale nie stara się objąć wszystkiego i zapewnia głównie wsparcie dla najbardziej pożądanych i powszechnych funkcji.
W wydaniu OpenBGPD 6.7 następujące usprawnienia:
- W narzędziu bgpctl wprowadzono wstępne wsparcie dla wyjścia w formacie JSON;
- W pozwala na jednoczesne ustawienie adresów IPv4 i IPv6 w dyrektywie local-address w blokach „group”;
- Zapewniono poprawną aggracji tablic ROA (Route Origin Authorisation) z parami prefix/source-as w jeden element z najdłuższą wartością „maxlen”;
- W bgpd.conf dodano właściwość „max-prefix {NUM} out” dla ograniczenia liczby ogłaszanych prefiksów, aby uniknąć wycieku całych tabel;
- W bgpctl komenda ‘show neighbor’ została rozszerzona o wyświetlanie liczników otrzymanych i ogłoszonych prefiksów, a także wartości limitu „max-prefix out”;
- W powiadomieniach zawarte są informacje dotyczące przyczyny zagnieżdżonych błędów. W poleceniu „bgpctl show neighbor” zapewniono wyjście z przyczyną ostatniego otrzymanego błędu;
- Aby poprawnie wykonać operację „graceful reload”, zapewniono oznaczenie przestarzałych prefiksów w tabeli Adj-RIB-Out, która przechowuje informacje o trasach wybieranych przez lokalny router BGP do ogłaszania optymalnych tras piramid;
- Dodano możliwość kompilacji OpenBGPD z wykorzystaniem pakietu do pisania parserów bison bez potrzeby posiadania byacc;
- Dodano opcję „—runstatedir”, dzięki której można określić ścieżkę do bgpctl.sock;
- Przeprowadzono czyszczenie skryptu configure w celu poprawy przenośności.
Źródło: opennet.ru
