Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление
maxLevel4

Политика анонсирования маршрутной информации

Протокол RIP

in/out

Политика по умолчанию

Способы АнонсированияСпособы фильтрацииУровни применения политик фильтрации
Import

Получение маршрутной информации не ограничено

Network, Redistribute

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Процесс RIP
ExportБез отдельных команд анонсирования маршрутизатор не отправляет маршрутную информацию

Prefix-list — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Prefix-list — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Протокол OSPF

in/out

Политика по умолчанию

Способы АнонсированияСпособы фильтрацииУровни применения политик фильтрации
Import

Получение маршрутной информации не ограничено

Network, Redistribute

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Процесс OSPF
ExportАнонсируется информация о интерфейсах, на которых включен протокол OSPF

Route-map — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Prefix-list — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Фильтрация анонсируемой маршрутной информации возможна для следующих типов OSPF-маршрутов: E2, E1

Протокол IS-IS

in/out

Политика по умолчанию

Способы АнонсированияСпособы фильтрацииУровни применения политик фильтрации
Import

Получение маршрутной информации не ограничено

Network, Redistribute

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Процесс IS-IS
ExportАнонсируется информация о интерфейсах, на которых включен протокол IS-IS

Route-map — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Prefix-list — последнее (неявное) правило разрешает все, что явно не запрещено предыдущими правилами.

Протокол iBGP

in/out

Политика по умолчанию

Способы АнонсированияСпособы фильтрацииУровни применения политик фильтрации
Import

Получение маршрутной информации не ограничено

Network, Redistribute

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

address-family, peer-group, neighbor
ExportАнонсируются все маршруты, попавшие в RIB по протоколу BGP

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Протокол eBGP

in/out

Политика по умолчанию

Способы АнонсированияСпособы фильтрацииУровни применения политик фильтрации
Import

Получение маршрутной информации не ограничено

Network, Redistribute

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

address-family, peer-group, neighbor
ExportАнонсирование маршрутов запрещено до применения разрешающего route-map или prefix-list

Route-map — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.

Prefix-list — последнее (неявное) правило запрещает все, что явно не разрешено предыдущими правилами.


Якорь
Конфигурирование статических маршрутов
Конфигурирование статических маршрутов

Конфигурирование статических маршрутов

Статическая маршрутизация — вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора без использования протоколов динамической маршрутизации.

Алгоритм настройки

Добавить статический маршрут возможно командой в режиме глобальной конфигурации:

панель

esr(config)# ip route [ vrf <VRF> ] <SUBNET> { <NEXTHOP> | interface <IF> | tunnel <TUN> | wan load-balance rule <RULE> [<METRIC>] | blackhole | unreachable | prohibit } [ <METRIC> ] [ track <TRACK-ID> ] [ bfd ]

  • <VRF> – имя экземпляра VRF, задается строкой до 31 символа;
  • <SUBNET> – адрес назначения, может быть задан в следующем формате:
    • AAA.BBB.CCC.DDD – IP-адрес хоста, где каждая часть принимает значения [0..255];
    • AAA.BBB.CCC.DDD/NN – IP-адрес подсети с маской в виде префикса, где AAA-DDD принимают значения [0..255] и NN принимает значения [1..32].
  • <NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
  • <IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
  • <TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора;
  • <RULE> – номер правила wan, задаётся в диапазоне [1..50];
  • blackhole – при указании команды пакеты до данной подсети будут удаляться устройством без отправки уведомлений отправителю;
  • unreachable – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Host unreachable, code 1);
  • prohibit – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Communication administratively prohibited, code 13);
  • bfd – при указании данного ключа активируется удаление статического маршрута в случае недоступности next-hop.

Для добавления статического IPv6-маршрута к указанной подсети используется команда:

панель

ipv6 route [ vrf <VRF> ] <SUBNET> { <NEXTHOP> [ resolve ] | interface <IF> | wan load-balance rule <RULE> | blackhole | unreachable | prohibit } [ <METRIC> ] [ bfd ]

  • <VRF> – имя экземпляра VRF, задается строкой до 31 символа;
  • <SUBNET> – адрес назначения, может быть задан в следующих видах:
    • X:X:X:X::X – IPv6-адрес хоста, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];
    • X:X:X:X::X/EE – IPv6-адрес подсети с маской в виде префикса, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128].
  • <NEXTHOP> – IPv6-адрес шлюза, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];
  • resolve – при указании данного параметра IPv6-адрес шлюза будет рекурсивно вычислен через таблицу маршрутизации. Если при рекурсивном вычислении не удастся найти шлюз из напрямую подключенной подсети, то данный маршрут не будет установлен в систему;
  • <IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
  • blackhole – при указании команды пакеты до данной подсети будут удаляться устройством без отправки уведомлений отправителю;
  • unreachable – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Host unreachable, code 1);
  • prohibit – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Communication administratively prohibited, code 13);
  • [METRIC] – метрика маршрута, принимает значения [0..255].
  • bfd – при указании данного ключа активируется удаление статического маршрута в случае недоступности next-hop.

Пример настройки статических маршрутов

Задача:

Настроить доступ к сети Internet для пользователей локальных сетей 192.168.1.0/24 и 10.0.0.0/8, используя статическую маршрутизацию. На устройстве R1 создать шлюз для доступа к сети Internet. Трафик внутри локальной сети должен маршрутизироваться внутри зоны LAN, трафик из сети Internet должен относиться к зоне WAN.

Scroll Pagebreak
Решение:

Зададим имя устройства для маршрутизатора R1:

Блок кода
esr# hostname R1

Для интерфейса gi1/0/1 укажем адрес 192.168.1.1/24 и зону «LAN». Через данный интерфейс R1 будет подключен к сети 192.168.1.0/24:

Блок кода
esr(config)# interface gi1/0/1
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# ip address 192.168.1.1/24
esr(config-if-gi)# exit

Для интерфейса gi1/0/2 укажем адрес 192.168.100.1/30 и зону «LAN». Через данный интерфейс R1 будет подключен к устройству R2 для последующей маршрутизации трафика:

Блок кода
esr(config)# interface gi1/0/2
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# ip address 192.168.100.1/30
esr(config-if-gi)# exit

Для интерфейса gi1/0/3 укажем адрес 128.107.1.2/30 и зону «WAN». Через данный интерфейс R1 будет подключен к сети Internet:

Блок кода
esr(config)# interface gi1/0/3
esr(config-if-gi)# security-zone WAN
esr(config-if-gi)# ip address 128.107.1.2/30
esr(config-if-gi)# exit

Создадим маршрут для взаимодействия с сетью 10.0.0.0/8, используя в качестве шлюза устройство R2 (192.168.100.2):

Блок кода
esr(config)# ip route 10.0.0.0/8 192.168.100.2 

Создадим маршрут для взаимодействия с сетью Internet, используя в качестве nexthop шлюз провайдера (128.107.1.1):

Блок кода
esr(config)# ip route 0.0.0.0/0 128.107.1.1 

Зададим имя устройства для маршрутизатора R2:

Блок кода
esr# hostname R2

Scroll Pagebreak

Для интерфейса gi1/0/1 укажем адрес 10.0.0.1/8 и зону «LAN». Через данный интерфейс R2 будет подключен к сети 10.0.0.0/8:

Блок кода
esr(config)# interface gi1/0/1
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# ip address 10.0.0.1/8
esr(config-if-gi)# exit

Для интерфейса gi1/0/2 укажем адрес 192.168.100.2/30 и зону «LAN». Через данный интерфейс R2 будет подключен к устройству R1 для последующей маршрутизации трафика:

Блок кода
esr(config)# interface gi1/0/2
esr(config-if-gi)# security-zone LAN
esr(config-if-gi)# ip address 192.168.100.2/30
esr(config-if-gi)# exit

Создадим маршрут по умолчанию, указав в качестве nexthop IP-адрес интерфейса gi1/0/2 маршрутизатора R1 (192.168.100.1):

Блок кода
esr(config)# ip route 0.0.0.0/0 192.168.100.1

Проверить таблицу маршрутов можно командой:

Блок кода
esr# show ip route

Якорь
Настройка PPP через E1
Настройка PPP через E1

Настройка RIP

RIP — дистанционно-векторный протокол динамической маршрутизации, который использует количество транзитных участков в качестве метрики маршрута. Максимальное количество транзитных участков (hop), разрешенное в RIP, равно 15. Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации один раз в 30 секунд. RIP работает на 3-м уровне стека TCP/IP, используя UDP-порт 520.

Алгоритм настройки

ШагОписаниеКомандаКлючи
1Настроить приоритетность протокола RIP-маршрутизации для основной таблицы маршрутизации (не обязательно).

esr(config)# ip protocols rip preference <VALUE>

<VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255].

Значение по умолчанию: RIP (100).

2Настроить емкость таблиц маршрутизации протокола RIP (не обязательно).

esr(config)# ip protocols rip max-routes <VALUE>

<VALUE> – количество маршрутов протокола RIP в маршрутной таблице, принимает значения в диапазоне [1..10000];
Значение по умолчанию:

10000.

3

Создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов.

esr(config)# ip prefix-list <NAME>

<NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа.

4

Разрешить (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> – имя профиля IP -адресов, задаётся строкой до 31 символа;

<LEN> – длина префикса, принимает значения [1..32] в IP-списках префиксов;

  • eq – при указании команды длина префикса должна соответствовать указанной;
  • le – при указании команды длина префикса должна быть меньше либо соответствовать указанной;
  • ge – при указании команды длина префикса должна быть больше либо соответствовать указанной;
  • default - route – фильтрация маршрута по умолчанию.

esr(config-pl)# deny {object-group <OBJ-GROUP-NETWORK-NAME>  <ADDR/LEN> | <IPV6-ADDR/LEN> } [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] }

5

Перейти в режим настройки параметров RIP-процесса.

esr(config)# router rip

esr(config-rip)#


6

Включить RIP-протокол.

esr(config-rip)# enable


7

Определить алгоритм аутентификации протокола RIP (не обязательно).

esr(config-rip)# authentication algorithm { cleartext | md5 }

  • cleartext – пароль, передается открытым текстом;
  • md5 – пароль хешируется по алгоритму md5.

8

Установить пароль для аутентификации с соседом (не обязательно).

esr(config-rip)# authentication key ascii-text  { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

9

Определить список паролей для аутентификации через алгоритм хеширования md5 (не обязательно).

esr(config-rip)# authentication key-chain <KEYCHAIN>

<KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов.

10

Выключить анонсирование маршрутов на интерфейсах/туннелях/bridge, где это не нужно (не обязательно).

esr(config-rip)# passive-interface {<IF> | <TUN> }

<IF> – интерфейс и идентификатор;

<TUN> – имя и номер туннеля.

11

Установить временной интервал, по истечении которого производится анонсирование (не обязательно).

esr(config-rip)# timers update <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 180 секунд.

12

Установить временной интервал корректности маршрутной записи без обновления (не обязательно).

esr(config-rip)# timers invalid <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 180 секунд.

13

Установить временной интервал, по истечении которого производиться удаление маршрута (не обязательно).

esr(config-rip)# timers flush <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

При установке значения нужно учитывать следующее правило: «timersinvalid + 60»

Значение по умолчанию: 240 секунд.

14

Включить анонсирование подсетей.

esr(config-rip)# network <ADDR/LEN>

<ADDR/LEN> – адрес подсети, указывается в следующем формате:

AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32].

15

Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно).

esr(config-rip)# prefix-list <PREFIX-LIST-NAME> { in | out }

<PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.

  • in – фильтрация входящих маршрутов;
  • out – фильтрация анонсируемых маршрутов.

16

Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно).

esr(config-rip)# redistribute static [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа.

esr(config-rip)# redistribute connected [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа.

esr(config-rip)# redistribute ospf <ID><ROUTE-TYPE> [ route-map <NAME> ]

