Table of Contents
Настройка протокола динамической маршрутизации RIP
Для настройки протокола динамической маршрутизации «RIP (Routing Information Protocol)» необходимо подключиться к устройству по протоколу ssh и выполнить команду «vtysh» для перехода в режим интерпретатора.
# vtysh Hello, this is FRRouting (version 7.4). Copyright 1996-2005 Kunihiro Ishiguro, et al. Diamond VPN/FW#
Далее необходимо необходимо перейти в режим конфигурирования с помощью команду «confidure terminal» и выполнять команду для входа в режим конфигурирования протокола динамической маршрутизации RIP «router rip».
Diamond VPN/FW# configure terminal Diamond VPN/FW(config)# router rip Diamond VPN/FW(config-router)#
Для получения справки по командам для заданного меню интерпретатора необходимо выполнить команду «shift+?». Во всех разделах работает режим дополнения команды с помощью клавиши «tab». Для отмены команды необходимо поставить ключевую частицу «no» перед командой. Для выхода в предыдущее меню необходимо выполнить команду «exit».
После задания конфигурации в терминальном режиме необходимо сохранить настройки. Для сохранения настроек необходимо выполнить команду «write» в основном меню конфигурации. При выполнении команду «write» вся конфигурация записывается в конфигурационный файл «/media/storage/overlay/frr/frr.conf»
MKSZ_Diamond_VPN_FW#write Note: this version of vtysh never writes vtysh.conf Building Configuration... Integrated configuration saved to /etc/frr/frr.conf [OK]
Базовая настройка протокола RIP
Команда «network <ip subnet/network>» включает протокол динамической маршрутизации RIP на сетевом интерфейсе, на котором задана данная подсеть. После включения протокола RIP на заданном сетевом интерфейсе на него начинают уходить обновления с маршрутной информацией.
Команда «network <interface_name>» включает протокол динамической маршрутизации RIP на заданном сетевом интерфейсе. После включения протокола RIP на заданном сетевом интерфейсе на него начинают уходить обновления с маршрутной информацией.
Команда «neighbor <ip address>» задает адрес соседнего устройства для обмена маршрутной информацией в случае, если устройства соединены между собой средой, в которой не передается мультикаст трафик. В этом случае обновления маршрутной информацией будет передаваться с использованием юникаст трафика.
Команда «passive-interface <interface_name>» переводит заданный сетевой интерфейс с пассивный режим. В пассивном режиме обмен маршрутной информации в рамках протокола RIP между устройствами невозможен, за исключением случая, когда в явном виде было задано соседнее устройство с помощью команды «neighbor <ip address>». Для перевода всех интерфейсов на устройстве в пассивный режим необходимо выполнить команду «passive-interface default».
Команда «ip split-horizon» включает механизм предотвращения петель для протокола динамической маршрутизации RIP. По умолчанию данный механизм включен.
Настройка версии для протокола RIP
Команда «version <1 or 2 version>» позволяет задать версию для протокола RIP.
Команда «ip rip send version VERSION» задается на сетевом интерфейсе и позволяет переопределить глобальную настройку для версии протокола, которая задается командой «version <1 or 2 version>» при отправке обновлений с заданного сетевого интерфейса.
Команда «ip rip receive version VERSION» задается на сетевом интерфейсе и позволяет переопределить глобальную настройку для версии протокола, которая задается командой «version <1 or 2 version>» при приеме обновлений на заданном сетевом интерфейсе.
Настройка протокола RIP
На рисунке ниже приведена схема сети и пример конфигурации протокола динамической маршрутизации RIP для центрального устройства. После схемы приведен пример конфигурационного файла для данной схемы сети.
# vtysh Hello, this is FRRouting (version 7.4). Copyright 1996-2005 Kunihiro Ishiguro, et al. Diamond VPN/FW# configure terminal Diamond VPN/FW(config)# router rip Diamond VPN/FW(config-router)# network eth3 Diamond VPN/FW(config-router)# network 192.168.17.0/24 Diamond VPN/FW(config-router)# version 2 Diamond VPN/FW(config-router)# passive-interface default Diamond VPN/FW(config-router)# no passive-interface eth2 Diamond VPN/FW(config-router)# no passive-interface eth3
Анонсы маршрутной информации
Команда «redistribute» позволяет включить механизм редистрибуции маршрутной информации из других источников. Например, протокол BGP, OSPF, EIGRP, KERNEL, STATIC.
Команда «default-information originate» позволяет включить механизм анонсирования маршрута по умолчанию другим устройствам в рамках протокола RIP.
Команда «route A.B.C.D/M» позволяет задать статический маршрут, который будет анонсироваться другим устройствам в рамках протокола RIP.
Изменение метрики у маршрутов
Команда «default-metric (1-16)» позволяет изменить стандартное значение параметра метрика для маршрутов, которые получены через механизм редистрибуции. Значение по умолчанию - 1. Команда не влияет на подключенные подсети, даже если они анонсированы как «redistribute connected». Для изменения метрики для подключенных подсетей необходимо выполнить команду «redistribute connected metric»
Изменение административной дистанции
Команда «distance (1-255)» позволяет изменить значение административной дистанции для протокола RIP. Значение по умолчанию - 120. При получении маршрутной информации в основную таблицу маршрутизации будут попадать маршруты от протоколов с наименьшем значение административной дистанции.
Параметры аутентификации
Аутентификация поддерживается протоколом динамической маршрутизации RIP версии 2. Протоколу RIP версии 1 не поддерживает аутентификацию. При настройки параметров аутентификации поддерживается простой пароль и MD5. При использовании аутентификации устройство не будет принимать маршрутные анонсы от устройства с RIP версией 1.
Команда «ip rip authentication mode md5» задается на сетевом интерфейсе и позволяет включить режим аутентификации MD5.
Команда «ip rip authentication mode text» задается на сетевом интерфейсе и позволяет включить режим аутентификации с простым паролем.
Команда «ip rip authentication string <clear_password>» задается на сетевом интерфейсе и позволяет задать пароль. Длина пароль не должна превышать 16 символов.
Команда «ip rip authentication key-chain <KEY-CHAIN>» задается на сетевом интерфейс и позволяет задать секретное слово.
Временные параметры
Протокол динамической маршрутизации RIP имеет несколько таймеров. «Update timer» - временной интервал обновления маршрутной информации, значение по умолчанию 30 секунд. Каждые 30 секунд происходит рассылка маршрутной информации соседям. Обновление включает в себя таблицу маршрутизации целиком. «Timeout timer» - по истечении таймера неактивный маршрут удаляется из таблицы маршрутизации. Однако он сохраняется некоторое время, чтобы о неактивном маршруте узнали все соседи. Значение по умолчанию - 180 секунд. «Collect timer» - таймер отвечает за удаление мусорных маршрутов. По истечение времени неактивные маршруты полностью удаляются из таблицы маршрутизации. Значение по умолчанию - 120 секунд.
Команда «timers basic <UPDATE_time> <TIMEOUT_time> <GARBAGE_time>» позволяет изменить таймеры, которые влияют на механизмы обмены маршрутной информации. При выполнении команды необходимо задать три параметра для каждого из таймеров.
Просмотр информации о протоколе RIP
Команда «show ip rip» позволяет вывести информацию о маршрутах, которые были получены через протокол RIP.
Команда «show ip rip status» позволяет вывести информацию о протоколе RIP, которая включает в себя: статус, временные таймеры, фильтры, версию протокола, интерфейсы, на которых запущен протокол RIP, и информацию о соседних устройствах.
Журналы событий
Команда «debug rip events» при включении данного режима будет отображаться информация об отправленных и полученных пакетах, информация о временных таймерах и изменениях на сетевых интерфейсах.
Команда «debug rip packet» при включении данного режима будет отображаться детальная информация обо всех пакетах процесса RIP, адреса источника и назначения и сетевые порты.
Команда «debug rip zebra» при включении данного режима будет отображаться информация о взаимодействии процесса RIP и основного процесса динамической маршрутизации, который включает в себя процесс добавления и удаления маршрутов, отправку и получение информации о сетевых интерфейсах.
Команда «show debugging rip» при включении данного режима будет отображаться информации обо всех сообщения и всех пакетах.
Пример конфигурации
Разберем на примере конфигурацию протокола RIP. На схеме представлены 4 устройства МКСЗ «Diamond VPN/FW», на интерфейсах устройств заданы сетевые адреса и настроена сетевая связность между всеми устройствами. На устройстве 1, 2 и 3 настроен протокол динамической маршрутизации RIP. Все необходимые данные представлены на схеме.
Для просмотра информации о протоколе и маршрутной информации необходимо подключиться к устройству по протоколу ssh и перейти в режим терминального подключения. Для перехода в режим терминального подключения необходимо выполнить команду «vtysh». Рассмотрим пример конфигурации на устройстве МКСЗ «Diamond VPN/FW» с номером «3» на схеме.
# vtysh Hello, this is FRRouting (version 7.4). Copyright 1996-2005 Kunihiro Ishiguro, et al. MKSZ_Diamond_VPN_FW#
Для отображения состояния протокола динамической маршрутизации RIP необходимо выполнить команду «show ip rip status».
MKSZ_Diamond_VPN_FW# show ip rip status Routing Protocol is "rip" Sending updates every 30 seconds with +/-50%, next due in 12 seconds Timeout after 180 seconds, garbage collect after 120 seconds Outgoing update filter list for all interface is not set Incoming update filter list for all interface is not set Default redistribution metric is 1 Redistributing: Default version control: send version 2, receive version 2 Interface Send Recv Key-chain eth2.17 2 2 eth3.32 2 2 net_1 2 2 net_2 2 2 Routing for Networks: 10.250.13.0/24 192.168.17.0/24 192.168.201.0/24 eth3.32 Passive Interface(s): net_2 Routing Information Sources: Gateway BadPackets BadRoutes Distance Last Update 192.168.17.2 0 0 120 00:00:12 Distance: (default is 120)
Для отображения информации о текущей конфигурации протокола динамической маршрутизации RIP необходимо выполнить команду «sh running-config».
MKSZ_Diamond_VPN_FW# sh running-config Building configuration... Current configuration: ! frr version 7.4 frr defaults traditional hostname vpnfw log file /var/log/frr/frr.log --------------> настройка журналирования log syslog informational no ipv6 forwarding hostname MKSZ_Diamond_VPN_FW service integrated-vtysh-config ! debug rip events --------------| debug rip packet | ---> настройка журналирования событий debug rip zebra --------------| ! interface eth2.17 --------------| ip rip authentication mode text | ---> настройка параметров аутентификации ip rip authentication string diamond --------------| ! interface eth3.32 --------------| ip rip authentication mode md5 | ---> настройка параметров аутентификации ip rip authentication string diamond --------------| ! router rip --------------| network 10.250.13.0/24 | network 192.168.201.0/24 | network 192.168.17.0/24 | ---> настройка протокола RIP network eth3.32 | passive-interface net_2 | version 2 --------------| ! line vty ! end
Для просмотра информации о маршрутах в терминальном режиме необходимо выполнить команду «sh ip rip».
MKSZ_Diamond_VPN_FW# sh ip rip Codes: R - RIP, C - connected, S - Static, O - OSPF, B - BGP Sub-codes: (n) - normal, (s) - static, (d) - default, (r) - redistribute, (i) - interface Network Next Hop Metric From Tag Time R(n) 10.16.199.0/24 192.168.17.2 2 192.168.17.2 0 02:44 C(i) 10.250.13.0/24 0.0.0.0 1 self 0 C(i) 172.16.32.0/24 0.0.0.0 1 self 0 R(n) 172.31.25.0/24 192.168.17.2 2 192.168.17.2 0 02:44 C(i) 192.168.17.0/24 0.0.0.0 1 self 0 C(i) 192.168.201.0/24 0.0.0.0 1 self 0
Также информация о маршрутах доступна при подключении по консоли. Для отображения информации о маршрутах необходимо выполнить команду «ip route». Маршруты, которые были получены по протоколу «rip», отмечены меткой «rip».
# ip route 10.2.2.0/24 via 10.10.101.241 dev eth1 10.16.199.0/24 via 192.168.17.2 dev eth2.17 proto rip metric 20 10.250.13.0/24 dev net_1 proto kernel scope link src 10.250.13.0 172.16.32.0/24 dev eth3.32 proto kernel scope link src 172.16.32.1 172.31.25.0/24 via 192.168.17.2 dev eth2.17 proto rip metric 20 192.168.17.0/24 dev eth2.17 proto kernel scope link src 192.168.17.1 192.168.150.0/24 dev eth4.100 proto kernel scope link src 192.168.150.1 192.168.201.0/24 dev net_2 proto kernel scope link src 192.168.201.0
Для отображения информации о маршрутах, которые были получены только по протоколу «rip», необходимо выполнить команду «ip route | grep rip».
# ip route | grep rip 10.16.199.0/24 via 192.168.17.2 dev eth2.17 proto rip metric 20 172.31.25.0/24 via 192.168.17.2 dev eth2.17 proto rip metric 20