Category: BGP

Май 12 2010

BGP. Просмотр принятых и переданных анонсов.

Когда строишь bgp сессию с кем либо, сам собой возникает вопрос, что мы анонсируем. Проверить можно командой:

show ip bgp neighbors 89.252.34.107 advertised-routes

В результате появятся все префиксы которые мы анонсируем нейджбору 89.252.34.107

Ну а соответственно посмотреть, что за префиксы мы приняли от 89.252.34.107 можно с помощью команды:

show ip bgp neighbors 89.252.34.107 received-routes
Апр 20 2010

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

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

Мар 23 2010

Nagios. Плугин для мониторинга BGP сессий quagga.

Для мониторинга состояния BGP сессий с аплинками и паритетами с помощью nagios я использую такой скрипт плугин:

#!/bin/sh
prx=`/usr/local/bin/sudo /usr/local/bin/vtysh -e 'sh ip bgp su' | grep $2 | /usr/bin/awk '{ print $10 }'`
if [ $prx = 'Connect' ]
then
        echo "Critical - Connect"
        exit 1
elif [ $prx = 'Active' ]
then
        echo "Critical - Active"
        exit 1
elif [ $prx -lt $1 ]
then
        echo "CRITICAL - Prefixes $prx"
        exit 1
else
        echo "OK - Prefixes $prx"
        exit 0
fi

Read more »

Июл 12 2009

BGP community. Настройка в Quagga.

По мере роста числа клиентов, количества BGP сессий вы убедитесь, что управлять становится все сложнее. То один попросит анонсировать в тот канал, но не анонсировать в другой и тому подобное. Потихоньку замечаешь что управление такой системой занимает черезчур много времени. Решение простое, нужно использовать community. Внедрение bgp сommunity снимает сразу ряд проблем. Первое — это мы можем передовать принадлежность комьюнити между своими маршрутизаторам, тем самым избавившись от проверок на каждом хосте access листами и второе, более важное, наши клиенты теперь смогут сами устанавливать принадлежность своих анонсов к той или иной community, тем самым сами смогут управлять поведением проходящих через вашу автономную систему анонсов. Главное все правильно и красиво спроектировать. А теперь вернемся к вопросу как же все таки работать c community.
Read more »

Июл 08 2009

BGP, quagga, контролируем входящий трафик с помощью prepend

Если с отдачей трафика все в принципе понятно, то контролировать ситуацию откуда пойдет входящий трафик намного сложнее. Для управления входящим трафиком мы должны влиять на принятие решения куда направлять трафик, по какому пути, маршрутизатора удаленной системы. Вообще то, актуальными параметрами влияющими на то куда пойдет трафик являются:
1. LocalPreferences — на удаленной автономной системы на этот параметр мы повлиять ну никак не сможем.
2. Длительность и стабильность bgp сессии отвечающей за маршрут
3. Размер сети. Чем меньше размер сети тем выше ее приоритет в таблице роутинга.
4. Количество автономных систем которые нужно пройти пакету для достижения автономной системы назначения. То есть длина AS-PATH.

Фактически повлиять мы можем только на поледние 2 пункта и если размер анонсируемой сети мы можем контролировать только в нескольких случаях, то длину AS-PATH нам контролировать проще. На этом методе мы и остановимся.
Read more »

Июл 05 2009

Quagga, BGP, регулируем отдачу с помощью local-preference.

В своем предыдущем примере мы рассматривали модель, когда по резервному каналу у нас приходит маршрут по умолчанию, схема эта вполне рабочая и жизнеспособная. Но есть одно но, я об этом уже писал, весь паразитный трафик к несуществующим адресам будет уходить на этот канал, то есть туда будет уходить паразитный, безсмысленный трафик. Вполне логично что это не совсем хорошо. То есть конечно можно работать и так, но все же. Если позволяет оборудование(маршрутизаторы), лучше всего принять два фуллвьюва и тут сбалансировать с помощью такой штуки как local-preference. Вот эту модель мы и рассмотрим. За основу берем прежнюю схему известную нам по статье BGP – route-map, as-path, prefix-list. Управляем анонсами. Мы оставляем по прежнему роутер C резервным, а роутер B приоритетным каналом, но через роутер С мы теперь примем полный список сети и сбалансируем отдачу в роутер B c помощью local-preference.
Read more »

Июн 30 2009

Утилита bgpq

Есть в портах FreeBSD полезная утилита bgpq, автор ее Александр Снарский и предназначена она для того, что бы облегчить жизнь системному администратору. Эта утилита незаменима, если вы управляете транзитной автономной системой у которой насчитывается больше десятка клиентов с которыми построены bgp сессии. Утилита эта автоматически строит префикс листы базируясь на номере автономной системы клиента. Такая автоматизация позволит вам забыть о том, что клиент может получить еще несколько префиксов(сетей) и забыть вам об этом сообщить, а потом включить на новые префиксы своих уже клиентов и удивляться что ничего не бегает.
Read more »

Июн 30 2009

Несколько полезных prefix-listов.

При построении взаимодействия с аплинками(провайдерами) и даунлинками (клиентами), есть несколько правил которые нужно соблюдать. Во первых нельзя принимать и отдавать анонсы «серых сетей» — тех сетей которые выделены для использования внутри локальных сетей, для этого на вход и исход следует применить такой префикс лист:

ip prefix-list GREY seq 10 deny 10.0.0.0/8
ip prefix-list GREY seq 20 deny 172.16.0.0/12
ip prefix-list GREY seq 30 deny 192.168.0.0/16

Второй важный момент заключается в том, что анонсировать наружу сети менее /24 запрещено, поэтому без особой нужды принимать анонсы и отдавать анонсы меньших сетей нельзя, вот мы их и обрежем таким префикс листом:

ip prefix-list LOW-NET-DENY seq 20 permit 0.0.0.0/0 le 24

Хорошо и правильно зафильтровав свои и чужие анонсы можно спать спокойно, не боясь того, что какой нибудь нехороший клиент выкинет через вас левые анонсы.


Украинская Баннерная Сеть