<ID> – номер процесса, может принимать значение [1..65535];

<ROUTE-TYPE> – тип маршрута:

  • intra - area – анонсирование маршрутов OSPF-процесса в пределах зоны;
  • inter - area – анонсирование маршрутов OSPF-процесса между зонами;
  • external 1 – анонсирование внешних маршрутов OSPF-формата 1;
  • external 2 – анонсирование внешних маршрутов OSPF-формата 2;

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа.

esr(config-rip)# redistribute bgp <AS> [ route-map <NAME> ]

<AS> – номер автономной системы, может принимать значения [1..4294967295];

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа.

17

Перейти в режим конфигурирования интерфейса/туннеля/сетевого моста.

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.

18

Установить величину метрики RIP-маршрутов на интерфейсе (не обязательно).

esr(config-if-gi)# ip rip metric <VALUE>

<VALUE> – величина метрики, задаётся в размере [0..32767].

Значение по умолчанию: 5.

19

Установить режим анонсирования маршрутов по протоколу RIP (не обязательно).

esr(config-if-gi)# ip rip mode <MODE>

<MODE> – режим анонсирования маршрутов:

  • multicast – маршруты анонсируются в многоадресном режиме;
  • broadcast – маршруты анонсируются в широковещательном режиме;
  • unicast – маршруты анонсируются в unicast-режиме соседям.

Значение по умолчанию: multicast.

20

Задать IP-адрес соседа для установления отношения в unicast-режиме анонсирования маршрутов (не обязательно).

esr(config-if-gi)# ip rip neighbor <ADDR>

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

21

Включить суммаризацию подсетей (не обязательно).

esr(config-if-gi)# ip rip summary-address <ADDR/LEN>

<ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

Пример настройки RIP

Задача:

Настроить на маршрутизаторе протокол RIP для обмена маршрутной информацией с соседними маршрутизаторами. Маршрутизатор должен анонсировать статические маршруты и подсети 115.0.0.0/24, 14.0.0.0/24, 10.0.0.0/24. Анонсирование маршрутов должно происходить каждые 25 секунд.

Якорь
Пример настройки RIP рисунок
Пример настройки RIP рисунок

Решение:

Предварительно нужно настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке.

Перейдём в режим конфигурирования протокола RIP:

Блок кода
esr(config)# router rip 

Укажем подсети, которые будут анонсироваться протоколом: 115.0.0.0/24, 14.0.0.0/24 и 10.0.0.0/24:

Блок кода
esr(config-rip)# network 115.0.0.0/24
esr(config-rip)# network 14.0.0.0/24
esr(config-rip)# network 10.0.0.0/24

Для анонсирования протоколом статических маршрутов выполним команду:

Блок кода
esr(config-rip)# redistribute static

Настроим таймер, отвечающий за отправку маршрутной информации:

Блок кода
esr(config-rip)# timers update 25

После установки всех требуемых настроек включаем протокол:

Блок кода
esr(config-rip)# enable

Scroll Pagebreak

Для того чтобы просмотреть таблицу маршрутов RIP воспользуемся командой:

Блок кода
esr# show ip rip


Примечание

Помимо настройки протокола RIP, необходимо в firewall разрешить UDP-порт 520.

Якорь
Настройка OSPF
Настройка OSPF

Настройка OSPF

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 в маршрутной таблице, принимает значения в диапазоне:

  • для ESR-1000/1200/1500
    /1511/1700/3100 – [1..500000];
  • для ESR-20/21/100/200 – [1..300000];
  • для ESR-10/12V(F)/14VF – [1..30000]

Значение по умолчанию для глобального режима:

  • для ESR-1000/1200/1500
    /1511/1700/3100 – (500000);
  • для ESR-20/21/100/200 – (300000);
  • для ESR-10/12V(F)/14VF – (30000).

Значение по умолчанию для 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-списках префиксов;

  • eq – при указании команды длина префикса должна соответствовать указанной;
  • le – при указании команды длина префикса должна быть меньше либо соответствовать указанной;
  • ge – при указании команды длина префикса должна быть больше либо соответствовать указанной;

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>

<ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-ipv6-ospf)# router-id <ID>

8

Определить приоритетность маршрутов процесса OSPF.

esr(config-ospf)# preference <VALUE>

<VALUE> – приоритетность маршрутов процесса OSPF, принимает значения в диапазоне [1..255].

Значение по умолчанию: 10.

esr(config-ipv6-ospf)# preference <VALUE>

9

Включить совместимость с RFC 1583 (не обязательно).

esr(config-ospf)# compatible rfc1583


esr(config-ipv6-ospf)# compatible rfc1583

11

Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно).

esr(config-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out }

<PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.

  • in – фильтрация входящих маршрутов;
  • out – фильтрация анонсируемых маршрутов.

esr(config-ipv6-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out }

12

Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно).

esr(config-ospf)# redistribute static [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа.

esr(config-ipv6-ospf)# redistribute static [ route-map <NAME> ]

esr(config-ospf)# redistribute connected [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа.

esr(config-ipv6-ospf)# redistribute connected [ route-map <NAME> ]

esr(config-ospf)# redistribute rip [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа.

esr(config-ospf)# redistribute bgp <AS> [ route-map <NAME> ]

<AS> – номер автономной системы, может принимать значения [1..4294967295];

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа.

esr(config-ipv6-ospf)# redistribute bgp <AS> [ route-map <NAME> ]

13

Активировать OSPF-процесс.

esr(config-ospf)# enable


esr(config-ipv6-ospf)# enable

14

Создать OSPF-область и перейти в режим конфигурирования области.

esr(config-ospf)# area <AREA_ID>

<AREA_ID> – идентификатор области, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-ipv6-ospf)# area <AREA_ID>

15

Включить анонсирование подсетей.

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].

16

Определить тип области

esr(config-ospf-area)# area-type <TYPE> [ no-summary ]

<TYPE> – тип области:

  • stub – устанавливает значение stub (тупиковая область);
    no-summary – команда в связке с параметром «stub» образует область «totallystubby» (для передачи информации за пределы области используется только маршрут по умолчанию).
  • nssa – устанавливает значение nssa (область NSSA);
    no-summary – в связке с параметром nssa образует область totallynssa (автоматически генерирует маршрут по умолчанию как межобластной).

esr(config-ipv6-ospf-area)# area-type <TYPE> [ no-summary ]

17

Включить генерацию маршрута по умолчанию для NSSA-области и анонсирование его в качестве NSSA-LSA.

esr(config-ospf-area)# default-information-originate


esr(config-ipv6-ospf-area)# default-information-originate

18

Включить суммаризацию или скрытие подсетей.

esr(config-ospf-area)# summary-address <ADDR/LEN>  { advertise | not-advertise }

<ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32];

  • advertise – при указании команды вместо указанных подсетей будет анонсироваться суммарная подсеть;
  • not - advertise – при указании команды подсети, входящие в указанную подсеть, анонсироваться не будут.

esr(config-ipv6-ospf-area)# summary-address  <IPV6-ADDR/LEN> { advertise | not-advertise }

<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128];

  • advertise – при указании команды вместо подсетей, входящих в указанную подсеть, будет анонсироваться суммарная подсеть;
  • not-advertise – подсети входящие в указанную подсеть анонсироваться не будут.

19

Активировать OSPF-область.

esr(config-ospf-area)# enable


esr(config-ipv6-ospf-area)# enable

20

Установить виртуальное соединение между основной и удаленными областями, имеющими между ними несколько областей.

esr(config-ospf-area)# virtual-link <ID>

<ID> – идентификатор маршрутизатора, с которым устанавливается виртуальное соединение, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-ipv6-ospf-area)# virtual-link <ID>

21

Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, который не получил подтверждения о получении (например, DatabaseDescription пакет или LinkStateRequest пакеты).

esr(config-ospf- vlink)# restransmit-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 5 секунд.

esr(config-ipv6-ospf- vlink)# restransmit-interval <TIME>

22

Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет.

esr(config-ospf- vlink)# hello-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 10 секунд.

esr(config-ipv6-ospf- vlink)# hello-interval <TIME>

23

Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным. Этот интервал должен быть кратным значению «hello-interval».

esr(config-ospf- vlink)# dead-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 40 секунд.

esr(config-ipv6-ospf- vlink)# dead-interval <TIME>

24

Определяется интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети.

esr(config-ospf- vlink)# wait-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].
Значение по умолчанию: 40 секунд

esr(config-ipv6-ospf- vlink)# wait-interval <TIME>

25

Определить алгоритм аутентификации.

esr(config-ospf- vlink)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм аутентификации:

  • cleartext – пароль, передается открытым текстом (доступно только для RIP и OSPF-VLINK);
  • md 5 – пароль хешируется по алгоритму md5.

26

Установить пароль для аутентификации с соседом.

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...).

27

Определить список паролей для аутентификации через алгоритм хеширования md5.

esr(config-ospf- vlink)# authentication key chain <KEYCHAIN>

<KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов.

28

Активировать виртуальное соединение.

esr(config-ospf- vlink)# enable


29

Перейти в режим конфигурирования интерфейса/туннеля/ сетевого моста.

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.

30

Определить принадлежность интерфейса/туннеля/ сетевого моста к определенному OSPF-процессу.

esr(config-if-gi)# ip ospf instance <ID>

<ID> – номер процесса, принимает значения [1..65535].

esr(config-if-gi)# ipv6 ospf instance <ID>

31

Определить принадлежность интерфейса к определенной области 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>

32

Включить маршрутизацию по протоколу OSPF на интерфейсе.

esr(config-if-gi)# ip ospf



esr(config-if-gi)# ipv6 ospf

33

Включить режим, в котором OSPF-процесс будет игнорировать значение MTU интерфейса во входящих Database Description-пакетах.

esr(config-if-gi)# ip ospf mtu-ignore


esr(config-if-gi)# ipv6 ospf mtu-ignore

34

Определить алгоритм аутентификации протокола OSPF.

esr(config-if-gi)# ip ospf authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм аутентификации:

  • cleartext – пароль, передается открытым текстом;
  • md 5 – пароль хешируется по алгоритму md5.

35

Установить пароль для аутентификации с 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...).

36

Определить список паролей для аутентификации по алгоритму хеширования md5 с соседом.

esr(config-if-gi)# ip ospf authentication key-chain <KEYCHAIN>

<KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов.

37

Определить интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети.

esr(config-if-gi)# ip ospf wait-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 40 секунд.

esr(config-if-gi)# ipv6 ospf wait-interval <TIME>

38

Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, на который не получил подтверждения о получении (например, DatabaseDescription пакет или LinkStateRequest пакеты).

esr(config-if-gi)# ip ospf restransmit-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 5 секунд.

esr(config-if-gi)# ipv6 ospf restransmit-interval <TIME>

39

Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет.

esr(config-if-gi)# ip ospf hello-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 10 секунд.

esr(config-if-gi)# ipv6 ospf hello-interval <TIME>

40

Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным. Этот интервал должен быть кратным значению hello-interval.

esr(config-if-gi)# ip dead-interval <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 40 секунд.

esr(config-if-gi)# ipv6 dead-interval <TIME>

41

Установить интервал времени, в течение которого NBMA-интерфейс ждет, прежде чем отправить HELLO-пакет соседу, даже в случае, если сосед неактивен.

esr(config-if-gi)# ip poll-interval <TIME>

<TIME> – время в секундах, принимает значения [1 .. 65535].

Значение по умолчанию: 120 секунд.

esr(config-if-gi)# ipv6 poll-interval <TIME>

42

Задать статический 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-сетях. Приоритет интерфейса должен быть больше нуля.

43

Определить тип сети для установления OSPF-соседства.

esr(config-if-gi)# ip ospf network <TYPE>

