...
| Блок кода | ||
|---|---|---|
| ||
esr# hostname R1 esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# description "to LAN" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.168.1.1/24 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R2" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.1.1/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R3" esr(config-if-gi)# ip address 192.0.2.1/30 esr(config-if-gi)# exit esr(config)# ip route multipath 115.0.0.0/24 esr(config-multipath-route)# gateway 192.0.1.2 esr(config-multipath-route)# gateway 192.0.2.2 esr(config-multipath-route)# exit |
| Scroll Pagebreak |
|---|
Конфигурация R2:
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R2 esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R1" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.1.2/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R4" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.1.1/30 esr(config-if-gi)# exit esr(config)# esr(config)# ip route 115.0.0.0/24 10.0.1.2 esr(config)# ip route 192.168.0.0/24 192.0.1.1 |
...
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R3 esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R1" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.2.2/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R4" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.2.1/30 esr(config-if-gi)# exit esr(config)# ip route 115.0.0.0/24 10.0.2.2 esr(config)# ip route 192.168.0.0/24 192.0.2.1 |
| Scroll Pagebreak |
|---|
Конфигурация R4:
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R4 esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# description "to LAN" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 115.0.0.1/24 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/3 esr-30(config-if-gi)# description "to R2" esr-30(config-if-gi)# ip firewall disable esr-30(config-if-gi)# ip address 10.0.1.2/30 esr-30(config-if-gi)# exit esr-30(config)# interface gigabitethernet 1/0/4 esr-30(config-if-gi)# description "to R3" esr-30(config-if-gi)# ip firewall disable esr-30(config-if-gi)# ip address 10.0.2.2/30 esr-30(config-if-gi)# exit esr-30(config)# ip route multipath 192.168.0.0/24 esr-30(config-multipath-route)# gateway 10.0.1.1 esr-30(config-multipath-route)# gateway 10.0.2.1 esr-30(config-multipath-route)# exit |
...
| Условие совпадения | Регулярное выражение |
|---|---|
| Маршруты с любым содержимым AS-path | .* |
| Маршруты с пустым AS-path | ^$ |
| Маршруты с одной любой AS в AS-path | ^[0-9]+$ |
| Маршруты с двумя любыми AS в AS-path | ^[0-9]+ [0-9]+$ |
| Маршруты, зарождённые в AS 15 | (^|.* )15$ |
| Маршруты, полученные из AS 20 | ^20( .*|$) |
| Маршруты, проходящие через AS 22 | .* 22 .* |
| Маршруты, проходящие через AS 30, а затем через AS 22 | .* 22 30 .* |
| Маршруты, проходящие через AS 30 или AS 43 | .* (30|43) .* |
| Маршруты, зарождённые в AS 66 и проходящие через AS 60 | .* 60 (.* )*66$ |
| Маршруты, зарождённые в AS 70 или проходящие через неё | .* 70( .*|$) |
| Маршруты, содержащие приватные AS в AS-path | (^|.* )((6451[2-9])|(645[2-9][0-9])|(64[6-9][0-9]{2})|(65[0-4][0-9]{2})|(655[0-2][0-9])|(6553[0-4]))( .*|$) |
| Номер AS 100, номер community 200 | ^100:200$ |
| Номера AS 112 или 232, любой номер community | ^(112|232):[0-9]*$ |
| Номер AS 277, номер community начинается с 3 | ^277:3[0-9]*$ |
| Любой номер AS, номер community в диапазоне 150-1230 | ^([0-9]*):((1[5-9][0-9])|([2-9][0-9]{2})|(1[0-2][0-2][0-9])|(1230))$ |
| Тип route target, IP-адрес 10.10.10.1, номер extcommunity 653 и 654 | ^rt:10\.10\.10\.1:65[34]$ |
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Создать маршрутную карту для фильтрации и модификации IP-маршрутов. | esr(config)# route-map <NAME> | <NAME> – имя маршрутной карты, задается строкой до 31 символа. |
| 2 | Создать правило маршрутной карты. | esr(config-route-map)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1 .. 10000]. |
| 3 | Указать действие, которое должно быть применено для маршрутной информации. | esr(config-route-map-rule)# action <ACT> | <ACT> – назначаемое действие:
|
| 4 | Задать значение BGP AS-Path, Community,Extended Community, Local-preference, Metric, Weight в маршруте, для которого должно срабатывать правило (необязательно). | esr(config-route-map-rule)# match as-path { [begin | contain | end ] <AS-PATH> | empty | regex <REGEX> } | regex – значение атрибута соответствует регулярному выражению. <REGEX> – регулярное выражение, задаётся по стандарту POSIX-Extended Regular Expressions.
|
| esr(config-route-map-rule)# match community { <COMMUNITY-LIST> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match extcommunity { <EXTCOMMUNITY-LIST> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match local-preference { <VALUE> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match metric bgp { <VALUE> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match weight bgp { <VALUE> | regex <REGEX> } | |||
| 5 | Описать дополнительные условия для выбора и действие ( см. раздел Настройка политик маршрутизации Route-map). | ||
| 6 | Применить созданный Route-map в контекcте настройки BGP peer, peer-group, address-family. | esr(config-bgp-neighbor)# route-map <NAME><DIRECTION> | <NAME> – имя сконфигурированной маршрутной карты;
|
| esr(config-ipv6-bgp-neighbor)# route-map <NAME><DIRECTION> |
Scroll Pagebreak
Пример настройки
...
Механизм позволяет разделить одну автономную систему на множество под-AS, функционирующих фIS-IS — протокол динамической маршрутизации, стандартизированный ISO, ункционирующих как отдельные административные единицы, но представляющих единую AS для внешних автономных систем. Взаимодействие между под-AS осуществляется посредством межконфедерационных BGP-сессий, использующих расширенную семантику AS_PATH. Для реализации механизма в рамках RFC 5065 введены атрибуты AS_CONFED_SEQUENCE и AS_CONFED_SET, которые применяются исключительно внутри конфедерации и подлежат удалению перед передачей маршрутов за её пределы.
...
- Значение атрибута MED распространяется между eBGP-пирами;
- Значение атрибута next-hop не изменяется при eBGP-пиринге (поведение можно переопределить с помощью команды next-hop-self);
- Внутри конфедерации политика анонсирования маршрутной информации аналогична политика анонсирования для iBGP-пиринга;
- Длина списка AS_CONFED_SEQUENCE или AS_CONFED_SET не участвует в политике выбора лучшего маршрута.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | В контексте настройки BGP указать идентификатор конфедерации | esr(config-bgp)# confederation identifier <ID> | <ID> – идентификатор конфедерации, принимает значение [1..4294967295]. |
| 2 | Сконфигурировать члены конфедерации | esr(config-bgp)# confederation peer <AS> | <AS> – список номеров автономных систем, задается в виде AS-AS,AS,AS-AS, принимает значения [1..4294967295]. |
Пример настройки
Задача:
Необходимо настроить конфедерацию между ESR2 и ESR3. На ESR2 настроить eBGP-пиринг с ESR1, проанонсировать подсети в соответствии со схемой.
| Scroll Pagebreak |
|---|
...
IS-IS — протокол динамической маршрутизации, стандартизированный ISO, основанный на состояниях линков (link-state). Он обеспечивает быструю сходимость и отличную масштабируемость, экономно использует пропускную способность сетей, использует Алгоритм Дейкстры для просчёта наилучших маршрутов. Отличительной особенностью протокола IS-IS является работа поверх канального уровня модели OSI, поэтому он не привязан к конкретному протоколу сетевого уровня.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Cоздать IS-IS процесс и перейти в режим настройки параметров этого процесса. | esr(config)# router isis <ID> [vrf <VRF>] | <ID> – номер процесса, принимает значения [1..65535]; <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
2 | Установить NET-адрес. | esr(config-isis)# net {<NET>} | <NET> – NET-адрес, формат: ff[.ffff.ffff.ffff.ffff.ffff.ffff].ffff.ffff.ffff.00. |
3 | Включить IS-IS процесс. | esr(config-isis)# enable | |
4 | Установить алгоритм аутентификации для L2-уровня (необязательно). | esr(config-isis)# authentication domain algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
| 5 | Установить пароль аутентификации для L2-уровня (необязательно). | esr(config-isis)# authentication domain key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой 8 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером 8 байт (16 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
6 | Установить список ключей для аутентификации (необязательно). | esr(config-isis)# authentication domain key chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
| 7 | Выбрать алгоритм аутентификации для L1-уровня (необязательно). | esr(config-isis)# authentication area algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
| 8 | Установить пароль аутентификации для L1-уровня (необязательно). | esr(config-isis)# authentication area key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой 8 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером 8 байт (16 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
| 9 | Установить список ключей для аутентификации (необязательно). | esr(config-isis)# authentication area key chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
| 10 | Включить передачу имени маршрутизатора в LSP (необязательно). | esr(config-isis)# hostname dynamic | |
| 11 | Установить уровень работы IS-IS процесса (необязательно). | esr(config-isis)# is-type {<LEVEL>} | <LEVEL> – уровень работы протокола IS-IS:
|
| 12 | Установить тип метрики, который будет использоваться в работе IS-IS процесса (необязательно). | esr(config-isis)# metric-style { narrow | wide | transition } [<LEVEL>] | narrow – принимает и генерирует TLV (о достижимости сетей) старого типа; wide – принимает и генерирует TLV (о достижимости сетей) нового типа; transition – принимает и генерирует TLV (о достижимости сетей) нового и старого типа; <LEVEL> – уровень работы протокола IS-IS:
|
| 13 | Установить приоритетность маршрутов для данного IS-IS процесса (необязательно). | esr(config-isis)# preference {<VALUE>} | <VALUE> – принимает значения [1..255]. |
| 14 | Включить работу IS-IS с IPv4 и/или IPv6 адресами (необязательно). | esr(config-isis)# address-family { ipv4 | ipv6 } | ipv4 – семейство адресов IPv4; ipv6 – семейство адресов IPv6. |
| 15 | Установить интервал обновления собственных LSP (необязательно). | esr(config-isis)# lsp-refresh-interval { min | max } <TIME> [ <LEVEL> ] | min – минимальный интервал обновления/генерации; max – максимальный интервал обновления/генерации; <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 16 | Установить время жизни собственных LSP (необязательно). | esr(config-isis)# max-lsp-lifetime <TIME> [<LEVEL>] | <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 17 | Установить таймаут перед следующим расчётом SPF (необязательно). | esr(config-isis)# spf-timeout <TIME> [<LEVEL>] | <TIME> – время в миллисекундах, принимает значения [1..10000]; <LEVEL> – уровень работы протокола IS-IS:
|
| 18 | Включить анонсирование маршрутов, полученных альтернативным способом (необязательно). | esr(config-isis)# redistribute bgp <AS> [ route-map <NAME> ] [is-type <LEVEL>] | <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
|
esr(config-isis)# redistribute ipv6 bgp <AS> [ route-map <NAME> ] [is-type <LEVEL>] | |||
esr(config-isis)# redistribute ospf <ID> <ROUTE-TYPE> [ route-map <NAME> ] [is-type <LEVEL>] | <ID> – номер процесса, может принимать значение [1..65535]; <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
| ||
esr(config-isis)# redistribute ipv6 ospf <ID> <ROUTE-TYPE> [ route-map <NAME> ] [is-type <LEVEL>] | |||
esr(config-isis)# redistribute isis <ID> <ROUTE-TYPE> [ route-map <NAME> ] [is-type <LEVEL>] | <ID> – номер процесса, может принимать значение [1..65535]; <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых IS-IS-маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
| ||
esr(config-isis)# redistribute rip [ route-map <NAME> ] [is-type <LEVEL>] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
| ||
| esr(config-isis)# redistribute ipv6 rip [ route-map <NAME> ] [is-type <LEVEL>] | |||
esr(config-isis)# redistribute static [ route-map <NAME> ] [is-type <LEVEL>] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
| ||
esr(config-isis)# redistribute connected [ route-map <NAME> ] [is-type <LEVEL>] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых подключённых маршрутов, задаётся строкой до 31 символа; <LEVEL> – уровень работы протокола IS-IS:
| ||
| 19 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (необязательно). | esr(config-isis)# prefix-list { ipv6 <LIST_NAME> | <LIST_NAME> } {in|out} | <LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа. in – фильтрация входящих маршрутов; out – фильтрация анонсируемых маршрутов. |
| 20 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (необязательно). | esr(config-isis)# route-map <NAME> {in|out} | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых маршрутов, задаётся строкой до 31 символа. |
| 21 | Установить принадлежность интерфейса к определенному IS-IS процессу. | esr(config-if-gi)# isis instance <ID> | <ID> – номер процесса, принимает значения [1..65535]. |
| 22 | Включить работу протокола IS-IS на интерфейсе. | esr(config-if-gi)# isis enable | |
| 23 |
| ||
| 24 | Включить использование TLV#8 в hello-пакетах (необязательно). | esr(config-if-gi)# isis hello-padding | |
| 25 | Установить приоритет при выборе DIS (необязательно). | esr(config-if-gi)# isis priority <VALUE> [<LEVEL>] | <VALUE> – число, принимающее значения [0..127]; <LEVEL> – уровень работы протокола IS-IS:
|
| 26 | Установить значение метрики для интерфейсa (необязательно). | esr(config-if-gi)# isis metric <VALUE> [<LEVEL>] | <VALUE> – число, принимающее значения [1..16777215]; <LEVEL> – уровень работы протокола IS-IS:
|
| 27 | Установить на каком уровне маршрутизации будет работать текущий процесс IS-IS на конкретном интерфейсе (необязательно). | esr(config-if-gi)# isis circuit-type {<LEVEL>} | <LEVEL> – уровень работы протокола IS-IS:
|
| 28 | Установить интервал отправки hello-пакетов (необязательно). | esr(config-if-gi)# isis hello-interval <TIME> [<LEVEL>] | <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 29 | Установить множитель для вычисления и отправки Hold Time (необязательно). | esr(config-if-gi)# isis hello-multiplier <VALUE> [<LEVEL>] | <VALUE> – число, принимающее значения [3..1000]; <LEVEL> – уровень работы протокола IS-IS:
|
| 30 | Перевести интерфейс в режим работы point-to-point протокола IS-IS (необязательно). | esr(config-if-gi)# isis network point-to-point | |
| 31 | Установить интервал генерации и отправки CSNP (необязательно). | esr(config-if-gi)# isis csnp-interval <TIME> [<LEVEL>] | <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 32 | Установить интервал генерации и отправки PSNP (необязательно). | esr(config-if-gi)# isis psnp-interval <TIME> [<LEVEL>] | <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 33 | Установить интервал между передачами LSP в Broadcast-сети (необязательно). | esr(config-if-gi)# isis lsp-interval <TIME> [<LEVEL>] | <TIME> – время в миллисекундах, принимает значения [1-10000]; <LEVEL> – уровень работы протокола IS-IS:
|
| 34 | Установить интервал повторного распространения LSP в PtP-сети (необязательно). | esr(config-if-gi)# isis lsp-retransmit-interval <TIME> [<LEVEL>] | <TIME> – время в секундах, принимает значения [1..65535]; <LEVEL> – уровень работы протокола IS-IS:
|
| 35 | Установить алгоритм аутентификации для hello-пакетов (необязательно). | esr(config-if-gi)# isis authentication algorithm <ALGORITHM> [<LEVEL>] | <ALGORITHM> – алгоритм аутентификации:
<LEVEL> – уровень работы протокола IS-IS:
|
| 36 | Установить пароль для аутентификации hello-пакетов (необязательно). | esr(config-if-gi)# isis authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } [<LEVEL>] | <CLEAR-TEXT> – пароль, задаётся строкой 8 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером 8 байт (16 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...); <LEVEL> – уровень работы протокола IS-IS:
|
| 37 | Установить список ключей для аутентификации hello-пакетов (необязательно). | esr(config-if-gi)# isis authentication key chain <KEYCHAIN> [<LEVEL>] | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов; <LEVEL> – уровень работы протокола IS-IS:
|
| 38 | Включить протокол BFD для протокола IS-IS (необязательно). | esr(config-if-gi)# isis bfd-enable esr(config-if-gi)# isis ipv6-bfd-enable |
| Scroll Pagebreak |
|---|
Якорь Пример настройки IS-IS рисунок Пример настройки IS-IS рисунок
Пример настройки
| Пример настройки IS-IS рисунок | |
| Пример настройки IS-IS рисунок |
...