Перейти к содержимому
Калькуляторы

BIRD on FreeBSD Отстрел птиц.

За длинные выходные обновился до 7.4-STABLE

Ну и заодно решил попробовать BIRD v1.2.5 из портов, всё собралось без проблем.

 

Просто BGP на два аплинка:

 

log "/var/log/bird/bird.log" { remote, warning, error, auth, fatal, bug };

log stderr { error, fatal, bug};

 

# Override router ID

router id <MySubnet>4.1;

 

# accept our subnets filter

filter my_net {

if (net = <MySubnet>3.0/24 ) || (net = <MySubnet>4.0/23 ) then accept;

else reject;

}

 

# reject bogons filter

filter bogons_net {

if net ~ [ 0.0.0.0/8+, 127.0.0.0/8+, 192.0.2.0/24+, 169.254.0.0/16+, 192.42.172.0/24+, 198.18.0.0/15+, 192.88.99.0/24+, 224.0.0.0/4+, 240.0.0.0/4+, 10.0.0.0/8+, 172.16.0.0/12+, 192.168.0.0/16+ ] then reject;

else accept;

}

 

# Turn on global debugging of all protocols

debug protocols all;

 

protocol kernel {

persist;

scan time 20;

import none;

export all;

}

 

protocol static {

# Fake route for announce our subnets

route <MySubnet>3.0/24 via "lo0";

route <MySubnet>4.0/23 via "lo0";

}

 

protocol direct {

interface "-ng*", "*";

}

 

# BGP peer to UpLink1

protocol bgp UpLink1 {

local as 1234;

neighbor x.x.x.1 as 11111;

source address x.x.x.2;

hold time 30;

path metric 1;

default bgp_med 1;

default bgp_local_pref 900;

export filter my_net;

import filter bogons_net;

}

 

# BGP peer to UpLink2

protocol bgp UpLink2 {

local as 1234;

neighbor y.y.y.66 as 22222;

source address y.y.y.65;

hold time 30;

path metric 1;

default bgp_med 0;

default bgp_local_pref 100;

export filter my_net;

import filter bogons_net;

}

 

# This pseudo-protocol watches all interface up/down events.

protocol device {

scan time 10; # Scan interfaces every 10 seconds

}

 

Всё завелось сразу и проработало... полчаса. :(

 

В логе только это:

<FATAL> Shutdown completed

<FATAL> RT scan 2

 

Запускаешь ещё раз и ещё полчаса работает.

 

Вернулся на старую, добрую Quagga.

С ней никаких проблем нет, до обновления аптайм был >400 дней.

 

Собственно Quagga устраивает, но периодически отжирает дохрена ресурсов, BIRD поэкономнее.

 

Есть у кого идеи на счёт BIRD-а?

 

Из особенностей можно отметить только ~1000 PPPoE интерфейсов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может, просто не стоит делать PPPoE на бордере? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А по существу?

 

Лошадка то скачет, а вот птица валится.

Условия одинаковые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А по существу?

 

Лошадка то скачет, а вот птица валится.

Условия одинаковые.

Хм.... Bird имеет такое свойство отваливаться, но интересно что в самой кваге стоит модуль "watch", который следит за выполнением процесс.

Пришлось написать скрипт, который бы отлеживал посекундно жив или мертв ли процесс в памяти:

Вот логи работы скрипта:

26.02.2011-11.17.01 : Падение BIRD

01.03.2011-16.51.01 : Падение BIRD

01.03.2011-18.42.01 : Падение BIRD

01.03.2011-18.45.01 : Падение BIRD

02.03.2011-11.54.01 : Падение BIRD

02.03.2011-16.02.01 : Падение BIRD

05.03.2011-17.55.01 : Падение BIRD

10.03.2011-10.05.01 : Падение BIRD

10.03.2011-13.25.01 : Падение BIRD

 

 

Вопрос к DEAC: какую версию кваги вы используете? У меня была Quagga 0.99.17. Но отказался в пользу BIRD. Quagga не совсем корректно работает с OSPF.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что там некорректно? А то у меня работает уже 5-й год, а оказывается что то не так....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос к DEAC: какую версию кваги вы используете? У меня была Quagga 0.99.17. Но отказался в пользу BIRD. Quagga не совсем корректно работает с OSPF.

Версия последняя, из портов.

OSPF мне не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что там некорректно? А то у меня работает уже 5-й год, а оказывается что то не так....

Читал спеца на одном из форумом инета. Так он говорит, что в последних версиях Quagga разбит протокол OSPF

 

На основе опыта я тоже пришел к этому выводу:

Стоят две системы НАС (Linux и FreeBSD). Подняты quagga c идентичными конфигами. На Linux все работает отлично, а вот фря как-то случайно то анонсирует маршрут, то нет.

Причину так и не нашел. Использовалась Quagga 0.99.17. Может в более ранних версиях это работает. но не пробовал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меж делом вышел BIRD 1.3.0

 

У кого-то уже летает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меж делом вышел BIRD 1.3.0

 

У кого-то уже летает?

Как появится в unstable, надо будет пощупать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Quagga не совсем корректно работает с OSPF.

У меня как раз наоборот, птица срала флудила по 200 метров OSPF-анонсов при любом изменении, чем вгоняла в ребут либо вешала половину L3-свитчей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уже в портах!

К слову, зашёл,чтобы скачать и почитать NEWS, а там:

Download bird-1.3.1.tar.gz 	bird-1.3.1.tar.gz 	808 KB 	02.05. 2011

:)