<TYPE> – тип сети:

  • broadcast – тип соединения широковещательный;
  • non - broadcast – тип соединения NBMA;
  • point - to - multipoint – тип соединения точка-многоточие;
  • point-to-multipoint non-broadcast – тип соединения NBMA точка-многоточие;
  • point - to - point – тип соединения точка-точка.

Значение по умолчанию: broadcast.

esr(config-if-gi)# ipv6 ospf network <TYPE>

44

Установить приоритет маршрутизатора, который используется для выбора DR и BDR.

esr(config-if-gi)# ip ospf priority <VALUE>

<VALUE> – приоритет интерфейса, принимает значения [1..65535].

Значение по умолчанию: 120.

esr(config-if-gi)# ipv6 ospf priority <VALUE>

45

Установить величину метрики на интерфейсе или туннеле.

esr(config-if-gi)# ip ospf cost <VALUE>

<VALUE> – величина метрики, задаётся в размере [0..32767].

Значение по умолчанию: 150.

esr(config-if-gi)# ipv6 ospf cost <VALUE>

47

Включить протокол BFD для протокола OSPF

esr(config-if-gi)# ip ospf bfd-enable


esr(config-if-gi)# ipv6 ospf bfd-enable

Пример настройки OSPF

Задача:

Настроить протокол OSPF на маршрутизаторе для обмена маршрутной информацией с соседними маршрутизаторами. Маршрутизатор должен находиться в области с идентификатором 1.1.1.1 и анонсировать маршруты, полученные по протоколу RIP.

Якорь
Пример настройки OSPF рисунок
Пример настройки OSPF рисунок


Решение:

Предварительно нужно настроить IP-адреса на интерфейсах согласно схеме, приведенной на рисунке.

Создадим OSPF-процесс с идентификатором 10 и перейдём в режим конфигурирования протокола OSPF:

Блок кода
esr(config)# router ospf 10

Создадим и включим требуемую область.

Блок кода
esr(config-ospf)# area 1.1.1.1
esr(config-ospf-area)# enable
esr(config-ospf-area)# exit

Включим анонсирование маршрутной информации из протокола RIP:

Блок кода
esr(config-ospf)# redistribute rip

Включим OSPF-процесс:

Блок кода
esr(config-ospf)# enable
esr(config-ospf)# exit

Соседние маршрутизаторы подключены к интерфейсам gi1/0/5 и gi1/0/15. Для установления соседства с другими маршрутизаторами привяжем их к OSPF-процессу и области. Далее включим на интерфейсе маршрутизацию по протоколу OSPF:

Блок кода
esr(config)# interface gigabitethernet 1/0/5
esr(config-if-gi)# ip ospf instance 10
esr(config-if-gi)# ip ospf area 1.1.1.1
esr(config-if-gi)# ip ospf
esr(config-if-gi)# exit


Блок кода
esr(config)# interface gigabitethernet 1/0/15
esr(config-if-gi)# ip ospf instance 10
esr(config-if-gi)# ip ospf area 1.1.1.1
esr(config-if-gi)# ip ospf
esr(config-if-gi)# exit
esr(config)# exit

Пример настройки OSPF stub area

Задача:

Изменить тип области 1.1.1.1, область должна быть тупиковой. Тупиковый маршрутизатор должен анонсировать маршруты, полученные по протоколу RIP.

Якорь
Пример настройки OSPF stub area рисунок
Пример настройки OSPF stub area рисунок

Решение:

Предварительно нужно настроить протокол OSPF и IP-адреса на интерфейсах согласно схеме, приведенной на рисунке.

Изменим тип области на тупиковый. На каждом маршрутизаторе из области 1.1.1.1 в режиме конфигурирования области выполним команду:

Блок кода
esr(config-ospf-area)# area-type stub

На тупиковом маршрутизаторе R3 включим анонсирование маршрутной информации из протокола RIP:

Блок кода
esr(config-ospf)# redistribute rip
Задача:

Объединить две магистральные области в одну с помощью virtual link.

Якорь
Пример настройки Virtual link рисунок
Пример настройки Virtual link рисунок

Решение:

Virtual link — это специальное соединение, которое позволяет соединять разорванную на части зону или присоединить зону к магистральной через другую зону. Настраивается между двумя пограничными маршрутизаторами зоны (Area Border Router, ABR).

Предварительно нужно настроить протокол OSPF и IP-адреса на интерфейсах согласно схеме, приведенной на рисунке.

На маршрутизаторе R1 перейдем в режим конфигурирования области 1.1.1.1:

Блок кода
esr(config-ospf)# area 1.1.1.1

Создадим virtual link с идентификатором 0.0.0.3 и включим его:

Блок кода
esr(config-ospf-area)# virtual-link 0.0.0.3
esr(config-ospf-vlink)# enable

На маршрутизаторе R3 перейдем в режим конфигурирования области 1.1.1.1:

Блок кода
esr(config-ospf)# area 1.1.1.1

Создадим virtual link с идентификатором 0.0.0.1 и включим его:

Блок кода
esr(config-ospf-area)# virtual-link 0.0.0.1
esr(config-ospf-vlink)# enable

Рассмотрим таблицу маршрутизации на маршрутизаторе R1:

Блок кода
esr# show ip route
C     * 10.0.0.0/24        [0/0]   dev gi1/0/12,                   [direct 00:49:34] 
O     * 10.0.1.0/24        [150/20] via 10.0.0.1 on gi1/0/12,      [ospf1 00:49:53]  (0.0.0.3)
O     * 192.168.20.0/24    [150/30] via 10.0.0.1 on gi1/0/12,      [ospf1 00:50:15]  (0.0.0.3)
C     * 192.168.10.0/24    [0/0]   dev lo1,                        [direct 21:32:01]

Рассмотрим таблицу маршрутизации на маршрутизаторе R3:

Блок кода
esr# show ip route
O     * 10.0.0.0/24        [150/20] via 10.0.1.1 on gi1/0/12,      [ospf1 14:38:35]  (0.0.0.2)
C     * 10.0.1.0/24        [0/0]   dev gi1/0/12,                   [direct 14:35:34] 
C     * 192.168.20.0/24    [0/0]   dev lo1,                        [direct 14:32:58] 
O     * 192.168.10.0/24    [150/30] via 10.0.1.1 on gi1/0/12,      [ospf1 14:39:54]  (0.0.0.1)

Так как OSPF считает виртуальный канал частью области, в таблице маршрутизации R1 маршруты, полученные от R3, отмечены как внутризоновые и наоборот.

Для просмотра соседей можно воспользоваться следующей командой:

Блок кода
esr# show ip ospf neighbors 10

Scroll Pagebreak

Таблицу маршрутов протокола OSPF можно просмотреть командой:

Блок кода
esr# show ip ospf 10


Примечание

В firewall необходимо разрешить протокол OSPF (89).

Якорь
Настройка BGP
Настройка BGP

Настройка BGP

Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.

Алгоритм настройки

Примечание

Для установлении BGP-сессии необходимо в firewall разрешить TCP-порт 179.


Шаг

Описание

Команда

Ключи

1

Настроить приоритетность протокола BGP-маршрутизации для основной таблицы маршрутизации (не обязательно).

esr(config)# ip protocols bgp preference <VALUE>

<VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255].

Значение по умолчанию: BGP (170).

2

Настроить емкость таблиц маршрутизации протокола BGP (не обязательно при использовании глобальной таблицы маршрутизации).

esr(config)# ip protocols bgp max-routes <VALUE>

<VALUE> – количество маршрутов протокола BGP в маршрутной таблице, принимает значения в диапазоне:

  • для ESR-1000/1200/1500
    /1511/1700/3100 – [1..5000000];
  • для ESR-20/21/100/200 – [1..2500000];
  • для ESR-10/12V(F)/14VF – [1..1000000].

Значение по умолчанию для глобальной таблицы маршрутизации:

  • для ESR-1000/1200/1500
    /1511/1700/3100 – [5000000];
  • для ESR-20/21/100/200 – [2500000];
  • для ESR-10/12V/12VF/14VF – [1000000].

Значение по умолчанию для VRF: 0.

esr(config)# ipv6 protocols bgp max-routes <VALUE>

esr(config-vrf)# ip protocols bgp max-routes <VALUE>

esr(config-vrf)# ipv6 protocols bgp max-routes <VALUE>

3

Включить вывод информации о состоянии отношений с соседями для протокола маршрутизации BGP (не обязательно).

esr(config)# router bgp log-neighbor-changes


esr(config)# ipv6 router bgp log-neighbor-changes

4

Включить ECMP и определяется максимальное количество равноценных маршрутов до цели.

esr(config)# router bgp maximum-paths <VALUE>

<VALUE> – количество допустимых равноценных маршрутов до цели, принимает значения [1..16].

5

Выбрать метод фильтрации для передаваемой информации между роутерами (обязательно при конфигурировании eBGP для анонсирования подсетей).



5.1.1

При выборе метода фильтрации на основе route-map создать список правил, который в дальнейшем будет использоваться для фильтрации анонсируемых и получаемых IP-маршрутов.

esr(config)# route-map <NAME>

<NAME> – имя конфигурируемых правил маршрутизации, задаётся строкой до 31 символа.

5.1.2

Создать правило.

(config-route-map)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1 .. 10000].

5.1.3

Определить список подсетей, которые затрагиваются правилом.

esr(config-route-map-rule)#match ip address  { <ADDR/LEN> | object-group <OBJ-GRP-NETNAME> }  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

<ADDR/LEN> – IP-адрес и маска подсети, задается в виде:

  • AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32];

<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задается в виде:

  • X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128];

<OBJ-GRP-NETNAME> – имя профиля IP -адресов, задаётся строкой до 31 символа*;

<LEN>, <LEN 1>, <LEN 2> – длина префикса, принимает значения [1..32] в IP-списках префиксов для IPv4 и [1..128] для IPv6;

eq – при указании команды длина префикса должна соответствовать указанной;

le – при указании команды длина префикса должна быть меньше либо соответствовать указанной;

ge – при указании команды длина префикса должна быть больше либо соответствовать указанной;

ge <LEN 1> le <LEN 2> – При указании команды длина префикса должна быть больше либо соответствовать <LEN> но меньше или равна <LEN1>.

* При использовании фильтрации по object-group, их необходимо создать заранее.

esr(config-route-map-rule)#match ipv6 address  { <IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME> }  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

5.1.4

Разрешить (permit) или запретить (deny) действие для указанных подсетей в правиле.

esr(config-route-map-rule)# action {deny | permit}


5.2.1

При выборе метода фильтрации на основе префикс-листов создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов.

esr(config)# ip prefix-list <NAME>

<NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа.

esr(config)# ipv6 prefix-list <NAME>

5.2.2

Разрешить (permit) или запретить (deny) списки префиксов.

esr(config-pl)# permit  { <ADDR/LEN> | object-group <OBJ-GRP-NETNAME>}  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

<ADDR/LEN> – IP-адрес и маска подсети, задается в виде:

  • AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32];

<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде:

  • X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128];

<OBJ-GRP-NETNAME> – имя профиля IP -адресов, задаётся строкой до 31 символа*;

<LEN>, <LEN 1>, <LEN 2> – длина префикса, принимает значения [1..32] в IP-списках префиксов для IPv4 и [1..128] для IPv6;

eq – при указании команды длина префикса должна соответствовать указанной;

le – при указании команды длина префикса должна быть меньше либо соответствовать указанной;

ge – при указании команды длина префикса должна быть больше либо соответствовать указанной;

ge <LEN 1> le <LEN 2> – При указании команды длина префикса должна быть больше либо соответствовать <LEN> но меньше или равна <LEN1>.

* При использовании фильтрации по object-group, их необходимо создать заранее.

esr(config-pl)# deny  {<ADDR/LEN> | object-group <OBJ-GRP-NETNAME>}  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

