Про настройку динамической маршрутизации по протоколу Rip в bird
Файл конфигурации для корректной работы rip в bird может выглядеть так:
#Router ID router id 192.168.1.100; #kernel1 configuration: protocol kernel { # disabled; learn; persist; scan time 10; import all; export all; } #device1 configuration: protocol device { # disabled; scan time 10; } protocol direct { interface "*"; } #rip configuration: protocol rip { # disabled; import all; export all; port 1520; period 15; infinity 16; garbage time 60; interface "eth0" { mode broadcast; }; }
Что означает строка import all в протоколе kernel?
Протокол kernel отвечает за взаимодействие демона bird с таблицей маршрутизации ядра linux.
import all означает что демон bird будет брать все существующие маршруты из таблицы маршрутизации ядра.
Что означает строка export all в протоколе kernel?
export all означает что демон bird будет обновлять таблицу маршрутизации ядра всеми маршрутами полученными по протоколу rip
Как настроить фильтр для import и export?
Для примера перепишем секцию протокола rip:
protocol rip { # disabled; import filter { print "importing"; if ifname = "eth0" then reject;accept; }; export all; port 1520; period 15; infinity 16; garbage time 60; interface "eth0" { mode broadcast; }; }
В строке import вместо all стоит filter. И это означает что протокол rip будет принимать маршруты на всех интерфейсах кроме интерфейса eth0.
Аналогичным способом можно сделать фильтр по ip-адресам
import filter { print "importing"; if net ~ 192.168.1.0/24 then reject; accept; };
Как включить отладку?
В каждую из секций протоколов можно добавить строку:
debug all;
и тогда при запуске bird из консоли будет вестить расширенная отладка:
bird4 -d -c /etc/bird4.conf