Пример настройки динамической маршрутизации на роутерах iRZ серии R0/R2/R4
Настройка динамической маршрутизации - сложная задача, которая требует высокой квалификации сетевых инженеров. В данной статье приведен лишь один из примеров возможной конфигурации.
Для работы с динамической маршрутизацией на роутерах iRZ серии R0 и R2 вначале надо установить необходимые пакеты. На роутерах серии R4 пакеты установлены по умолчанию.
Установка (версии прошивки 20.1 - 20.5)
Внимание! На прошивках с версией ниже 20.1 этой функциональности нет.
Инструментом для работы с динамической маршрутизацией на роутерах iRZ является пакет Quagga.
Пакеты и инструкция по установке находятся здесь: https://faq.radiofid.ru/knowledge-bases/2/articles/517-gde-skachat-paketyi-dlya-nastrojki-dinamicheskoj-marshrutizatsii-na-routerah-serii-r0-i-r2
Дальше вся работа происходит в командной строке, веб-интерфейс для динамической маршрутизации в R0 и R2 не предусмотрен.
Установка (версии прошивки 20.6 и выше)
Для установки Quagga нужно:
- Зайти в веб-интерфейс роутера на вкладку Network - Dynamic Routes
- Скачать пакеты по ссылке
- Установить пакеты при помощи Tools - Management - Install Package
Принцип работы
Каждый протокол маршрутизации в Quagga обслуживается отдельным демоном: ripd обрабатывает протокол RIP, ospfd - OSPF v 2, bgpd - BGP-4 соответственно.
Базовое управление осуществляет демон zebra (core daemon), который представляет необходимые API остальным демонам и перестраивает таблицу маршрутизации. Статические маршруты устанавливаются также
при помощи демона zebra.
+----+ +----+ +-----+ +-----+ |bgpd| |ripd| |ospfd| |zebra| +----+ +----+ +-----+ +-----+ | +---------------------------|--+ | v | | UNIX Kernel routing table | | | +------------------------------+ Quagga System Architecture
Каждый демон имеет свой собственный файл конфигурации и терминальный интерфейс. Такая схема позволяет легко добавить поддержку другого протокола, но наличие нескольких процессов и конфигурационных файлов делает ее не очень удобной для управления.
Эту проблему решают при помощи терминала vtysh, который, подключаясь к сокету каждого запущенного процесса Quagga, выступает в качестве прокси для пользовательских команд.
Пример конфигурации Quagga
В данном примере маршрутизация настраивалась на тестовом стенде:
Router1 - RL01. Interface (Loopback) : 10.255.1.1/32, 172.16.1.1/24. Eth0: 10.10.78.1/24
Router2 - RL01. Interface (Loopback) : 10.255.2.2/32, 172.16.2.1/24. Eth0: 10.10.78.1/24
В файле /etc/quagga/daemons указывается, какие демоны будут загружаться, то есть какие именно протоколы будет поддерживать Quagga. По умолчанию все параметры установлены в no, и после установки ничего работать не будет.
Конфигурация Zebra:
Конфиг Zebra демона: cat /etc/quagga/zebra.conf
password zebra ! access-list vty permit 127.0.0.0/8 access-list vty deny any ! hostname router-r1 interface br-lan ip address 10.10.78.1/24 interface lo line vty
Для логов зебры можно создать лог файл
touch /var/run/quagga/zebra.log chmod 666 /var/run/quagga/zebra.log vi /etc/quagga/zebra.conf log file /var/run/quagga/zebra.log
Конфиг BGP демона:
vi /etc/quagga/bgpd.conf
Команда для перехода к управлению демоном Quagga:
vtys
Router1 - рабочая конфигурация bgpd.conf
password zebra ! access-list vty permit 127.0.0.0/8 access-list vty deny any ! #AS Numberrouter bgp 64515 ! # Router ID bgp router-id 10.255.1.1 ! #Known networks network 172.16.1.0/24 network 10.10.78.0/24 ! redistribute connected ! #Neighbours neighbor 10.10.78.2 remote-as 64515 ! #IPv4 source address to use for the BGP session neighbor 10.10.78.2 update-source 10.10.78.1 ! line vtyaccess-class vty
Router2
password zebra ! access-list vty permit 127.0.0.0/8 access-list vty deny any ! #AS Numberrouter bgp 64515 ! # Router ID bgp router-id 10.255.2.2 ! #Known networks network 172.16.2.0/24 network 10.10.78.0/24 ! redistribute connected ! #Neighbours neighbor 10.10.78.1 remote-as 64515 ! #IPv4 source address to use for the BGP session neighbor 10.10.78.1 update-source 10.10.78.2 ! line vtyaccess-class vty
После сохранения всех конфигов необходима перезагрузка демона quagga
/etc/init.d/quagga restart
Русскоязычная документация
https://www.opennet.ru/base/net/zebra_doc.txt.html
Официальный сайт проекта
Сервис поддержки клиентов работает на платформе UserEcho