esr(config-ipv6-pl)# permit  { <IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME>}  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

esr(config-ipv6-pl)# deny  {<IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME> }  [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ]

6

Добавить BGP-процесс в систему и осуществить переход в режим настройки параметров BGP-процесса.

esr(config)# router bgp <AS>

<AS> – номер автономной системы процесса, принимает значения [1..4294967295].

7

Установить идентификатор маршрутизатора.

esr(config-bgp)# router-id <ID>

<ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

8

Установить идентификатор Route-Reflector кластера, которому принадлежит BGP-процесс маршрутизатора (при необходимости).

esr(config-bgp)# cluster-id <ID>

<ID> – идентификатор Route-Reflector кластера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

9

Включить генерацию и отправку маршрута по умолчанию, если маршрут по умолчанию есть в таблице маршрутизации FIB (не обязательно).

esr(config-bgp)# default-information-originate


10

Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной (не обязательно).

esr(config-bgp-af)# timers keeaplive <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 60 секунд.

11

Установить временной интервал, по истечении которого встречная сторона считается недоступной (не обязательно).

esr(config-bgp-af)# timers holdtime <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 180 секунд.

12

Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения (не обязательно).

esr(config-bgp-af)# timers error-wait <TIME1> <TIME2>

<TIME1> – время минимальной задержки в секундах, принимает значения [1..65535];

<TIME2> – время максимальной задержки в секундах, принимает значения [1..65535].

13

Определить глобальный алгоритм аутентификации с соседями (при необходимости).

esr(config-bgp)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм шифрования:

  • md5 – пароль шифруется по алгоритму md5.

Значение по умолчанию: Шифрование не используется

14

Установить глобальный пароль для аутентификации с соседями (используется совместно с "authentication algorithm").

esr(config-bgp)# authentication key ascii-text  { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

15

Активировать BGP-процесс.

esr(config-bgp)# enable


16

Определить тип конфигурируемой маршрутной информации и перейти в данный режим настройки.

esr(config-bgp)# address-family { ipv4 | ipv6 } unicast

ipv 4 – семейство IPv4;

ipv 6 – семейство IPv6;

17

Включить анонсирование маршрутов процессом BGP полученных альтернативным образом (при необходимости).

esr(config-bgp-af)# redistribute static [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа.

esr(config-bgp-af)# redistribute connected [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа.

esr(config-bgp-af)# redistribute rip [ route-map <NAME> ]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа.

esr(config-bgp-af)# redistribute ospf <ID> <ROUTE-TYPE 1>  [<ROUTE-TYPE 2>] [<ROUTE-TYPE 3>] [<ROUTE-TYPE 4>]  [ route-map <NAME> ]

<ID> – номер процесса, может принимать значение {1..65535};

<ROUTE-TYPE> – тип маршрута:

  • intra - area  – анонсирование маршрутов OSPF-процесса в пределах зоны;
  • inter - area  – анонсирование маршрутов OSPF-процесса между зонами;
  • external 1 – анонсирование внешних маршрутов OSPF-формата 1;
  • external 2 – анонсирование внешних маршрутов OSPF-формата 2;

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа.

esr(config-bgp-af)# redistribute bgp <AS> [ route-map <NAME> ]

<AS> – номер автономной системы, может принимать значения [1..4294967295];

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа.

18

Включить анонсирование подсетей.

esr(config-bgp-af)# network <ADDR/LEN>

<ADDR/LEN> – адрес подсети, указывается в одном из следующих формате:

  • AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32];
  • X:X:X:X::X/EE – IPv6-адрес и маска подсети, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128].

19

Осуществить выход из режима глобального конфигурирования анонсов маршрутной информации процесса BGP

esr(config-bgp-af)# exit


20

Добавить BGP-соседа и осуществить переход в режим настройки параметров BGP-соседа.

esr(config-bgp)# neighbor <ADDR>|<IPV6-ADDR>

<ADDR> – IP-адрес соседа, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

21

Задать описание соседа (не обязательно).

esr(config-bgp-neighbor)# description <DESCRIPTION>

<DESCRIPTION> – описание соседа, задаётся строкой до 255 символов.

22

Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной
(не обязательно).

esr(config-bgp-neighbor)# timers keepalive <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 60 секунд.

23

Установить временной интервал, по истечении которого встречная сторона считается недоступной (не обязательно).

esr(config-bgp- neighbor)# timers holdtime <TIME>

<TIME> – время в секундах, принимает значения [1..65535].

Значение по умолчанию: 180 секунд.

24

Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения (не обязательно).

esr(config-bgp-af)# timers error-wait <TIME1> <TIME2>

<TIME1> – время минимальной задержки в секундах, принимает значения [1..65535];

<TIME2> – время максимальной задержки в секундах, принимает значения [1..65535].

Значение по умолчанию: 60 и 300 секунд

25

Установить номер автономной системы BGP-соседа.

esr(config-bgp-neighbor)# remote-as <AS>

<AS> – номер автономной системы, принимает значения [1..4294967295].

26

Разрешить подключение к соседям, которые находятся не в напрямую подключенных подсетях (не обязательно).

esr(config-bgp-neighbor)# ebgp-multihop <NUM>

<NUM> – Максимальное количество хопов при установке EBGP (используется для TTL).

27

Указать, что BGP-сосед является Route-Reflector клиентом (не обязательно).

esr(config-bgp-neighbor)# route-reflector-client


28

Задать IP/IPv6-адрес маршрутизатора, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых обновлениях маршрутной информации BGP (не обязательно).

esr(config-bgp-neighbor)# update-source { <ADDR> | <IPV6-ADDR> }

<ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес источника, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

29

Включить режим, в котором разрешен приём маршрутов в BGP-атрибуте, AS Path которых содержит номера автономной системы процесса (не обязательно).

esr(config-bgp-neighbor)# allow-local-as <NUMBER>

<NUMBER> – пороговое число вхождений номера автономной системы процесса в атрибуте AS Path, при которых маршрут будет принят, диапазон допустимых значений [1..10].

30

Включить BFD-протокол на конфигурируемом BGP-соседе (не обязательно, используется совместно с параметром update-source).

esr(config-bgp-neighbor)# bfd-enable


31

Определить алгоритм аутентификации с соседом (не обязательно).

esr(config-bgp-neighbor)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм шифрования:

md5 – пароль шифруется по алгоритму md5.

32

Установить пароль для аутентификации с соседом (не обязательно).

esr(config-bgp-neighbor)# authentication key ascii-text  { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

33

Сделать соседство активным.

esr(config-bgp-neighbor)# enable


34

Определить тип конфигурируемой маршрутной информации соседа и перейти в данный режим настройки.

esr(config-bgp-neighbor)# address-family { ipv4 | ipv6 | vpnv4 } unicast

ipv 4 – семейство IPv4;

ipv 6 – семейство IPv6;

vpnv4 – семейство VPNv4;

35

При выборе режима фильтрации на основе префикс-листов добавить фильтрацию подсетей во входящих или исходящих обновлениях (обязательно при конфигурировании eBGP для анонсирования подсетей).

esr(config-bgp-neighbor-af)# prefix-list <PREFIX-LIST-NAME> { in | out }

<PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.

in – фильтрация входящих маршрутов;

out – фильтрация анонсируемых маршрутов.

36

Задать режим, в котором BGP-соседу в обновлении на ряду с другими маршрутами всегда отправляется маршрут по умолчанию. (не обязательно, отсутствует для vpnv4).

esr(config-bgp-neighbor-af)# default-originate


37

Задать режим, в котором все обновления отправляются BGP-соседу с указанием в качестве next-hop IP-адреса исходящего интерфейса локального маршрутизатора
(не обязательно, отсутствует для vpnv4).

esr(config-bgp-neighbor-af)# next-hop-self


38

Определить приоритетность маршрутов, получаемых от соседа (не обязательно).

esr(config-bgp-neighbor-af)# preference <VALUE>

<VALUE> – приоритетность маршрутов соседа, принимает значения в диапазоне [1..255].

Значение по умолчанию: 170.

39

Задать режим, в котором перед отправлением обновления из BGP-атрибута AS Path маршрутов удаляются приватные номера автономных систем (в соответствии с RFC 6996) (не обязательно, отсутствует для vpnv4).

esr(config-bgp-neighbor-af)# remove-private-as  [ { all | nearest | replace } ]

all - удалить все частные номера AS из AS-path;

nearest - Заменить ближайшие частные AS в AS-path на рядом стоящую публичную AS;

replace - Заменить все частные номера AS номером текущего процесса BGP.

Значение по умолчанию: all.

40

Включить обмен маршрутной информацией.

esr(config-bgp-neighbor-af)# enable


Часто бывает, особенно при конфигурировании iBGP, что в одном bgp-процессе необходимо настроить несколько bgp neighbor с одинаковыми параметрами. Во избежание избыточности конфигурации рекомендуется использовать bgp peer-group, в которой возможно описать общие параметры, а в конфигурации bgp neighbor просто указать причастность к bgp peer-group.

Scroll Pagebreak

Пример настройки

Задача:

Настроить BGP-протокол на маршрутизаторе R3 со следующими параметрами:

  • собственные подсети: 80.66.0.0/24, 80.66.16.0/24;
  • анонсирование подсетей, подключенных напрямую;
  • собственная AS 2500;
  • первое соседство – подсеть 219.0.0.0/30, собственный IP-адрес 219.0.0.1, IP-адрес соседа 219.0.0.2, AS2500;
  • второе соседство – подсеть 185.0.0.0/30, собственный IP-адрес 185.0.0.1, IP-адрес соседа 185.0.0.2, AS20
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

Блок кода
esr-R3(config)# interface gigabitethernet 1/0/1
esr-R3(config-if-gi)# ip address 185.0.0.1/30
esr-R3(config-if-gi)# exit
esr-R3(config)# interface gigabitethernet 1/0/2
esr-R3(config-if-gi)# ip address 219.0.0.1/30
esr-R3(config-if-gi)# exit
esr-R3(config)# interface gigabitethernet 1/0/3
esr-R3(config-if-gi)# ip address 80.66.0.1/24
esr-R3(config-if-gi)# exit
esr-R3(config)# interface gigabitethernet 1/0/4
esr-R3(config-if-gi)# ip address 80.66.16.1/24
esr-R3(config-if-gi)# exit

Scroll Pagebreak
Сконфигурируем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN:

Блок кода
esr-R3(config)# object-group service og_bgp
esr-R3(config-object-group-service)# port-range 179
esr-R3(config-object-group-service)# exit
esr-R3(config)# security zone wan
esr-R3(config-zone)# exit
esr-R3(config)# security zone-pair wan self
esr-R3(config-zone-pair)# rule 100
esr-R3(config-zone-pair-rule)# match protocol tcp
esr-R3(config-zone-pair-rule)# match destination-port og_bgp
esr-R3(config-zone-pair-rule)# action permit
esr-R3(config-zone-pair-rule)# enable
esr-R3(config-zone-pair-rule)# exit
esr-R3(config-zone-pair)# exit

И укажем принадлежность интерфейсов к зоне безопасности:

Блок кода
esr-R3(config)# interface gigabitethernet 1/0/1
esr-R3(config-if-gi)# security-zone wan
esr-R3(config-if-gi)# exit
esr-R3(config)# interface gigabitethernet 1/0/2
esr-R3(config-if-gi)# security-zone wan
esr-R3(config-if-gi)# exit

Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS:

Блок кода
esr-R3(config)# route-map bgp-general
esr-R3(config-route-map)# rule 1
esr-R3(config-route-map-rule)# match ip address 80.66.0.0/24
esr-R3(config-route-map-rule)# match ip address 80.66.16.0/24
esr-R3(config-route-map-rule)# action permit
esr-R3(config-route-map-rule)# exit
esr-R3(config-route-map)# exit

