From: Sergey Matveev Date: Sat, 8 Jul 2023 20:56:37 +0000 (+0300) Subject: Повозился с другими демонами маршрутизации X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=2699f8360ee6aa3622e6aab139a1b650dc375fa6;p=stargrave-blog.git Повозился с другими демонами маршрутизации 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 не дошёл и снёс к чёрту. ---