...
Настройка физического интерфейса
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Переход в режим конфигурирования функционала. |
scs(config)# interface gigabitethernet |
scs(config)# interface tengigabitethernet |
esr(config)# interface fourtygigabitethernet
scs(config)# interface |
esr(config)# interface port-channel { <ID> | <UNIT>/<ID> }
<UNIT> – номер устройства в группе устройств [1..4].<ID> –
port-channel <ID> | <ID> — порядковый номер группы агрегации каналов, принимает значения [1.. |
| 2] . | |
| 2 | Выключить интерфейс. |
| scs(config-if-gi)# shutdown | |
3 | Задать описание (необязательно). |
scs(config-if-gi)# description <text> | <text> |
— до 255 символов. | |
| 4 | Задать MTU (необязательно). |
| scs(config-if-gi)# mtu <count> | <count> |
— 552-10000. Значение по умолчанию: 1500. | |
| 5 | Задать скорость и режим работы приемопередатчика (необязательно). |
| scs(config-if-gi)# speed <SPEED> <DUPLEX> | <SPEED> |
значение скорости:
|
|
|
|
|
Значение по умолчанию: auto. <DUPLEX> |
— режим работы приемопередатчика, принимает значения:
|
|
| |
| 6 | Задать MAC-адрес (необязательно). |
| scs(config-if-gi)# mac-address <ADDR> | <ADDR> |
— МАС-адрес сетевого моста, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. |
...
...
На данном этапе настройки нет необходимости в задании настроек firewall.
Пример настройки режима L2
...
- Задать MAC-address 68:13:e2:7e:e4:9a;
- Перевести интерфейс в режим SwitchportRouterport;
- Установить значение MTU=1400;
- Перевести интерфейс в режим работы Full-duplex на скорости 10M100M.
...
Решение:
Перейдём в режим конфигурирования интерфейса gigabitethernet 1/0/1 и зададим на нём нем MAC-address 68:13:e2:7e:e4:9a:
| Блок кода |
|---|
esr#scs# configure configure esrscs(config)# interface gigabitethernet 1/0/1 esrscs(config-if-gi)# mac-address 68:13:e2:7e:e4:9a |
Переведём интерфейс в режим swithcport:
| Блок кода |
|---|
esr(config-if-gi)# mode switchport |
Установим значение MTU на интерфейсе, равное 1400:
| Блок кода |
|---|
esrscs(config-if-gi)# mtu 1400 |
Установим на интерфейсе скорость 10M 100M и согласуем режим работы приемопередатчика в полном дуплексе. Выйдем из режима конфигурирования, применим и сохраним настройки:
| Блок кода |
|---|
esrscs(config-if-gi)# speed 10m100m full-duplex duplex esrscs(config-if-gi)# end esr#scs# commit esr#scs# confirm |
Scroll Pagebreak
Проверим настроенные параметры на интерфейсе:
| Блок кода |
|---|
esr#scs# show interfaces switch-port status gigabitethernet 1/0/1 Interface gigabitethernet 1/0/1 Status: Up Media: copper Speed: 10M100M Duplex: full Flow Control: Disabled MDI Mode: MDI |
Настройка
...
VLAN (англ. Virtual Local Area Network) — логическая («виртуальная») локальная сеть, представляет собой группу устройств, которые взаимодействуют между собой на канальном уровне независимо от их физического местонахождения. Работа VLAN основана на использовании дополнительных полей Ethernet-заголовка согласно стандарту 802.1q. По сути, VLAN изолирует широковещательный домен путем ограничения коммутации Ethernet-фреймов только с одинаковым VLAN-ID в Ethernet-заголовке.
...
LLDP
Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование, работающее в локальной сети, о своем существовании и передавать ему свои характеристики, а также получать от него аналогичные сведения.
Алгоритм настройки
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 |
Активировать LLDP на консольном сервере. |
scs(config)# |
<VID> – идентификатор VLAN, задаётся в диапазоне [2..4094].
Также есть возможность создания нескольких vlan (через запятую), диапазона vlan (через дефис или комбинированную запись, содержащую запятые и дефисы).
2
Задать имя vlan (необязательно).
esr(config-vlan)# name <vlan-name>
<vlan-name> – до 255 символов.
3
Отключить отслеживание состояния интерфейсов, на которых разрешена обработка Ethernet-фреймов данного VLAN (необязательно).
esr(config-vlan)# force-up
Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/
100/200/3100/3200/3200L/3250/3250/3300/3350/3350.
Данный режим является режимом по умолчанию и не отображается в конфигурации.
Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/
100/200/3100/3200/3200L/3250/3300/3350.
Только для ESR-1000/1200/1500/1511 (rev.B)/1700.
Данный режим является режимом по умолчанию и не отображается в конфигурации.
esr(config-if-gi)# switchport trunk allowed vlan <ACT> <VID>
Для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/100/200/
3100/3200/3200L/3250/3300/3350.
<ACT> – назначаемое действие:
add – включение интерфейса во VLAN;
remove – исключение интерфейса из VLAN.
<VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно задать диапазоном через «-» или перечислением через «,».
esr(config-if-gi)# switchport general allowed vlan <ACT> <VID> [<TYPE>]
Для ESR-1000/1200/1500/
1511 (rev.B)/1700.
<ACT> – назначаемое действие:
add – включение интерфейса во VLAN;
remove – исключение интерфейса из VLAN.
<VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно задать диапазоном
через «-» или перечислением через «,»;
<TYPE> – тип пакета:
tagged – интерфейс будет передавать и принимать пакеты в указанных VLAN тегированными;
untagged – интерфейс будет передавать пакеты в указанных VLAN нетегированными. VLAN, в которую будут направлены входящие нетегированные пакеты, настраивается командой switchport general pvid.
esr(config-if-gi)# switchport trunk native-vlan <VID>
Для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/100/200/
3100/3200/3200L/3250/3300/3350.
<VID> – идентификатор VLAN, задаётся в диапазоне [2..4094].
Установить идентификатор VLAN-порта (PVID) для входящего нетегированного трафика (необязательно).
esr(config-if-gi)# switchport general pvid <VID>
Для ESR-1000/1200/1500/
1511 (rev.B)/1700.
<VID> – идентификационный номер VLAN, задаётся в диапазоне [1…4094].
Только для ESR-10/12V(F)/15/15R/15VF/20/21/30/31/
100/200/3100/3200/3200L/3250/3300/3350.
1700.
Добавить интерфейс в группу изоляции (необязательно).
Данная команда актуальна, только если порт находится в режиме изоляции по группам.
Манипуляции с VLAN на интерфейсе
Пример настройки 1
| Информация |
|---|
Данный пример предназначен для использования при конфигурировании VLAN на устройствах ESR-10/12V(F)/15/15R/15VF/20/21/30/31/100/200/3100/3200/3200L/3250/3300/3350. |
Задача:
На основе заводской конфигурации для ESR-30 удалить из VLAN 2 порт gigabitethernet 1/0/1 и назначить его на интерфейс gigabitethernet 1/0/2 в нетегированном режиме.
| Scroll Pagebreak |
|---|
Решение:
Попадём на интерфейс gigabitethernet 1/0/1 и удалим его из VLAN 2:
| Блок кода |
|---|
esr# configure
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# no switchport access vlan
esr(config-if-gi)# exit |
Перейдём на интерфейс gigabitethernet 1/0/2 и назначим его в VLAN 2:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# switchport access vlan 2 |
Применим и сохраним изменения конфигурации:
| Блок кода |
|---|
esr(config-if-gi)# end
esr# commit
esr# confirm |
Проверим, что внесенные изменения вступили в силу, и теперь интерфейс gigabitethernet 1/0/2 принадлежит к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr# show vlans 2
VID Name Tagged Untagged
---- -------------------- ---------------------- ----------------------
2 -- gi1/0/2, te1/0/1-2 |
Пример настройки 2
| Информация |
|---|
Данный пример предназначен для использования при конфигурировании VLAN на устройствах ESR-1000/1200/1500/1511/1700. |
Задача:
На основе заводской конфигурации для ESR-1000 удалить из VLAN 2 порт gigabitethernet 1/0/1 и назначить его на интерфейс gigabitethernet 1/0/2 в нетегированном режиме.
| Scroll Pagebreak |
|---|
Решение:
Попадём на интерфейс gigabitethernet 1/0/1 и удалим его из VLAN 2:
| Блок кода |
|---|
esr# configure
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# switchport general allowed vlan remove 2 untagged
esr(config-if-gi)# no switchport general pvid
esr(config-if-gi)# exit |
Перейдём на интерфейс gigabitethernet 1/0/2 и назначим его в VLAN 2:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# switchport general allowed vlan add 2 untagged
esr(config-if-gi)# switchport general pvid 2
esr(config-if-gi)# end |
Применим и сохраним изменения конфигурации:
| Блок кода |
|---|
esr(config-if-gi)# end
esr# commit
esr# confirm |
Проверим, что внесенные изменения вступили в силу, и теперь интерфейс gigabitethernet 1/0/2 принадлежит к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr# show vlans 2
VID Name Tagged Untagged
---- -------------------- ---------------------- ----------------------
2 -- gi1/0/2, te1/0/1-2 |
Разрешение обработки VLAN в тегированном и нетегированном режимах
Пример настройки 1
| Информация |
|---|
Данный пример предназначен для использования при конфигурировании VLAN на устройствах ESR-10/12V(F)/15/15R/15VF/20/21/30/31/100/200/3100/3200/3200L/3250/3300/3350. |
Задача:
На ESR-30 настроить интерфейс gigabitethernet 1/0/1 на режим trunk для передачи и приема фреймов в VLAN 2, VLAN 64, VLAN 2000 в тегированном режиме в сторону устройства Switch. Интерфейс gigabitethernet 1/0/2 настроить на режим access для определения нетегированного трафика от РС в VLAN 2.
Решение:
Перейдём в глобальный режим конфигурирования устройства и создадим VLAN 2, VLAN 64, VLAN 2000:
| Блок кода |
|---|
esr(config)# vlan 2,64,2000
esr(config-vlan)# exit |
Перейдём в режим настройки интерфейса gigabitethernet 1/0/1, запретим использование default-vlan (VLAN 1) и настроим его принадлежность к VLAN 2, VLAN 64, VLAN 2000 в тегированном режиме:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 2,64,2000
esr(config-if-gi)# exit |
Перейдём в режим настройки интерфейса gigabitethernet 1/0/2 и определим его к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport access vlan 2 |
Применим и сохраним изменения конфигурации:
| Блок кода |
|---|
esr(config-if-gi)# end
esr# commit
esr# confirm |
Проверим, что внесенные изменения вступили в силу, и теперь интерфейс gigabitethernet 1/0/1 принадлежит к VLAN 2, 64, 2000, настроенным в тегированном режиме, а интерфейс gigabitethernet 1/0/2 принадлежит к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr# show vlans
VID Name Tagged Untagged
---- -------------------- ---------------------- ----------------------
2 -- gi1/0/1 gi1/0/2
64 -- gi1/0/1
2000 -- gi1/0/1 |
Пример настройки 2
| Информация |
|---|
Данный пример предназначен для использования при конфигурировании VLAN на устройствах ESR-1000/1200/1500/1511/1700. |
Задача:
На ESR-1000 настроить интерфейс gigabitethernet 1/0/1 на режим trunk для передачи и приема фреймов в VLAN 2, VLAN 64, VLAN 2000 в тегированном режиме в сторону устройства Switch. Интерфейс gigabitethernet 1/0/2 настроить на режим access для определения нетегированного трафика от РС в VLAN 2.
Решение:
Перейдём в глобальный режим конфигурирования устройства и создадим VLAN 2, VLAN 64, VLAN 2000:
| Блок кода |
|---|
esr(config)# vlan 2,64,2000
esr(config-vlan)# exit |
Перейдём в режим настройки интерфейса gigabitethernet 1/0/1, запретим использование default-vlan (VLAN 1) и настроим его принадлежность к VLAN 2, VLAN 64, VLAN 2000 в тегированном режиме:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode general
esr(config-if-gi)# switchport general allowed vlan add 2,64,2000 tagged
esr(config-if-gi)# exit |
Перейдём в режим настройки интерфейса gigabitethernet 1/0/2, запретим использование default-vlan (VLAN 1), укажем Port-VLAN ID (PVID) 2 и определим его к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode general
esr(config-if-gi)# switchport general allowed vlan add 2 untagged
esr(config-if-gi)# switchport general pvid 2 |
Применим и сохраним изменения конфигурации:
| Блок кода |
|---|
esr(config-if-gi)# end
esr# commit
esr# confirm |
Проверим, что внесенные изменения вступили в силу, и теперь интерфейс gigabitethernet 1/0/1 принадлежит к VLAN 2, 64, 2000, настроенным в тегированном режиме, а интерфейс gigabitethernet 1/0/2 принадлежит к VLAN 2 в нетегированном режиме:
| Блок кода |
|---|
esr# show vlans
VID Name Tagged Untagged
---- -------------------- ---------------------- ----------------------
2 -- gi1/0/1 gi1/0/2
64 -- gi1/0/1
2000 -- gi1/0/1 |
...
Технология Private VLAN (PVLAN) позволяет производить разграничение трафика на втором уровне модели OSI между портами маршрутизатора, которые находятся в одном широковещательном домене.
На маршрутизаторе может быть сконфигурировано три типа PVLAN-портов:
- promiscuous – это порт, который способен обмениваться данными между любыми интерфейсами, включая isolated- и community-порты PVLAN;
- isolated – это порт, который полностью изолирован от других портов внутри одного и того же PVLAN, но не от promiscuous-портов. PVLAN блокируют весь трафик, идущий в сторону isolated-портов, кроме трафика со стороны promiscuous-портов; пакеты со стороны isolated-портов могут передаваться только в сторону promiscuous-портов;
- community – это группа портов, которые могут обмениваться данными между собой и promiscuous-портами, эти интерфейсы отделены на втором уровне модели OSI от всех остальных community-интерфейсов, а также isolated-портов внутри PVLAN.
Задача:
Настроить изоляцию портов в одном широковещательном домене (PVLAN). Порты gi1/0/2 и gi1/0/3 должны относиться к community 1, порт gi1/0/4 должен быть изолирован в сторону promission port. В качестве promission port выступает gi1/0/1.
Решение:
Создайте VLAN 10:
| Блок кода |
|---|
esr(config)# vlan 10
esr(config-vlan)# exit |
Настройте интерфейс gi1/0/1 в режиме «promiscuous port»:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 10
esr(config-if-gi)# exit |
Настройте интерфейсы gi1/0/2, gi1/0/3 в режиме «community port»:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport protected-port
esr(config-if-gi)# switchport community 1
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 10
esr(config-if-gi)# exit
esr(config)# interface gigabitethernet 1/0/3
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport protected-port
esr(config-if-gi)# switchport community 1
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 10
esr(config-if-gi)# exit |
Настройте интерфейс gi1/0/4 в режиме «isolated port»:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/4
esr(config-if-gi)# mode switchport
esr(config-if-gi)# switchport protected gigabitethernet 1/0/1
esr(config-if-gi)# switchport forbidden default-vlan
esr(config-if-gi)# switchport mode trunk
esr(config-if-gi)# switchport trunk allowed vlan add 10
esr(config-if-gi)# exit |
Информацию о состоянии физических интерфейсов в режиме изоляции по группам можно узнать с помощью команды:
| Блок кода |
|---|
esr# show interfaces protected-ports
|
Настройка LLDP
Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование, работающее в локальной сети, о своём существовании и передавать ему свои характеристики, а также получать от него аналогичные сведения.
Алгоритм настройки
...
1
...
Активировать LLDP на маршрутизаторе.
...
esr(config)# lldp enable
...
2
...
Включить прием и обработку LLDPDU на физическом интерфейсе.
...
esr(config-if-gi)# lldp receive
...
3
...
Включить отправку LLDPDU на физическом интерфейсе.
...
esr(config-if-gi)# lldp transmit
...
4
...
Установить период отправки LLDPDU (необязательно).
...
esr(config)# lldp timer <SEC>
...
<SEC> – период времени в секундах, принимает значение [1..32768].
Значение по умолчанию: 30.
...
5
...
Установить период, в течение которого маршрутизатор хранит информацию, полученную по LLDP (необязательно).
...
esr(config)# lldp hold-multiplier <SEC>
...
<SEC> – период времени в секундах, принимает значение [1..10].
Значение по умолчанию: 4.
...
6
...
Установить IP-адрес, который будет передаваться в LLDP TLV в качестве management-address (необязательно).
...
esr(config)# lldp management-address <ADDR>
...
<ADDR> – IP-адрес, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
По умолчанию задается один из существующих.
...
7
...
Установить поле system-description, которое будет передаваться в LLDP TLV в качестве system-description (необязательно).
...
esr(config)# lldp system-description <DESCRIPTION>
...
<DESCRIPION> – описание системы, задаётся строкой до 255 символов.
По умолчанию содержит информацию о модели и версии ПО маршрутизатора.
...
8
...
Установить поле system-name, которое будет передаваться в LLDP TLV в качестве system-name (необязательно).
...
esr(config)# lldp system-name <NAME>
...
<NAME> – имя системы, задается строкой до 255 символов.
По умолчанию совпадает с заданным hostname.
Пример настройки
Задача:
Организовать обмен и обработку LLDPDU между маршрутизаторами ESR-1 и ESR-2.
Решение:
Конфигурирование R1
Включим LLDP глобально на маршрутизаторе:
| Блок кода |
|---|
esr(config)# lldp enable |
| Scroll Pagebreak |
|---|
...
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# lldp receive
esr(config-if-gi)# lldp transmit |
...
Включим 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 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), трафик протоколов более высокого уровня прозрачно проходит через мост.
Алгоритм настройки
...
esr(config)# bridge <BRIDGE-ID>
...
<BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
- для ESR-10/12V(F)/
15/15R/15VF – [1..50]; - для ESR-20/21/30/31/
100/200 – [1..250]; - для ESR-1000/1200/
1500/1511 (rev.B)/1700/3100/
3200/3200L/3250/3250/3300/3350/
3350 – [1..500].
...
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> – идентификационный номер моста, принимает значения в диапазоне:
- для ESR-10/12V(F)/
15/15R/15VF – [1..50]; - для ESR-20/21/30/
31/100/200 – [1..250]; - для ESR-1000/1200/
1500/1511 (rev.B)/1700/3100/
3200/3200L/3250/3250/3300/3350/
3350 – [1..500].
...
6
...
Связать текущий сетевой мост с VLAN. Все интерфейсы и L2-туннели, являющиеся членами назначаемого VLAN, автоматически включаются в сетевой мост и становятся участниками общего L2-домена (необязательно).
...
esr(config-bridge)# vlan <VID>
...
<VID> – идентификатор VLAN, задаётся в диапазоне [1..4094].
...
7
...
Указать размер MTU (Maximum Transmition Unit) пакетов, которые может пропускать данный bridge (необязательно; возможно, если в bridge включен только VLAN).
MTU более 1500 будет активно только в случае применения команды "system jumbo-frames".
...
esr(config-bridge)# mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне:
- для ESR-10/12V(F)/15/
15R/15VF – [552..9600]; - для ESR-20/21/30/
31 – [552..9500]; - для ESR-100/200/
1000/1200/1500/
1511 (rev.B)/1700/3100/
3200/3200L/
3250/3250/3300/3350/
3350 – [552..10000].
Значение по умолчанию: 1500.
...
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
...
9
...
Отключить на интерфейсе функции Firewall или включить интерфейс в зону безопасности (см. раздел Конфигурирование Firewall).
...
esr(config-bridge)# ip firewall disable
...
esr(config-bridge)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
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>
...
- none – изоляция интерфейсов отключена. В данном режиме коммутация кадров между членами сетевого моста разрешена;
- local – изоляция интерфейсов включена. В данном режиме коммутация кадров между членами сетевого моста запрещена;
- radius – изоляция интерфейсов включена. Для использования данного режима требуется настройка Wi-Fi контроллера туннелей в режиме "radius". В данном режиме коммутация кадров между членами сетевого моста запрещена, за исключением SoftGRE DATA туннелей. Для SoftGRE DATA-туннелей параметры изоляции запрашиваются у RADIUS-сервера.
...
<IF> – интерфейс, задается в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора.
<TUN> – имя туннеля, задается в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.
<VLAN> – vlan, связанный с сетевым мостом.
...
14
...
Запретить коммутацию трафика unknown-unicast (когда MAC-адрес назначения не содержится в таблице коммутации) в данном bridge (необязательно; применимо только на ESR-1000/1200/1500/1511/1700/
3100/3200/3200L/3250/3250/3300/3350/3350).
...
esr(config-bridge)# unknown-unicast-forwarding disable
lldp enable | |||
2 | Включить прием и обработку LLDPDU на физическом интерфейсе. | scs(config-if-gi)# lldp receive | |
3 | Включить отправку LLDPDU на физическом интерфейсе. | scs(config-if-gi)# lldp transmit | |
4 | Установить период отправки LLDPDU (необязательно). | scs(config)# lldp timer <SEC> | <SEC> — период времени в секундах, принимает значение [1..32768]. Значение по умолчанию: 30. |
5 | Установить период, в течение которого консольный сервер хранит информацию, полученную по LLDP (необязательно). | scs(config)# lldp hold-multiplier <SEC> | <SEC> — период времени в секундах, принимает значение [1..10]. Значение по умолчанию: 4. |
6 | Установить IP-адрес, который будет передаваться в LLDP TLV в качестве management-address (необязательно). | scs(config)# lldp management-address <ADDR> | <ADDR> — IP-адрес, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. По умолчанию задается один из существующих. |
7 | Установить поле system-description, которое будет передаваться в LLDP TLV в качестве system-description (необязательно). | scs(config)# lldp system-description <DESCRIPTION> | <DESCRIPION> — описание системы, задается строкой до 255 символов. По умолчанию содержит информацию о модели и версии ПО сервера. |
8 | Установить поле system-name, которое будет передаваться в LLDP TLV в качестве system-name (необязательно). | scs(config)# lldp system-name <NAME> | <NAME> — имя системы, задается строкой до 255 символов. По умолчанию совпадает с заданным hostname. |
Пример настройки
Задача:
Организовать обмен и обработку LLDPDU между маршрутизатором ESR и консольным сервером.
Решение:
- Конфигурирование SCS.
Включим LLDP глобально на устройстве:
Включим прием и отправку LLDPDU на интерфейсе gi 1/0/1:Блок кода scs(config)# lldp enableБлок кода scs(config)# interface gigabitethernet 1/0/1 scs(config-if-gi)# lldp receive scs(config-if-gi)# lldp transmitScroll Pagebreak - Конфигурирование ESR.
Включим 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-соседям можно посмотреть командой:
Блок кода scs# show lldp neighborsПодробную информацию по соседу конкретного интерфейса можно посмотреть командой:
Блок кода scs# show lldp neighbors gigabitethernet 1/0/1Общую статистику по LLDP можно посмотреть командой:
Блок кода scs# show lldp statistics
...
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
LACP — протокол для агрегирования каналов, позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Установить приоритет системы для протокола LACP. | esrscs(config)# lacp system-priority <PRIORITY> | <PRIORITY> – — приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. | |||||||||
2 | Установить механизм балансировки нагрузки для групп агрегации каналов. | esrscs(config)# port-channel load-balance { src-dst-mac-ip | |
| |||||||||
3 | Установить административный таймаут протокола LACP. | esrscs(config)# lacp timeout {short | long } |
Значение по умолчанию: long. | |||||||||
4 | Создать и перейти в режим конфигурирования агрегированного интерфейса. | esrscs(config)# interface port-channel { <ID> | <UNIT>/<ID> } | <CH> — <UNIT> – номер устройства в группе устройств [1..4]. <CH> – порядковый номер группы агрегации каналов, принимает значения [1..122]. | esr|||||||||
| scs(config)# interface port- | channel { <ID> | <UNIT>/<ID> }.<S-VLAN>channel <CH> .<S-VLAN> | <CH> — | порядковый номер группы агрегации каналов, принимает значения [1.. | 122]. <S-VLAN> | – — идентификатор создаваемого S-VLAN. | esr|||||||
| scs(config)# interface port- | channel { <ID> | <UNIT>/<ID> }channel <CH> .<S-VLAN>.<C-VLAN> | <CH> — порядковый номер группы агрегации каналов, принимает значения [1..2] . <S-VLAN> — идентификатор создаваемого S-VLAN. <C-VLAN> | – — идентификатор создаваемого C-VLAN. | |||||||||
| 5 | Настроить необходимые параметры агрегированного канала. | esr(config-if-port-channel)# mode switchport | Установить интерфейс в режим L2 | |||||||||
| esr(config-if-port-channel)# mode routerport | Установить интерфейс в режим L3 | |||||||||||
| 6 | Задать скорость (необязательно). | esrscs(config-if-port-channel)# speed <SPEED> | <SPEED> | – — значение скорости:
| –
| –
| Мбит/с;1000M – значение скорости 1000
| /с;7 | Изменить размер MTU (MaximumTransmitionUnit). MTU более 1500 будет активно, только если применена команда system jumbo-frames (необязательно). | esr(config-if-port-channel)# mtu <MTU> | <MTU> – значение MTU в байтах.
Параметр наследуют все физические интерфейсы, принадлежащие данной группе агрегации каналов. Значение по умолчанию: | 1500.1000M |
| 8 | Перейти в режим конфигурирования физического интерфейса. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> – тип интерфейса (gigabitethernet или tengigabitethernet). <IF-NUM> – U/S/P – U-юнит (1), S – слот (0), P – порт. | |||||||||
| 6 | Изменить размер MTU (MaximumTransmitionUnit). MTU более 1500 будет активно, только если применена команда system jumbo-frames (необязательно). | scs | 9 | Включить физический интерфейс в группу агрегации каналов с указанием режима формирования группы агрегации каналов. | esr(config-if-giport-channel)# channel-group <ID> mode <MODE> | <ID> – порядковый номер группы агрегации каналов, принимает значения [1..12]. <MODE> – режим формирование группы агрегации каналов:
| ||||||
| 10 | Установить LACP-приоритет интерфейса Ethernet. | esr(config-if-gi)# lacp port-priority <PRIORITY> | <PRIORITY> – приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. | |||||||||
| mtu <MTU> | <MTU> — значение MTU в байтах. Параметр наследуют все физические интерфейсы, принадлежащие данной группе агрегации каналов. Значение по умолчанию: 1500. | |||||||||||
| 7 | Перейти в режим конфигурирования физического интерфейса. | scs(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> — тип интерфейса (gigabitethernet или tengigabitethernet). <IF-NUM> — U/S/P — U-устройство (1), S — слот (0), P — порт. | |||||||||
| 8 | Включить физический интерфейс в группу агрегации каналов с указанием режима формирования группы агрегации каналов. | scs | 11 | Установить интервал времени, в течение которого собирается статистика о нагрузке на интерфейс (необязательно). | esr(config-if-gi)# load-average <TIME>channel-group <ID> mode <MODE> | <ID> — порядковый номер группы агрегации каналов<TIME> – интервал в секундах, принимает значения [51..1502] . | 12 | Включить запись статистики использования текущего интерфейса (необязательно). | esr(config-if-gi)# history statistics | <MODE> — режим формирование группы агрегации каналов:
| ||
| 9 | Установить LACP-приоритет интерфейса Ethernet. | scs(config-if-gi)# lacp port-priority <PRIORITY> | <PRIORITY> — приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. | |||||||||
| 10 | Установить интервал времени, в течение которого собирается статистика о нагрузке на интерфейс (необязательно). | scs(config-if-gi)# load-average <TIME> | <TIME> — интервал в секундах, принимает значения [5..150]. | |||||||||
| 11 | Включить запись статистики использования текущего интерфейса (необязательно). | scs(config-if-gi)# history statistics | ||||||||||
Также для агрегированного интерфейса возможно настроить:
Также для агрегированного интерфейса возможно настроить:
| ||||||||||||
Пример настройки
Задача:
Настроить агрегированный канал между маршрутизатором ESR консольным сервером и коммутатором с помощью tengigabitethernet-интерфейсов со значением MTU 9000 в режиме Trunk для передачи всех VLAN, созданных на маршрутизаторе.
Решение:
- Предварительная конфигурация:
Предварительно на устройствах необходимо включить поддержку Jumbo-фреймов. Для вступления изменений
...
| Блок кода |
|---|
esr (config)# system jumbo-frames |
Также на устройствах должны быть созданы необходимые VLAN для передачи в режиме Trunk.
Основной этап конфигурирования:
Создадим интерфейс port-channel 3:
| Блок кода |
|---|
esr(config)# interface port-channel 3 |
...
- в силу требуется перезагрузка устройства:
Блок кода
...
scs (config
...
)#
...
system
...
| Scroll Pagebreak |
|---|
Зададим размер MTU = 9000:
| Блок кода |
|---|
esr(config-if-port-channel)# mtu 9000 |
Установим значение скорости физических интерфейсов, на которых будет работать агрегированный интерфейс:
| Блок кода |
|---|
esr(config-if-port-channel)# speed 10G |
...
jumbo-frames- Основной этап конфигурирования:
Создадим интерфейс port-channel 1:Блок кода
...
scs(config
...
)#
...
interface
...
port-channel 1Scroll Pagebreak
Зададим размер MTU = 9000:Блок кода scs(config-if-port-channel)#
...
mtu 9000
Установим значение скорости физических интерфейсов, на которых будет работать агрегированный интерфейс:Блок кода
...
scs(config
...
-if-port-channel)#
...
speed
...
10G
...
Включим интерфейсы в созданную группу агрегации каналов с ID 3 в режиме auto с поддержкой протокола LACP:Блок кода
...
scs(config-if-te)# channel-group
...
1 mode auto
Дальнейшая конфигурация port-channel проводится как на обычном физическом интерфейсе.














