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

Ключ

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

...

Настройка Policy-based routing

...

Policy-Based Routing (PBR) — это механизм маршрутизации, который позволяет принимать решения о форвардинге трафика на основе заданных политик, а не основываясь на таблицу  маршрутизации . В отличие от традиционной маршрутизации, которая опирается исключительно на наилучший путь по метрике (например, кратчайший маршрут), PBR предоставляет администраторам гибкий инструмент для управления трафиком с учётом дополнительных параметров: источника трафика, типа протокола, VLAN, уровня приоритета и других.

Якорь

...

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

Шаг

Описание

Команда

Ключи

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

Задать 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 символа.

Настройка BFD

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

По умолчанию сессия устанавливается в следующем режиме:

...

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

Image Added

Задача:

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

Предварительно нужно назначить IP-адреса на интерфейсы.

Требуется направлять трафик с адресов 10.0.20.0/24 через ISP1 (184.45.0.150), а трафик с адресов 10.0.30.0/24 – через ISP2 (80.16.0.23). Требуется контролировать доступность адресов провайдеров (работоспособность подключений к ISP), и при неработоспособности одного из подключений переводить с него на рабочее подключение весь трафик.

Решение:

Создаем 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

Настройка BFD

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

По умолчанию сессия устанавливается в следующем режиме:

ПротоколРежим
iBGPmulti-hop
eBGPsingle-hop
eBGP multi-hopmulti-hop
OSPFsingle-hop
IS-ISsingle-hop
Static routesingle-hop
RIPsingle-hop

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

Допустим, мы установили eBGP-соседство и включили для него BFD:

Блок кода
ESR# show running-config routing bgp 
router bgp 65516
  neighbor 10.100.0.2
    remote-as 65515
    update-source 10.100.0.1
    fall-over bfd
    enable
  exit
  enable
exit

ESR# show bfd neighbors  10.100.0.2
Neighbor address

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

Допустим, мы установили eBGP-соседство и включили для него BFD:

Блок кода
ESR# show running-config routing bgp 
router bgp 65516
  neighbor 10.100.0.2
    remote-as 65515
    update-source 10.100.0.1
    fall-over bfd
    enable
  exit
  enable
exit

ESR# show bfd neighbors  10.100.0.2
Neighbor address:                   10.100.0.2
Local address:                      10.100.0.1
Interface:                          --
Remote discriminator:               3751534121
Local discriminator:                1670865501
State:                              Up
Session type:                       Control
Session mode:                       Single-hop
Local diagnostic code:              No Diagnostic
Remote diagnostic code:             No Diagnostic
Minimal Tx Interval:                300 ms
Minimal Rx Interval: 10.100.0.2
Local address:                     300 ms
Multiplier 10.100.0.1
Interface:                         5 --
ActualRemote Tx Intervaldiscriminator:               3751534121
Local discriminator: 300  ms
Actual Detection Interval:          1500 ms
Number of transmitted packets:1670865501
State:                  1149
Number of received packets:         1153Up
UptimeSession type:                       Control
Session mode:     2m
Client:                  Single-hop
Local diagnostic code:            BGP  No Diagnostic
LastRemote receiveddiagnostic packet:
code:             DesiredNo MinDiagnostic
Minimal Tx Interval:                300 ms
Minimal Rx Interval:   Required    Min Rx Interval:       300 ms
Multiplier:    Multiplier:                     5

Как видно, по умолчанию BFD установился в режиме single-hop. Переключим режим в multi-hop:

Блок кода
ESR(config)# ip bfd neighbor 10.100.0.2 local-address 10.100.0.1 multihop 
ESR(config)# do commit
ESR(config)# do confirm

Scroll Pagebreak
Конфигурацию необходимо производить на обоих устройствах. После переустановки сессии ее режим сменится на multi-hop:

Блок кода
esr-200# sh bfd neighbors  10.100.0.2
Neighbor address:
Actual Tx Interval:                 300 ms
Actual Detection Interval:          1500 ms
Number of transmitted packets:      1149
Number of   10.100.0.2
Local addressreceived packets:          1153
Uptime:            10.100.0.1
Interface:                          --
Remote discriminator2m
Client:               3751534121
Local discriminator:             BGP 
Last received 1670865501packet:
State:    Desired Min Tx Interval:        300 ms
    Required Min         Up
Session typeRx Interval:       300 ms
               Control
Session modeMultiplier:                     5

Как видно, по умолчанию BFD установился в режиме single-hop. Переключим режим в multi-hop:

Блок кода
ESR(config)# ip bfd neighbor 10.100.0.2 local-address 10.100.0.1 multihop 
ESR(config)# do commit
ESR(config)# do confirm

Scroll Pagebreak
Конфигурацию необходимо производить на обоих устройствах. После переустановки сессии ее режим сменится на multi-hop:

Блок кода
esr-200# sh bfd neighbors  10.100.0.2
Neighbor address:       Multi-hop
Local diagnostic code:              No Diagnostic
Remote diagnostic code:             No Diagnostic
Minimal Tx Interval: 10.100.0.2
Local address:                     300 ms
Minimal Rx Interval: 10.100.0.1
Interface:                         300 ms
Multiplier--
Remote discriminator:               3751534121
Local discriminator:         5
Actual   Tx Interval:   1670865501
State:              300 ms
Actual Detection Interval:          1500 ms
Number of transmittedUp
Session packetstype:      9
Number of received packets:         11
Uptime:     Control
Session mode:                       2m
ClientMulti-hop
Local diagnostic code:              No Diagnostic
Remote diagnostic code:            BGP No Diagnostic
LastMinimal receivedTx packetInterval:
     Desired Min Tx Interval:        300 ms
Minimal Rx Interval:      Required Min Rx Interval:       300 ms
Multiplier:    Multiplier:                     5

Actual Tx Interval:                 300 ms
Actual Detection Interval:          1500 ms
Number of transmitted packets:      9
Number of received packets:         11
Uptime:                             2m
Client:                             BGP 
Last received packet:
    Desired Min Tx Interval:        300 ms
    Required Min Rx Interval:       300 ms
    Multiplier:                     5

Настройка таймеров Настройка таймеров 

Подсказка

Значение таймеров индивидуально для каждой сети и во многом зависит от ее параметров. В случае частого флапинга BFD рекомендуется увеличить значение таймеров.

...

Шаг

Описание

Команда

Ключи

1

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

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


2

Активировать BFD для neighbor протокола BGP.

esr(config-bgp-neighbor)# fall-over bfd


3Активировать BFD для протокола RIP на интерфейсе.esr(config-if-gi)# ip rip bfd-enable

4

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

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

<TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/1VF/20/21/
    30/31/100/200 –
    [300..65535].

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

5

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

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


6

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

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

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/15VF/20/21/
    30/31/100/200 –
    [300..65535].

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

  • на ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/3250/3300/3350:
    200 миллисекунд;
  • на ESR-10/12V(F)/
    15/15R/15/VF/20/21/
    30/31/100/200:
    300 миллисекунд.

7

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

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

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/15VF/20/21/
    30/31/100/200 –
    [300..65535].

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

  • на ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – 200 миллисекунд;
  • на ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – 300 миллисекунд.

8

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

esr(config)# ip bfd multiplier <COUNT>

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

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

9

Запустить работу механизма 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 через маршрутизируемую сеть.

10

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

esr(config)# ip bfd passive


11

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

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

<TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – [300..65535].

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

12

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

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

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200.3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – [300..65535].

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

  • на ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – 200 миллисекунд;
  • на ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – 300 миллисекунд.

13

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

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

<TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне:

  • для ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – [200..65535];
  • для ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – [300..65535].

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

  • на ESR-1000/1200/
    1500/1511 (rev.B)/1700/
    3100/3200/3200L/
    3250/3300/3350 – 200 миллисекунд;
  • на ESR-10/12V(F)/
    15/15R/15VF/20/21/30/31/
    100/200 – 300 миллисекунд.

14

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

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

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

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

15

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

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


16При активизации работы протока BFD на интерфейсе с включенным firewall, необходимо разрешить работу протокола UDP порт назначения – 3784 из зоны сконфигурированной на интерфейсе в зону self. Как создать необходимое правило описано в разделе Конфигурирование Firewall.

Scroll Pagebreak

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

Задача:

Необходимо настроить протокол BFD для статического маршрута на маршрутизаторе R1.

...

Блок кода
titleR1
R1(config)# interface gigabitethernet 1/0/1
R1(config-if-gi)# ip firewall disable
R1(config-if-gi)# ip address 198.51.100.1/24
Блок кода
titleR2
R2(config)# interface gigabitethernet 1/0/1
R2(config-if-gi)#   ip firewall disable
R2(config-if-gi)#   ip address 198.51.100.2/24

На R1 настроим статический маршрут и привяжем к нему функционал BFD:

Блок кода
titleR1
R1(config)# ip route 192.0.2.0/24 198.51.100.2 bfd 

Для установки BFD-сессии на R2  также необходимо настроить соседа:

Блок кода
titleR2
R2(config)# ip bfd neighbor 198.51.100.1

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

Блок кода
R1# sh bfd neighbors 
Neighbor                                Discriminator State     Interface       
--------------------------------------- ------------- --------- ----------------
198.51.100.2                            2907010617    Up        gi1/0/1         
R1# sh bfd neighbors  198.51.100.2
Neighbor address:                   198.51.100.2
Local address:                      -gi)# ip firewall disable
R1(config-if-gi)# ip address 198.51.100.1
Interface:                          gi1/24


Блок кода
titleR2
R2(config)# interface gigabitethernet 1/0/1
Remote discriminator:R2(config-if-gi)#   ip firewall disable
R2(config-if-gi)#   ip address 198.51.100.2/24

На R1 настроим статический маршрут и привяжем к нему функционал BFD:

Блок кода
titleR1
R1(config)# ip route 192.0.2.0/24 198.51.100.2 bfd 

Для установки BFD-сессии на R2  также необходимо настроить соседа:

Блок кода
titleR2
R2(config)# ip bfd neighbor 198.51.100.1

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

Блок кода
R1# sh bfd neighbors 
Neighbor    2907010617
Local discriminator:                2856477782
State:                              Up                <--- состояние протокола
Session type:          Discriminator State     Interface       Control
Session mode:  
--------------------------------------- ------------- --------- ----------------
198.51.100.2                     Single-hop
Local diagnostic code:      2907010617    Up    No Diagnostic
Remote diagnostic code:      gi1/0/1        No Diagnostic
MinimalR1# Txsh Interval:bfd                300 ms
Minimal Rx Intervalneighbors  198.51.100.2
Neighbor address:                300 ms
Multiplier:  198.51.100.2
Local address:                      5
Actual Tx Interval198.51.100.1
Interface:                 300 ms
Actual Detection Interval:          1500 ms
Number of transmitted packets:  gi1/0/1
Remote discriminator:    1444
Number of received packets:         14022907010617
Uptime (d,h:m:s)Local discriminator:                2856477782
State:   00,00:03:39
Client:                           Up  STATIC              <---- сервис, который подписан на отслеживание изменения состояния
 
R1# sh ip route 192.0.2.0/24
 Codes: C - connected, S - static, R - RIP derived,
 состояние протокола
Session type:                       Control
Session mode:        O - OSPF derived, IA - OSPF inter area route,
                 Single-hop
