[О блоге] [наверх] [пред] [2023-07-08 23:56:37+03:00] [2699f8360ee6aa3622e6aab139a1b650dc375fa6]
Темы: [bgp][bsd][ipv6]

Повозился с другими демонами маршрутизации

https://frrouting.org/
http://www.openbgpd.org/
https://reviews.freebsd.org/D26449?id=77807
Видя что BIRD не умеет ECMP на FreeBSD
(3eeb6b3ec3b4abdd3a25f78402f02f3cf821305e) решил посмотреть какие
альтернативы на этот счёт есть. Насколько понял, решений то вообще
толком мало.

OpenOSPFD, насколько понял, интегрирован в OpenBSD и как отдельный
проект не существует уже. В любом случае, судя по Wikipedia, он только
OSPFv2 умел, а мне только OSPFv3 нужен. В OpenBSD есть ospf6d, но
portable его версии нету. Порт net/openospfd в FreeBSD is expired, ибо
requires old CARP implementation.

Может попробовать BGP? Установил OpenBGPD. Сразу полез в исходники
смотреть что там с поддержкой multipath-а. Вроде бы поддерживается для
FreeBSD. Пошёл настраивать. Жутко понравилось в нём всё! Минимализм,
синтаксис и формат конфига, качество документации (всего один man
вменяемых размеров (не man zsh)), формат и как происходит взаимодействие
с bgpctl утилитой. Прям эстетическое удовольствие получал. Но, хоть в
коде всякий multipath и имеется (возможно он про что-то другое), но в
FIB ядра несколько маршрутов не устанавливаются всё равно, облом.

FRRouting, судя по BSDRP и отчёту в коммите в дерево FreeBSD, с ECMP
работает. Смог в нём настроить OSPFv3, но только на одном интерфейсе. На
второй уже терпения не хватило и поэтому проверить ECMP не вышло. Точно
также как OpenBGPD мне понравился во всём, FRRouting мне жутко не
понравился во всём. Размер, понятность документации, интерфейс
взаимодействия, да и вообще понимание как его в простейшем случае надо
заводить то. Неприятно прям всё всё всё в нём. Хотя, похоже, он более
чем всякие BIRD и другие демоны умеет делать. Но люто бесит его
"!"-строчки в конфиге, особенно после bgpd.conf, где прям переменные
можно заводить с ходу удобочитаемые. Хочется сказать что FRR сделан в
лучших традициях enterprise: громоздко, монструозно, сложно. Хотя многие
бы сказали (да я впрочем соглашусь), что это же GNU, чему тут
удивляться? GNU Zebra -> Quagga -> FRR. Короче я даже до конца до ECMP
не дошёл и снёс к чёрту.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2023-07-09 09:13:46Z
    
    > люто бесит его "!"-строчки в конфиге
    > сделан в лучших традициях enterprise
    > это же GNU
    
    Тут корни растут не из GNU, а из Cisco CLI - программа мимикрирует под
    привычный сетевикам интерфейс администрирования. Сейчас это де-факто
    стандарт для управления сетевым оборудованием различных вендоров. Хотя
    Google активно продвигает gRPC (gNMI, gNOI) в качестве альтернативы.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2023-07-09 09:18:13Z
    
    *** kmeaw [2023-07-09 10:09]:
    >Тут корни растут не из GNU, а из Cisco CLI
    
    Я именно так и подумал. С Cisco дело не имел, но всё же тысячи примеров
    взаимодействия с ним в статьях видел. Но не написал, ибо не был уверен
    верны ли мои догадки :-). gRPC упоминание видел в GoBGP, который
    настраивается TOML-ом вообще, что меня тоже жутко раздражает :-).
    Да после OpenBGPD конфигурации и документации, даже BIRD выглядит
    сложновато.