Both sides previous revisionPrevious revisionNext revision | Previous revision |
tssltd:настройка_ospf [2022/12/13 11:48] – i.sharapov | tssltd:настройка_ospf [2023/11/02 11:40] (current) – n.ganenkov |
---|
[[tssltd:общие_настройки|Вернуться к оглавлению]] | [[tssltd:общие_настройки|Вернуться к оглавлению]] |
| |
=== Настройка нескольких процессов OSPF === | ==== Настройка нескольких процессов OSPF ==== |
| |
<WRAP indent> | <WRAP indent> |
</WRAP> | </WRAP> |
| |
=== Настройка протокола динамической маршрутизации OSPF === | ==== Настройка протокола динамической маршрутизации OSPF ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
<code> | <code> |
Diamond VPN/FW# configure terminal | MKSZ_Diamond_VPN_FW# configure terminal |
Diamond VPN/FW(config)# router ospf | MKSZ_Diamond_VPN_FW(config)# router ospf |
Diamond VPN/FW(config-router)# | MKSZ_Diamond_VPN_FW(config-router)# |
</code> | </code> |
| |
Для получения справки по командам для заданного меню интепретатора необходимо выполнить команду «**shift+?**». Во всех разделах работает режим дополнения команды с помощью клавиши «**tab**». Для отмены команды необходимо поставить ключевую частицу «**no**» перед командой. Для выхода в предыдующее меню необходимо выполнить команду «**exit**». | Для получения справки по командам для заданного меню интепретатора необходимо выполнить команду «**shift+?**». Во всех разделах работает режим дополнения команды с помощью клавиши «**tab**». Для отмены команды необходимо поставить ключевую частицу «**no**» перед командой. Для выхода в предыдующее меню необходимо выполнить команду «**exit**». |
</WRAP> | |
| |
=== Базовая настройка протокола OSPF === | После задания конфигурации в терминальном режиме необходимо сохранить настройки. Для сохранения настроек необходимо выполнить команду «**write**» в основном меню конфигурации. При выполнении команду «**write**» вся конфигурация записывается в конфигурационный файл «**/media/storage/overlay/frr/frr.conf**» |
| |
<WRAP indent> | <code> |
Команда «**<wrap hi>ospf router-id X.X.X.X <ip subnet/network></wrap>**» | 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] |
| </code> |
| |
Команда «**<wrap hi>network <ip_address> area <area_number> <ip subnet/network></wrap>**» | |
</WRAP> | </WRAP> |
| |
Команда «**<wrap hi>passive-interface <interface_name></wrap>**» | ==== Базовая настройка протокола OSPF ==== |
| |
| <WRAP indent> |
| Команда «**ospf router-id X.X.X.X <ip subnet/network>**» команда задает параметр «**router-id**» для заданного процесса OSPF. |
| |
=== Настройка протокола OSPF === | Команда «**network <ip_address> area <area_number> <ip subnet/network>**» команда позволяет задать подсеть и указать зону для включения заданной подсети/интерфейса в процесс динамической маршрутизации протокола OSPF. |
| |
| Команда «**passive-interface <interface_name>**» команда позволяет перевести интерфейс в пассивный режим, в котором интерфейс не принимает участие в процессе OSPF. |
| </WRAP> |
| |
| ==== Настройка протокола OSPF ==== |
| |
<WRAP indent> | <WRAP indent> |
На рисунке ниже приведена схема сети и пример конфигурации протокола динамической маршрутизации RIP для центрального устройства. После схемы приведен пример конфигурационного файла для данной схемы сети. | На рисунке ниже приведена схема сети и пример конфигурации протокола динамической маршрутизации OSPF для одного из устройств. После схемы приведен пример конфигурационного файла для данной схемы сети. |
| |
{{:tssltd:routing_rip.png?1000|}} | {{:tssltd:ospf_basic_conf.png|}} |
Рисунок | |
| |
<code> | <code> |
Copyright 1996-2005 Kunihiro Ishiguro, et al. | Copyright 1996-2005 Kunihiro Ishiguro, et al. |
| |
Diamond VPN/FW# configure terminal | MKSZ_Diamond_VPN_FW# configure terminal |
Diamond VPN/FW(config)# router rip | MKSZ_Diamond_VPN_FW(config)# router ospf |
Diamond VPN/FW(config-router)# network eth3 | MKSZ_Diamond_VPN_FW(config-router)# ospf router-id 1.1.1.1 |
Diamond VPN/FW(config-router)# network 192.168.17.0/24 | MKSZ_Diamond_VPN_FW(config-router)# network 10.13.25.0/30 area 0 |
Diamond VPN/FW(config-router)# version 2 | MKSZ_Diamond_VPN_FW(config-router)# network 172.25.64.0/28 area 0 |
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 | |
</code> | </code> |
| |
</WRAP> | </WRAP> |
| |
=== Анонсы маршрутной информации === | ==== Анонсы маршрутной информации ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
Команда «**<wrap hi>redistribute</wrap>**» позволяет включить механизм редистрибуции маршрутной информации из других источников. Например, протокол BGP, OSPF, EIGRP, KERNEL, STATIC. | Команда «**redistribute**» позволяет включить механизм редистрибуции маршрутной информации из других источников. Например, протокол RIP, BGP, EIGRP, KERNEL, STATIC. |
| |
Команда «**<wrap hi>default-information originate</wrap>**» позволяет включить механизм анонсирования маршрута по умолчанию другим устройствам в рамках протокола RIP. | Команда «**default-information originate**» позволяет включить механизм анонсирования маршрута по умолчанию другим устройствам в рамках протокола OSPF. |
| |
Команда «**<wrap hi>route A.B.C.D/M</wrap>**» позволяет задать статический маршрут, который будет анонсироваться другим устройствам в рамках протокола RIP. | |
| |
</WRAP> | </WRAP> |
| |
=== Изменение метрики у маршрутов === | ==== Параметры аутентификации ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
Команда «**<wrap hi>default-metric (1-16)</wrap>**» позволяет изменить стандартное значение параметра метрика для маршрутов, которые получены через механизм редистрибуции. Значение по умолчанию - 1. Команда не влияет на подключенные подсети, даже если они анонсированы как «**redistribute connected**». Для изменения метрики для подключенных подсетей необходимо выполнить команду «**redistribute connected metric**» | Для протокола OSPF поддерживается возможность задать параметру аутентификации в процессе установления состояния соседства и обменом маршрутной информации. |
| |
| Команда «**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>**» задается на сетевом интерфейс и позволяет задать секретное слово. |
| |
</WRAP> | </WRAP> |
| |
=== Изменение административной дистанции === | ==== Временные параметры ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
Команда «**<wrap hi>distance (1-255)</wrap>**» позволяет изменить значение административной дистанции для протокола RIP. Значение по умолчанию - 120. При получении маршрутной информации в основную таблицу маршрутизации будут попадать маршруты от протоколов с наименьшем значение административной дистанции. | Протокол динамической маршрутизации RIP имеет несколько таймеров. «**Update timer**» - временной интервал обновления маршрутной информации, значение по умолчанию 30 секунд. Каждые 30 секунд происходит рассылка маршрутной информации соседям. Обновление включает в себя таблицу маршрутизации целиком. «**Timeout timer**» - по истечении таймера неактивный маршрут удаляется из таблицы маршрутизации. Однако он сохраняется некоторое время, чтобы о неактивном маршрути узнали все соседи. Значение по умолчанию - 180 секунд. «**Collect timer**» - таймер отвечает за удаление мусорных маршрутов. По истечение времени неактивные маршруты полностью удаляются из таблицы маршрутизации. Значение по умолчанию - 120 секунд. |
| |
| Команда «**timers basic <UPDATE_time> <TIMEOUT_time> <GARBAGE_time>**» позволяет изменить таймеры, которые влияют на механизмы обмены маршрутной информации. При выполнении команды необходимо задать три параметра для каждого из таймеров. |
| |
</WRAP> | </WRAP> |
| |
=== Параметры аутентификации === | ==== Просмотр информации о протоколе OSPF ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
Аутентификация поддерживается протоколом динамической маршрутизации RIP версии 2. Протоколу RIP версии 1 не поддерживает аутентификацию. При настройки параметров аутентификации поддерживается простой пароль и MD5. При использовании аутентификации устройство не будет принимать маршрутные анонсы от устройства с RIP версией 1. | Команда «**show ip ospf**» позволяет вывести информацию об общих настройка для протокола OSPF и временных таймеров. |
| |
Команда «**<wrap hi>ip rip authentication mode md5</wrap>**» задается на сетевом интерфейсе и позволяет включить режим аутентификации MD5. | Команда «**show ip ospf interface**» позволяет вывести информацию о настройках для протокола OSPF для всех сетевых интерфейсов, который участвуют в процессе OSPF. |
| |
Команда «**<wrap hi>ip rip authentication mode text</wrap>**» задается на сетевом интерфейсе и позволяет включить режим аутентификации с простым паролем. | Команда «**show ip ospf neighbor**» позволяет вывести информацию об устройствах, с которыми установлено состояние соседства. |
| |
Команда «**<wrap hi>ip rip authentication string <clear_password></wrap>**» задается на сетевом интерфейсе и позволяет задать пароль. Длина пароль не должна превышать 16 символов. | Команда «**show ip ospf database**» позволяет вывести информацию о базе данных с маршрутной информацией |
| |
Команда «**<wrap hi>ip rip authentication key-chain <KEY-CHAIN></wrap>**» задается на сетевом интерфейс и позволяет задать секретное слово. | Команда «**show ip ospf route**» позволяет вывести информацию о маршрутах, которые были получены по протоколу OSPF. |
| |
</WRAP> | </WRAP> |
| |
=== Временные параметры === | ==== Журналы событий ==== |
| |
<WRAP indent> | <WRAP indent> |
| |
Протокол динамической маршрутизации RIP имеет несколько таймеров. «**Update timer**» - временной интервал обновления маршрутной информации, значение по умолчанию 30 секунд. Каждые 30 секунд происходит рассылка маршрутной информации соседям. Обновление включает в себя таблицу маршрутизации целиком. «**Timeout timer**» - по истечении таймера неактивный маршрут удаляется из таблицы маршрутизации. Однако он сохраняется некоторое время, чтобы о неактивном маршрути узнали все соседи. Значение по умолчанию - 180 секунд. «**Collect timer**» - таймер отвечает за удаление мусорных маршрутов. По истечение времени неактивные маршруты полностью удаляются из таблицы маршрутизации. Значение по умолчанию - 120 секунд. | Команда «**debug ospf event**» при включении данного режима будет отображаться информация об отправленных и полученных пакетах, информация о временных таймерах и изменениях на сетевых интерфейсах. |
| |
| Команда «**debug ospf packet**» при включении данного режима будет отображаться детальная информация обо всех пакетах процесса OSPF. |
| |
| Команда «**debug ospf nsm**» при включении данного режима будет отображаться детальная информация об устройствах, с которыми установлено состояние соседства, в рамках протокола OSPF. |
| |
Команда «**<wrap hi>timers basic <UPDATE_time> <TIMEOUT_time> <GARBAGE_time></wrap>**» позволяет изменить таймеры, которые влияют на механизмы обмены маршрутной информации. При выполнении команды необходимо задать три параметра для каждого из таймеров. | Команда «**debug ospf zebra**» при включении данного режима будет отображаться информация о взаимодействии процесса OSPF и основного процесса динамической маршрутизации, который включает в себя процесс добавления и удаления маршрутов, отправку и получение информации о сетевых интерфейсах. |
| |
</WRAP> | </WRAP> |
| |
=== Просмотр информации о протоколе RIP === | ==== Пример конфигурации ==== |
| |
<WRAP indent> | <WRAP indent> |
| Разберем на примере конфигурацию протокола OSPF. На схеме представлены 3 устройства МКСЗ «Diamond VPN/FW», на интерфейсах устройств заданы сетевые адреса и настроена сетевая связность между всеми устройствами. На устройстве 1, 2 и 3 настроен протокол динамической маршрутизации OSPF. Все необходимые данные представлены на схеме. |
| |
Команда «**<wrap hi>show ip rip</wrap>**» позволяет вывести информацию о маршрутах, которые были получены через протокол RIP. | {{:tssltd:ospf_protocol_practic.png?1000|}} |
| |
Команда «**<wrap hi>show ip rip status</wrap>**» позволяет вывести информацию о протоколе RIP, которая включает в себя: статус, временные таймеры, фильтры, версию протокола, интерфейсы, на которых запущен протокол RIP, и информацию о соседних устройствах. | Для просмотра информации о протоколе и маршрутной информации необходимо подключиться к устройству по протоколу ssh и перейти в режим терминального подключения. Для перехода в режим терминального подключения необходимо выполнить команду «**vtysh**». Рассмотрим пример конфигурации на устройстве МКСЗ «Diamond VPN/FW» с номером «**1**» на схеме. |
| |
</WRAP> | <code> |
| # vtysh |
| |
=== Журналы событий === | Hello, this is FRRouting (version 7.4). |
| Copyright 1996-2005 Kunihiro Ishiguro, et al. |
| |
<WRAP indent> | MKSZ_Diamond_VPN_FW# |
| </code> |
| |
Команда «**<wrap hi>debug rip events</wrap>**» при включении данного режима будет отображаться информация об отправленных и полученных пакетах, информация о временных таймерах и изменениях на сетевых интерфейсах. | Для отображения состояния протокола динамической маршрутизации OSPF необходимо выполнить команду «**show ip ospf**». |
| |
Команда «**<wrap hi>debug rip packet</wrap>**» при включении данного режима будет отображаться детальная информаци обо всех пакетах процесса RIP, адреса источника и назначения и сетевые порты. | <code> |
| MKSZ_Diamond_VPN_FW# sh ip ospf |
| OSPF Routing Process, Router ID: 1.1.1.1 |
| Supports only single TOS (TOS0) routes |
| This implementation conforms to RFC2328 |
| RFC1583Compatibility flag is disabled |
| OpaqueCapability flag is disabled |
| Initial SPF scheduling delay 0 millisec(s) |
| Minimum hold time between consecutive SPFs 50 millisec(s) |
| Maximum hold time between consecutive SPFs 5000 millisec(s) |
| Hold time multiplier is currently 1 |
| SPF algorithm last executed 1h00m46s ago |
| Last SPF duration 46 usecs |
| SPF timer is inactive |
| LSA minimum interval 5000 msecs |
| LSA minimum arrival 1000 msecs |
| Write Multiplier set to 20 |
| Refresh timer 10 secs |
| Number of external LSA 0. Checksum Sum 0x00000000 |
| Number of opaque AS LSA 0. Checksum Sum 0x00000000 |
| Number of areas attached to this router: 1 |
| Area ID: 0.0.0.0 (Backbone) |
| Number of interfaces in this area: Total: 2, Active: 2 |
| Number of fully adjacent neighbors in this area: 2 |
| Area has no authentication |
| SPF algorithm executed 9 times |
| Number of LSA 6 |
| Number of router LSA 3. Checksum Sum 0x0002688f |
| Number of network LSA 3. Checksum Sum 0x00014248 |
| Number of summary LSA 0. Checksum Sum 0x00000000 |
| Number of ASBR summary LSA 0. Checksum Sum 0x00000000 |
| Number of NSSA LSA 0. Checksum Sum 0x00000000 |
| Number of opaque link LSA 0. Checksum Sum 0x00000000 |
| Number of opaque area LSA 0. Checksum Sum 0x00000000 |
| |
Команда «**<wrap hi>debug rip zebra</wrap>**» при включении данного режима будет отображаться информация о взаимодействии процесса RIP и основного процесса динамической маршуртизации, который включает в себя процесс добавления и удаления маршрутов, отправку и получение информации о сетевых интерфейсах. | </code> |
| |
Команда «**<wrap hi>show debugging rip</wrap>**» при включении данного режима будет отображаться информации обо всех сообщения и всех пакетах. | Для отображения информации о сетевых интерфейсах, которые принимают участие в процессе ospf, необходимо выполнить команду «**show ip ospf interface**». |
| |
</WRAP> | <code> |
| MKSZ_Diamond_VPN_FW# show ip ospf interface |
| eth3.32 is up |
| ifindex 11, MTU 1500 bytes, BW 1000 Mbit <UP,BROADCAST,RUNNING,MULTICAST> |
| Internet Address 172.25.64.1/28, Broadcast 172.25.64.15, Area 0.0.0.0 |
| MTU mismatch detection: enabled |
| Router ID 1.1.1.1, Network Type BROADCAST, Cost: 100 |
| Transmit Delay is 1 sec, State Backup, Priority 1 |
| Backup Designated Router (ID) 1.1.1.1, Interface Address 172.25.64.1 |
| Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters |
| Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 |
| Hello due in 1.311s |
| Neighbor Count is 1, Adjacent neighbor count is 1 |
| eth4.95 is up |
| ifindex 12, MTU 1500 bytes, BW 1000 Mbit <UP,BROADCAST,RUNNING,MULTICAST> |
| Internet Address 10.13.25.1/30, Broadcast 10.13.25.3, Area 0.0.0.0 |
| MTU mismatch detection: enabled |
| Router ID 1.1.1.1, Network Type BROADCAST, Cost: 100 |
| Transmit Delay is 1 sec, State Backup, Priority 1 |
| Backup Designated Router (ID) 1.1.1.1, Interface Address 10.13.25.1 |
| Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters |
| Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 |
| Hello due in 1.311s |
| Neighbor Count is 1, Adjacent neighbor count is 1 |
| </code> |
| |
=== Пример конфигурации === | Для отображения информации о соседстве с другими устройствами, необходимо выполнить команду «**how ip ospf neighbor**». |
| |
<WRAP indent> | <code> |
| MKSZ_Diamond_VPN_FW# sh ip ospf neighbor |
| |
| Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL |
| 2.2.2.2 1 Full/DR 34.303s 10.13.25.2 eth4.95:10.13.25.1 0 0 0 |
| 3.3.3.3 1 Full/DR 30.521s 172.25.64.2 eth3.32:172.25.64.1 0 0 0 |
| </code> |
| |
| Для отображения информации о текущей конфигурации протокола динамической маршрутизации OSPF необходимо выполнить команду «**sh running-config**». |
| |
| <code> |
| 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 Diamond_utm_4_stend_5 |
| service integrated-vtysh-config |
| ! |
| interface eth3 |
| ip ospf network point-to-point --------------> настройка типа сети |
| ! |
| interface eth4.95 |
| ip ospf authentication-key 123 --------------> настройка параметров аутентификации |
| ! |
| router ospf --------------| |
| ospf router-id 1.1.1.1 | ---> настройка протокола OSPF |
| network 10.13.25.0/30 area 0 | |
| network 172.25.64.0/28 area 0 --------------| |
| ! |
| line vty |
| ! |
| end |
| </code> |
| |
| Для просмотра информации о маршрутах в терминальном режиме необходимо выполнить команду «**sh ip ospf route**». |
| |
| <code> |
| MKSZ_Diamond_VPN_FW# sh ip ospf route |
| ============ OSPF network routing table ============ |
| N 10.13.25.0/30 [100] area: 0.0.0.0 |
| directly attached to eth4.95 |
| N 10.16.199.0/24 [10100] area: 0.0.0.0 |
| via 172.25.64.2, eth3.32 |
| N 10.250.13.0/24 [10100] area: 0.0.0.0 |
| via 10.13.25.2, eth4.95 |
| N 172.16.134.0/26 [200] area: 0.0.0.0 |
| via 10.13.25.2, eth4.95 |
| via 172.25.64.2, eth3.32 |
| N 172.25.64.0/28 [100] area: 0.0.0.0 |
| directly attached to eth3.32 |
| N 172.31.25.0/24 [10100] area: 0.0.0.0 |
| via 172.25.64.2, eth3.32 |
| N 192.168.201.0/24 [10100] area: 0.0.0.0 |
| via 10.13.25.2, eth4.95 |
| |
| ============ OSPF router routing table ============= |
| |
| ============ OSPF external routing table =========== |
| </code> |
| |
| Также информация о маршрутах доступна при подключении по консоли. Для отображения информации о маршрутах необходимо выполнить команду «**ip route**». Маршруты, которые были получены по протоколу «**ospf**», отмечены меткой «**ospf**». Обратите внимание, что если подсеть назначения будет доступна через несколько одинаковых с точки зрения протокола OSPF маршрутов, то в таблицу маршрутизации будет добавлен маршрут через несколько путей. |
| |
| <code> |
| # ip route |
| default via 10.10.100.1 dev eth1 |
| 10.2.2.0/24 via 10.10.101.241 dev eth1 |
| 10.10.5.0/30 dev eth3 proto kernel scope link src 10.10.5.2 |
| 10.10.100.0/22 dev eth1 proto kernel scope link src 10.10.102.12 |
| 10.13.25.0/30 dev eth4.95 proto kernel scope link src 10.13.25.1 |
| 10.16.199.0/24 via 172.25.64.2 dev eth3.32 proto ospf metric 20 |
| 10.250.13.0/24 via 10.13.25.2 dev eth4.95 proto ospf metric 20 |
| 172.16.134.0/26 proto ospf metric 20 |
| nexthop via 10.13.25.2 dev eth4.95 weight 1 |
| nexthop via 172.25.64.2 dev eth3.32 weight 1 |
| 172.25.64.0/28 dev eth3.32 proto kernel scope link src 172.25.64.1 |
| 172.31.25.0/24 via 172.25.64.2 dev eth3.32 proto ospf metric 20 |
| 192.168.201.0/24 via 10.13.25.2 dev eth4.95 proto ospf metric 20 |
| </code> |
| |
| Для отображения информации о маршрутах, которые были получены только по протоколу «**ospf**», необходимо выполнить команду «**ip route | grep ospf**». |
| |
| <code> |
| # ip route | grep ospf |
| 10.16.199.0/24 via 172.25.64.2 dev eth3.32 proto ospf metric 20 |
| 10.250.13.0/24 via 10.13.25.2 dev eth4.95 proto ospf metric 20 |
| 172.16.134.0/26 proto ospf metric 20 |
| 172.31.25.0/24 via 172.25.64.2 dev eth3.32 proto ospf metric 20 |
| 192.168.201.0/24 via 10.13.25.2 dev eth4.95 proto ospf metric 20 |
| </code> |
| |
</WRAP> | </WRAP> |