Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Интересно посмотреть на продукт отличный от Quagga. Для этого я сделал небольшую тестовую лабораторию из двух хостов. На одном будет стоять Quagga, на втором хосте поставим OpenBGPd. Задача обменяться анонсами.


Новые статьи на сайте:

 

Hilik     Настроим все

 http://www.hilik.org.ua/

 

Первичная настройка OpenBGPd

В портах FreeBSD есть openbgp – продукт из проекта OpenBSD для поддержки протокола динамической маршрутизации BGP. Проэкт OpenBSD славится отсутствием проблем с безопасностью и одним из методов достижения этого является реализация всего необходимого по возможности своими силами. То есть они стараются минимизировать наличие продуктов от сторонних разработчиков в своей системе.
Ну а как по мне, то просто интересно посмотреть на продукт отличный от Quagga. Для этого я сделал небольшую тестовую лабораторию из двух хостов. На одном будет стоять Quagga, на втором хосте поставим OpenBGPd. Задача обменяться анонсами.
Конфиг Quagga выглядит так:

!
hostname Router
hostname bgpd
log stdout
!
password zebra
enable password zebra
!
interface em0
ipv6 nd suppress-ra
!
interface lo0
!
router bgp 65534
bgp router-id 192.168.0.6
network 192.168.1.0/24
network 192.168.2.0/24
network 192.168.3.0/24
network 192.168.4.0/24
neighbor 192.168.0.15 remote-as 65535
!
line vty
!

Теперь перейдем к установке OpenBGPd. Ставить будем из портов:

cd /usr/ports/net/openbgpd/
make install clean

В небольшом диалоговом окне сборки можно ничего не отмечать. По крайней мере тем, кто не использует IPv6.


Options for openbgpd 4.6.20100227

[ ] IPV6LLPEER Support nexthop using IPv6 link-local address

[ OK ] Cancel

После установки первый сюрприз. Нет конфигов, ни примеров, ничего. Но ничего есть маны. Второе разочарование – отсутствует специальная оболочка для настройки, как в Quagga. Я отлично понимаю, что это совсем разные проекты, что наличие шела и телнет доступа – потенциальная дыра в безопасности, но все же.
Ну да ладно, после чтения манов получился вот такой первый конфиг /usr/local/etc/bgpd.conf:

AS 65535
network 192.168.5.0/24
network 192.168.6.0/24
network 192.168.7.0/24
network 192.168.8.0/24
network 192.168.9.0/24
 
group "peering AS65534" {
remote-as 65534
neighbor 192.168.0.6 {
descr "Quagga"
announce all
}
}

В принципе чем то похоже на конфиги Juniperов b Vyatta.
Теперь делаем обязательно:

chmod 600 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 4 65535 189 191 0 0 0 01:33:59 5
 
Total number of neighbors 1

Сессия поднялась.
Теперь разберемся как увидеть тоже самое в OpenBGPd.
Для этого служит команда bgpctl.

 bgpctl show
Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd
Quagga 65534 5 4 0 00:00:50 4

Ну а, например после изменения конфигурационного файла, можно выполнить bgpctl reload и будут применены новые настройки. Причем текущие сессии не будут разорваны.
И по итогам того, что у меня получилось, могу сказать, что для меня OpenBGPd выглядит неудобным, но он вполне рабочий. Остается разобраться с фильтрацией анонсов и работой с bgpctl.

 

 Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/
 


В избранное