Table of Contents

Вернуться к оглавлению

Настройка нескольких процессов OSPF

На устройстве МКСЗ «Diamond VPN/FW» поддерживается возможность конфигурации нескольких процессов OSPF. В базовой конфигурации запускается один процесс. Для запуска нескольких процессов для протокола динамической маршрутизации OSPF необходимо внести изменения в конфигурационный файл «daemons». Для редактирования конфигурационного файла необходимо перейти в папку назначения с помощью команды «cd /media/storage/overlay/frr/» и выполнить команду «nano daemons». В конфигурационном файле необходимо для протокола OSPF задать значение параметра «yes» и добавить строку «ospfd_instances=X,Y,X», где X, Y, Z - номера процессов, которые мы хотим запустить на устройстве. При необходимости, можно задать произвольные значения для номеров процессов и запустить нужное их количество. После внесения изменений в конфигурационный файл «daemons» необходимо перезапустить процесс динамической маршрутизации с помощью команды «/etc/init.d/S50frr restart».

bgpd=no
ospfd=yes                --------------| ---> активация протокола OSPF              
ospfd_instances=1,2,3    --------------| ---> запуск процессов с номерами 1, 2 и 3
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
pbrd=no
bfdd=no
fabricd=no
vrrpd=no

Настройка протокола динамической маршрутизации OSPF

Для настройки протокола динамической маршрутизации «OSPF (Open Shortest Path First)» необходимо подключиться к устройству по протоколу ssh и выполнить команду «vtysh» для перехода в режим интерпретатора.

# vtysh

Hello, this is FRRouting (version 7.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

Diamond VPN/FW#

Далее необходимо необходимо перейти в режим конфигурирования с помощью команду «confidure terminal» и выполнять команду для входа в режим конфигурирования протокола динамической маршрутизации OSPF «router ospf». Если на устройстве запущено несколько процессов OSPF, то необходимо указать и номер процесса с помощью команды «router ospf X», где X номер процесса, который мы задавали в конфигурационном файле «daemons».

MKSZ_Diamond_VPN_FW# configure terminal
MKSZ_Diamond_VPN_FW(config)# router ospf
MKSZ_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]

Базовая настройка протокола OSPF

Команда «ospf router-id X.X.X.X <ip subnet/network>» команда задает параметр «router-id» для заданного процесса OSPF.

Команда «network <ip_address> area <area_number> <ip subnet/network>» команда позволяет задать подсеть и указать зону для включения заданной подсети/интерфейса в процесс динамической маршрутизации протокола OSPF.

Команда «passive-interface <interface_name>» команда позволяет перевести интерфейс в пассивный режим, в котором интерфейс не принимает участие в процессе OSPF.

Настройка протокола OSPF

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

# vtysh

