Что это такое?
Это настройка данной копии протокола Kernel.
Зачем это нужно?
По существу, данный протокол выполняет две задачи:
- Передаёт все изменения, произведённые в таблицах BIRD, в таблицы ядра, по которым непосредственно производится маршрутизация пакетов.
- Через определённые интервалы времени считывает маршрутные таблицы ядра и сравнивает их с таблицами BIRD на предмет возможных расхождений. Например, в ядре могут исчезать и появляться какие-то маршруты из-за перехода интерфейсов UP/DOWN, и эти переходы могли остаться незамеченными для BIRD. Или же маршрутная таблица ядра могла быть модифицирована какими-либо другими механизмами. (В частности, в устройствах NSG такими механизмами являются скрипты, вызываемые из netping, обработчика событий и других мест).
Как это настроить?
- Настроить общие параметры работы данной копии в системе BIRD:
рабочую таблицу BIRD,
фильтры импорта
и экспорта,
приоритет маршрутов, полученных из данной копии,
описание и др.
- Выбрать таблицу ядра Linux, с которой будет синхронизироваться таблица BIRD.
- Установить интервал считывания маршрутных таблиц ядра и порядок переноса обнаруженных изменений в таблицы BIRD.
- Установить порядок экспорта маршрутов в непосредственно подключённые сети.
Направление операций экспорта-импорта подразумевается по отношению к таблице BIRD, т.е. перенос маршрутов из таблицы BIRD в таблицу ядра называется экспортом, из ядра в BIRD — импортом.
Что делать, если это не работает?
Использовать отладчик.
Пример конфигурации
(из документации BIRD, для системы с 2 маршрутными таблицами)
kernel
: 1 # Primary routing table
: : learn = true # Learn alien routes from the kernel
: : scan-time = 10 # Scan kernel routing table every 10 seconds
: : import = "all"
: : export = "all"
: 2 # Secondary routing table
: : table = "auxtable"
: : kernel-table = 100
: : export = "all"