Изменено пользователем GFORGX

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меж делом вышел BIRD 1.3.0

 

У кого-то уже летает?

 

Да, на роут-серверах обновились до данной версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меж делом вышел BIRD 1.3.0

 

У кого-то уже летает?

 

Да, на роут-серверах обновились до данной версии.

 

И как оно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Меж делом вышел BIRD 1.3.0

 

У кого-то уже летает?

 

Да, на роут-серверах обновились до данной версии.

 

И как оно?

 

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

 

P.S. Сегодня вышел следующий релиз, .1 на конце. В списке рассылки мини опрос от разработчиков, развитию каких новых фитч уделить наибольшее внимание на взгляд потребителей продукта.

Изменено пользователем magr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал 1.3.1, неделю проработало без падений.

Но вылезла другая проблема:

-- после пропадания аплинка(перезагрузка оборудования провайдером) BGP не поднимается. :(

 

В логе выглядит так:

18:50:58 <RMT> UpLink1: Received: Hold timer expired

18:12:15 <RMT> UpLink1: Received: Hold timer expired

18:16:55 <WARN> BGP: Unexpected connect from unknown address x.x.x.1 (port 54603)

18:21:43 <WARN> BGP: Unexpected connect from unknown address x.x.x.1 (port 52067)

 

Опять вернулся к QUAGGA, никаких проблем с пропаданием/появлением аплинков нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конфиг здесь: http://forum.nag.ru/forum/index.php?showtopic=64784&st=0

Обсуждение можно продолжить там же, дабы не отвлекаться от темы.

Продолжая: это все очень странно, код в данном случае достаточно простой и не менялся с 1.3.* (см. https://git.nic.cz/redmine/projects/bird/repository/revisions/master/annotate/proto/bgp/bgp.c#L628 )

Фактически там идет перебор всех протоколов и для каждого с типом BGP сравнивается remote address.

То есть, без как минимум sh protocols / sh protocols all нужный_протокол сказать ничего нельзя.

Кстати, там никаких автоматизаций с cli не было? типа birdc 'disable протокол ' или подобного?

Ну и да, в момент 1.3.1 в порту была некая каша на тему не очень правильных патчей.

 

В общем, предлагаю последний релиз попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, предлагаю последний релиз попробовать.

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

Хотелось бы success story, о юзании птицы в боевых условиях, со всевозможными ребутами чего-либо и отсутствием траблов.

Само желание поюзать птицу есть, уж больно она к ресурсам непритязательна.

Изменено пользователем Deac

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, предлагаю последний релиз попробовать.

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

Хотелось бы success story, о юзании птицы в боевых условиях, со всевозможными ребутами чего-либо и отсутствием траблов.

Само желание поюзать птицу есть, уж больно она к ресурсам непритязательна.

 

А у вас 100500 bgp-сессий или ospf-нейборов? Что bird, что quagga, что любой другой демон дин. маршрутизации на производительность форвардинга не влияют. О каких ресурсах идёт речь?

 

Bird сделан для публичных IX-ов с огромным числом пиров, где contol-плейны всяких цисок и подобных могут не справиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А у вас 100500 bgp-сессий или ospf-нейборов? Что bird, что quagga, что любой другой демон дин. маршрутизации на производительность форвардинга не влияют. О каких ресурсах идёт речь?

У нас просто три fw, было два, но сейчас добавили ещё.

Речь собственно о том, что quagga периодически отжирает до 30% одного из ядер.

bird, в свою очередь, за отжиранием больше чем 15% не замечен.

А ещё там оч. вкусные таблицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, предлагаю последний релиз попробовать.

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

Хотелось бы success story, о юзании птицы в боевых условиях, со всевозможными ребутами чего-либо и отсутствием траблов.

Само желание поюзать птицу есть, уж больно она к ресурсам непритязательна.

Вот у MSK-IX был success story с bird, как раз в момент их последнего факапа :)

Ну а вообще-то крупные IX-ы используют, криков в рассылке нет.

У меня в паре мест крутится птичка в multi-fib конфигурации уже с год - пара десятков пиров/таблиц, пайпы, фильтры, все хорошо. Нареканий нет никаких

 

Тестили недавно производительность bird как RR (5 FW, 300 пиров) - тоже все замечательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну а вообще-то крупные IX-ы используют, криков в рассылке нет.

Но подробностями то они не делятся, а как известно, "в подробностях - вся соль".

Хорошо бы указывать версию, это новая страница и оч. многие не потрудятся просмотреть предыдущие, что вызовет вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это да.

Вот, из того что в открытом доступе, например:

 

http://dataix.ru/rus/s/11/looking_glass.html?typ=BGP&router=3&x=19&y=12#

http://dataix.ru/rus/s/11/looking_glass.html?typ=PREFIX&router=2&arg1=213.248.23.202&x=17&y=9#

 

Это 1.3.3+, судя по выводу информации о префиксе (ну, либо люди бекпортировали ряд патчей оттуда, но это сомнительно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже здесь:

178.18.224.14        42775 Oct31               0/0                  Active        Socket: Connection refused

Это как понять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже здесь:

178.18.224.14        42775 Oct31               0/0                  Active        Socket: Connection refused

Это как понять?

Это значии, что с другой стороны вместо бгп спикера сидит страшный connection refused :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.