Hello, this is FRRouting (version 7.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

MKSZ_Diamond_VPN_FW# configure terminal
MKSZ_Diamond_VPN_FW(config)# router ospf
MKSZ_Diamond_VPN_FW(config-router)# ospf router-id 1.1.1.1
MKSZ_Diamond_VPN_FW(config-router)# network 10.13.25.0/30 area 0
MKSZ_Diamond_VPN_FW(config-router)# network 172.25.64.0/28 area 0

Анонсы маршрутной информации

Команда «redistribute» позволяет включить механизм редистрибуции маршрутной информации из других источников. Например, протокол RIP, BGP, EIGRP, KERNEL, STATIC.

Команда «default-information originate» позволяет включить механизм анонсирования маршрута по умолчанию другим устройствам в рамках протокола OSPF.

Параметры аутентификации

Для протокола 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>» задается на сетевом интерфейс и позволяет задать секретное слово.

Временные параметры

Протокол динамической маршрутизации RIP имеет несколько таймеров. «Update timer» - временной интервал обновления маршрутной информации, значение по умолчанию 30 секунд. Каждые 30 секунд происходит рассылка маршрутной информации соседям. Обновление включает в себя таблицу маршрутизации целиком. «Timeout timer» - по истечении таймера неактивный маршрут удаляется из таблицы маршрутизации. Однако он сохраняется некоторое время, чтобы о неактивном маршрути узнали все соседи. Значение по умолчанию - 180 секунд. «Collect timer» - таймер отвечает за удаление мусорных маршрутов. По истечение времени неактивные маршруты полностью удаляются из таблицы маршрутизации. Значение по умолчанию - 120 секунд.

Команда «timers basic <UPDATE_time> <TIMEOUT_time> <GARBAGE_time>» позволяет изменить таймеры, которые влияют на механизмы обмены маршрутной информации. При выполнении команды необходимо задать три параметра для каждого из таймеров.

Просмотр информации о протоколе OSPF

Команда «show ip ospf» позволяет вывести информацию об общих настройка для протокола OSPF и временных таймеров.

Команда «show ip ospf interface» позволяет вывести информацию о настройках для протокола OSPF для всех сетевых интерфейсов, который участвуют в процессе OSPF.

Команда «show ip ospf neighbor» позволяет вывести информацию об устройствах, с которыми установлено состояние соседства.

Команда «show ip ospf database» позволяет вывести информацию о базе данных с маршрутной информацией

Команда «show ip ospf route» позволяет вывести информацию о маршрутах, которые были получены по протоколу OSPF.

Журналы событий

Команда «debug ospf event» при включении данного режима будет отображаться информация об отправленных и полученных пакетах, информация о временных таймерах и изменениях на сетевых интерфейсах.

Команда «debug ospf packet» при включении данного режима будет отображаться детальная информация обо всех пакетах процесса OSPF.

Команда «debug ospf nsm» при включении данного режима будет отображаться детальная информация об устройствах, с которыми установлено состояние соседства, в рамках протокола OSPF.

Команда «debug ospf zebra» при включении данного режима будет отображаться информация о взаимодействии процесса OSPF и основного процесса динамической маршрутизации, который включает в себя процесс добавления и удаления маршрутов, отправку и получение информации о сетевых интерфейсах.

Пример конфигурации

Разберем на примере конфигурацию протокола OSPF. На схеме представлены 3 устройства МКСЗ «Diamond VPN/FW», на интерфейсах устройств заданы сетевые адреса и настроена сетевая связность между всеми устройствами. На устройстве 1, 2 и 3 настроен протокол динамической маршрутизации OSPF. Все необходимые данные представлены на схеме.

Для просмотра информации о протоколе и маршрутной информации необходимо подключиться к устройству по протоколу ssh и перейти в режим терминального подключения. Для перехода в режим терминального подключения необходимо выполнить команду «vtysh». Рассмотрим пример конфигурации на устройстве МКСЗ «Diamond VPN/FW» с номером «1» на схеме.

# vtysh

Hello, this is FRRouting (version 7.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

MKSZ_Diamond_VPN_FW#

Для отображения состояния протокола динамической маршрутизации OSPF необходимо выполнить команду «show ip ospf».

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

Для отображения информации о сетевых интерфейсах, которые принимают участие в процессе ospf, необходимо выполнить команду «show ip ospf interface».

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

Для отображения информации о соседстве с другими устройствами, необходимо выполнить команду «how ip ospf neighbor».

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

Для отображения информации о текущей конфигурации протокола динамической маршрутизации OSPF необходимо выполнить команду «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 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

Для просмотра информации о маршрутах в терминальном режиме необходимо выполнить команду «sh ip ospf route».

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 ===========

Также информация о маршрутах доступна при подключении по консоли. Для отображения информации о маршрутах необходимо выполнить команду «ip route». Маршруты, которые были получены по протоколу «ospf», отмечены меткой «ospf». Обратите внимание, что если подсеть назначения будет доступна через несколько одинаковых с точки зрения протокола OSPF маршрутов, то в таблицу маршрутизации будет добавлен маршрут через несколько путей.

# 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

Для отображения информации о маршрутах, которые были получены только по протоколу «ospf», необходимо выполнить команду «ip route | grep ospf».

# 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

Вернуться к оглавлению