Local diagnostic code:      E1 - OSPF external type 1 route, E2 -No OSPFDiagnostic
Remote externaldiagnostic typecode: 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
No Diagnostic
Minimal Tx Interval:                300 ims
Minimal - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    Rx Interval:                300 ms
Multiplier:    H - NHRP, * - FIB route

S     * 192.0.2.0/24       [1/0]  5
Actual Tx Interval:         via 198.51.100.2 on gi1/0/1     300 ms
Actual [staticDetection 16Interval:22:27] 
R1# sh bfd neighbors  
Neighbor    1500 ms
Number of transmitted packets:      1444
Number of received packets:         1402
Uptime (d,h:m:s):      Discriminator State     Interface       
--------------------------------------- ------------- --------- ----------------
198.51.100.200,00:03:39
Client:                             STATIC 2907010617    Up        gi1/0/1         <---- сервис, который подписан на отслеживание изменения состояния
 
R1# sh ip route 192.0.2.0/24
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        H - NHRP, * - FIB route

S     * 192.0.2.0/24       [1/0]             via 198.51.100.2 on gi1/0/1       [static 16:22:27]   <---- маршрут присутствует в FIB

// После того как BFD-сессия разрушилась, отслеживаемый маршрут удалился из FIB:

R1# sh bfd neighbors  
Neighbor                                Discriminator State     Interface       
--------------------------------------- ------------- --------- ----------------
198.51.100.2                            2907010617    Up Down       gi1/0/1/1         

R1# sh ip route 192.0.2.0/24
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        H - NHRP, * - FIB route

R1# 

Настройка завершена.

Пример настройки Route-map на основе списков доступа (Policy-based routing)

Image Removed

Задача:

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

Предварительно нужно назначить IP-адреса на интерфейсы.

Требуется направлять трафик с адресов 10.0.20.0/24 через ISP1 (184.45.0.150), а трафик с адресов 10.0.30.0/24 – через ISP2 (80.16.0.23). Требуется контролировать доступность адресов провайдеров (работоспособность подключений к ISP), и при неработоспособности одного из подключений переводить с него на рабочее подключение весь трафик.

Решение:

Создаем 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

...

S     * 192.0.2.0/24       [1/0]             via 198.51.100.2 on gi1/0/1       [static 16:22:27]   <---- маршрут присутствует в FIB

// После того как BFD-сессия разрушилась, отслеживаемый маршрут удалился из FIB:

R1# sh bfd neighbors  
Neighbor                                Discriminator State     Interface       
--------------------------------------- ------------- --------- ----------------
198.51.100.2                            2907010617     Down      gi1/0/1  

R1# sh ip route 192.0.2.0/24
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        H - NHRP, * - FIB route

R1# 

Настройка завершена.

Настройка VRF

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 (rev.B)/1700/3100/3200/3200L/3250/3300/3350 – [1..500000], ESR-20/21/30/31/100/
    200 – [1..300000], ESR-10/12V(F)/15/15R/
    15VF – [1..30000]
  • BGP ESR-1000/1200/1500/
    1511 (rev.B)/1700/3100/3200/3200L/3250/3300/3350 – [1..5000000], ESR-20/21/30/31/100/
    200 – [1..2500000], ESR-10/12V(F)/15/
    15VF/15R – [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# 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Данной командой включается отправка ответных пакетов сессии через тот же интерфейс, через который получены входящие пакеты сессии (если необходимо).esr(config-wan-rule)# stickiness
8Включить wan-правило.

esr(config-wan-rule)# enable


9Создать список IP-адресов для проверки целостности соединения и осуществить переход в режим настройки параметров списка.

esr(config)# wan load-balance target-list <NAME>

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

esr(config-target-list)# target <ID>

<ID> – идентификатор цели, задаётся в пределах [1..50]. Если при удалении используется значение параметра «all», то будут удалены все цели для конфигурируемого списка целей.
11Описать target (необязательно).

esr(config-wan-target)# description <DESCRIPTION>

<DESCRIPTION> – описание target, задаётся строкой до 255 символов.
12Указать время ожидания ответа на запрос по протоколу ICMP (необязательно).

esr(config-wan-target)# resp-time <TIME>

<TIME> – время ожидания, определяется в секундах [1..30].
13

Указать 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].
14Включить проверку цели.

