Про настройку динамической маршрутизации по протоколу 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