Создадим BGP процесс для AS 2500 и войдем в режим конфигурирования параметров процесса:

Блок кода
esr(config)# router bgp 2500

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
esr-R3(config-bgp)# address-family ipv4 unicast
esr-R3(config-bgp-af)# redistribute connected
esr-R3(config-bgp-af)# exit

Создадим соседство с роутером R2 по iBGP:

Блок кода
esr-R3(config-bgp)# neighbor 219.0.0.2
esr-R3(config-bgp-neighbor)# remote-as 2500
esr-R3(config-bgp-neighbor)# enable

Scroll Pagebreak
И включим обмен IPv4-маршрутами:

Блок кода
esr-R3(config-bgp-neighbor)# address-family ipv4 unicast
esr-R3(config-bgp-neighbor-af)# enable
esr-R3(config-bgp-neighbor-af)# exit
esr-R3(config-bgp-neighbor)# exit

Создадим соседство с роутером R1 по eBGP:

Блок кода
esr-R3(config-bgp)# neighbor 185.0.0.2
esr-R3(config-bgp-neighbor)# remote-as 20
esr-R3(config-bgp-neighbor)# enable

И включим обмен IPv4-маршрутами, разрешив необходимые маршруты для анонса при помощи заранее подготовленного route-map:

Блок кода
esr-R3(config-bgp-neighbor)# address-family ipv4 unicast
esr-R3(config-bgp-neighbor-af)# route-map bgp-general out
esr-R3(config-bgp-neighbor-af)# enable
esr-R3(config-bgp-neighbor-af)# exit
esr-R3(config-bgp-neighbor)# exit

Включим работу протокола:

Блок кода
esr-R3(config-bgp)# enable
esr-R3(config-bgp)# exit

Информацию о BGP-пирах можно посмотреть командой:

Блок кода
esr# show bgp neighbors 

Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:

Блок кода
esr# show bgp ipv4 unicast 

Политика выбора лучшего маршрута в протоколе BGP

В процессе работы BGP, обычно, вычисляет один лучший маршрут до каждой полученной подсети. Если нет более приоритетного маршрута, полученного при помощи другого протокола маршрутизации до этой подсети, то маршрут устанавливается в таблицу маршрутизации.

Примечание

Если включен механизм ECMP ( router bgp maximum-paths .. ), то в таблицу маршрутизации могут попасть до 16 активных маршрутов до одной подсети.

При анонсировании BGP пирам будут использоваться атрибуты лучшего маршрута.

Ниже приведен алгоритм выбора лучшего маршрута в протоколе BGP:

Информация

Алгоритм применяется для следующих address family: unicast IPv4, unicast IPv6, VPNv4 unicast, VPLS.


Информация

Для VPNv4 маршрутов выбор лучшего маршрута происходит следующим образом:

Сначала выбор лучшего маршрута происходит в рамках своего RD. Далее, в рамках VRF, куда он попадет в соответствии своего RT.


Прежде всего, проверяется доступность next-hop'a у маршрута. Next-hop считается доступным, если до него можно определить connected-маршрут.

  1. Маршрут, помеченный как "stale", является менее приоритетным, чем маршрут без таковой метки. Маршрут помечается как "stale" в процессе работы технологии LLGR (Подробнее);
  2. Сравнивается значение атрибута Weight – лучшим становится маршрут, имеющий большее значение;
  3. Сравнивается значение атрибута Local preferences – лучшим становится маршрут, имеющий большее значение;
  4. Сравнивается длина AS-path – маршрут с меньшим количеством "хопов" становится лучшим;
  5. Сравнивается значение атрибута Origin – Incomplete является самым приоритетным значением. EGP приоритетнее, чем IGP; 
  6. Сравнивается значение атрибута multiple exit discriminator (MED) – наименьшее значение атрибута имеет больший приоритет;
  7. Маршрут, полученный от EBGP-пира, имеет больший приоритет по сравнению с маршрутом, полученным от IBGP пира;
  8. Сравнивается параметр Router-Id – маршрут, полученный от BGP-соседа с наименьшим Router-Id, является приоритетным;
  9. Сравнивается количество адресов Cluster list – маршрут, имеющий наименьшее количество адресов становится лучшим;
  10. Сравниваются адрес BGP-пиров – маршрут, полученный от BGP-пира с наименьшим из адресов является приоритетным.

Настройка BFD

BFD (Bidirectional Forwarding Detection) — это протокол, работающий поверх других протоколов, позволяющий сократить время обнаружения проблемы до 50 мс. BFD является двусторонним протоколом, т.е. требует настройки обоих маршрутизаторов (оба маршрутизатора генерируют BFD-пакеты и отвечают друг другу).

Алгоритм настройки

Шаг

Описание

Команда

Ключи

1

Активировать BFD для протокола OSPF на интерфейсе

esr(config-if-gi)# ip ospf bfd-enable


2

Активировать BFD для протокола BGP neighbor на интерфейсе

esr(config-bgp-neighbor)# bfd-enable


3

Задать интервал, по истечении которого происходит отправка BFD-сообщения соседу. Глобально
(не обязательно).

esr(config)# ip bfd idle-tx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200

По умолчанию 1 секунда

4

Включить логирование изменений состояния BFD-протокола (не обязательно)

esr(config)# ip bfd log-adjacency-changes


5

Задать минимальный интервал, по истечении которого сосед должен сгенерировать BFD-сообщение.
Глобально
(не обязательно).

esr(config)# ip bfd min-rx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200

По умолчанию:

  • 300 миллисекунд на ESR-10/12V(F)/14VF/20/21/100/200
  • 200 миллисекунд на ESR-1000/1200/1500
    /1511/1700/3100

6

Задать минимальный интервал, по истечении которого происходит отправка BFD-сообщения соседу.
Глобально
(не обязательно).

esr(config)# ip bfd min-tx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200

По умолчанию:

  • 300 миллисекунд на ESR-10/12V(F)/14VF/20/21/100/200
  • 200 миллисекунд на ESR-1000/1200/1500
    /1511/1700/3100

7

Задать число пропущенных пакетов, после достижения которого BFD-сосед считается недоступным. Глобально.

esr(config)# ip bfd multiplier <COUNT>

<COUNT> – число пропущенных пакетов, после достижения которого сосед считается недоступным, принимает значение в диапазоне [1..100].

По умолчанию: 5

8

Запустить работу механизма BFD с определенным IP-адресом.

esr(config)# ip bfd neighbor <ADDR> [ { interface <IF> | tunnel <TUN> } ]
[local-address <ADDR> [multihop]] [vrf <VRF>]

<ADDR> – IP-адрес шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IF> – интерфейс или группы интерфейсов;

<TUN> – тип и номер туннеля;

<VRF> – имя экземпляра VRF, задается строкой до 31 символа;

multihop – ключ для установки TTL=255, для работы механизма BFD через маршрутизируемую сеть.

9

Перевести BFD-сессию в пассивный режим, то есть BFD-сообщения не будут отправляться до тех пор, пока не будут получены сообщения от BFD-соседа. Глобально

(не обязательно).

esr(config)# ip bfd passive


10

Задать интервал, по истечении которого происходит отправка BFD-сообщения соседу.
На интерфейсе
(не обязательно).

esr(config-if-gi)# ip bfd idle-tx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200.

По умолчанию: 1 секунда

11

Задать минимальный интервал, по истечении которого сосед должен сгенерировать BFD-сообщение.
На интерфейсе
(не обязательно).

esr(config-if-gi)# ip bfd min-rx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200

По умолчанию:

  • 300 миллисекунд на ESR-10/12V(F)/14VF/20/21/100/200
  • 200 миллисекунд на ESR-1000/1200/1500
    /1511/1700/3100

12

Задать минимальный интервал, по истечении которого происходит отправка BFD-сообщения соседу.
На интерфейсе
(не обязательно).

esr(config-if-gi)# ip bfd min-tx-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1511
/1700/3100 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200

По умолчанию:

  • 300 миллисекунд на ESR-10/12V(F)/14VF/20/21/100/200
  • 200 миллисекунд на ESR-1000/1200/1500
    /1511/1700/3100

13

Задать число пропущенных пакетов, после достижения которого BFD-сосед считается недоступным.
На интерфейсе

(не обязательно).

esr(config-if-gi)# ip bfd multiplier <COUNT>

<COUNT> – число пропущенных пакетов, после достижения которого сосед считается недоступным, принимает значение в диапазоне [1..100].

По умолчанию: 5

14

Перевести BFD-сессию в пассивный режим, то есть BFD-сообщения не будут отправляться до тех пор, пока не будут получены сообщения от BFD-соседа. На интерфейсе
(не обязательно).

esr(config-if-gi)# ip bfd passive


Пример настройки BFD c BGP

Задача:

Необходимо настроить eBGP между ESR R1 и R2 и включить BFD.

Решение:
  1. Конфигурирование R1
    Предварительно необходимо настроить интерфейс Gi1/0/1:

    Блок кода
    esr(config)# interface gigabitethernet 1/0/1
    esr(config-if-gi)# ip firewall disable
    esr(config-if-gi)# ip address 10.0.0.1/24

    Настроим eBGP с BFD:

    Блок кода
    esr(config)# router bgp 100
    esr(config-bgp)# neighbor 10.0.0.2
    esr(config-bgp-neighbor)# remote-as 200
    esr(config-bgp-neighbor)# update-source 10.0.0.1 
    esr(config-bgp-neighbor)# bfd-enable 
    esr(config-bgp-neighbor)# enable 
    esr(config-bgp-neighbor)# exit
    esr(config-bgp)# enable 
    esr(config-bgp)# exit


  2. Конфигурирование R2

    Предварительно необходимо настроить интерфейс Gi1/0/1:

    Блок кода
    esr(config)# interface gigabitethernet 1/0/1
    esr(config-if-gi)# ip firewall disable
    esr(config-if-gi)# ip address 10.0.0.2/24

    Scroll Pagebreak
    Настроим eBGP с BFD:

    Блок кода
    esr(config)# router bgp 200
    esr(config-bgp)# neighbor 10.0.0.1
    esr(config-bgp-neighbor)# remote-as 100
    esr(config-bgp-neighbor)# update-source 10.0.0.2 
    esr(config-bgp-neighbor)# bfd-enable 
    esr(config-bgp-neighbor)# enable 
    esr(config-bgp-neighbor)# exit
    esr(config-bgp)# enable 
    esr(config-bgp)# exit


Настройка политики маршрутизации PBR

Алгоритм настройки Route-map для BGP

Route-map могут служить фильтрами, позволяющими обрабатывать маршрутную информацию при приеме этой информации от соседа либо при ее передаче соседу. Обработка может включать в себя фильтрацию на основании различных признаков маршрута, а также установку атрибутов (MED, AS-PATH, community, LocalPreference и другое) на соответствующие маршруты.

Также Route-map может назначать маршруты на основе списков доступа (ACL).

ШагОписаниеКомандаКлючи
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> – назначаемое действие:

  • permit – прием или анонсирование маршрутной информации разрешено;
  • deny – запрещено.
4Задать значение атрибута BGPAS-Path в маршруте, для которого должно срабатывать правило
(не обязательно).

esr(config-route-map-rule)# match as-path  [begin | end | contain] <AS-PATH>

<AS-PATH> – список номеров автономных систем, задается в виде AS,AS,AS, принимает значения [1..4294967295]. Опциональные параметры:

  • begin – значение атрибута начинается с указанных номеров AS;
  • end – значение атрибута заканчивается указанными номерами AS;
  • contain – значение атрибута содержит указанный список номеров AS.

5

Задать значение атрибута BGPCommunity, для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match community  <COMMUNITY-LIST>

<COMMUNITY-LIST> – список community, задается в виде AS:N,AS:N, принимает значения [1..4294967295]. Можно указать до 64 community.