esr(config-wan-target)# enable


Команды для пунктов 14–17 необходимо применить на интерфейсах/туннелях в MultiWAN.

15Включить WAN-режим на интерфейсе для IPv4/IPv6-стека.

esr(config-if-gi)# wan load-balance enable


esr(config-if-gi)# ipv6 wan load-balance enable

16

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

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>

17

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

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>

18Задать 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].
19Данной командой будут проверяться 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> }

20Прописать статические маршруты через 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>]

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

Задача:

Настроить маршрут к серверу (108.16.0.1/28) с возможностью балансировки нагрузки.

Решение:

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

...

Блок кода
е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 ipv6 rip  [ route-map <NAME> ] [is-type <LEVEL>]

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

 


24Включить использование TLV#8 в hello-пакетах (необязательно).

esr(config-if-gi)# isis hello-padding


25Установить приоритет при выборе DIS (необязательно).

esr(config-if-gi)# isis priority <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [0..127];

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
26Установить значение метрики для интерфейсa (необязательно).

esr(config-if-gi)# isis metric <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [1..16777215];

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
27Установить на каком уровне маршрутизации будет работать текущий процесс IS-IS на конкретном интерфейсе (необязательно).

esr(config-if-gi)# isis circuit-type {<LEVEL>}

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-1-2 – работа производится и на 1, и на 2 уровне;
  • level-2 – работа производится только на 2 уровне. 
28Установить интервал отправки hello-пакетов (необязательно).

esr(config-if-gi)# isis hello-interval <TIME> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
29Установить множитель для вычисления и отправки Hold Time (необязательно).

esr(config-if-gi)# isis hello-multiplier <VALUE> [<LEVEL>]

<VALUE> – число, принимающее значения [3..1000];

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
30Перевести интерфейс в режим работы point-to-point протокола IS-IS (необязательно).

esr(config-if-gi)# isis network point-to-point


31Установить интервал генерации и отправки CSNP (необязательно).

esr(config-if-gi)# isis csnp-interval <TIME> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
32Установить интервал генерации и отправки PSNP (необязательно).

esr(config-if-gi)# isis psnp-interval <TIME> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
33Установить интервал между передачами LSP в Broadcast-сети (необязательно).

esr(config-if-gi)# isis lsp-interval <TIME> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
34Установить интервал повторного распространения LSP в PtP-сети (необязательно).

esr(config-if-gi)# isis lsp-retransmit-interval <TIME> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
35Установить алгоритм аутентификации для hello-пакетов (необязательно).

esr(config-if-gi)# isis authentication algorithm  <ALGORITHM> [<LEVEL>]

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

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
36Установить пароль для аутентификации hello-пакетов (необязательно).

esr(config-if-gi)# isis authentication key ascii-text  { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } [<LEVEL>]

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

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
37Установить список ключей для аутентификации hello-пакетов (необязательно).

esr(config-if-gi)# isis authentication key chain <KEYCHAIN> [<LEVEL>]

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

<LEVEL> – уровень работы протокола IS-IS:

  • level-1 – работа производится только на 1 уровне;
  • level-2 – работа производится только на 2 уровне. 
38Включить протокол BFD для протокола IS-IS (необязательно).

esr(config-if-gi)# isis bfd-enable

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



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

Задача:

Настроить протокол IS-IS на маршрутизаторах для обмена маршрутной информацией с соседями. Маршрутизатор ESR1 будет L1-only, ESR2 – L1/L2, ESR3 – L2-only, который также будет находится в другой area.

Решение:



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

...