...
Конфигурирование R1
Включим LLDP глобально на маршрутизаторе:Блок кода esr(config)# lldp enable
Scroll Pagebreak
Включим прием и отправку LLDPDU на интерфейсе gi 1/0/1:Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# lldp receive esr(config-if-gi)# lldp transmit
- Конфигурирование R2
Включим LLDP глобально на маршрутизаторе:
Блок кода esr(config)# lldp enable
Включим прием и отправку LLDPDU на интерфейсе gi 1/0/1:
Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# lldp receive esr(config-if-gi)# lldp transmit
Общую информацию по LLDP соседям можно посмотреть командой:
Блок кода esr# show lldp neighbors
Подробную информацию по соседу конкретного интерфейса можно посмотреть командой:
Блок кода esr# show lldp neighbors gigabitethernet 1/0/1
Общую статистику по LLDP можно посмотреть командой:
Блок кода esr# show lldp statistics
Настройка
...
LLDP MED — расширение стандарта LLDP, которое позволяет передавать сетевые политики: VLAN ID, DSCP, priority.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Активировать LLDP на маршрутизаторе.
...
esr(config)# lldp enable
...
2
...
Включить отправку LLDPDU на физическом интерфейсе.
...
esr(config-if-gi)# lldp transmit
...
3
...
Активировать расширение MED LLDP на маршрутизаторе.
...
esr(config)# lldp med fast-start enable
...
4
...
Создать сетевую политику.
...
esr(config)# network-policy <NAME>
...
<NAME> – имя network-policy, задается строкой до 31 символа.
...
5
...
Указать тип приложения.
...
esr(config-net-policy)# application <APP_TYPE>
...
<APP-TYPE> – тип приложения, для которого будет срабатывать network-policy.
Принимает значения:
- voice;
- voice-signaling;
- guest-voice;
- guest-voice-signaling;
- softphone-voice;
- video-conferencing;
- streaming-video;
- video-signaling.
...
6
...
Установить значение DSCP (необязательно).
...
esr(config-net-policy)# dscp <DSCP>
...
<DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63].
...
7
...
Установить значение COS (необязательно).
...
esr(config-net-policy)# priority <PRIORITY>
...
<COS> – значение приоритета, принимает значения:
- best-effort – COS0;
- background – COS1;
- excellent-effort – COS2;
- critical-applications – COS3;
- video – COS4;
- voice – COS5;
- internetwork-control – COS6;
- network-control – COS7.
...
8
...
Установить значение VLAN ID.
...
esr(config-net-policy)# vlan <VID> [tagged]
...
<VID> – идентификационный номер VLAN, принимает значения [1…4094];
- tagged – ключ, при установке которого абонентское устройство будет отправлять Ethernet-фреймы указанного приложения в тегированном виде.
...
9
...
Установить сетевую политику на интерфейс.
...
esr(config-if-gi)# lldp network-policy <NAME>
...
<NAME> – имя network-policy, задается строкой до 31 символа.
Пример настройки Voice VLAN
Voice VLAN — VLAN ID, при получении которого IP-телефон переходит в режим trunk с заданным VLAN ID для приема и отправки VoIP-трафика. Передача VLAN ID осуществляется посредством расширения MED протокола LLDP.
Задача:
Необходимо разделить трафик телефонии и данных по разным VLAN, vid 10 для данных и vid 20 для телефонии и настроить отправку Voice VLAN с порта gi 1/0/1 ESR. При этом на IP-телефоне должен поддерживаться и быть включен Voice VLAN.
Решение:
Предварительно необходимо создать VLAN 10 и 20 и настроить интерфейс gi 1/0/1 в режиме trunk:
| Блок кода |
|---|
esr(config)# vlan 10,20
esr(config-vlan)# exit
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 10,20
esr(config-if-gi)# exit |
Включим LLDP и поддержку MED в LLDP глобально на маршрутизаторе:
| Блок кода |
|---|
esr(config)# lldp enable
esr(config)# lldp med fast-start enable |
Создадим и настроим сетевую политику таким образом, чтобы для приложения voice указывался VLAN ID 20:
| Блок кода |
|---|
esr(config)# network-policy VOICE_VLAN
esr(config-net-policy)# application voice
esr(config-net-policy)# vlan 20 tagged
esr(config-net-policy)# exit |
Настроим LLDP на интерфейсе и установим на него сетевую политику:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# lldp transmit
esr(config-if-gi)# lldp receive
esr(config-if-gi)# lldp network-policy VOICE_VLAN
esr(config-if-gi)# exit |
Настройка протоколов семейства STP
Spanning Tree Protocol – сетевой протокол, основной задачей которого является приведение сети Ethernet с избыточными соединениями к древовидной топологии, исключающей петли. Сетевые устройства обмениваются служебными сообщениями, используя кадры специального формата (BPDU), и выборочно включают/отключают интерфейсы во избежание кольцевых топологий.
Rapid (быстрый) STP (RSTP) – является усовершенствованием протокола STP, характеризуется меньшим временем сходимости за счет использования механизма предложений и соглашений (propolsal/agreement proccess) и улучшенной логикой отправки служебных BPDU-сообщений.
Ниже представлена сводная таблица по поддержке протоколов семейства xSTP.
...
Устройство
...
Настройка протоколов STP и RSTP
Для активации протокола необходимо перевести работу интерфейса в L2-режим (mode switchport). По умолчанию используется протокол RSTP со следующими временными параметрами: Hello Time – 2 c, Forward Delay – 15 с, Max Age – 20 с.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Включить STP в глобальном режиме конфигурации.
...
esr(config)# spanning-tree
...
2
...
Установить интервал времени, затрачиваемый на прослушивание и изучение
состояний перед переключением в состояние передачи (необязательно).
...
esr(config)# spanning-tree forward-time <TIME>
...
<TIME> – время в секундах, принимает значения [4..30].
Значение по умолчанию: 15 секунд.
...
3
...
Установить интервал времени между отправкой BPDU-пакетов (необязательно).
...
esr(config)# spanning-tree hello-time <TIME>
...
<TIME> – время в секундах, принимает значения [1..10].
Значение по умолчанию: 2 секунды.
...
4
...
Установить время, в течение которого будет ожидаться получение BPDU от ROOT-коммутатора (необязательно).
...
esr(config)# spanning-tree max-age <TIME>
...
<TIME> – время в секундах, принимает значения [6..40].
Значение по умолчанию: 20 секунд.
...
5
...
Выбрать тип протокола: STP или RSTP.
...
esr(config)# spanning-tree mode <MODE>
...
<MODE> – протокол семейства STP:
- STP – IEEE 802.1D Spanning Tree Protocol;
- RSTP – IEEE 802.1W Rapid Spanning Tree Protocol;
Значение по умолчанию: RSTP.
...
6
...
Установить метод расчет стоимости пути (необязательно).
...
esr(config)# spanning-tree pathcost method <short | long>
...
long – значение ценности в диапазоне [1..200000000];
short – значение ценности в диапазоне [1..65535].
Значение по умолчанию: short.
...
7
...
Настроить приоритет связующего дерева STP (необязательно).
...
esr(config)# spanning-tree priority <PRIORITY>
...
<PRIORITY> – приоритет, указывается в диапазоне c шагом 4096 [0..61440].
Значение по умолчанию: 32768.
...
9
...
Установить стоимость на определенном интерфейсе (необязательно).
...
esr(config-if-gi)# spanning-tree cost
...
<COST> – стоимость пути, устанавливается в диапазоне [1..20000000].
Значение по умолчанию: 4.
...
10
...
Установить тип интерфейса (необязательно).
...
esr(config-if-gi)# spanning-tree link-type {point-to-point|shared}
...
point-to-point – команда определяет интерфейс как «точка-точка»;
shared – команда определяет интерфейс как «разветвленный».
Значение по умолчанию: point-to-point.
...
11
...
Установить приоритет интерфейса в связующем дереве STP (необязательно).
...
esr(config-if-gi)# spanning-tree port-priority <PRIORITY>
...
<PRIORITY> – приоритет, указывается в диапазоне c шагом 16 [0..240].
Пример настройки
Задача:
Настроить на маршрутизаторе протокол STP для предотвращения петли с интервалом прослушивания и изучения сети 10 секунд и временем жизни связующего дерева 15 секунд.
Решение:
Для примера разберём схему с маршрутизатором и коммутатором, соединенных двумя линками.
По умолчанию на ESR включен протокол RSTP.
Перейдём в режим конфигурирования:
| Блок кода |
|---|
esr-20# configure |
Зададим протокол по умолчанию STP:
| Блок кода |
|---|
esr-20(config)# spanning-tree mode stp |
Установим время жизни связующего дерева – 15 секунд и интервал прослушивания и изучения сети – 10 секунд:
| Блок кода |
|---|
esr-20(config)# spanning-tree max-age 15
esr-20(config)# spanning-tree forward-time 10 |
| Scroll Pagebreak |
|---|
Вывод команды show spanning-tree bridge global active:
| Блок кода |
|---|
esr-20# show spanning-tree bridge global active
Protocol version: STP
Root ID: [32768] a8:f9:4b:ad:5a:00
Root port: [128] gi1/0/1
Pathcost 32768
Message Age 300
Hello time: 2 Max age time: 20 Forward delay: 15
Bridge ID: [32768] a8:f9:4b:ad:8e:5d
Hello time: 2 Max age time: 15 Forward delay: 10
Transmit hold count: 6 Topology change: 0
Time since topology change: 16 Topology change count: 2
Name State Prio.Num Cost Status Role PortFast Type
------------ ----- -------- --------- -------- -------- -------- --------------------
gi1/0/1 en 128.2 32768 FRW Root No STP
gi1/0/2 en 128.3 32768 BLK Altr No STP |
Настройка протокола STP и RSTP в рамках bridge
Работа протоколов STP/RSTP также возможна в рамках выделенного bridge-домена, что дает возможность организовать кольцевую отказоустойчивую топологию в сетях с использование L2-туннелей (сервисы L2TPv3 и Ethernet over GRE), или в сетях, устройства которых не поддерживают работу протоколов семейства xSTP.
| Информация |
|---|
Для корректной работы устройства должны поддерживать работу протоколов STP/RSTP в bridge-домене. |
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Перейти в режим конфигурации bridge-домена для настройки протокола STP/RSTP.
...
esr(config)# bridge <BR-NUM>
...
<BR-NUM> – номер bridge.
...
2
...
Установить интервал времени, затрачиваемый на прослушивание и изучение
состояний перед переключением в состояние передачи (необязательно).
...
esr(config-bridge)# spanning-tree forward-time <TIME>
...
<TIME> – время в секундах, принимает значения [4..30].
Значение по умолчанию: 15 секунд.
...
3
...
Установить интервал времени между отправкой BPDU-пакетов (необязательно).
...
esr(config-bridge)# spanning-tree hello-time <TIME>
...
<TIME> – время в секундах, принимает значения [1..10].
Значение по умолчанию: 2 секунды.
...
4
...
Установить время, в течение которого будет ожидаться получение BPDU от ROOT -коммутатора (необязательно).
...
esr(config-bridge)# spanning-tree max-age <TIME>
...
<TIME> – время в секундах, принимает значения [6..40].
Значение по умолчанию: 20 секунд.
...
5
...
Выбрать тип протокола: STP или RSTP.
...
esr(config-bridge)# spanning-tree mode <MODE>
...
<MODE> – протокол семейства STP:
- STP – IEEE 802.1D Spanning Tree Protocol;
- RSTP – IEEE 802.1W Rapid Spanning Tree Protocol.
Значение по умолчанию: RSTP.
...
6
...
Установить метод расчета стоимости пути (необязательно).
...
esr(config-bridge)# spanning-tree pathcost method <short | long>
...
long – значение ценности в диапазоне [1..200000000];
short – значение ценности в диапазоне [1..65535].
Значение по умолчанию: short.
...
7
...
Настроить приоритет бриджа – используется при выборе root бриджа в топологии (необязательно).
...
esr(config-bridge)# spanning-tree priority <PRIORITY>
...
<PRIORITY> – приоритет, указывается в диапазоне c шагом 4096 [0..61440].
Значение по умолчанию: 32768.
...
9
...
Установить стоимость на определенном интерфейсе (необязательно).
...
esr(config-if-gi)# spanning-tree cost
...
<COST> – стоимость пути, устанавливается в диапазоне [1..20000000].
Значение по умолчанию: 4.
...
10
...
Установить тип интерфейса (необязательно).
...
esr(config-if-gi)# spanning-tree link-type {point-to-point|shared}
...
point-to-point – команда определяет интерфейс как «точка-точка»;
shared – команда определяет интерфейс как «разветвленный».
Значение по умолчанию: point-to-point.
...
11
...
Установить приоритет интерфейса в связующем дереве STP (необязательно).
...
esr(config-if-gi)# spanning-tree port-priority <PRIORITY>
...
<PRIORITY> – приоритет, указывается в диапазоне c шагом 16 [0..240].
...
Для корректной работы STP/RSTP в рамках bridge-домена интерфейсы необходимо добавить в bridge-домен следующим образом:
| Блок кода |
|---|
interface gigabitethernet 1/0/3
mode switchport
bridge-group 10
exit |
| Scroll Pagebreak |
|---|
Пример настройки
Задача:
С помощью протокола RSTP организовать резервирования сервиса L2VPN, построенного с помощью Ethernet over GRE.
Решение:
Настроим адресацию на ESR1 и ESR2:
| Блок кода |
|---|
ESR2(config)# interface gigabitethernet 1/0/1
ESR2(config-if-gi)# ip firewall disable
ESR2(config-if-gi)# ip address 198.51.100.2/30
ESR2(config-if-gi)# exit
ESR2(config)# interface gigabitethernet 1/0/2
ESR2(config-if-gi)# ip firewall disable
ESR2(config-if-gi)# ip address 198.51.100.6/30
ESR2(config-if-gi)# exit
ESR2(config)# do commit
ESR2(config)# do confirm
ESR1(config)# interface gigabitethernet 1/0/1
ESR1(config-if-gi)# ip firewall disable
ESR1(config-if-gi)# ip address 198.51.100.1/30
ESR1(config-if-gi)# exit
ESR1(config)# interface gigabitethernet 1/0/2
ESR1(config-if-gi)# ip firewall disable
ESR1(config-if-gi)# ip address 198.51.100.5/30
ESR1(config-if-gi)# exit
ESR1(config)# do commit
ESR1(config)# do confirm
|
| Scroll Pagebreak |
|---|
Настроим Ethernet over GRE. Определим GRE 1 как основной канал, GRE 2 – резервный:
| Блок кода |
|---|
ESR1(config)# bridge 10
ESR1(config-bridge)# enable
ESR1(config-bridge)# exit
ESR1(config)# tunnel gre 1
ESR1(config-gre)# mode ethernet
ESR1(config-gre)# bridge-group 10
ESR1(config-gre)# local address 198.51.100.1
ESR1(config-gre)# remote address 198.51.100.2
ESR1(config-gre)# spanning-tree cost 10
ESR1(config-gre)# enable
ESR1(config-gre)# exit
ESR1(config)# tunnel gre 2
ESR1(config-gre)# mode ethernet
ESR1(config-gre)# bridge-group 10
ESR1(config-gre)# local address 198.51.100.5
ESR1(config-gre)# remote address 198.51.100.6
ESR1(config-gre)# spanning-tree cost 20
ESR1(config-gre)# enable
ESR1(config-gre)# exit
ESR1(config-if-gi)# do commit
ESR1(config-if-gi)# do confirm
ESR2(config)# bridge 10
ESR2(config-bridge)# enable
ESR2(config-bridge)# exit
ESR2(config)# tunnel gre 1
ESR2(config-gre)# mode ethernet
ESR2(config-gre)# bridge-group 10
ESR2(config-gre)# local address 198.51.100.2
ESR2(config-gre)# remote address 198.51.100.1
ESR2(config-gre)# spanning-tree cost 10
ESR2(config-gre)# enable
ESR2(config-gre)# exit
ESR2(config)# tunnel gre 2
ESR2(config-gre)# mode ethernet
ESR2(config-gre)# bridge-group 10
ESR2(config-gre)# local address 198.51.100.6
ESR2(config-gre)# remote address 198.51.100.5
ESR2(config-gre)# spanning-tree cost 20
ESR2(config-gre)# enable
ESR2(config-gre)# exit
ESR2(config-if-gi)# do commit
ESR2(config-if-gi)# do confirm |
| Scroll Pagebreak |
|---|
Добавим клиентские интерфейсы в соответствующий bridge-домен:
| Блок кода |
|---|
ESR1(config)# interface gigabitethernet 1/0/3
ESR1(config-if-gi)# mode switchport
ESR1(config-if-gi)# spanning-tree portfast
ESR1(config-if-gi)# bridge-group 10
ESR1(config-if-gi)# do commit
ESR1(config-if-gi)# do confirm
ESR2(config)# interface gigabitethernet 1/0/3
ESR2(config-if-gi)# mode switchport
ESR2(config-if-gi)# spanning-tree portfast
ESR2(config-if-gi)# bridge-group 10
ESR2(config-if-gi)# do commit
ESR2(config-if-gi)# do confirm |
Проверим статус туннелей, чтобы убедиться в сходимости протокола RSTP:
| Блок кода |
|---|
ESR1# sh tu status
Tunnel Admin Link MTU Local IP Remote IP Last change
state state
---------------- ----- ----- ------ ---------------- ---------------- -------------------------
gre 1 Up Up 1500 198.51.100.1 198.51.100.2 4 hours, 24 minutes and
58 seconds
gre 2 Up Up 1500 198.51.100.5 198.51.100.6 4 hours, 23 minutes and 6
seconds
ESR1# sh spanning-tree bridge 10 active
Instance name: bridge 10
Protocol version: RSTP
Root ID: [32768] a8:f9:4b:ad:fe:d1
Root port: [128] gre 1
Pathcost 10
Message Age 300
Hello time: 2 Max age time: 20 Forward delay: 15
Bridge ID: [32768] e4:5a:d4:01:b7:ec
Hello time: 2 Max age time: 20 Forward delay: 15
Transmit hold count: 6 Topology change: 0
Time since topology change: 1600 Topology change count: 7
Name State Prio.Num Cost Status Role PortFast Type
------------ ----- -------- --------- -------- -------- -------- --------------------
gi1/0/3 en 128.5 32768 FRW Desg Yes RSTP
gre 1 en 128.3 10 FRW Root No RSTP
gre 2 en 128.4 20 BLK Altr No RSTP |
Настройка сервиса завершена.
| Scroll Pagebreak |
|---|
Настройка протокола MSTP
Протокол Multiple STP является современной реализацией RSTP, ключевой особенностью которой является поддержка VLAN. В MSTP каждый порт может работать с разным количеством VLAN, принадлежащих разным экземплярам (STI). Изменение состояния в одном из инстансов не оказывает влияния на состояние других экземпляров, что позволяет продолжать обработку трафика в случае блокировки одного из STI.
| Информация |
|---|
Протокол MSTP поддержан только на ESR-1000. |
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Выбрать тип протокола MSTP.
...
esr(config)# spanning tree mode <MODE>
...
<MODE> – протокол семейства STP:
- STP – IEEE 802.1D Spanning Tree Protocol;
- RSTP – IEEE 802.1W Rapid Spanning Tree Protocol;
- MST -IEEE 802.1S Multiple Spanning Tree Protocol.
Значение по умолчанию: RSTP.
...
2
...
Установить приоритет для соответствующего инстанса перед остальными, использующими общий экземпляр MST (необязательно).
...
esr(config)# spanning-tree mst <INSTANCE> priority <PRIORITY>
...
<INSTANCE> – номер экземпляра MSTP [1..15].
<PRIORITY> – приоритет, указывается в диапазоне c шагом 4096 [0..61440].
Значение по умолчанию: 32768.
...
<NUM> – количество транзитных узлов, принимает значения [6..40].
Значение по умолчанию: 6.
...
4
...
Установить принадлежность экземпляра MST к соответствующей группе VLAN (необязательно).
...
esr(config-mst)# instance <INSTANCE> vlan <VLAN>
...
<INSTANCE> – номер экземпляра MSTP [1..15].
<VLAN> – номер VLAN.
...
5
...
Задать имя конфигурации MST (необязательно).
...
esr(config-mst)# name <NAME>
...
<NAME> – имя конфигурации МST [1..31].
...
6
...
Задать номер ревизии конфигурации MST (необязательно).
...
esr(config-bridge)# revision <REVISION>
...
<REVISION> – номер ревизии конфигурации МST [0..65535].
...
7
...
Установить стоимость интерфейса для соответствующего экземпляра MST.
...
esr(config-if-gi)# spanning-tree mst <INSTANCE> cost <COST>
...
<INSTANCE> – номер экземпляра MSTP [1..15].
<COST> – стоимость пути, устанавливается в диапазоне [1..20000000].
Значение по умолчанию: 4.
...
<INSTANCE> – номер экземпляра MSTP [1..15].
<PRIORITY> – приоритет, указывается в диапазоне c шагом 16 [0..240].
Пример настройки
Задача:
Настроить протокол MSTP между устройствами для VLAN 100 и VLAN 200, выделив для этого соответствующие инстансы.
Решение:
Создадим на устройствах необходимые VLAN. Настроим порт в режиме General, трафик VLAN100, 200 будет отправляться тегированным:
| Блок кода |
|---|
esr(config)# vlan 100
esr(config-vlan)# exit
esr(config)# vlan 200
esr(config-vlan)# exit
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# mo switchport
esr(config-if-gi)# switchport general allowed vlan add 100,200
Switch(config)#vlan 100,200
Switch(config-vlan-range)#vlan active
Switch(config-vlan-range)#exit
Switch(config)#interface gigabitethernet 0/1
Switch(config-if)#switchport general allowed vlan add 100,200 |
| Scroll Pagebreak |
|---|
Включим протокол MSTP. Настроим инстансы и соответствующие им VLAN.
| Блок кода |
|---|
esr(config)# spanning-tree mst configuration
esr(config-mst)# name mst
esr(config-mst)# revision 1
esr(config-mst)# instance 1 vlan 100
esr(config-mst)# instance 2 vlan 200
esr(config-mst)# exit
Switch(config)#spanning-tree mode mst
Switch(config)#spanning-tree mst configuration
Switch(config-mst)# name mst
Switch(config-mst)# revision 1
Switch(config-mst)# instance 1 vlan 100
Switch(config-mst)# instance 2 vlan 200 |
Проверим работу протокола MSTP и состояние портов:
| Блок кода |
|---|
esr# sh spanning-tree bridge global
###### MST instance 1. Vlans mapped: 100
Regional Root ID: [32768] A8:F9:4B:AA:39:7B
This switch is the Regional Root
Time since topology change: 0 Topology change: 0
Topology change count: 32 Max hops: 20
Designated bridge ID: [32768] A8:F9:4B:AA:39:7B
###### MST instance 2. Vlans mapped: 200
Regional Root ID: [8192] A8:F9:4B:AA:39:7B
This switch is the Regional Root
Time since topology change: 0 Topology change: 1
Topology change count: 34 Max hops: 20
Designated bridge ID: [8192] A8:F9:4B:AA:39:7B
esr# sh spanning-tree gigabitethernet 1/0/1
###### MST 1. Mapped Vlans: 100
Regional Root ID: [16384] A8:F9:4B:AA:39:7B
This switch is the Regional Root
Name State Prio.Num Cost Status Role PortFast Type
------------ ----- -------- --------- -------- -------- -------- --------------------
gi1/0/1 en 128.2305 4 FRW Desg No P2P Inter
###### MST 2. Mapped Vlans: 200
Regional Root ID: [8192] A8:F9:4B:AA:39:7B
This switch is the Regional Root
Name State Prio.Num Cost Status Role PortFast Type
------------ ----- -------- --------- -------- -------- -------- --------------------
gi1/0/1 en 128.2305 4 FRW Desg No P2P Inter
|
Настройка протокола MSTP завершена.
| Scroll Pagebreak |
|---|
Настройка BPDU Guard
BPDU Guard — функция, позволяющая блокировать порт при поступлении BPDU. Это предотвращает случайное или злонамеренное создание петель в сети. Рекомендуется включать BPDU Guard на портах, к которым подключены конечные устройства. Функция может быть использована на физических, sub, q-in-q интерфейсах, а также на port-channel.
| Примечание |
|---|
Функция недоступна на устройствах ESR-1000, ESR-1200, ESR-15xx, ESR-1700. |
При обнаружении входящего BPDU порт переводится в статус errdisable. В логе появятся соответствующие сообщения:
| Блок кода |
|---|
2025-07-01T10:45:48+00:00 %MSTPD-W-BPDUGUARD: Received BPDU on port gigabitethernet 1/0/3 with BPDU Guard - disabling port
2025-07-01T10:45:48+00:00 %LINK-W-ERRDISABLE: gigabitethernet 1/0/3 changed state to ErrDisable, cause 'bpduguard'
|
По умолчанию порт не будет пытаться автоматически переходить в состояние "Up". Это можно сделать командой:
| Блок кода |
|---|
esr# set interface active gigabitethernet 1/0/3 |
Возможна настройка автоматического восстановления. По умолчанию временной интервал составляет 300 секунд (значение меняется от 30 до 86400 секунд):
| Блок кода |
|---|
esr-15r(config)# errdisable recovery cause bpduguard
esr-15r(config)# errdisable recovery interval
30-86400 Specify the timeout interval in seconds
|
При попытке восстановления порта в логе появится сообщение:
| Блок кода |
|---|
esr# 2025-07-02T03:25:25+00:00 %LINK-W-ERRDISABLE_RECOVERY: Attempting to recover gigabitethernet 1/0/3 from ErrDisable state caused by 'bpduguard' |
Алгоритм настройки
...
esr(config-if-gi)# spanning-tree bpduguard
...
esr(config)# errdisable recovery cause bpduguard
...
esr(config)# errdisable recovery interval <TIME>
...
Пример настройки
Задача:
Включить BPDU Guard на физическом интерфейсе gigabitethernet 1/0/3, к которому подключено конечное устройство. При поступлении BPDU порт должен отключаться на 60 секунд и автоматически восстанавливаться.
Решение:
Включаем на gigabitethernet 1/0/3 BPDU Guard:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/3
esr(config-if-gi)# spanning-tree bpduguard |
Включаем автоматическое восстановление интерфейса и задаём временной интервал 60 секунд:
| Блок кода |
|---|
esr(config)# errdisable recovery cause bpduguard
esr(config)# errdisable recovery interval 60 |
Проверим настройки восстановления интерфейса:
| Блок кода |
|---|
esr# show errdisable recovery
Timer interval: 60 seconds
Reason Automatic Recovery
---------- -------------------
bpduguard Enabled |
| Scroll Pagebreak |
|---|
После перехода интерфейса в состояние блокировки, его статус будет отображаться как ErrDisable:
| Блок кода |
|---|
esr# show interfaces status
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ---------- ----- ----- ----------------- ------------- ------------
gi1/0/1 Up Up 1500 68:13:e2:7e:73:91 00,18:31:16 routerport
gi1/0/2 Up Down 1500 68:13:e2:7e:73:92 00,18:31:22 routerport
gi1/0/3 ErrDisable Down 1500 68:13:e2:7e:73:93 00,00:00:08 switchport |
Подробную информацию о блокировке интерфейсов можно посмотреть командой:
| Блок кода |
|---|
esr-15r# show interfaces status errdisable
Interface Err-Disable Reason Auto-Recovery Time Left
(sec)
-------------------- ------------------- ------------------------
gi1/0/3 bpduguard 56 |
Настройка Bridge
Bridge (мост) — это способ соединения двух и более сегментов Ethernet на канальном уровне без использования протоколов более высокого уровня, таких как IP. Пакеты передаются на основе Ethernet-адресов, а не IP-адресов. Поскольку передача выполняется на канальном уровне (уровень 2 модели OSI), трафик протоколов более высокого уровня прозрачно проходит через мост.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Добавить сетевой мост (bridge) в систему и перейти в режим настройки его параметров. | esr(config)# bridge <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
2 | Активировать сетевой мост. | esr(config-bridge)# enable | |
3 | Указать экземпляр VRF, в котором будет работать данный интерфейс (необязательно). | esr(config-bridge)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Назначить описание конфигурируемому сетевому мосту (необязательно). | esr(config-bridge)# description <DESCRIPTION> | <DESCRIPTION> – описание сетевого моста, задаётся строкой до 255 символов. |
5 | Связать саб-интерфейс, qinq-интерфейс, L2GRE-туннель или L2TPv3-туннель с сетевым мостом. Связанные интерфейсы/туннели и сетевые мосты автоматически становятся участниками общего L2-домена (необязательно). | esr(config-if-gi)# bridge-group <BRIDGE-ID> esr(config-if-l2tpv3)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
6 | Связать текущий сетевой мост с VLAN. Все интерфейсы и L2-туннели, являющиеся членами назначаемого VLAN, автоматически включаются в сетевой мост и становятся участниками общего L2-домена (необязательно). | esr(config-bridge)# vlan <VID> | <VID> – идентификатор VLAN, задаётся в диапазоне [1..4094]. |
7 | Указать размер MTU (Maximum Transmition Unit) пакетов, которые может пропускать данный bridge (необязательно; возможно, если в bridge включен только VLAN). | esr(config-bridge)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
| 8 | Указать IPv4/IPv6-адрес и маску подсети для конфигурируемого интерфейса или включить получение IP-адреса динамически. | esr(config-bridge)# ip address <ADDR/LEN> [unit <ID>] или esr(config-bridge)# ip address <ADDR/LEN> secondary [unit <ID>] | <ADDR/LEN> – IP-адрес и длина маски подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. <ID> – номер юнита, принимает значения [1..4]. Ключ secondary указывает, что настроенный адрес является дополнительным IP-адресом. Если это ключевое слово отсутствует, настроенный адрес является основным IP-адресом. Возможно указать до 7 дополнительных IP-адресов. Дополнительные функции IPv4-адресации см. в разделе Настройка IP-адресации. |
esr(config-bridge)# ipv6 address <IPV6-ADDR/LEN> [unit <ID>] | <IPV6-ADDR/LEN> – IP-адрес и префикс подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. <ID> – номер юнита, принимает значения [1..4]. Дополнительные функции IPv6-адресации см. в разделе Настройка IPv6-адресации. Можно указать несколько IPv4/IPv6-адресов перечислением через запятую. Может быть назначено до 8 IPv4/IPv6-адресов на интерфейс. | ||
esr(config-bridge)# ip address dhcp | Дополнительные функции при работе DHCP-клиента см. в разделе Управление DHCP-клиентом. | ||
9 | Отключить на интерфейсе функции Firewall или включить интерфейс в зону безопасности (см. раздел Конфигурирование Firewall). | esr(config-bridge)# ip firewall disable | |
esr(config-bridge)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. | ||
| 10 | Включить запись статистики использования текущего интерфейса (необязательно). | esr(config-bridge)# history statistics | |
11 | Задать интервал времени, за который усредняется статистика о нагрузке на bridge (необязательно). | esr(config-bridge)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
12 | Задать MAC-адрес сетевого моста, отличный от системного (необязательно). | esr(config-bridge)# mac-address <ADDR> | <ADDR> – МАС-адрес сетевого моста, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. |
13 | Включить на bridge режим изоляции интерфейсов. Командой protected-ports exclude {<IF> | <TUN> | <VLAN>} исключаются из списка изолируемых сущности, включенные в сетевой мост. | esr(config-bridge)# protected-ports <MODE> |
|
| esr(config-bridge)# protected-ports exclude {<IF> | <TUN> | <VLAN>} | <IF> – интерфейс, задается в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора. <TUN> – имя туннеля, задается в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. <VLAN> – vlan, связанный с сетевым мостом. | ||
14 | Запретить коммутацию трафика unknown-unicast (когда MAC-адрес назначения не содержится в таблице коммутации) в данном bridge (необязательно; применимо только на ESR-1000/1200/1500/1511/1700/ | esr(config-bridge)# unknown-unicast-forwarding disable | |
15 | Установить время жизни IPv4/IPv6-записей в ARP-таблице, изученных на данном bridge (необязательно). | esr(config-bridge)# ip arp reachable-time <TIME> или esr(config-bridge)# ipv6 nd reachable-time <TIME> | <TIME> – время жизни динамических MAC-адресов, в миллисекундах. Допустимые значения от 5000 до 100000000 миллисекунд. Реальное время обновления записи варьируется от [0,5;1,5]*<TIME>. |
Также для bridge-интерфейса возможно настроить:
| |||
...
LACP — протокол для агрегирования каналов, позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Установить приоритет системы для протокола LACP. | esr(config)# lacp system-priority <PRIORITY> | <PRIORITY> – приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. |
2 | Установить механизм балансировки нагрузки для групп агрегации каналов. | esr(config)# port-channel load-balance { src-dst-mac-ip | |
|
3 | Установить административный таймаут протокола LACP. | esr(config)# lacp timeout {short | long } |
Значение по умолчанию: long. |
4 | Создать и перейти в режим конфигурирования агрегированного интерфейса. | esr(config)# interface port-channel { <ID> | <UNIT>/<ID> } | <UNIT> – номер устройства в группе устройств [1..4]. <CH> – порядковый номер группы агрегации каналов, принимает значения [1..12]. |
| esr(config)# interface port-channel { <ID> | <UNIT>/<ID> }.<S-VLAN> | <UNIT> – номер устройства в группе устройств [1..4]. <CH> – порядковый номер группы агрегации каналов, принимает значения [1..12]. <S-VLAN> – идентификатор создаваемого S-VLAN. | ||
| esr(config)# interface port-channel { <ID> | <UNIT>/<ID> }.<S-VLAN>.<C-VLAN> | <C-VLAN> – идентификатор создаваемого C-VLAN. | ||
5 | Настроить необходимые параметры агрегированного канала. | esr(config-if-port-channel)# mode switchport | Установить интерфейс в режим L2 |
| esr(config-if-port-channel)# mode routerport | Установить интерфейс в режим L3 | ||
| 6 | Задать скорость (необязательно). | esr(config-if-port-channel)# speed <SPEED> | <SPEED> – значение скорости:
Параметр наследуют все физические интерфейсы, принадлежащие данной группе агрегации каналов. Значение по умолчанию: 1000M |
| 7 | Изменить размер MTU (MaximumTransmitionUnit). MTU более 1500 будет активно, только если применена команда system jumbo-frames (необязательно). | esr(config-if-port-channel)# mtu <MTU> | <MTU> – значение MTU в байтах. Параметр наследуют все физические интерфейсы, принадлежащие данной группе агрегации каналов. Значение по умолчанию: 1500. |
| 8 | Перейти в режим конфигурирования физического интерфейса. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> – тип интерфейса (gigabitethernet или tengigabitethernet). <IF-NUM> – U/S/P – U-юнит (1), S – слот (0), P – порт. |
| 9 | Включить физический интерфейс в группу агрегации каналов с указанием режима формирования группы агрегации каналов. | esr(config-if-gi)# channel-group <ID> mode <MODE> | <ID> – порядковый номер группы агрегации каналов, принимает значения [1..12]. <MODE> – режим формирование группы агрегации каналов:
|
| 10 | Установить LACP-приоритет интерфейса Ethernet. | esr(config-if-gi)# lacp port-priority <PRIORITY> | <PRIORITY> – приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. |
| 11 | Установить интервал времени, в течение которого собирается статистика о нагрузке на интерфейс (необязательно). | esr(config-if-gi)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. |
| 12 | Включить запись статистики использования текущего интерфейса (необязательно). | esr(config-if-gi)# history statistics | |
Также для агрегированного интерфейса возможно настроить:
| |||
Пример настройки
Задача:
Настроить агрегированный канал между маршрутизатором ESR и коммутатором с помощью tengigabitethernet-интерфейсов со значением MTU 9000 в режиме Trunk для передачи всех VLAN, созданных на маршрутизаторе.
Решение:
Предварительная конфигурация:
...