6

Задать значение атрибута BGPExtendedCommunity, для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match extcommunity  <EXTCOMMUNITY-LIST>

<EXTCOMMUNITY-LIST> – список extcommunity, задается в виде KIND:AS:N, KIND:AS:N, где

KIND – тип extcommunity:

  • rt (Route Target);
  • ro (Route Origin);

N – номер extcommunity, принимает значения [1..65535].

7

Задать профиль IP-адресов, содержащий значения подсетей назначения в маршруте (не обязательно).

esr(config-route-map-rule)# match ip address  object-group <OBJ-GROUP-NETWORK-NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задаётся строкой до 31 символа.

esr(config-route-map-rule)# match ipv6 address  object-group <OBJ-GROUP-NETWORK-NAME>

8

Задать профиль IP-адресов, содержащий значения атрибута BGPNext-Hop в маршруте для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match ip next-hop  object-group <OBJ-GROUP-NETWORK-NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задается строкой до 31 символа.

esr(config-route-map-rule)# match ipv6 next-hop  object-group <OBJ-GROUP-NETWORK-NAME>

9

Задать профиль, содержащий IP-адреса маршрутизатора, анонсировавшего маршрут, для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match ip route-source  object-group <OBJ-GROUP-NETWORK-NAME>

<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задается строкой до 31 символа.

esr(config-route-map-rule)# match ipv6 route-source  object-group <OBJ-GROUP-NETWORK-NAME>

10

Задать ACL группу, для которой должно срабатывать правило.

esr(config-route-map-rule)# match access-group <NAME>

<NAME> – имя списка контроля доступа, задается строкой до 31 символа.

11

Задать значение атрибута BGP MED в маршруте для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match metric bgp <METRIC>

<METRIC> – значение атрибута BGPMED, принимает значения [0..4294967295].

12

Задать значение атрибута OSPF Metric в маршруте, для которого должно срабатывать правило.

esr(config-route-map-rule)# match metric ospf <TYPE> <METRIC>

<TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2;

<METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535].

13

Задать значение атрибута RIP Metric в маршруте, для которого должно срабатывать правило.

esr(config-route-map-rule)# match metric rip <METRIC>

<METRIC> – значение атрибута RIP Metric, принимает значения [0..16].

14

Задать значение атрибута OSPF Tag в маршруте, для которого должно срабатывать правило.

esr(config-route-map-rule)# match tag ospf <TAG>

<TAG> – значение атрибута OSPF Tag, принимает значения [0..4294967295].

15

Задать значение атрибута RIP Tag в маршруте, для которого должно срабатывать правило.

esr(config-route-map-rule)# match tag rip <TAG>

<RIP> – значение атрибута RIP Tag, принимает значения [0..65535].

16

Задать значение атрибута BGP AS-Path, которое будет добавляться в начало списка AS-Path (не обязательно).

esr(config-route-map-rule)# action set as-path
prepend <AS-PATH> {track <TRACK-ID>}

<AS-PATH> – список номеров автономных систем, который будет добавлен к текущему значению в маршруте. Задаётся в виде AS,AS,AS, принимает значения [1..4294967295].

<TCACK-ID> – идентификатор vrrp-tracking, при котором будет исполняться указанное действие. Изменяется в диапазоне [1..60].

17

Задать значение атрибута BGP Community, которое будет установлено в маршруте (не обязательно)

esr(config-route-map-rule)# action set community  {COMMUNITY-LIST> | no-advertise | no-export }

<COMMUNITY-LIST> – список community, задается в виде AS:N,AS:N, где каждая часть принимает значения [1..65535];

  • no - advertise – маршруты, передаваемые с данным community, не должны анонсироваться другим BGP-соседям;
  • no - export – маршруты, передаваемые с таким community, не должны анонсироваться eBGP-соседям, но анонсируются внешним соседям в конфедерации.

18

Задать значение атрибута BGP ExtCommunity, которое будет установлено в маршруте (не обязательно).

esr(config-route-map-rule)# action set extcommunity  <EXTCOMMUNITY-LIST>

<EXTCOMMUNITY-LIST> – список extcommunity, задается в виде KIND:AS:N, KIND:AS:N, где

KIND – тип extcommunity:

  • rt (Route Target);
  • ro (Route Origin);

N – номер extcommunity, принимает значения [1..65535].

19

Задать атрибут BGP Next-Hop, который будет установлен в маршруте при анонсировании (не обязательно).

esr(config-route-map-rule)# action set ip bgp-next-hop <ADDR>

<ADDR> – IP-адрес шлюза, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-route-map-rule)# action set ipv6 bgp-next-hop <IPV6-ADDR>

<IPV6-ADDR> – IPv6-адрес шлюза, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

20

Задать значение Next-Hop, которое будет установлено в маршруте, полученном по BGP (не обязательно).

esr(config-route-map-rule)# action set ip next-hop  {NEXTHOP> | blackhole | unreachable | prohibit}








<NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

  • blackhole – пакеты до данной подсети будут удаляться без отправки уведомлений отправителю;
  • unreachable – пакеты до данной подсети будут удаляться, отправитель получит в ответ ICMP Destination unreachable (Host unreachable, code 1);
  • prohibit – пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMPDestinationunreachable (Communication administratively prohibited code 13).

esr(config-route-map-rule)# action set ipv6 next-hop <IPV6-NEXTHOP>

<IPV6-NEXTHOP> – IPv6-адрес шлюза, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

21

Задать значение атрибута BGP Local Preference, который будет установлен в маршруте (не обязательно).

esr(config-route-map-rule)# action set local-preference <PREFERENCE>

<PREFERENCE> – значение атрибута BGP Local Preference, принимает значения [0..255].

22

Задать значение атрибута BGP Origin, которое будет установлено в маршруте (не обязательно).

esr(config-route-map-rule)# action set origin <ORIGIN>

<ORIGIN> – значение атрибута BGP Origin:

  • egp – маршрут выучен по протоколу EGP;
  • igp – маршрут получен внутри исходной AS;
  • incomplete – маршрут выучен другим образом.

23

Задать значение BGP MED, которое будет установлено в маршруте
(не обязательно).

esr(config-route-map-rule)# action set metric bgp <METRIC>

<METRIC> – значение атрибута BGP MED, принимает значения [0..4294967295].

24

Добавить фильтрацию и модификацию маршрутов во входящих или исходящих направлениях.

esr(config-bgp-neighbor)# route-map <NAME><DIRECTION>

<NAME> – имя сконфигурированной маршрутной карты;

<DIRECTION> – направление:

  • in – фильтрация и модификация получаемых маршрутов;
  • out – фильтрация и модификация анонсируемых маршрутов.

esr(config-ipv6-bgp-neighbor)# route-map <NAME><DIRECTION>

Пример настройки 1. Route-map для BGP

Задача:

Назначить сommunity для маршрутной информации, приходящей из AS 20:

Предварительно нужно выполнить следующие действия:

  • Настроить BGP c AS 2500 на маршрутизаторе ESR;
  • Установить соседство с AS20.
Решение:

Создаем политику:

Блок кода
esr# configure
esr(config)# route-map from-as20

Создаем правило 1:

Блок кода
esr(config-route-map)# rule 1

Scroll Pagebreak
Если AS PATH содержит AS 20, то назначаем ему сommunity 20:2020 и выходим:

Блок кода
esr(config-route-map-rule)# match as-path contain 20
esr(config-route-map-rule)# action set community 20:2020
esr(config-route-map-rule)# exit
esr(config-route-map)# exit

В BGP процессе AS 2500 заходим в настройки параметров соседа:

Блок кода
esr(config)# router bgp 2500
esr(config-bgp)# neighbor 185.0.0.2
esr(config-bgp-neighbor)# address-family ipv4 unicast 

Привязываем политику к принимаемой маршрутной информации:

Блок кода
esr(config-bgp-neighbor-af)# route-map from-as20 in

Пример настройки 2. Route-map для BGP

Задача:

Для всей передаваемой маршрутной информации (с community 2500:25) назначить MED, равный 240, и указать источник маршрутной информации EGP:

Предварительно:

Настроить BGP c AS 2500 на ESR

Решение:

Создаем политику:

Блок кода
esr(config)# route-map to-as20

Создаем правило:

Блок кода
esr(config-route-map)# rule 1

Если community содержит 2500:25, то назначаем ему MED 240 и Origin EGP:

Блок кода
esr(config-route-map-rule)# match community 2500:25
esr(config-route-map-rule)# action set metric bgp 240
esr(config-route-map-rule)# action set origin egp
esr(config-route-map-rule)# exit
esr(config-route-map)# exit

Scroll Pagebreak
В BGP процессе AS 2500 заходим в настройки параметров соседа:

Блок кода
esr(config)# router bgp 2500
esr(config-bgp)# neighbor 185.0.0.2
esr(config-bgp-neighbor-af)# address-family ipv4 unicast 

Привязываем политику к анонсируемой маршрутной информации:

Блок кода
esr(config-bgp-neighbor-af)# route-map to-as20 out
esr(config-bgp-neighbor-af)# exit
esr(config-bgp-neighbor)# exit
esr(config-bgp)# exit

Якорь
Алгоритм настройки Route-map на основе списков доступа (Policy-based routing)
Алгоритм настройки Route-map на основе списков доступа (Policy-based routing)
Алгоритм настройки Route-map на основе списков доступа (Policy-based routing)

Шаг

Описание

Команда

Ключи

1

Создать маршрутную карту для фильтрации и модификации IP-маршрутов.

esr(config)# route-map <NAME>

<NAME> – имя маршрутной карты, задаётся строкой до 31 символа.

2

Создать правило маршрутной карты.

esr(c onfig-route-map)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1 .. 10000].

3

Указать действие, которое должно быть применено для маршрутной информации.

esr(config-route-map-rule)# action <ACT>

<ACT> – назначаемое действие:

  • permit – прием или анонсирование маршрутной информации разрешено;
  • deny – запрещено.

4

Задать ACL, для которого должно срабатывать правило (не обязательно).

esr(config-route-map-rule)# match ip access-group <NAME>

<NAME> – имя списка контроля доступа, задаётся строкой до 31 символа.

5

Задать Next-Hop для пакетов, которые попадают под критерии в указанном списке доступа (ACL) (не обязательно).

esr(config-route-map-rule)# action set ip next-hop  verify-availability <NEXTHOP><METRIC>

<NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<METRIC> – метрика маршрута, принимает значения [0..255].

6

Назначить политику маршрутизации на основе списков доступа (ACL).

esr(config-if-gi)# ip policy route-map <NAME>

<NAME> – имя сконфигурированной политики маршрутизации, строка до 31 символа.

7Разрешить фильтрацию и модификацию локального трафика на основе политики маршрутизации.esr(config)# ip local policy [ vrf <VRF> ] route-map <NAME><NAME> – имя сконфигурированной политики маршрутизации, строка до 31 символа.

Пример настройки Route-map на основе списков доступа (Policy-based routing)

Задача:

Распределить трафик между интернет-провайдерами на основе подсетей пользователей.

Предварительно нужно назначить IP-адреса на интерфейсы.

Требуется направлять трафик с адресов 10.0.20.0/24 через ISP1 (184.45.0.150), а трафик с адресов 10.0.30.0/24 – через ISP2 (80.16.0.23). Требуется контролировать доступность адресов провайдеров (работоспособность подключений к ISP), и при неработоспособности одного из подключений переводить с него на рабочее подключение весь трафик.

Scroll Pagebreak
Решение:

Создаем ACL:

