Модуль динамической маршрутизации МКСЗ «Diamond Next» построен на базе FRR (FRRouting). Он обеспечивает обмен маршрутной информацией между сетевыми устройствами и автоматический выбор маршрутов.
FRR состоит из нескольких взаимодействующих демонов. Например, bgpd обслуживает BGP, ospfd — OSPFv2, ospf6d — OSPFv3, а zebra обрабатывает маршрутную информацию и состояние интерфейсов. За контроль работы демонов отвечает watchfrr. Таким образом, FRR — это служба, состоящая из нескольких процессов.
В МКСЗ «Diamond Next» поддерживаются следующие протоколы динамической маршрутизации:
Для работы с multicast-трафиком используются PIM и IGMP. PIM обеспечивает маршрутизацию multicast-трафика, а IGMP — управление членством узлов в группах IPv4 multicast. BFD применяется для контроля доступности соседей. Также поддерживается LDP для распределения MPLS-меток.
Конфигурационные файлы FRR находятся в каталоге /etc/frr. Для доступа к ним подключитесь к устройству по SSH и перейдите в каталог:
cd /etc/frr
Файл daemons содержит параметры запуска демонов FRR. Просмотреть его содержимое можно командой:
cat daemons
Пример содержимого файла:
bgpd=no
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
bfdd=no
fabricd=no
vrrpd=no
Для запуска нужного демона измените значение no на yes. Например, чтобы включить демоны BGP и EIGRP, укажите:
bgpd=yes
eigrpd=yes
Изменить файл можно редактором nano:
nano /etc/frr/daemons
Сохраните внесённые изменения и закройте редактор. Включайте только те демоны, которые требуются для настройки и поддерживаются в используемой версии программного обеспечения. Наличие параметра в файле daemons само по себе не означает, что соответствующая функция доступна в МКСЗ «Diamond Next».
После изменения файла daemons перезапустите службу FRR:
/etc/init.d/S50frr restart
Stopping frr: Stopped watchfrr
Stopped staticd
Stopped bfdd
Stopped bgpd
Stopped ripd
Stopped ospfd
Stopped zebra
OK
Starting frr: Started watchfrr
OK
Перезапуск службы может временно прервать соседства протоколов маршрутизации и обновление маршрутов. Учитывайте это при выполнении команды.
Проверить состояние службы можно через веб-интерфейс. В главном меню выберите «Статус → Сервисы». В таблице «Сервисы» отображается состояние службы frr и время её запуска.
Состав запущенных процессов FRR можно проверить по SSH:
# ps -ef | grep frr
root 24382 1 0 16:29 ? 00:00:00 /usr/sbin/watchfrr -d -F traditional zebra bgpd ripd ospfd staticd bfdd
frr 24406 1 0 16:29 ? 00:00:00 /usr/sbin/zebra -d -F traditional -A 127.0.0.1 -s 90000000
frr 24415 1 0 16:29 ? 00:00:00 /usr/sbin/bgpd -d -F traditional -A 127.0.0.1
frr 24423 1 0 16:29 ? 00:00:00 /usr/sbin/ripd -d -F traditional -A 127.0.0.1
frr 24427 1 0 16:29 ? 00:00:00 /usr/sbin/ospfd -d -F traditional -A 127.0.0.1
frr 24431 1 0 16:29 ? 00:00:00 /usr/sbin/staticd -d -F traditional -A 127.0.0.1
frr 24435 1 0 16:29 ? 00:00:00 /usr/sbin/bfdd -d -F traditional -A 127.0.0.1
root 28180 24182 0 16:45 pts/1 00:00:00 grep frr
Наличие запущенного процесса подтверждает, что соответствующий демон работает. Для проверки состояния соседств и полученных маршрутов используйте команды FRR и средства диагностики МКСЗ «Diamond Next».
Для настройки протоколов используйте оболочку FRR vtysh или конфигурационный файл /etc/frr/frr.conf.
Основной способ настройки — через vtysh. Оболочка проверяет синтаксис вводимых команд и применяет корректные изменения к работающим демонам. Чтобы сохранить изменения в конфигурационном файле, выполните команду:
write memory
FRR использует файл /etc/frr/frr.conf для хранения общей конфигурации. При сохранении конфигурации команда write memory записывает в него настройки работающих демонов. Поэтому перед сохранением убедитесь, что необходимые демоны запущены.
При необходимости конфигурацию можно изменить напрямую в файле frr.conf:
nano /etc/frr/frr.conf
После редактирования сохраните файл и перезапустите службу FRR, чтобы применить изменения:
/etc/init.d/S50frr restart
Прямое редактирование файла требует точного соблюдения синтаксиса FRR. Ошибка в конфигурации может помешать корректному запуску демонов или применению настроек.
Для передачи маршрутов, полученных FRR, с уровня управления на уровень обработки на устройстве необходимо настроить LCP-интерфейс, связывающий соответствующие интерфейсы. Подробнее о настройке LCP-интерфейса см. в разделе 3.1.3 “Настройка LCP-интерфейса”.