Интересно посмотреть на продукт отличный от Quagga. Для этого я сделал небольшую тестовую лабораторию из двух хостов. На одном будет стоять Quagga, на втором хосте поставим OpenBGPd. Задача обменяться анонсами.
В портах FreeBSD есть openbgp – продукт из проекта OpenBSD для
поддержки протокола динамической маршрутизации BGP. Проэкт OpenBSD
славится отсутствием проблем с безопасностью и одним из методов
достижения этого является реализация всего необходимого по возможности
своими силами. То есть они стараются минимизировать наличие продуктов от
сторонних разработчиков в своей системе.
Ну а как по мне, то просто интересно посмотреть на продукт отличный от
Quagga. Для этого я сделал небольшую тестовую лабораторию из двух
хостов. На одном будет стоять Quagga, на втором хосте поставим OpenBGPd.
Задача обменяться анонсами.
Конфиг Quagga выглядит так:
Теперь перейдем к установке OpenBGPd. Ставить будем из портов:
cd/usr/ports/net/openbgpd/ makeinstall clean
В небольшом диалоговом окне сборки можно ничего не отмечать. По
крайней мере тем, кто не использует IPv6.
Options for openbgpd 4.6.20100227
[] IPV6LLPEER Support nexthop using IPv6 link-local address
[ OK ] Cancel
После установки первый сюрприз. Нет конфигов, ни примеров, ничего. Но
ничего есть маны. Второе разочарование – отсутствует специальная
оболочка для настройки, как в Quagga. Я отлично понимаю, что это совсем
разные проекты, что наличие шела и телнет доступа – потенциальная дыра в
безопасности, но все же.
Ну да ладно, после чтения манов получился вот такой первый конфиг
/usr/local/etc/bgpd.conf:
group "peering AS65534"{ remote-as 65534 neighbor 192.168.0.6 { descr "Quagga" announce all } }
В принципе чем то похоже на конфиги Juniperов b Vyatta.
Теперь делаем обязательно:
chmod600 bgpd.conf
И можно разрешать старт openBGP.
echo'openbgpd_enable="YES"'>>/etc/rc.conf
и теперь его запустить.
/usr/local/etc/rc.d/openbgpd start
После запуска смотрим на Quagga:
# show ip bgp su BGP router identifier 192.168.0.6, local AS number 65534 RIB entries 17, using 1088 bytes
of memory Peers 1, using 2520 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 192.168.0.15 465535189191000 01:33:595
Total number of neighbors 1
Сессия поднялась.
Теперь разберемся как увидеть тоже самое в OpenBGPd.
Для этого служит команда bgpctl.
bgpctl show Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd Quagga 65534540 00:00:504
Ну а, например после изменения конфигурационного файла, можно
выполнить bgpctl reload и будут применены новые настройки. Причем
текущие сессии не будут разорваны.
И по итогам того, что у меня получилось, могу сказать, что для меня
OpenBGPd выглядит неудобным, но он вполне рабочий. Остается разобраться с
фильтрацией анонсов и работой с bgpctl.
Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/