Блок кода
esr# configure
esr(config)# ip access-list extended sub20
esr(config-acl)# rule 1
esr(config-acl-rule)# match source-address 10.0.20.0 255.255.255.0
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# action permit
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# exit
esr(config)# ip access-list extended sub30
esr(config-acl)# rule 1
esr(config-acl-rule)# match source-address 10.0.30.0 255.255.255.0
esr(config-acl-rule)# match destination-address any
esr(config-acl-rule)# match protocol any
esr(config-acl-rule)# action permit
esr(config-acl-rule)# enable
esr(config-acl-rule)# exit
esr(config-acl)# exit

Создаем политику:

Блок кода
esr(config)# route-map PBR

Создаем правило 1:

Блок кода
esr(config-route-map)# rule 1

Указываем список доступа (ACL) в качестве фильтра:

Блок кода
esr(config-route-map-rule)# match ip access-group sub20

Указываем next-hop для sub20:

Блок кода
esr(config-route-map-rule)# action set ip next-hop verify-availability 184.45.0.150 10
esr(config-route-map-rule)# action set ip next-hop verify-availability 80.16.0.23 30
esr(config-route-map-rule)# exit
esr(config-route-map)# exit

Правилом 1 будет обеспечена маршрутизация трафика из сети 10.0.20.0/24 на адрес 184.45.0.150, а при его недоступности – на адрес 80.16.0.23. Приоритетность шлюзов задается значениями метрик – 10 и 30.

Создаем правило 2:

Блок кода
esr(config-route-map)# rule 2

Указываем список доступа (ACL) в качестве фильтра:

Блок кода
esr(config-route-map-rule)# match ip access-group sub30

Указываем nexthop для sub30 и выходим:

Блок кода
esr(config-route-map-rule)# action set ip next-hop verify-availability 80.16.0.23 10
esr(config-route-map-rule)# action set ip next-hop verify-availability 184.45.0.150 30
esr(config-route-map-rule)# exit
esr(config-route-map)# exit

Правилом 2 будет обеспечена маршрутизация трафика из сети 10.0.30.0/24 на адрес 80.16.0.23, а при его недоступности – на адрес 184.45.0.150. Приоритетность задается значениями метрик.

Заходим на интерфейс TE 1/0/1:

Блок кода
esr(config)# interface tengigabitethernet 1/0/1

Привязываем политику на соответствующий интерфейс:

Блок кода
esr(config-if-te)# ip policy route-map PBR

Настройка VRF Lite

VRF (Virtual Routing and Forwarding) — технология, которая позволяет изолировать маршрутную информацию, принадлежащую различным классам (например, маршруты одного клиента).

Алгоритм настройки

Шаг

Описание

Команда

Ключи

1

Создать экземпляр VRF и перейти в режим настройки параметров экземпляра VRF.

esr(config)# ip vrf <VRF>

<VRF> – имя экземпляра VRF, задается строкой до 31 символа.

2

Назначить описание конфигурируемого экземпляра VRF.

esr(config-vrf)# description <DESCRIPTION>

<DESCRIPTION> – описание экземпляра VRF, задаётся строкой до 255 символов.

3

Настроить емкость таблиц маршрутизации в конфигурируемом VRF для IPv4/IPv6 протоколов маршрутизации (не обязательно).

esr(config-vrf)# ip protocols <PROTOCOL> max-routes <VALUE>

<PROTOCOL> – вид протокола, принимает значения: ospf, bgp;

<VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне:

  • OSPF ESR-1000/1200/1500
    /1511/1700/3100 – [1..500000], ESR-20/21/100/200 – [1..300000], ESR-10/12V(F)/14VF – [1..30000]
  • BGP ESR-1000/1200/1500
    /1511/1700/3100 – [1..5000000], ESR-20/21/100/200 – [1..2500000], ESR-10/12V(F)/14VF – [1..1000000].

Значение по умолчанию: 0

esr(config-vrf)#ipv6 protocols <PROTOCOL> max-routes <VALUE>

4

Включить и настроить протоколы динамической маршрутизации трафика (Static/OSPF/BGP/IS-IS) в экземпляре VRF (не обязательно). См. соответствующий раздел Конфигурирование статических маршрутов, Настройка OSPF и Настройка BGP.



5

В режиме конфигурирования физического/логического интерфейса, туннеля, правила DNAT/SNAT, DAS-сервера или SNMPv3 пользователя указать имя экземпляра VRF для которого будет использоваться (при необходимости).

esr(config-snat-ruleset)# ip vrf forwarding <VRF>

<VRF> – имя экземпляра VRF, задается строкой до 31 символа.

6

Настроить LT-туннель для передачи трафика в глобальный режим или другие VRF (при необходимости).

 

см. раздел Настройка LT-туннелей

Пример настройки

Задача:

К маршрутизатору серии ESR подключены 2 сети, которые необходимо изолировать от остальных сетей.

Решение:

Создадим VRF:

Блок кода
esr(config)# ip vrf bit
esr(config-vrf)# exit

Создадим зону безопасности:

Блок кода
esr(config)# security zone vrf-sec
esr(config-zone)# ip vrf forwarding bit
esr(config-zone)# exit


Создадим правило для пары зон и разрешим любой TCP/UDP-трафик:

Блок кода
esr(config)# security zone-pair vrf-sec vrf-sec
esr(config-zone-pair)# rule 1
esr(config-zone-rule)# match source-address any
esr(config-zone-rule)# match destination-address any
esr(config-zone-rule)# match protocol udp 
esr(config-zone-rule)# match source-port any
esr(config-zone-rule)# match destination-port any
esr(config-zone-rule)# action permit 
esr(config-zone-rule)# enable 
esr(config-zone-rule)# exit
esr(config-zone-pair)# rule 2
esr(config-zone-rule)# match source-address any
esr(config-zone-rule)# match destination-address any
esr(config-zone-rule)# match protocol tcp 
esr(config-zone-rule)# match source-port any
esr(config-zone-rule)# match destination-port any
esr(config-zone-rule)# action permit 
esr(config-zone-rule)# enable 
esr(config-zone-rule)# exit

Scroll Pagebreak

Создадим привязку интерфейсов, назначим IP-адреса, укажем принадлежность к зоне:

Блок кода
esr(config)# interface gigabitethernet 1/0/7
esr(config-if-gi)# ip vrf forwarding bit
esr(config-if-gi)# ip address 10.20.0.1/24
esr(config-if-gi)# security-zone vrf-sec
esr(config-if-gi)# exit
esr(config)# interface gigabitethernet 1/0/14.10
esr(config-subif)# ip vrf forwarding bit
esr(config-subif)# ip address 10.30.0.1/16
esr(config-subif)# security-zone vrf-sec
esr(config-subif)# exit
esr(config)# exit

Информацию об интерфейсах, привязанных к VRF, можно посмотреть командой:

Блок кода
esr# show ip vrf 

Таблицу маршрутов VRF можно просмотреть с помощью команды:

Блок кода
esr# show ip route vrf bit

Якорь
Настройка MultiWAN
Настройка MultiWAN
Настройка MultiWAN

Технология MultiWAN позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров, а также решает проблему балансировки трафика между резервными линками.

Алгоритм настройки

ШагОписаниеКомандаКлючи
1Сконфигурировать интерфейсы, по которым будет работать MultiWAN: установить IP-адреса и указать security-zone.

2Прописать статические маршруты через WAN (если необходимо).

esr(config)# ip route <SUBNET> wan load-balance rule <ID> [<METRIC>]

<ID> – идентификатор создаваемого правила из п.2.

[METRIC] – метрика маршрута, принимает значения [0..255].

3Создать правило WAN и перейти в режим настройки параметров правила.

esr(config)# wan load-balance rule <ID>

<ID> – идентификатор создаваемого правила, принимает значения [1..50].
4Задать интерфейсы или туннели, которые являются шлюзами в маршруте, создаваемом службой MultiWAN.

esr(config-wan-rule)# outbound
{ interface <IF> | tunnel <TUN> } [WEIGHT]

<IF>– имя интерфейса;

<TUN> – имя туннеля;

[WEIGHT] – вес туннеля или интерфейса, определяется в диапазоне [1..255]. Если установить значение 2, то по данному интерфейсу будет передаваться в 2 раза больше трафика, чем по интерфейсу со значением по умолчанию. В режиме резервирования активным будет маршрут с наибольшим весом. Значение по умолчанию 1.

5Описать правила (не обязательно).

esr(config-wan-rule)# description <DESCRIPTION>

<DESCRIPTION> – описание правила wan, задаётся строкой до 255 символов.
6Данной командой осуществляется переключение из режима балансировки в режим резервирования (если необходимо).

esr(config-wan-rule)# failover


7Включить wan-правило.

esr(config-wan-rule)# enable


8Создать список IP-адресов для проверки целостности соединения и осуществить переход в режим настройки параметров списка.

esr(config)# wan load-balance target-list <NAME>

<NAME> – название списка, задается строкой до 31 символа.
9Задать цель проверки и перейти в режим настройки параметров цели.

esr(config-target-list)# target <ID>

<ID> – идентификатор цели, задаётся в пределах [1..50]. Если при удалении используется значение параметра «all», то будут удалены все цели для конфигурируемого списка целей.
10Описать target (не обязательно).

esr(config-wan-target)# description <DESCRIPTION>

<DESCRIPTION> – описание target, задаётся строкой до 255 символов.
11Указать время ожидания ответа на запрос по протоколу ICMP (не обязательно).

esr(config-wan-target)# resp-time <TIME>

<TIME> – время ожидания, определяется в секундах [1..30].
12

Указать IP-адрес проверки.


esr(config-wan-target)# ip address <ADDR>

<ADDR> – IP-адрес назначения, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-wan-target)# ipv6 address <IPV6-ADDR>

<IPV6-ADDR> – IPv6-адрес назначения, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].
13Включить проверку цели.

esr(config-wan-target)# enable


Команды для пунктов 14-17 необходимо применить на интерфейсах/туннелях в MultiWAN.

14Включить WAN режим на интерфейсе для IPv4/IPv6 стека.

esr(config-if-gi)# wan load-balance enable


esr(config-if-gi)# ipv6 wan load-balance enable

15

Задать количество неудачных попыток проверки соединения, после которых, при отсутствии ответа от встречной стороны, соединение будет считается неактивным (не обязательно).

esr(config-if-gi)# wan load-balance failure-count <VALUE>

<VALUE> – количество попыток, определяется в диапазоне [1..10].

Значение по умолчанию 1.


esr(config-if-gi)# ipv6 wan load-balance failure-count <VALUE>

16

Задать количество успешных попыток проверки соединения, после которых, в случае успеха, соединение считается вновь активным (не обязательно).

esr(config-if-gi)# wan load-balance success-count <VALUE>

<VALUE> – количество попыток, определяется в диапазоне [1..10].

Значение по умолчанию 1.

esr(config-if-gi)# ipv6 wan load-balance success-count <VALUE>

17Задать IP-адрес соседа, который будет указан в качестве одного из шлюзов в статическом маршруте, создаваемом службой MultiWAN.

esr(config-if-gi)# wan load-balance nexthop  { <IP> | dhcp enable | tunnel enable }

<IP> – IP-адрес назначения (шлюз), задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

dhcp enable – если на интерфейсе IP-адрес получен через DHCP-клиента, используется шлюз с DHCP-сервера.

tunnel enable – использовать в качестве nexthop – p-t-p адрес назначения. Применимо для подключаемых интерфейсов работающих через ppp.

esr(config-if-gi)# ipv6 wan load-balance nexthop { <IPV6> }

<IPV6> – IPv6-адрес назначения (шлюз), задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].
18Данной командой будут проверяться IP-адреса из списка проверки целостности. В случае недоступности всех (по умолчанию)/хотя бы одной (с использованием ключа chack-all) из проверяемых узлов, шлюз будет считаться недоступным.

esr(config-if-gi)# wan load-balance target-list { check-all | <NAME> }

<NAME> – проверку производить на основании конкретного target листа (заданного в п.7).

check-all – проверку производить на основании всех target листа.

