logo

Пример настройки динамической маршрутизации на роутерах iRZ серии R0/R2/R4

Настройка динамической маршрутизации - сложная задача, которая требует высокой квалификации сетевых инженеров. В данной статье приведен лишь один из примеров возможной конфигурации.

Для работы с динамической маршрутизацией на роутерах iRZ серии R0 и R2 вначале надо установить необходимые пакеты. На роутерах серии R4 пакеты установлены по умолчанию.

Установка (версии прошивки 20.1 - 20.5)

На прошивках с версией ниже 20.1 этой функциональности нет.

Инструментом для работы с динамической маршрутизацией на роутерах iRZ является пакет Quagga.

Для работы с динамической маршрутизацией на роутерах iRZ серии R0 и R2 вначале надо установить необходимые пакеты. На роутерах серии R4 пакеты установлены по умолчанию.

Пакеты и инструкция по установке находятся здесь:

Дальше вся работа происходит в командной строке, веб-интерфейс для динамической маршрутизации в R0 и R2 не предусмотрен.

Установка (версии прошивки 20.6 и выше)

Для установки Quagga нужно:

  1. Зайти в веб-интерфейс роутера на вкладку Network - Dynamic Routes

  2. Скачать пакеты по ссылке

  3. Установить пакеты при помощи 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:

vtysh

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

Русскоязычная документация