...
OSPF — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить приоритетность протокола OSPF-маршрутизации для основной таблицы маршрутизации (не обязательно). | esr(config)# ip protocols ospf preference <VALUE> | <VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255]. Значение по умолчанию: 150. |
esr(config-vrf)# ip protocols ospf preference <VALUE> | |||
2 | Настроить емкость таблиц маршрутизации протокола OSPF (не обязательно). | esr(config)# ip protocols ospf max-routes <VALUE> | <VALUE> – количество маршрутов протокола OSPF в маршрутной таблице, принимает значения в диапазоне:
Значение по умолчанию для глобального режима:
Значение по умолчанию для VRF: 0. |
esr(config)# ipv6 protocols ospf max-routes <VALUE> | |||
3 | Включить вывод информации о состоянии отношений с соседями для протокола маршрутизации OSPF (не обязательно). | esr(config)# router ospf log-adjacency-changes | |
esr(config)# ipv6 router ospf log-adjacency-changes | |||
4 | Создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов (не обязательно). | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
esr(config)# ipv6 prefix-list <NAME> | |||
5 | Разрешить (permit) или запретить (deny) списки префиксов (не обязательно). | esr(config-pl)# permit [ { object-group <OBJ-GROUP-NETWORK-NAME> | <ADDR/LEN> | <IPV6-ADDR/LEN> } ] [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | <OBJ-GROUP-NETWORK-NAME> – имя профиля IPv4/IPv6-адресов, задаётся строкой до 31 символа; <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <LEN> – длина префикса, принимает значения [1..32] в IP-списках префиксов;
|
esr(config-pl)# deny [ { object-group <OBJ-GROUP-NETWORK-NAME> | <ADDR/LEN > | <IPV6-ADDR/LEN> } ] [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | |||
6 | Добавить OSPF-процесс в систему и осуществить переход в режим настройки параметров OSPF-процесса. | esr(config)# router ospf <ID> [vrf <VRF>] | <ID> – номер автономной системы процесса, принимает значения [1..65535] <VRF> – имя экземпляра VRF, задается строкой до 31 символа, в рамках которого будет работать протокол маршрутизации. |
esr(config)# ipv6 router ospf <ID> [vrf <VRF>] | |||
7 | Установить идентификатор маршрутизатора для данного OSPF-процесса. | esr(config-ospf)# router-id { <ID> | <IF> | <TUN> } | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <IF> – интерфейс, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора. <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
esr(config-ipv6-ospf)# router-id { <ID> | <IF> | <TUN> } | |||
8 | Определить приоритетность маршрутов процесса OSPF (не обязательно). | esr(config-ospf)# preference <VALUE> | <VALUE> – приоритетность маршрутов процесса OSPF, принимает значения в диапазоне [1..255]. |
esr(config-ipv6-ospf)# preference <VALUE> | |||
9 | Определить референсное значение для автоматического расчёта стоимости (cost) интерфейсов (не обязательно). | esr(config-ospf)# auto-cost reference bandwidth <VALUE> | <VALUE> – референсное значение для расчета стоимости интерфейса в диапазоне [1..100000000K]. Значение по умолчанию: 100000K. |
esr(config-ipv6-ospf)# auto-cost reference bandwidth <VALUE> | |||
10 | Определить максимальное количество равнозначных маршрутов до цели (не обязательно). | esr(config-ospf)# maximum-path <PATHS> | <PATHS> – количество равноценных маршрутов до цели, принимает значения в диапазоне [1..32]. Значение по умолчанию: 16. |
esr(config-ipv6-ospf)# maximum-path <PATHS> | |||
11 | Включить совместимость с RFC 1583 (не обязательно). | esr(config-ospf)# compatible rfc1583 | |
esr(config-ipv6-ospf)# compatible rfc1583 | |||
12 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно). | esr(config-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out } | <PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.
|
esr(config-ipv6-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out } | |||
13 | Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно). | esr(config-ospf)# redistribute static [metric <TYPE> <METRIC>] [ route-map <NAME> ] | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа. |
esr(config-ipv6-ospf)# redistribute static [metric <TYPE> <METRIC>] [route-map <NAME> ] | |||
esr(config-ospf)# redistribute connected [metric <TYPE> <METRIC>] [ route-map <NAME> ] | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа. | ||
esr(config-ipv6-ospf)# redistribute connected [metric <TYPE> <METRIC>] [ route-map <NAME> ] | |||
esr(config-ospf)# redistribute rip [metric <TYPE> <METRIC>] [ route-map <NAME> ] | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ospf)# redistribute isis <ID> <ROUTE-TYPE> [metric <TYPE> <METRIC>] [ route-map <NAME> ] | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. <ID> – номер процесса, может принимать значение [1..65535]. <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ipv6-ospf)# redistribute isis <ID> <ROUTE-TYPE> [ route-map <NAME> ] | |||
esr(config-ospf)# redistribute bgp <AS> [metric <TYPE> <METRIC>] [ route-map <NAME> ] | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
14 | Активировать OSPF-процесс. | esr(config-ipv6-ospf)# redistribute bgp <AS> [metric <TYPE> <METRIC>] [ route-map <NAME> ] | |
esr(config-ipv6-ospf)# enable | |||
15 | Создать OSPF-область и перейти в режим конфигурирования области. | esr(config-ospf)# area <AREA_ID> | <AREA_ID> – идентификатор области, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-ospf)# area <AREA_ID> | |||
16 | Включить анонсирование подсетей (не обязательно). | esr(config-ospf-area)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, указывается в следующем формате: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]. |
esr(config-ipv6-ospf-area)# network <IPV6-ADDR/LEN> | <IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. | ||
17 | Определить тип области (не обязательно). | esr(config-ospf-area)# area-type <TYPE> [ no-summary ] | <TYPE> – тип области:
|
esr(config-ipv6-ospf-area)# area-type <TYPE> [ no-summary ] | |||
18 | Включить генерацию маршрута по умолчанию для NSSA или stub-области и анонсирование его в качестве Type-7 или Type-3 LSA соответственно (не обязательно). | esr(config-ospf-area)# default-information-originate | |
esr(config-ipv6-ospf-area)# default-information-originate | |||
19 | Определить тип метрики маршрута по умолчанию для NSSA-области (не обязательно). | esr(config-ospf-area)# default-metric-type <TYPE> |
|
esr(config-ipv6-ospf-area)# default-metric-type <TYPE> | |||
20 | Активировать OSPF-область. | esr(config-ospf-area)# enable | |
esr(config-ipv6-ospf-area)# enable | |||
21 | Установить виртуальное соединение между основной и удаленными областями, имеющими между ними несколько областей (не обязательно). | esr(config-ospf-area)# virtual-link <ID> | <ID> – идентификатор маршрутизатора, с которым устанавливается виртуальное соединение, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-ospf-area)# virtual-link <ID> | |||
22 | Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, который не получил подтверждения о получении (не обязательно). | esr(config-ospf- vlink)# restransmit-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5 секунд. |
esr(config-ipv6-ospf- vlink)# restransmit-interval <TIME> | |||
23 | Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет (не обязательно). | esr(config-ospf- vlink)# hello-interval <TIME>esr(config-bgp-neighbor)# fall-over bfd | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 10 секунд. |
esr(config-ipv6-ospf- vlink)# hello-interval <TIME> | |||
24 | Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным (не обязательно). Этот интервал должен быть кратным значению «hello-interval». | esr(config-ospf- vlink)# dead-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-ipvesr(config-bgp-neighbor)# fall-over bfd6-ospf- vlink)# dead-interval <TIME> | |||
25 | Определяется интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети (не обязательно). | esr(config-ospf- vlink)# wait-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. |
esr(config-ipv6-ospf- vlink)# wait-interval <TIME> | |||
26 | Определить алгоритм аутентификации (не обязательно). | esr(config-ospf- vlink)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
27 | Установить пароль для аутентификации с соседом (не обязательно). | esr(config-ospf- vlink)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов. <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
28 | Определить список паролей для аутентификации через алгоритм хеширования md5 (не обязательно). | esr(config-ospf- vlink)# authentication key chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
29 | Активировать виртуальное соединение (не обязательно). | esr(config-ospf- vlink)# enable | |
30 | Перейти в режим конфигурирования интерфейса/туннеля/сетевого моста. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> – тип интерфейса; <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
esr(config)# tunnel <TUN-TYPE><TUN-NUM> | <TUN-TYPE> – тип туннеля; <TUN-NUM> – номер туннеля. | ||
esr(config)# bridge <BR-NUM> | <BR-NUM> – номер bridge. | ||
31 | Определить принадлежность интерфейса/туннеля/сетевого моста к определенному OSPF-процессу. | esr(config-if-gi)# ip ospf instance <ID> | <ID> – номер процесса, принимает значения [1..65535]. |
esr(config-if-gi)# ipv6 ospf instance <ID> | |||
32 | Определить принадлежность интерфейса к определенной области OSPF-процесса. | esr(config-if-gi)# ip ospf area <AREA_ID> | <AREA_ID> – идентификатор области, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-if-gi)# ipv6 ospf area <AREA_ID> | |||
33 | Включить маршрутизацию по протоколу OSPF на интерфейсе. | esr(config-if-gi)# ip ospf | |
esr(config-if-gi)# ipv6 ospf | |||
34 | Включить режим, в котором OSPF-процесс будет игнорировать значение MTU интерфейса во входящих Database Description-пакетах (не обязательно). | esr(config-if-gi)# ip ospf mtu-ignore | |
esr(config-if-gi)# ipv6 ospf mtu-ignore | |||
35 | Определить алгоритм аутентификации протокола OSPF (не обязательно). | esr(config-if-gi)# ip ospf authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
36 | Установить пароль для аутентификации с OSPF-соседом при передаче пароля открытым текстом (не обязательно). | esr(config-if-gi)# ip ospf authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
37 | Определить список паролей для аутентификации по алгоритму хеширования md5 с соседом (не обязательно). | esr(config-if-gi)# ip ospf authentication key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
38 | Определить пропускную способность интерфейса для расчёта стоимости (cost) интерфейса (не обязательно). | esr(config-if-gi)# ip ospf bandwidth <VALUE> | <VALUE> – пропускная способность интерфейса, принимает значения [1..100000000K]. |
esr(config-if-gi)# ipv6 ospf bandwidth <VALUE> | |||
39 | Определить интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети (не обязательно). | esr(config-if-gi)# ip ospf wait-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-if-gi)# ipv6 ospf wait-interval <TIME> | |||
40 | Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, на который не получил подтверждения о получении (не обязательно). | esr(config-if-gi)# ip ospf restransmit-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5 секунд. |
esr(config-if-gi)# ipv6 ospf restransmit-interval <TIME> | |||
41 | Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет (не обязательно). | esr(config-if-gi)# ip ospf hello-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 10 секунд. |
esr(config-if-gi)# ipv6 ospf hello-interval <TIME> | |||
42 | Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным (не обязательно). Этот интервал должен быть кратным значению hello-interval. | esr(config-if-gi)# ip dead-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-if-gi)# ipv6 dead-interval <TIME> | |||
43 | Установить интервал времени, в течение которого NBMA-интерфейс ждет, прежде чем отправить hello-пакет соседу, даже в случае, если сосед неактивен (не обязательно). | esr(config-if-gi)# ip poll-interval <TIME> | <TIME> – время в секундах, принимает значения [1 .. 65535]. Значение по умолчанию: 120 секунд. |
esr(config-if-gi)# ipv6 poll-interval <TIME> | |||
44 | Задать статический IP-адрес соседа для установления отношения в NMBA и P2MP (Point-to-MultiPoint) сетях (не обязательно). | esr(config-if-gi)# ip ospf neighbor <IP> [ eligible ] | <IP> – IP-адрес соседа, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. eligible – опциональный параметр, позволяет устройству участвовать в процессе выбора DR в NBMA-сетях. Приоритет интерфейса должен быть больше нуля. |
esr(config-if-gi)# ip ospf neighbor <IP> [ eligible ] | <IPV6-ADDR> – IPv6-адрес соседа, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; eligible – опциональный параметр, позволяет устройству участвовать в процессе выбора DR в NBMA-сетях. Приоритет интерфейса должен быть больше нуля. | ||
45 | Определить тип сети для установления OSPF-соседства (не обязательно). | esr(config-if-gi)# ip ospf network <TYPE> | <TYPE> – тип сети:
Значение по умолчанию: broadcast. |
esr(config-if-gi)# ipv6 ospf network <TYPE> | |||
46 | Перевести интерфейс в пассивный режим работы. В этом режиме не рассылаются hello-пакеты, не устанавливаются отношения соседства, но подключенная сеть анонсируется соседям (не обязательно). | esr(config-if-gi)# ip ospf passive-interface | |
esr(config-if-gi)# ipv6 ospf passive-interface | |||
47 | Установить приоритет маршрутизатора, который используется для выбора DR и BDR (не обязательно). | esr(config-if-gi)# ip ospf priority <VALUE> | <VALUE> – приоритет интерфейса, принимает значения [1..65535]. Значение по умолчанию: 120. |
esr(config-if-gi)# ipv6 ospf priority <VALUE> | |||
48 | Установить величину метрики на интерфейсе или туннеле (не обязательно). | esr(config-if-gi)# ip ospf cost <VALUE> | <VALUE> – величина метрики, задаётся в размере [0..32767]. Значение по умолчанию: 10. |
esr(config-if-gi)# ipv6 ospf cost <VALUE> | |||
49 | Включить протокол BFD для протокола OSPF (не обязательно). | esr(config-if-gi)# ip ospf bfd-enable | |
esr(config-if-gi)# ipv6 ospf bfd-enable | |||
50 | Включить механизм ttl-security hops (не обязательно). | esr(config-if-gi)# ip ospf ttl-security-hops <VALUE> | <VALUE> – значение ttl, задаётся в размере [1..255]. Значение по умолчанию: 0. |
esr(config-if-gi)# ipv6 ospf ttl-security-hops <VALUE> |
Пример настройки
Задача:
Настроить протокол OSPF на маршрутизаторе для обмена маршрутной информацией с соседними маршрутизаторами. Маршрутизатор должен находиться в области с идентификатором 1.1.1.1 и анонсировать маршруты, полученные по протоколу RIP.
...