Настройка OSPF EcoRouter Documentation / Маршрутизация / Настройка OSPF
Конфигурирование протокола OSPF состоит из нескольких обязательных этапов и множества необязательных. После того как был выбран дизайн OSPF-сети, а это очень непростая задача в сложных топологиях, конфигурирование в простейшем случае сводится ко включению протокола OSPF в маршрутизаторах и размещению интерфейсов в нужных зонах.
Этапы конфигурирования:
Этап 1.
Перейдите в режим конфигурирования протокола с помощью команды router ospf <номер процесса>, где номер в пределах <0-65535> в режиме глобальной конфигурации.
Этап 2.
Сконфигурируйте OSPF идентификатор маршрутизатора (необязательный этап). Используйте команду ospf router-id <значение>, значение в виде IPv4 адреса или задайте IP-адрес для loopback интерфейса.
Этап 3.
В режиме конфигурирования протокола OSPF укажите одну или более команд network <IP-адрес> <инверсная маска> area <идентификатор зоны>, параметры которых соответствуют настройкам интерфейсов. Для исключения интерфейсов из процесса OSPF используйте команду passive-interface <имя интерфейса>.
Этап 4. (Необязательный этап)
Если тип сети не поддерживает мультикастную адресную рассылку, то необходимо будет указать соседей вручную.
Тип сети задается в режиме конфигурирования интерфейса командой ip ospf network. Укажите соседей вручную в режиме конфигурирования протокола с помощью команды neighbor.
Этап 5. (Необязательный этап)
Измените таймеры в режиме конфигурирования интерфейса с помощью команд ip ospf dead-interval и ip ospf hello- interval.
Этап 6. (Необязательный этап)
Настройте вручную стоимости интерфейсов, если нужно повлиять на выбор оптимального маршрута: укажите значение в режиме конфигурирования интерфейсов командой ip ospf cost <значение>. Для изменения множителя в формуле расчета стоимости маршрута по полосе пропускания интерфейсов используйте команду режима конфигурирования протокола OSPF auto-cost reference-bandwidth.
Этап 7. (Необязательный этап)
Сконфигурируйте аутентификацию протокола OSPF: на отдельных интерфейсах с помощью команды ip ospf authentication или для всех интерфейсов в определенной зоне в режиме конфигурирования протокола маршрутизации с помощью команды area authetication.
Пример настройки
Схема конфигурирования многозонового дизайна для OSPF-топологии показана на рисунке ниже:
Пример конфигураций маршрутизаторов
ECO-1
Шаг 1. Задание имени устройства.
(config)#hostname ECO-1
Шаг 2. Настройка портов, интерфейсов и сервисных интерфейсов.
(config)#interface e1
(config-if)#ip address 10.10.0.1/16
(config)#iinterface e2
(config-if)#ip address 10.12.0.1/16
(config)#interface e3
(config-if)#ip address 10.13.0.1/16
(config)#port ge1
(config-port)#service-instance ge1/e1
(config-service-instance)#encapsulation untagged
(config-service-instance)#connect ip interface e1
(config)#port ge2
(config-port)#service-instance ge2/e2
(config-service-instance)#encapsulation untagged
(config-service-instance)#connect ip interface e2
(config)#port ge3
(config-port)#service-instance ge3/e3
(config-service-instance)#encapsulation untagged
(config-service-instance)#connect ip interface e3
Шаг 3. Включение маршрутизации и объявление присоединенных сетей.
(config)#router ospf 1
(config-router)#network 10.10.0.1 0.0.0.0 area 1
(config-router)#network 10.12.0.1 0.0.0.0 area 0
(config-router)#network 10.13.0.1 0.0.0.0 area 1
Конфигурация оставшихся маршрутизаторов будет аналогичной.
hostname ECO-2
interface e1
ip address 10.12.0.2/16
interface e2
ip address 10.20.0.2/16
interface e3
ip address 10.23.0.2/16
port ge1
service-instance ge1/e1
encapsulation untagged
connect ip interface e1
port ge2
service-instance ge2/e2
encapsulation untagged
connect ip interface e2
port ge2
service-instance ge2/e2
encapsulation untagged
connect ip interface e2
router ospf 2
network 10.12.0.2 0.0.0.0 area 0
network 10.20.0.2 0.0.0.0 area 0
network 10.23.0.2 0.0.0.0 area 0
hostname ECO-3
interface e1
ip address 10.13.0.3/16
interface e2
ip address 10.23.0.3/16
interface e3
ip address 10.30.0.3/16
port ge1
service-instance ge1/e1
encapsulation untagged
connect ip interface e1
port ge2
service-instance ge2/e2
encapsulation untagged
connect ip interface e2
port ge2
service-instance ge2/e2
encapsulation untagged
connect ip interface e2
router ospf 2
network 10.13.0.3 0.0.0.0 area 1
network 10.23.0.3 0.0.0.0 area 0
network 10.30.0.3 0.0.0.0 area 1
Аутентификация
В OSPFv2 предусмотрена возможность настройки аутентификации между соседями. Для её включения необходимо создать authentification-key в режиме настройки интерфейса, а также включить поддержку аутентификации либо на интерфейсе, либо глобально внутри процесса ospf для всей area.Также при создании authentification-key необходимо выбрать, в каком виде ключ будет передаваться между соседями: в открытом виде или в виде md5 хеша.
Команды конфигурирования:
Команда | Режим | Описание |
---|---|---|
ip ospf authentication [message-digest / null] | (config-if)# | Включение режима аутентификации на интерфейсе |
ip ospf authentication-key | (config-if)# | Задание plain-text ключа |
ip ospf message-digest-key <key id> md5 <key> | (config-if)# | Задание ключа и использование хеша md5 |
area 0 authentication [message-digest] | (config-router)# | Включение аутентификации на всех интерфейсах зоны ospf |
Рассмотрим различные примеры настроек аутентификации в приведенной выше топологии:
Настройка plain-text аутентификации между маршрутизаторами ECO-1 и ECO-2 с ключом “ecorouter”.
ECO-1
(config)#interface e2
(config-if)#ip ospf authentication
(config-if)#ip ospf authentication-key ecorouter
На маршрутизаторе ECO-2 должны быть аналогичные настройки, за исключением номера интерфейса.
Настройка plain-text аутентификации между маршрутизаторами ECO-2 и ECO-3 с ключом “ecorouter” и включением из режима конфигурации.
ECO-2
(config)#router ospf 1 (config-router)#area 0 authentication (config-router)#exit (config)#interface e3 (config-if)#ip ospf authentication-key ecorouter
В данном примере режим аутентификации будет применен ко всем интерфейсам внутри зоны 0 (e1, e2, e3). Настройка маршрутизатора ECO-3 будет аналогичной, за исключением номера интерфейса.
Настройка md5 аутентификации между маршрутизаторами ECO-1 и ECO-3 с ключом "ecorouter".
ECO-1
(config)#interface e3 (config-if)#ip ospf authentication message-digest (config-if)#ip ospf message-digest-key 1 md5 ecorouter
На маршрутизаторе ECO-3 должны быть аналогичные настройки, за исключением номера интерфейса.
Настройка md5 аутентификации между маршрутизаторами ECO-1 и ECO-3 с ключом “ecorouter” и включением из режима конфигурации.
ECO-1
(config)#interface e3
(config-router)#area 1 authentication message-digest
(config-router)#exit (config)#interface e3 (config-if)#ip ospf message-digest-key 1 md5 ecorouter
На маршрутизаторе ECO-3 должны быть аналогичные настройки, за исключением номера интерфейса.
Фильтрация и суммаризация маршрутов OSPF
Внутренняя логика работы OSPF позволяет осуществлять фильтрацию и суммаризацию только на ABR и ASBR маршрутизаторах домена. Фильтрацию можно осуществлять с помощью filter-list и distribute-list, которые в своей работе полагаются на prefix-list или policy-filter-list. Пример использования filter-list показан на рисунке ниже:
Для того чтобы отфильтровать маршруты из области 1 и области 2, на ABR в режиме конфигурирования маршрутизации OSPF следует использовать команду area 0 filter-list <номер prefix-list/policy-filter-list> in. Для того чтобы отфильтровать маршруты из области 2, на ABR следует использовать команду area 2 filter-list <номер prefix-list/policy-filter-list> out, где prefix-list и policy-filter-list соответствуют определенным подсетям. Подробнее об этих списках читайте в соответствующих разделах.
EcoRouterOS позволяет фильтровать маршруты и с помощью distribute-list. Внимание: при этом информация о маршруте будет содержаться в базе топологии OSPF, а в таблице маршрутизации нет, что может привести к увеличению времени поиска и обнаружения проблем в сети. Для фильтрации используйте команду distribute-list <номер policy-filter-list> in.
Суммаризация в OSPF возможна как на ABR, так и на ASBR. Команды для разных типов маршрутизаторов в домене также различны.
На ABR используется команда area <area-id> range <ip-address/mask> [advertise | not-advertise], где параметр advertize стоит по умолчанию, параметр not-advertise отключает анонсирование суммарного маршрута.
На ASBR команда выглядит следующим образом: summary-address <ip-address/mask> [tag] [not-advertise], как видно есть возможность пометить маршрут тегом с помощью ключевого слова tag и отфильтровать маршрут.
По умолчанию, при суммаризации используется наибольшая метрика из всего набора метрик для внутренних маршрутов. Для изменения этого поведения можно воспользоваться командой compatible rfc1583 в режиме конфигурации маршрутизации, тогда будет выбираться наименьшая.
Маршрут по умолчанию
Для настройки маршрута по умолчанию в режиме конфигурирования роутера используется команда default-information originate [ always ] [ metric <значение> ] [ metric-type 1 | metric-type 2 ] [ route-map <имя> ]
После ввода команды конфигурируемый маршрутизатор начинает рекламировать себя в качестве дефолтного (если маршрут по умолчанию есть в таблице маршрутизации самого маршрутизатора).
Если неизвестно, присутствует ли маршрут по умолчанию в таблице маршрутизации выбранного маршрутизатора, при вводе команды следует указать параметр always. Таким образом отменяется обязательность выполнения этого условия.
Параметр metric задает значение метрики, параметр metric-type указывает тип метрики OSPF, параметр route-map ссылается на условия в карте маршрутов. Важно помнить, что маршрут по умолчанию будет рекламироваться в виде LSA type 5.
Зоны OSPF
При правильном дизайне OSPF сети для уменьшения размера базы данных топологии может потребоваться использование тупиковых зон OSPF. EcoRouterOS поддерживает эту функциональность.
Тип области | ABR передает LSA type 5 в область? | ABR передает LSA type 3 в область? | Позволена редистрибуция в тупиковую зону? | Команда конфигурирования |
---|---|---|---|---|
Stubby | Нет | Да | Нет | area <номер> stub |
Totally stubby | Нет | Нет | Нет | area <номер> stub no-summary |
NSSA | Нет | Да | Да | area <номер> nssa |
Totally NSSA | Нет | Нет | Да | area <номер> nssa no-summary |
Редистрибуция OSPF
Редистрибуция из различных протоколов маршрутизации, статических и непосредственно подключенных маршрутов в OSPF может быть настроена в режиме конфигурирования роутера с помощью команд: redistribute <bgp/ospf/isis/rip/connected/static> [ metric <значение> ] [ metric-type 1 | metric-type 2 ] [ route-map <имя> ] [tag], где параметр metric задает значение метрики, параметр metric-type указывает тип метрики OSPF, параметр route-map ссылается на условия в карте маршрутов, tag — тегирует редистрибутированные сети. С помощью команды default-metric можно задать значение для всех редистрибутированных маршрутов. Команда distance задает значение административной дистанции для протокола OSPF.
Виртуальные линки и Multi-Area соседства
Виртуальный линк следует создавать с осторожностью, так как его использование на постоянной основе может вызвать сложности в администрировании при дальнейшем росте OSPF-топологии. Если же выбора не остается, то для конфигурации виртуального линка используйте в режиме конфигурирования роутера команду area <номер> virtual-link <ip-адрес>, где номер area - это область, через которую создается виртуальный линк, ip-адрес - адрес соседа. Дальнейшие опции команды помогут настроить тайминг в линке и аутентификацию.
Для решения задач маршрутизации может возникнуть необходимость создания multi-area. EcoRouterOS поддерживает эту функциональность. Для создания multi-area введите команду area <номер> multi-area-adjacency <имя интерфейса> neighbor <IP-адрес>, где номер area соответствует области, для которой настраивается маршрутизация, имя интерфейса соответствует имени выходного интерфейса в направлении соседа. Обратите внимание, команда требует указания адреса соседа.
Команды просмотра OSPF
Команда | Описание |
---|---|
show ip route ospf | Просмотр маршрутов в таблице маршрутизации полученных через OSPF |
show ip ospf neighbor | Просмотр сведений о соседских отношениях между OSPF маршрутизаторами |
show ip ospf interface | Просмотр данных о состоянии и сконфигурированных настройках на интерфейсах, участвующих в OSPF процессе |
show ip protocols | Просмотр информации о запущенных процессах маршрутизации |
show ip ospf database | Просмотр базы данных OSPF топологии |
show ip ospf virtual-links | Просмотр информации о OSPF виртуальном линке |
show ip ospf border-routers | Просмотр информации о пограничных маршрутизаторах |
show ip ospf multi-area-adjacencies | Просмотр информации о multi-area соседях |
show ip ospf | Просмотр сведений о OSPF процессах запущенных на маршрутизаторе |
Дополнительные команды конфигурирования OSPF
Команда | Режим | Описание |
---|---|---|
capability restart graceful | (config)# | Включение функционала мягкого перезапуска (graceful restart) |
max-concurrent-dd <1-65535> | (config)# | Количество одновременно обработанных дескрипторов БД (DD) |
maximum-area <1-4294967294> | (config)# | Максимально возможное количество областей |
ospf flood-reduction | (config)# | Уменьшение сигнальной нагрузки путем установки DNA бита |
overflow database | (config)# | Уменьшение максимального количества объявлений о состоянии канала (LSA), которые могут быть обработаны |
timers lsa arrival <0-600000> | (config)# | Установка минимального интервала приема того же LSA от соседа |
ip ospf database-filter all out | (config-int)# | Отключение рассылки LSA через интерфейс |
ip ospf disable all | (config-int)# | Отключение OSPF функционала |
ip ospf flood-reduction | (config-int)# | Уменьшение сигнальной нагрузки путем установки DNA бита |
ip ospf mtu <576-65535> | (config-int)# | Установка MTU для OSPF пакетов |
ip ospf mtu-ignore | (config-int)# | Отключение проверки MTU в DD сообщениях |
ip ospf priority <0-255> | (config-int)# | Установка OSPF приоритета |
ip ospf retransmit-interval <1-65535> | (config-int)# | Установка временного интервала для рассылки LSA соседям |
ip ospf transmit-delay <1-3600> | (config-int)# | Установка приблизительного времени передачи LSU через интерфейс |
ip ospf <N> area <K> | (config-int)# | Включение процесса OSPF под L3 интерфейсом. Где N - номер процесса, K - номер области. ВАЖНО! При удалении команды из под интерфейса, процесс запущенный глобально на всем устройстве выключен не будет, произойдет лишь автоматическое удаление команды network, со всеми вытекающими последствиями |
Команды перезапуска процесса маршрутизации
Для перезапуска процесса маршрутизации OSPF используется команда clear ip ospf process или clear ip ospf <номер процесса> process. Команда выполняется из режима администрирования.
Loop-Free Alternate (LFA) в OSPF
Для быстрого переключения с основного маршрута на резервный в протоколе OSPF используется технология LFA (Loop-Free Alternate).
При включении данной опции создается новая таблица с резервными, надежными маршрутами для быстрого переключения маршрутов (fast-reroute). Под надежностью маршрута здесь понимается защищенность его от петель.
Если маршрутизатор детектирует падение локального линка, по которому строился основной маршрут, то в FIB моментально отправляется заранее выбранный резервный маршрут.
Пересчет дерева по алгоритму SPF осуществляется независимо от переключения на резервный маршрут и может происходить как во время переключений, так и после.
Для того чтобы резервный маршрут был добавлен в таблицу быстрого переключения маршрутов, необходимо и достаточно выполнения следующего условия:
D(N,D) < D(N,S) + D(S,D)
где:
D(x,y) - расстояние между x и y, выраженное в ospf-метрике;
N - соседний маршрутизатор, через который ищется резервный путь;
D - маршрут назначения;
S - источник.
Резервный маршрут может быть только один. Когда на роль резервного маршрута есть несколько претендентов, то работают следующие правила:
- Выигрывает маршрут с наименьшей метрикой.
- Если метрики равны, то выбирается маршрут с наименьшим адресом соседнего маршрутизатора.
Изменить эти правила нельзя.
Если в основной таблице маршрутизации RIB находятся два активных маршрута, т.е. работает ECMP, то таблица для маршрутов быстрого переключения будет пуста.
Резервный маршрут рассчитывается для каждого основного маршрута отдельно (per-prefix LFA). В случае для ECMP альтернативным для каждого основного маршрута будет второй активный маршрут. Поскольку эти маршруты и так находятся в основной таблице маршрутизации, то нет необходимости их помещать в таблицу для быстрого переключения маршрутов.
Для включения данной технологии используется команда fast-reroute keep-all-paths в режиме конфигурации протокола OSPF.
Для отключения технологии на конкретных интерфейсах используется команда ip ospf fast-reroute per-prefix candidate disable.
Просмотреть потенциальные резервные маршруты можно с помощью команды show ip route fast-reroute. Вывод данной команды аналогичен формату вывода команды show ip route.
Данный функционал доступен также при работе в VRF. Команда для просмотра - show ip route vrf <NAME> fast-reroute, где <NAME> - имя VRF.