esr(config-if-gi)# ipv6 wan load-balance target-list { check-all | <NAME> }

19Прописать статические маршруты через WAN.

esr(config)# ip route <SUBNET> wan load-balance rule <ID> [<METRIC>]

<ID> – идентификатор создаваемого правила из п.2.

[METRIC] – метрика маршрута, принимает значения [0..255].

esr(config)# ipv6 route <SUBNET> wan load-balance rule <ID [<METRIC>]

Scroll Pagebreak

Пример настройки

Задача:

Настроить маршрут к серверу (108.16.0.1/28) с возможностью балансировки нагрузки.

Решение:

Предварительно нужно выполнить следующие действия:

  • настроить зоны для интерфейсов te1/0/1 и te1/0/2;
  • указать IP-адреса для интерфейсов te1/0/1 и te1/0/2.

Основной этап конфигурирования:

Настроим маршрутизацию:

Блок кода
esr(config)# ip route 108.16.0.0/28 wan load-balance rule 1

Создадим правило WAN:

Блок кода
еsr(config)# wan load-balance rule 1

Укажем участвующие интерфейсы:

Блок кода
еsr(config-wan-rule)# outbound interface tengigabitethernet 1/0/2
еsr(config-wan-rule)# outbound interface tengigabitethernet 1/0/1

Включим созданное правило балансировки и выйдем из режима конфигурирования правила:

Блок кода
еsr(config-wan-rule)# enable
еsr(config-wan-rule)# exit

Создадим список для проверки целостности соединения:

Блок кода
еsr(config)# wan load-balance target-list google

Создадим цель проверки целостности:

Блок кода
esr(config-target-list)# target 1 

Зададим адрес для проверки, включим проверку указанного адреса и выйдем:

Блок кода
еsr(config-wan-target)# ip address 8.8.8.8
еsr(config-wan-target)# enable
еsr(config-wan-target)# exit

Настроим интерфейсы. В режиме конфигурирования интерфейса te1/0/1 указываем nexthop:

Блок кода
еsr(config)# interface tengigabitethernet 1/0/1
еsr(config-if)# wan load-balance nexthop 203.0.0.1

В режиме конфигурирования интерфейса te1/0/1 указываем список целей для проверки соединения:

Блок кода
еsr(config-if)# wan load-balance target-list google

В режиме конфигурирования интерфейса te1/0/1 включаем WAN-режим и выходим:

Блок кода
еsr(config-if)# wan load-balance enable
еsr(config-if)# exit

В режиме конфигурирования интерфейса te1/0/2 указываем nexthop:

Блок кода
еsr(config)# interface tengigabitethernet 1/0/2
еsr(config-if)# wan load-balance nexthop 65.6.0.1

В режиме конфигурирования интерфейса te1/0/2 указываем список целей для проверки соединения:

Блок кода
еsr(config-if)# wan load-balance target-list google

В режиме конфигурирования интерфейса te1/0/2 включаем WAN-режим и выходим:

Блок кода
еsr(config-if)# wan load-balance enable
еsr(config-if)# exit

Для переключения в режим резервирования настроим следующее:

Заходим в режим настройки правила WAN:

Блок кода
еsr(config)# wan load-balance rule 1

Функция MultiWAN также может работать в режиме резервирования, в котором трафик будет направляться в активный интерфейс с наибольшим весом. Включить данный режим можно следующей командой:

Блок кода
еsr(config-wan-rule)# failover

Настройка IS-IS

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> – алгоритм аутентификации:

  • cleartext – пароль, передается открытым текстом;
  • md5 – пароль ируется по алгоритму md5.
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> – алгоритм аутентификации:

  • cleartext – пароль, передается открытым текстом;
  • md5 – пароль хешируется по алгоритму md5.
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:

  • level-1 – работа производится только на 1 уровне;
  • level-1-2 – работа производится и на 1, и на 2 уровне;
  • level-2 – работа производится только на 2 уровне. 
12Установить тип метрики, который будет использоваться в работе IS-IS процесса (не обязательно).

esr(config-isis)# metric-style  { narrow | wide | transition } [<LEVEL>]

narrow — принимает и генерирует TLV (о достижимости сетей) старого типа;

wide — принимает и генерирует TLV (о достижимости сетей) нового типа;

transition — принимает и генерирует TLV (о достижимости сетей) нового и старого типа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
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:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
16Установить время жизни собственных LSP (не обязательно).

esr(config-isis)# max-lsp-lifetime <TIME> [<LEVEL>]

<TIME> – время в секундах, принимает значения [1..65535];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
17Установить таймаут перед следующим расчётом SPF (не обязательно).

esr(config-isis)# spf-timeout <TIME> [<LEVEL>]

<TIME> — время в миллисекундах, принимает значения [1..10000];

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
18






Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно).







esr(config-isis)# redistribute bgp <AS>  [ route-map <NAME> ] [is-type <LEVEL>]

<AS> – номер автономной системы, может принимать значения [1..4294967295];

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.

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> – тип маршрута:

  • intra-area – анонсирование маршрутов OSPF-процесса в пределах зоны;
  • inter-area – анонсирование маршрутов OSPF-процесса между зонами;
  • external1 – анонсирование внешних маршрутов OSPF-формата 1;
  • external2 – анонсирование внешних маршрутов OSPF-формата 2;

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.

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> – тип маршрута:

  • level-1 – анонсирование маршрутов 1 уровня;
  • level-2 – анонсирование маршрутов 1 уровня;
  • inter-area – анонсирование маршрутов IS-IS-процесса между зонами;

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых IS-IS-маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.

esr(config-isis)# redistribute rip  [ route-map <NAME> ] [is-type <LEVEL>]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.

esr(config-isis)# redistribute static  [ route-map <NAME> ] [is-type <LEVEL>]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.

esr(config-isis)# redistribute connected  [ route-map <NAME> ] [is-type <LEVEL>]

<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых подключённых маршрутов, задаётся строкой до 31 символа;

<LEVEL> — уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне.
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Включить использование TLV#8 в hello-пакетах (не обязательно).

esr(config-if-gi)# isis hello-padding


24Установить приоритет при выборе DIS (не обязательно).

esr(config-if-gi)# isis priority <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [0..127];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
25Установить значение метрики для интерфейсa (не обязательно).

esr(config-if-gi)# isis metric <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [1..16777215];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
26Установить на каком уровне маршрутизации будет работать текущий процесс IS-IS на конкретном интерфейсе (не обязательно).

esr(config-if-gi)# isis circuit-type {<LEVEL>}

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-1-2 – работа производится и на 1, и на 2 уровне;
  • level-2 – работа производится только на 2 уровне. 
27Установить интервал отправки hello-пакетов (не обязательно).

esr(config-if-gi)# isis hello-interval <TIME> [<LEVEL>]

<TIME> – время в секундах, принимает значения [1..65535];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
28Установить множитель для вычисления и отправки Hold Time (не обязательно).

esr(config-if-gi)# isis hello-multiplier <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [3..1000];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
29Перевести интерфейс в режим работы point-to-point протокола IS-IS (не обязательно).

esr(config-if-gi)# isis network point-to-point


30Установить интервал генерации и отправки CSNP (не обязательно).

esr(config-if-gi)# isis csnp-interval <TIME> [<LEVEL>]

<TIME> – время в секундах, принимает значения [1..65535];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
31Установить интервал генерации и отправки PSNP (не обязательно).

esr(config-if-gi)# isis psnp-interval <TIME> [<LEVEL>]

<TIME> – время в секундах, принимает значения [1..65535];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
32Установить интервал между передачами  LSP в Broadcast-сети (не обязательно).

esr(config-if-gi)# isis lsp-interval <TIME> [<LEVEL>]

<TIME> – время в милисекундах, принимает значения [1-10000];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
33Установить интервал повторного распространения LSP в PtP-сети (не обязательно).

esr(config-if-gi)# isis lsp-retransmit-interval <TIME> [<LEVEL>]

<TIME> – время в секундах, принимает значения [1..65535];

<LEVEL> - уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
34Установить алгоритм аутентификации для hello-пакетов (не обязательно).

esr(config-if-gi)# isis authentication algorithm  <ALGORITHM> [<LEVEL>]

<ALGORITHM> – алгоритм аутентификации:

  • cleartext – пароль, передается открытым текстом;
  • md5 – пароль хешируется по алгоритму md5;

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
35Установить пароль для аутентификации 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:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
36Установить список ключей для аутентификации hello-пакетов (не обязательно).

esr(config-if-gi)# isis authentication key chain <KEYCHAIN> [<LEVEL>]

<KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов;

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 

Якорь
Пример настройки IS-IS рисунок
Пример настройки IS-IS рисунок
Пример настройки

Задача:

Настроить протокол IS-IS на маршрутизаторах для обмена маршрутной информацией с соседями. Маршрутизатор ESR1 будет L1-only, ESR2 - L1/L2, ESR3 - L2-only, который также будет находится в другой area.

Решение:

Предварительно нужно настроить IP-адреса на интерфейсах согласно схеме, приведенной на рисунке.

Перейдём к настройке маршрутизатора ESR1. Создадим IS-IS процесс с идентификатором 1 и перейдём в режим конфигурирования протокола:

Блок кода
ESR1(config)# router isis 1

Зададим номер зоны, в которой будет работать маршрутизатор и его системный идентификатор:

Блок кода
ESR1(config-isis)# net 49.0001.1111.1111.1111.00

Настроим работу маршрутизатора только на первом уровне протокола IS-IS:

Блок кода
ESR1(config-isis)# is-type level-1

Зададим работу маршрутизатора с узкой метрикой на первом уровне:

Блок кода
ESR1(config-isis)# metric-style narrow level-1

Включим работу процесса IS-IS на маршрутизаторе:

Блок кода
ESR1(config-isis)# enable

Перейдём к конфигурированию интерфейсов. Нужно задать номер процесса IS-IS, который будет работать на интерфейсе и включить работу самого протокола на нём:

Блок кода
ESR1(config-if-gi)# isis instance 1
ESR1(config-if-gi)# isis enable

Перейдём к настройке маршрутизатора ESR2:

Блок кода
ESR2(config)# router isis 2

Зададим номер зоны, такой же как на ESR1, а также уникальный системный идентификатор:

Блок кода
ESR2(config-isis)# net 49.0001.2222.2222.2222.00

Зададим работу маршрутизатора с узкой метрикой на первом уровне и с широкой метрикой на втором, и включим работу данного процесса IS-IS:

Блок кода
ESR2(config-isis)# metric-style narrow level-1
ESR2(config-isis)# metric-style wide level-2
ESR2(config-isis)# enable

Настроим работу интерфейсов на маршрутизаторе. На обоих интерфейсах настройка будет одинаковая:

Блок кода
ESR2(config-if-gi)# isis instance 2
ESR2(config-if-gi)# isis enable

Перейдём к настройке маршрутизатора ESR3:

Блок кода
ESR3(config)# router isis 3
ESR3(config-isis)# net 49.0002.3333.3333.3333.00
ESR3(config-isis)# is-type level-2
ESR3(config-isis)# metric-style wide level-2
ESR3(config-isis)# enable
ESR3(config-if-gi)# isis instance 3
ESR3(config-if-gi)# isis enable

Установление соседства можно посмотреть командой show isis neighbors. Выполним её на ESR2:

Блок кода
ESR2# show isis neighbors
IS-IS 2
IS-IS Level 1 Neighbors
System ID                Hostname          Interface         State         Holdtime  SNPA
1111.1111.1111  ESR1                      gi1/0/2             Up              25                  a8f9.4baa.1d42
IS-IS Level 2 Neighbors
System ID               Hostname          Interface         State         Holdtime  SNPA
3333.3333.3333  ESR3                     gi1/0/1             Up               8                   a8f9.4bab.813a