Настройка и проверка работоспособности OSPF — различия между версиями
imported>Artem (→Пример однозоной конфигурации OSPF) |
imported>Artem (→Настройка Router ID) |
||
| Строка 104: | Строка 104: | ||
Команда '''network''' используется строго для включения OSPF на одном или нескольких интерфейсах. Команда и её | Команда '''network''' используется строго для включения OSPF на одном или нескольких интерфейсах. Команда и её | ||
wildcard маска не используются для суммирования маршрутов. | wildcard маска не используются для суммирования маршрутов. | ||
| − | |||
| − | |||
===Пример мультизонной конфигурации OSPF=== | ===Пример мультизонной конфигурации OSPF=== | ||
| Строка 140: | Строка 138: | ||
R3(config-router)# network 10.2.1.1 0.0.0.0 area 1 | R3(config-router)# network 10.2.1.1 0.0.0.0 area 1 | ||
R3(config-router)# | R3(config-router)# | ||
| + | |||
| + | ==Настройка Router ID== | ||
| + | A router is known to OSPF by the OSPF router ID number. | ||
| + | LSDBs use the OSPF router ID to differentiate one router from the next. | ||
| + | '''By default''', the router ID is the '''highest IP address''' on an '''active interfac'''e at the moment of OSPF process startup. | ||
| + | However, for stability reason, it is recommended that '''the router-id''' command or a '''loopback''' interface be configured. | ||
| + | ---- | ||
| + | Router ID это номер маршрутизатора, необходимый для успешного запуска OSPF. Если OSPF не может определить Router ID – запуск процесса не состоится, так как OSPF использует Router ID для идентификации маршрутизатора в базе данных. Таким образом, у каждого маршрутизатора должен быть уникальный в пределах сети Router ID. Процесс OSPF пытается определить Router ID при запуске. Это 32- битное значение, обычно записываемое в виде ip-адреса. OSPF назначает Router ID из ip-адресов интерфейсов маршрутизатора. | ||
| + | |||
| + | По умолчанию выбирается наибольший адрес с физического интерфейса, для чего необходимо, чтобы хотя бы один физический интерфейс был включен, и не обязательно, чтобы он использовался процессом OSPF, иначе мы получим ошибку: | ||
| + | |||
| + | Router(config)#router ospf 1 | ||
| + | 2w1d: %OSPF-4-NORTRID: OSPF process 1 cannot start. | ||
| + | |||
| + | Предпочтительно использовать вручную назначенный Router ID, так как адреса физических интерфейсов могут изменяться и, соответственно, будет изменяться Router ID. Понятно, что такое поведение является нежелательным. | ||
| + | |||
| + | Назначить Router ID можно двумя способами: задав адрес для loopback-интерфейса или воспользовавшись командой router-id. | ||
| + | |||
| + | Первый способ более традиционен. Так как loopback-интерфейс является чисто виртуальным, его функционирование не зависит от внешних условий и он никогда не отключится сам по себе. Маршрутизатор предпочтет loopback-интерфейс для получения Router Id даже если адрес указанный на нем будет меньше какого-либо из физических. Если loopback-интерфейсов несколько, будет выбран наибольший адрес. Еще одно преимущество loopback-метода заключается в возможности опубликовать адрес в сеть при помощи OSPF, таким образом, обеспечивая возможность проверки работоспособности маршрутизатора без привязки к одному из физических интерфейсов, которые могут отключиться вследствие неполадок в сети. Естественно, для этого необходимо каждому loopback-интерфейсу назначать адрес из уникальной подсети. | ||
| + | |||
| + | Второй способ появился сравнительно недавно, и присутствует не во всех версиях IOS, но, тем не менее, является предпочтительным по сравнению с остальными, так как позволяет четко, ясно и однозначно задать Router ID маршрутизатору вне зависимости от каких-либо иных факторов. Для настройки Router ID командой router-id нужно сначала перейти в режим конфигурации OSPF при помощи команды router ospf [process-id], и так можно задать любое значение, главное, чтобы оно было уникально в сети. | ||
| + | |||
| + | После выбора router ID оно не меняется, даже если интерфейс, который маршрутизатор использовал в качестве ID ушёл в DOWN. Новое значение Router ID применится после перезапуска OSPF, который либо произойдет сам, при перезагрузке маршрутизатора, либо может быть инициирован командой '''clear ip ospf process''' запущенной из режима привилегированного исполнения. | ||
| + | |||
| + | '''ВНИМАНИЕ!!! ''' | ||
| + | Команда clear ip ospf process временно нарушает работоспособность используемой сети! | ||
| + | |||
| + | Если физический интерфейс, адрес которого использовался в качестве router ID, отказал, а маршрутизатор после отказа перезагрузили (или перезапустили процесс OSPF),то router ID изменится. Всё это может доставить много хлопот администратору. Поэтому следует использовать loopback интерфейсы или статически указывать router-id. | ||
| + | |||
| + | ===loopback интерфейсы=== | ||
Версия 13:12, 7 марта 2012
Здесь описывается базовая конфигурация OSFP для одной и нескольких зон и его проверка.
Содержание
Планирование и настройка OSPF
Здесь описывается как спланировать и настроить базовую конфигурацию OSPF.
Планирование внедрения OSPF маршрутизации
Когда вы готовитесь к развёртыванию в сети OSPF маршрутизации, необходимо собрать информацию о текущем состоянии сети и необходимых требованиях.
- План адресации - как развернуть OSPF и сделать решение масштабируемым. Детальный план адресации с использованием иерархической структуры подсетей для суммирования, чтобы решение было более простым для масштабирования и оптимизации.
- Сетевая топология - устройства (коммутаторы, маршрутизаторы и т.п.) и линки между ними. Должен быть получен детальный план для того, чтобы понять какие фичи (например, multiple зоны, суммирование, stub-зоны, пеерраспределение и т.п.) могут потребоваться.
- Зоны OSPF - разделение сети на зоны сокращает размер LSDB баз и ограничивает объём обновлений при изменении топологии сети. Маршрутизаторы ABR и ASBR должны быть выбраны в качестве тех, кто выполняет суммирование или перераспределение.
После этого можно делать план по внедрению, который будет включать следующие шаги:
- Определить сетевые требования;
- Собрать требуемые параметры;
- Определить параметры OSPF маршрутизации;
- Настроить OSPF;
- Проверить конфигурацию.
Информация, необходимая для внедрения OSPF:
- IP адреса интерфейсов маршрутизаторов;
- Список маршрутизаторов, на которых будет запущен OSPF, с номерами процессов OSPF и подключёнными сетями, которые будут использоваться и анонсироваться;
- Зоны на интерфейсах;
- Метрики для определённых интерфейсов, для влияния на выбор маршрута. Необходимо определить метрики и интерфейсы на которых они будут применяться.
Список задач, которые надо выполнить на каждом маршрутизаторе из списка:
- Вкл OSPF с корректной командой network (т..е указать нужные сети)
- Присвоить корректный ID зоны на интерфейс (через режим настройки OSPF на интерфейсе или через режим настройки OSPF)
- Опционально настроить нужным интерфейсам метрики.
После внедрения необходимо проверить корректность настроек. Задачи по проверки включают следующие шаги:
- Проверить правильность выбора соседей и установление соседских отношений.
- Проверить, чтобы LSDB содержала верную информацию.
- Проверить таблицы маршрутизации, чтобы они содержали верную информацию.
- Проверить соединение между маршрутизаторами и другими устройствами в сети.
- Проверить, что OSPF ведёт себя как ожидалось в случае появления в сети изменений, протестировав, например, на отказ каналов связи или отказа оборудования.
После развёртывания и проверки необходимо задокументировать всё на будущее. Документация должна содержать топологическую карту, план адресации, зонную архитектуру, сети и интерфейсы, участвующие в маршрутизации OSPF на каждом маршрутизаторе, стандартные и специально определённые метрики, результаты тестов и проверок.
Базовая настройка OSPF
- Включить процесс OSPF на маршрутизаторе командой router ospf process-id ['vrf vpn-name]. Описание параметров дано ниже.
- Определить, какие интерфейсы на маршрутизаторе будут участвовать в маршрутизации OSPF, и определить зоны, используя команду network ip-address wildcard-mask area area-id. Описание параметров дано ниже.
Альтернативным вариантом запуска OSPF является запуск на интерфейсе командой ip ospf process-id area area-id [secondaries none]. Этот вариант упрощает настройку unnumbered интерфейсов. Так как команда конфигурируется прямо на интерфейсе, то она имеет приоритет над командой network area.
Внимание! Для настройки unnumbered интерфейса, используйте команду ip unnumbered interface-type interface-number. Команда запускает IP processing на интерфейсе без явного присвоения ip адреса интерфейсу. Интерфейс будет использовать ip адрес указанного в параметрах команды интерфейса. Интерфейс, указываемый в команде, должен быть при этом UP.
R1(config)# router ospf process-id [vrf vrf-name]
Параметры команды router ospf:
- process-id - Локально используемое значение, идентифицирующее процесс OSPF. Нет никакой необходимости соблюдать единую нумерацию процессов OSPF на разных маршрутизаторах. Не рекомендуется на одном маршрутизаторе запускать несколько процессов OSPF, так как это приведет к созданию нескольких копий базы данных и, соответственно, повышенной нагрузке. Может быть от 1 до 65535.
- vrf vrf-name Необязательный параметр, указывающий имя процесса VRF (VPN Routing and Forwarding).
- ip-address - Адрес сети, подсети или интерфейса. Указывает, по каким линиям (links) OSPF будет генерировать и анализировать объявления. Так же указывает, какие сети участвуют в процессе.
- wildcard-mask - Битовая маска, влияющая на то, как интерпретировать значение адреса. Бит 0 —проверять, 1 — игнорировать. Для примера: 0.0.255.255 — должны совпасть два первых байта. 0.0.0.0 — должны совпасть все байты (обычно, адрес интерфейса). Адрес 0.0.0.0 с маской 255.255.255.255 — все интерфейсы маршрутизатора.
- area-id - Идентификатор области OSPF . Может быть указан в десятичном виде, или в виде, похожем на IP-адрес (A.B.C.D). Принимает значения от 0 до 4294967295.
ip ospf area
- process-id - Локально используемое значение, идентифицирующее процесс OSPF. Может быть от 1 до 65535.
- area-id - Идентификатор области OSPF . Может быть указан в десятичном виде, или в виде, похожем на IP-адрес (A.B.C.D). Принимает значения от 0 до 4294967295.
- second-aries none - (Опционально) Препятствует анонсированию вторичного (secondary IP) адреса на интерфейсе.
Пример однозоной конфигурации OSPF
R1(config)# interface Fa0/0 R1(config-if)# ip address 10.64.0.1 255.255.255.0 R1(config-if)# no shut R1(config-if)# exit R1(config)#
R2(config)# interface Fa0/0 R2(config-if)# ip address 10.64.0.2 255.255.255.0 R2(config-if)# no shut R2(config-if)# interface S0/0/1 R2(config-if)# ip address 10.2.1.2 255.255.255.0 R2(config-if)# bandwidth 64 R2(config-if)# no shut R2(config-if)# exit R2(config)#
R3(config)# interface S0/0/1 R3(config-if)# ip address 10.2.1.1 255.255.255.0 R3(config-if)# bandwidth 64 R3(config-if)# no shut R3(config-if)# exit R3(config)#
R1(config)# router ospf 1 R1(config-router)# network 10.0.0.0 0.255.255.255 area 0 R1(config-router)#
R2(config)# router ospf 50 R2(config-router)# network 10.2.1.2 0.0.0.0 area 0 R2(config-router)# network 10.64.0.2 0.0.0.0 area 0 R2(config-router)#
R3(config)# router ospf 100 R3(config-router)# network 10.2.1.1 0.0.0.0 area 0 R3(config-router)#
Внимание! Команда network используется строго для включения OSPF на одном или нескольких интерфейсах. Команда и её wildcard маска не используются для суммирования маршрутов.
Пример мультизонной конфигурации OSPF
R1(config)# router ospf 1 R1(config-router)# network 10.0.0.0 0.255.255.255 area 0 R1(config-router)#
R2(config)# router ospf 50 R2(config-router)# network 10.2.1.2 0.0.0.0 area 1 R2(config-router)# network 10.64.0.2 0.0.0.0 area 0 R2(config-router)#
R3(config)# router ospf 100 R3(config-router)# network 10.2.1.1 0.0.0.0 area 1 R3(config-router)#
ИЛИ АЛЬТЕРНАТИВНЫЙ ВАРИАНТ
R1(config)# router ospf 1 R1(config-router)# network 10.0.0.0 0.255.255.255 area 0 R1(config-router)#
R2(config)# interface S0/0/1 // <------- R2(config-if)# ip ospf 50 area 1 // <------- R2(config-if)# exit R2(config)# R2(config)# router ospf 50 R2(config-router)# network 10.64.0.2 0.0.0.0 area 0 R2(config-router)#
R3(config)# router ospf 100 R3(config-router)# network 10.2.1.1 0.0.0.0 area 1 R3(config-router)#
Настройка Router ID
A router is known to OSPF by the OSPF router ID number. LSDBs use the OSPF router ID to differentiate one router from the next. By default, the router ID is the highest IP address on an active interface at the moment of OSPF process startup. However, for stability reason, it is recommended that the router-id command or a loopback interface be configured.
Router ID это номер маршрутизатора, необходимый для успешного запуска OSPF. Если OSPF не может определить Router ID – запуск процесса не состоится, так как OSPF использует Router ID для идентификации маршрутизатора в базе данных. Таким образом, у каждого маршрутизатора должен быть уникальный в пределах сети Router ID. Процесс OSPF пытается определить Router ID при запуске. Это 32- битное значение, обычно записываемое в виде ip-адреса. OSPF назначает Router ID из ip-адресов интерфейсов маршрутизатора.
По умолчанию выбирается наибольший адрес с физического интерфейса, для чего необходимо, чтобы хотя бы один физический интерфейс был включен, и не обязательно, чтобы он использовался процессом OSPF, иначе мы получим ошибку:
Router(config)#router ospf 1 2w1d: %OSPF-4-NORTRID: OSPF process 1 cannot start.
Предпочтительно использовать вручную назначенный Router ID, так как адреса физических интерфейсов могут изменяться и, соответственно, будет изменяться Router ID. Понятно, что такое поведение является нежелательным.
Назначить Router ID можно двумя способами: задав адрес для loopback-интерфейса или воспользовавшись командой router-id.
Первый способ более традиционен. Так как loopback-интерфейс является чисто виртуальным, его функционирование не зависит от внешних условий и он никогда не отключится сам по себе. Маршрутизатор предпочтет loopback-интерфейс для получения Router Id даже если адрес указанный на нем будет меньше какого-либо из физических. Если loopback-интерфейсов несколько, будет выбран наибольший адрес. Еще одно преимущество loopback-метода заключается в возможности опубликовать адрес в сеть при помощи OSPF, таким образом, обеспечивая возможность проверки работоспособности маршрутизатора без привязки к одному из физических интерфейсов, которые могут отключиться вследствие неполадок в сети. Естественно, для этого необходимо каждому loopback-интерфейсу назначать адрес из уникальной подсети.
Второй способ появился сравнительно недавно, и присутствует не во всех версиях IOS, но, тем не менее, является предпочтительным по сравнению с остальными, так как позволяет четко, ясно и однозначно задать Router ID маршрутизатору вне зависимости от каких-либо иных факторов. Для настройки Router ID командой router-id нужно сначала перейти в режим конфигурации OSPF при помощи команды router ospf [process-id], и так можно задать любое значение, главное, чтобы оно было уникально в сети.
После выбора router ID оно не меняется, даже если интерфейс, который маршрутизатор использовал в качестве ID ушёл в DOWN. Новое значение Router ID применится после перезапуска OSPF, который либо произойдет сам, при перезагрузке маршрутизатора, либо может быть инициирован командой clear ip ospf process запущенной из режима привилегированного исполнения.
ВНИМАНИЕ!!! Команда clear ip ospf process временно нарушает работоспособность используемой сети!
Если физический интерфейс, адрес которого использовался в качестве router ID, отказал, а маршрутизатор после отказа перезагрузили (или перезапустили процесс OSPF),то router ID изменится. Всё это может доставить много хлопот администратору. Поэтому следует использовать loopback интерфейсы или статически указывать router-id.