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

    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:


    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

    Официальный сайт проекта

    https://www.quagga.net/docs/quagga.html

    Эта статья была полезна для 1 человека. Эта статья помогла Вам?

    Сервис поддержки клиентов работает на платформе UserEcho