...
Как известно, маршрутизаторы ограничивают широковещательный домен в пределах одного интерфейса, не позволяя broadcast-кадрам коммутироваться между ними.
| Информация |
|---|
Широковещательный домен (сегмент) (англ. broadcast domain) — логический участок компьютерной сети, в котором все узлы могут передавать данные друг другу с помощью широковещания на канальном уровне сетевой модели OSI. |
Помимо этого маршрутизаторы осуществляют обработку входящего трафика на уровнях MAC, VLAN, IP и т.д. в случае, если он предназачен ему. Если трафик не предназначается интерфейсу этого маршрутизатора, то он будет отброшен. Для понимания рассмотрим обе ситуации более детально ниже.
...
На левой стороне Рис.1 мы видим как на интерфейс Gi1/0/1 маршрутизатора поступает три кадра. Первый кадр будет декапсулирован на уровне MAC-заголовка (MAC hdr) после чего будет произведён поиск по таблице маршрутизации согласно которой трафик должен быть отправлен через интерфейс Gi1/0/2. Перед тем как отправить пакет маршрутизатор новый МАС-заголовок к IP-заголовку (IP hdr), а затем перешлёт его через интерфейс.
Два остальных кадра из левой части рисунка будут отброшены им, т.к. в случае второго в нём будет присутствовать заголовок VLAN (VLAN hdr), хотя интерфейс настроен на обработку нетегированного трафика, а в случае третьего мы имеем ARP-запрос, в структуре которого не имеется данных, принадлежащих этому маршрутизатору.
В маршрутизаторах линейки ESR все интерфейсы по умолчанию(при их первоначальной настройке) работают в режиме режиме routerport, что подразумевает под собой обработку трафика на канальном и сетевом уровне уровнях согласно приведённому примеру выше. Тем не менее имеется возможность организовать коммутацию трафика между разными интерфейсами, в том числе и по VLAN Tag. Для этого необходимо настроить интерфейс в режим switchport:
...
Рассмотрим пример из Рис.2. На интерфейс интерфейс Gi1/0/1 маршрутизатора поступает три кадра: первый - ARP-request без с VLAN Tag ID 20, второй - так же ARP-request, но уже с без VLAN Tag ID 20 и третий - IP-пакет с адресом назначения 10.0.0.1/24, без VLAN Tag. Настройки интерфейсов следующие:
- интерфейс Gi1/0/1 настроен в mode switchport, что означает, что он работает только с заголовками Layer 2, а для коммутации кадров по VLAN настроен режим Trunk для обработки тегов с VLAN ID 20, а так же добавление VLAN Tag 10 для трафика, не имеющего VLAN hdr
- интерфейс Gi1/0/2 так же настроен в mode switchport, для коммутации кадров по VLAN настроен режим Trunk для обработки тегов с VLAN ID 400, а так же добавление VLAN Tag 10 для трафика, не имеющего VLAN hdr
- интерфейс Gi1/0/3 настроен в mode switchport, для коммутации кадров по VLAN настроен режим Access, добавляя всем кадрам, не имеющего заголовка VLAN, тег 20
- интерфейс Gi1/0/3 настроен 4 настроен в mode routerport, с обработкой трафика, имеющего VLAN ID 10, и назначен назначенным IP-адрес адресом 10.0.0.1/24
Первый кадр после прохождения интерфейса Gi1/0/1 должен быть разослан во все интерфейсы, обрабатывающие кадры с VLAN Tag ID = 20, т.к. он уже имеет данный тег, а интерфейс выполняет обработку по нему. Поэтому данный фрейм будет скоммутирован в интерфейс . В данном примере такой интерфейс только один - Gi1/0/3, поэтому данный фрейм будет скоммутирован через него.
Второй кадр после поступления на интерфейс Gi1/0/1 обретёт заголовок VLAN с тегом 10, т.к. на входе не имел этого заголовка ранее. Затем данный кадр необходимо разослать всем интерфейсам, выполняющим обработку VLAN 10.
На первый взгляд выполнить широковещательную рассылку необходимо выполнить как на интерфейс интерфейсы Gi1/0/2, (т.к. на нём установлен native-vlan 10 для обработки нетегированного трафика, так ) и на саб-интерфейс Gi1/0/4.10. Однако, широковещание будет осуществлено только в рамках интерфейса Gi1/0/2, т.к. саб-интерфейс Gi1/0/4.10 работает в режиме routerport и представляет из себя самостоятельный бродкастовый домен.
Третий кадр, как и второй, после поступления на интерфейс Gi1/0/1 обретёт заголовок VLAN с тегом 10, т.к. на входе тоже не имел его ранее. Так как IP-адрес назначения у этого кадра 10.0.0.1/24 предполагается, что маршрутизатор успешно скомутирует его на саб-интерфейс Gi1/0/4.10 и декапсулирует до вышестоящих уровней - IP. Но этого не произойдёт всё по тем же причинам, как это было и со вторым кадром - саб-интерфейс Gi1/0/4.10 представляет из себя самостоятельный бродкастовый доменявляется самостоятельным бродкастовым доменом.
Чтобы осуществить задачу одновременной коммутации по VLAN тегам и обработки трафика по заголовкам сетевого и вышестоящих уровней необходимо использовать функционал bridge.
Возможности
Следующие ключевые возможности bridge доступны на устройствах ESR:
| Примечание | ||
|---|---|---|
| ||
Стоит отметить, что для выполнения задачи терминации VLAN и ограничения широковещательного домена на маршрутизаторе необходимо использовать sub / qinq - интерфейсы. Bridge является альтернативным, а не основным вариантом выполнения данной задачи ввиду ограниченной функциональности, о которой будет рассказано в данной статье далее. |
Возможности
Следующие ключевые возможности bridge доступны на устройствах ESR:
- функции коммутации
- Терминация VLAN
- Широковещательная рассылка
- MAC-learning
- Терминация VLAN
- Широковещательная рассылка
- MAC-learning
- Изоляция портов
- STP
- функций IP
- IPv4/v6 адресация
- Маршрутизация (статическая, динамическая)
- PBR
- VRRP
- VRF
- Firewall
- NAT
- Helper-address
- ARP
- SLA
- HTTP(s) proxy
- DHCP (client/server)
- sFlow/NetFlow
- BFD
- MultiWAN
- IPS
...
В случае с VLAN ситуация аналогичная, но следует учитывать и его статус. Статус VLAN зависит от link state интерфейса, который принадлежит занимается обработкой этой VLAN: если интерфейс имеет link state - Up, то статус VLAN считается активным, если же link state - down, то VLAN не активен. VLAN так же считается не активной, если ей её не принадлежит обрабатывает ни один интерфейс.
...
| Блок кода |
|---|
esr# configure esr(config)# bridge 101 esr(config-bridge)# ip address 10.0.0.1/24 esr(config-bridge)# ip firewall disable esr(config-bridge)# enable |
Добавление интерфейсов в bridge осуществляется с помощью команды bridge-group <index> в режиме конфигурирования добавляемого интерфейса:
...
| Блок кода |
|---|
esr# show running-config bridges bridge 1 ip firewall disable ip address 10.0.0.1/24 enable exit interface gigabitethernet 1/0/1.100 bridge-group 1 exit interface gigabitethernet 1/0/2.100 bridge-group 1 exit |
...
| Блок кода |
|---|
esr# show mac address-table bridge 1 VID MAC Address Interface Type ----- ------------------ ------------------------------ ------- -- e4:5a:d4:a0:33:33 gigabitethernet 1/0/1 Dynamic -- e4:5a:d4:a0:11:11 gigabitethernet 1/0/2 Dynamic -- e4:5a:d4:a0:22:22 gigabitethernet 1/0/2 Dynamic 3 valid mac entries |
Варианты применения
Способы использования
Используя функционал При использовании bridge следует учитывать, что при добавлении нескольких интерфейсов, работающих с фреймами в нетегированном режиме (mode switchport + switchport mode access / general ... untagged),происхоидт объединение широковещательных доменов, т.к. при поступлении трафика из интерфейса в bridge VLAN Tag снимается.
...
| Блок кода | ||
|---|---|---|
| ||
esr# show ip dhcp binding IP address MAC / Client ID Binding type Lease expires at ---------------- ------------------------------------------------------------- ------------ -------------------- 10.0.0.54 a8:f9:4b:ff:99:01 active 2025-06-21 14:01:51 10.0.0.128 a0:a3:f0:b3:d4:a0 active 2025-06-21 14:01:51 |
VLAN Tag mapping
Рассмотрим несколько примеров, в которых необходимо изменить или добавить VLAN Tag.
Изменение VLAN Tag
Задача:
- для транзитного трафика, проходящего через интерфейсы gigabitethernet 1/0/1 и gigabitethernet 1/0/3, изменить значение VLAN с 1111 на 3333
Dot1q tunneling
Решение для программной линейки устройств
Устройства с программной реализацией коммутации (все модели ESR, кроме ESR-1000 / 1200 / 1500 / 1511 / 1700) могут решать задачу туннелирования пользовательского трафика с добавлением S-Tag с поомщью функционала bridge. Однако, данный метод имеет следующие ограничения:
- входящий и исходящий интерфейсы должны принадлежать bridge
- нельзя назначить VLAN, выступающий в роли S-Tag, на другой интерфейс в режиме switchport trunk
Задача:
- На маршрутизаторе R1 интерфейсе Gi 1/0/1 принять клиентский трафик с разными C-Tag VLAN(100, 200 , 300), инкапсулировать в S-Tag VLAN 4000 и отправить в Trunk через интерфейс Gi 1/0/3.
Решение:
Настроим bridge:
| Блок кода |
|---|
esr# configure esr(config)# bridge 101 esr(config-bridge)# no spanning-tree esr(config-bridge)# enable esr(config-bridge)# exit |
Создадим саб-интефрейсы - Выполним настройку интерфейса gigabitethernet 1/0/1.1111 для терминации VLAN 1111 и gigabitethernet 1/0/3 для терминации VLAN 3333, и определим их , с которого будем принимать кадры с уже имеющимися тегами, добавив его к bridge 1:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1.1111 esr(config-if-subgi)# mode switchport esr(config-if-gi)# bridge-group 101 esr(config-if-subgi)# exit |
И настроим интерфейс gigabitethernet 1/0/3, на котором будет выполняться терминация S-Tag VLAN 4000:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/3.33334000 esr(config-if-sub)# bridge-group 101 esr(config-if-sub)# endexit |
Применим Не забываем применить и сохраним сохранить изменения:
| Блок кода |
|---|
esr(config)# end esr# commit esr# confirm |
Диагностика:
Убедимся, что bridge находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br10 Up Up 1500 a8:f9:4b:aa:bb:c0 00,00:42:23 routerport |
Проверим, что саб-интерфейсы принадлежат bridge 10:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces bridge 10
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 10 gi1/0/1.1111, gi1/0/3.3333 |
Убедимся, что MAC-адреса изучились в bridge:
Проверим, что на интерфейс gigabitethernet 1/0/1 поступает трафик с разными C-Tag VLAN с помощью команды monitor:
| Блок кода |
|---|
esr# monitor gigabitethernet 1/0/1
18:24:54.016778 a8:f9:4b:00:00:10 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 100, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 100.100.100.200 tell 100.100.100.1, length 42
18:24:54.880540 a8:f9:4b:00:00:30 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 300, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 30.30.30.200 tell 30.30.30.1, length 42
18:24:55.179788 a8:f9:4b:00:00:20 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 200, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 200.200.200.200 tell 200.200.200.1, length 42
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel |
Теперь удостоверимся, что через интерфейс gigabitethernet 1/0/3 кадры поступают с новым S-Tag VLAN 4000. Выполнять команду monitor необходимо именно на интерфейсе gigabitethernet 1/0/3, дабы увидеть наличие тега VLAN :
| Блок кода |
|---|
esr# monitor gigabitethernet 1/0/3
18:24:55.3479 a8:f9:4b:00:00:10 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 4000, p 0, ethertype 802.1Q, vlan 100, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 100.100.100.200 tell 100.100.100.1, length 42
18:24:55.4013 a8:f9:4b:00:00:30 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 4000, p 0, ethertype 802.1Q, vlan 300, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 30.30.30.200 tell 30.30.30.1, length 42
18:24:55.7596 a8:f9:4b:00:00:20 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 4000, p 0, ethertype 802.1Q, vlan 200, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 200.200.200.200 tell 200.200.200.1, length 42
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel |
VLAN Tag mapping
Рассмотрим несколько примеров, в которых необходимо изменить или добавить VLAN Tag.
Изменение VLAN Tag
Задача:
- для транзитного трафика, проходящего через интерфейсы gigabitethernet 1/0/1 и gigabitethernet 1/0/3, изменить значение VLAN с 1111 на 3333
Решение:
Настроим bridge :
| Блок кода |
|---|
esr# configure
esr(config)# bridge 10
esr(config-bridge)# no spanning-tree
esr(config-bridge)# enable
esr(config-bridge)# exit |
Создадим саб-интефрейсы - gigabitethernet 1/0/1.1111 для терминации VLAN 1111 и gigabitethernet 1/0/3 для терминации VLAN 3333, и определим их к bridge 1:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/1.1111
esr(config-if-sub)# bridge-group 10
esr(config-if-sub)# exit
esr(config)# interface gigabitethernet 1/0/3.3333
esr(config-if-sub)# bridge-group 10
esr(config-if-sub)# end |
Применим и сохраним изменения:
| Блок кода |
|---|
esr(config)# end
esr# commit
esr# confirm |
Диагностика:
Убедимся, что bridge находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces status bridge
Interface | ||
| Блок кода | ||
| ||
esr# sh mac address-table bridge 10 VID MAC Address Interface Admin Link MTU Type MAC address ----- ------------------ ------------------------------ ------- -- Last change Mode e0:30:30:91:91:01 gigabitethernet 1/0/1.1111 Dynamic -- a0:31:31:33:33:01 gigabitethernet 1/0/3.3333 State State Dynamic 2 valid mac entries |
Согласно таблице МАС-адресов, МАС-адрес e0:30:30:91:91:01 был изучен на интерфейсе gigabitethernet 1/0/1.1111. Проверим, что трафик с этим МАС-адресом успешно проходит через bridge 10 в интерфейс gigabitethernet 1/0/3.3333 и выходит из него с VLAN Tag 3333. Сделать это можно с помощью встроенного анализатора трафика командой monitor:
| Блок кода | ||
|---|---|---|
| ||
esr# monitor gigabitethernet 1/0/3 source-mac e0:30:30:91:91:01 packets 1
08:54:38.121693 e0:30:30:91:91:01 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 3333, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 3.3.3.200 tell 3.3.3.1, length 42
1 packet captured
1 packets received by filter
0 packets dropped by kernel |
Добавление VLAN Tag
Задача:
- для транзитного трафика, проходящего через интерфейс gigabitethernet 1/0/2 с VLAN Tag 7 добавить VLAN Tag 2711 и направить в интефрейс gigabitethernet 1/0/4. Обратный трафик, с интерфейса gigabitethernet 1/0/4, должен приходить с двумя VLAN Tag: 7 и 2711, и в интерфейс gigabitethernet 1/0/2 должен уходить только с одним VLAN Tag - 7.
Решение:
Настроим bridge :
| Блок кода |
|---|
esr# configure
esr(config)# bridge 5
esr(config-bridge)# no spanning-tree
esr(config-bridge)# enable
esr(config-bridge)# exit |
Создадим саб-интефрейсы - gigabitethernet 1/0/2.7 для терминации VLAN 7 и gigabitethernet 1/0/4 для терминации VLAN 2711, и определим их к bridge 5:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2.7
esr(config-if-sub)# bridge-group 5
esr(config-if-sub)# exit
esr(config)# interface gigabitethernet 1/0/4.7.2711
esr(config-if-sub)# bridge-group 5
esr(config-if-sub)# end |
Применим и сохраним изменения:
| Блок кода |
|---|
esr(config)# end
esr# commit
esr# confirm |
Диагностика:
Убедимся, что bridge находится в статусе Up:
(d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br10 Up Up 1500 a8:f9:4b:aa:bb:c0 00,00:42:23 routerport |
Проверим, что саб-интерфейсы принадлежат bridge 10:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces bridge 10
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 10 gi1/0/1.1111, gi1/0/3.3333 |
Убедимся, что MAC-адреса изучились в bridge:
| Блок кода | ||
|---|---|---|
| ||
esr# sh mac address-table bridge 10
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- e0:30:30:91:91:01 gigabitethernet 1/0/1.1111 Dynamic
-- a0:31:31:33:33:01 gigabitethernet 1/0/3.3333 Dynamic
2 valid mac entries |
Согласно таблице МАС-адресов, МАС-адрес e0:30:30:91:91:01 был изучен на интерфейсе gigabitethernet 1/0/1.1111. Проверим, что трафик с этим МАС-адресом успешно проходит через bridge 10 в интерфейс gigabitethernet 1/0/3.3333 и выходит из него с VLAN Tag 3333. Сделать это можно с помощью встроенного анализатора трафика командой monitor:
| Блок кода | ||
|---|---|---|
| ||
esr# monitor gigabitethernet 1/0/3 source-mac e0:30:30:91:91:01 packets 1
08:54:38.121693 e0:30:30:91:91:01 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 3333, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 3.3.3.200 tell 3.3.3.1, length 42
1 packet captured
1 packets received by filter
0 packets dropped by kernel |
Добавление VLAN Tag
Задача:
- для транзитного трафика, проходящего через интерфейс gigabitethernet 1/0/2 с VLAN Tag 7 добавить VLAN Tag 2711 и направить в интефрейс gigabitethernet 1/0/4. Обратный трафик, с интерфейса gigabitethernet 1/0/4, должен приходить с двумя VLAN Tag: 7 и 2711, и в интерфейс gigabitethernet 1/0/2 должен уходить только с одним VLAN Tag - 7.
Решение:
Настроим bridge :
| Блок кода |
|---|
esr# configure
esr(config)# bridge 5
esr(config-bridge)# no spanning-tree
esr(config-bridge)# enable
esr(config-bridge)# exit |
Создадим саб-интефрейсы - gigabitethernet 1/0/2.7 для терминации VLAN 7 и gigabitethernet 1/0/4 для терминации VLAN 2711, и определим их к bridge 5:
| Блок кода |
|---|
esr(config)# interface gigabitethernet 1/0/2.7
esr(config-if-sub)# bridge-group 5
esr(config-if-sub)# exit
esr(config)# interface gigabitethernet 1/0/4.7.2711
esr(config-if-sub)# bridge-group 5
esr(config-if-sub)# end |
Применим и сохраним изменения:
| Блок кода |
|---|
esr(config)# end
esr# commit
esr# confirm |
Диагностика:
Убедимся, что bridge находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br5 Up Up 1500 e4:5a:d4:01:10:02 00,00:36:17 routerport |
Проверим, что саб-интерфейсы принадлежат bridge 10:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces bridge 5
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 5 gi1/0/2.7, gi1/0/4.7.2711 |
Убедимся, что MAC-адреса изучились в bridge:
| Блок кода | ||
|---|---|---|
| ||
esr# sh mac address-table bridge 5
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- e0:30:30:07:07:01 gigabitethernet 1/0/2.7 Dynamic
-- e0:31:31:12:31:23 gigabitethernet 1/0/4.7.2711 Dynamic
2 valid mac entries |
Согласно таблице МАС-адресов, МАС-адрес e0:30:30:07:07:01 был изучен на интерфейсе gigabitethernet 1/0/2.7. Проверим, что трафик с этим МАС-адресом успешно проходит через bridge 5 в интерфейс gigabitethernet 1/0/4 и выходит из него с VLAN Tag 7 и 2711. Сделать это можно с помощью встроенного анализатора трафика командой monitor:
| Блок кода | ||
|---|---|---|
| ||
esr# monitor gigabitethernet 1/0/4 source-mac e0:31:31:12:31:23 packets 1
04:12:15.882124 e0:31:31:12:31:23 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 7, p 0, ethertype 802.1Q, vlan 2711, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 123.123.123.1 tell 123.123.123.200, length 42
1 packet captured
1 packets received by filter
0 packets dropped by kernel |
Работа с tunnel
В ESR для функционирования L2 туннелей (L2GRE, L2TPv3) необходимо указывать bridge. Ниже приведены примеры использования bridge с L2 туннелями.
Туннелирование VLAN через L2GRE
Задача:
- выполнить проброс трафика, поступающего из офиса А через интерфейс Gi1/0/4 маршрутизатора R1, в удалённый сегмент сети - офис Б, расположенный за интерфейсом Gi1/0/3 маршрутизатора R2, с сохранением всех тегов VLAN с помощью GRE в режиме L2.
Решение:
Будем производить настройку маршрутизаторов последовательно, начиная с R1.
Настроим bridge :
| Блок кода |
|---|
R1# configure
R1(config)# bridge 1
R1(config-bridge)# no spanning-tree
R1(config-bridge)# enable
R1(config-bridge)# exit
R1(config)# |
Затем настроим интерфейc gigabitethernet 1/0/4 на принятие трафика и определим его к bridge 1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/4
R1(config-if-gi)# mode switchport
R1(config-if-gi)# switchport mode access
R1(config-if-gi)# spanning-tree disable
R1(config-if-gi)# spanning-tree bpdu filtering
R1(config-if-gi)# bridge-group 1
R1(config-if-gi)# exit |
Настроим интерфейс gigabitethernet 1/0/1, через который организован доступ в сеть Интернет, а так же укажем маршрут по умолчанию через шлюз провайдера 198.51.100.1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/1
R1(config-if-gi)# ip firewall disable
R1(config-if-gi)# ip address 198.51.100.4/24
R1(config-if-gi)# exit
R1(config)# ip route 0.0.0.0/0 198.51.100.1 |
Перейдём к настройкам туннеля - необходимо указать режим работы L2, локальный и удалённый адреса, по которым будет устанавливаться GRE-соединение, а так же определить его к bridge 1:
| Блок кода |
|---|
R1(config)# tunnel gre 1
R1(config-gre)# mode ethernet
R1(config-gre)# local address 198.51.100.4
R1(config-gre)# remote address 203.0.113.15
R1(config-gre)# spanning-tree disable
R1(config-gre)# bridge-group 1
R1(config-gre)# enable |
Применим и сохраним изменения для R1:
| Блок кода |
|---|
R1(config-gre)# end
R1# commit
R1# confirm |
Аналогичным образом проведём настройку R2:
| Блок кода |
|---|
R2# configure
R2(config)# bridge 1
R2(config-bridge)# enable
R2(config-bridge)# no spanning-tree
R2(config-bridge)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/3
R2(config-if-gi)# mode switchport
R2(config-if-gi)# switchport mode access
R2(config-if-gi)# spanning-tree disable
R2(config-if-gi)# spanning-tree bpdu filtering
R2(config-if-gi)# bridge-group 1
R2(config-if-gi)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/1
R2(config-if-gi)# ip firewall disable
R2(config-if-gi)# ip address 203.0.113.15/24
R2(config-if-gi)# exit
R2(config)# ip route 0.0.0.0/0 203.0.113.1
R2(config)#
R2(config)# tunnel gre 1
R2(config-gre)# mode ethernet
R2(config-gre)# local address 203.0.113.15
R2(config-gre)# remote address 198.51.100.4
R2(config-gre)# spanning-tree disable
R2(config-gre)# bridge-group 1
R2(config-gre)# enable
R2(config-gre)# end
R2# commit
R2# confirm |
Диагностика:
Проводить диагностику будет параллельно на обоих устройствах для наглядности.
Убедимся, что bridge на обоих маршрутизаторах находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
R1# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br1 Up Up 1500 e4:5a:d4:01:10:02 00,00:36:17 routerport
###
R2# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br1 Up Up 1500 a8:f9:4b:ac:84:1f 00,00:40:20 routerport |
Проверим, что интерфейсы и туннели GRE принадлежат bridge на обоих устройствах:
| Блок кода | ||
|---|---|---|
| ||
R1# show interfaces bridge 1
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 1 gi1/0/4, gre 1
###
R2# show interfaces bridge 1
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 1 gi1/0/3, gre 1 |
Убедимся, что MAC-адреса изучились в bridge:
| Блок кода | ||
|---|---|---|
| ||
R1# show mac address-table bridge 1
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- 68:13:e2:11:11:11 gigabitethernet 1/0/4 Dynamic
-- 68:13:e2:12:12:12 gigabitethernet 1/0/4 Dynamic
-- 68:13:e2:10:10:10 gigabitethernet 1/0/4 Dynamic
-- 68:13:e2:20:20:20 gre 1 Dynamic
-- 68:13:e2:22:22:22 gre 1 Dynamic
-- 68:13:e2:21:21:21 gre 1 Dynamic
6 valid mac entries
###
R2# show mac address-table bridge 1
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- 68:13:e2:21:21:21 gigabitethernet 1/0/3 Dynamic
-- 68:13:e2:22:22:22 gigabitethernet 1/0/3 Dynamic
-- 68:13:e2:20:20:20 gigabitethernet 1/0/3 Dynamic
-- 68:13:e2:12:12:12 gre 1 Dynamic
-- 68:13:e2:10:10:10 gre 1 Dynamic
-- 68:13:e2:11:11:11 gre 1 Dynamic
6 valid mac entries |
Туннелирование VLAN через L2TPv3
Задача:
- выполнить проброс трафика, поступающего из офиса А через интерфейс Gi1/0/4 маршрутизатора R1, в удалённый сегмент сети - офис Б, расположенный за интерфейсом Gi1/0/3 маршрутизатора R2, с сохранением всех тегов VLAN с помощью L2TPv3.
Решение:
Будем производить настройку маршрутизаторов последовательно, начиная с R1.
Настроим bridge :
| Блок кода |
|---|
R1# configure
R1(config)# bridge 1
R1(config-bridge)# no spanning-tree
R1(config-bridge)# enable
R1(config-bridge)# exit
R1(config)# |
Затем настроим интерфейc gigabitethernet 1/0/4 на принятие трафика и определим его к bridge 1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/4
R1(config-if-gi)# mode switchport
R1(config-if-gi)# switchport mode access
R1(config-if-gi)# spanning-tree disable
R1(config-if-gi)# spanning-tree bpdu filtering
R1(config-if-gi)# bridge-group 1
R1(config-if-gi)# exit |
Настроим интерфейс gigabitethernet 1/0/1, через который организован доступ в сеть Интернет, а так же укажем маршрут по умолчанию через шлюз провайдера 198.51.100.1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/1
R1(config-if-gi)# ip firewall disable
R1(config-if-gi)# ip address 198.51.100.4/24
R1(config-if-gi)# exit
R1(config)# ip route 0.0.0.0/0 198.51.100.1 |
Перейдём к настройкам L2TPv3-туннеля. Укажем тип протокола, с помощью которого будет выполняться туннелирование, зададим параметры UDP-порта, идентификатора сессии и IP-адресов, с которых будет устанавливаться туннельное соединение локальной и удалённой сторон. Определим созданный туннель к bridge 1, а так же отключим работу протокола Spanning-Tree, т.к. это соединение типа точка-точка:
| Блок кода |
|---|
R1(config)# tunnel l2tpv3 1
R1(config-l2tpv3)# protocol udp
R1(config-l2tpv3)# local port 65000
R1(config-l2tpv3)# remote port 65001
R1(config-l2tpv3)# local session-id 65000
R1(config-l2tpv3)# remote session-id 65001
R1(config-l2tpv3)# bridge-group 1
R1(config-l2tpv3)# local address 198.51.100.4
R1(config-l2tpv3)# remote address 203.0.113.15
R1(config-l2tpv3)# spanning-tree bpdu filtering
R1(config-l2tpv3)# spanning-tree disable
R1(config-l2tpv3)# enable
R1(config-l2tpv3)# exit |
Применим и сохраним изменения для R1:
| Блок кода |
|---|
R1(config-l2tpv3)# end
R1# commit
R1# confirm |
Аналогичным образом проведём настройку R2:
| Блок кода |
|---|
R2# configure
R2(config)# bridge 1
R2(config-bridge)# enable
R2(config-bridge)# no spanning-tree
R2(config-bridge)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/3
R2(config-if-gi)# mode switchport
R2(config-if-gi)# switchport mode access
R2(config-if-gi)# spanning-tree disable
R2(config-if-gi)# spanning-tree bpdu filtering
R2(config-if-gi)# bridge-group 1
R2(config-if-gi)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/1
R2(config-if-gi)# ip firewall disable
R2(config-if-gi)# ip address 203.0.113.15/24
R2(config-if-gi)# exit
R2(config)# ip route 0.0.0.0/0 203.0.113.1
R2(config)#
R2(config)# tunnel l2tpv3 1
R2(config-l2tpv3)# protocol udp
R2(config-l2tpv3)# local port 65001
R2(config-l2tpv3)# remote port 65000
R2(config-l2tpv3)# local session-id 65001
R2(config-l2tpv3)# remote session-id 65000
R2(config-l2tpv3)# bridge-group 1
R2(config-l2tpv3)# local address 203.0.113.15
R2(config-l2tpv3)# remote address 198.51.100.4
R2(config-l2tpv3)# spanning-tree bpdu filtering
R2(config-l2tpv3)# spanning-tree disable
R2(config-l2tpv3)# enable
R2(config-l2tpv3)# end
R2(config-gre)#
R2# commit
R2# confirm |
Диагностика:
Проводить диагностику будет параллельно на обоих устройствах для наглядности.
Убедимся, что bridge на обоих маршрутизаторах находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
R1# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br1 Up Up 1500 e4:5a:d4:01:10:02 00,00:36:17 routerport
###
R2# show interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
State State (d,h:m:s)
-------------------- ----- ----- ----- ----------------- ------------- ------------
br1 Up Up 1500 a8:f9:4b:ac:84:1f 00,00:40:20 routerport |
И что туннели L2TPv3 успешно поднялись:
| Блок кода | ||
|---|---|---|
| ||
R1# show tunnels status
Tunnel Admin Link MTU Local IP Remote IP Last change
State State | ||
| Блок кода | ||
| ||
esr# show interfaces status bridge Interface Admin Link(d,h:m:s) MTU MAC address Last change Mode State State (d,h:m:s) ---------------- ----- ----- ----- ------ ----------------- ---------------- ------------- br1 Up Up 1500 e4:5a:d4:01:10:02 00,00:36:17 routerport |
Проверим, что саб-интерфейсы принадлежат bridge 10:
| Блок кода | ||
|---|---|---|
| ||
esr# show interfaces bridge 1 Bridges Interfaces ---------- -------------------------------------------------------------- bridge 1 gi1/0/1, gre 1 |
Убедимся, что MAC-адреса изучились в bridge:
| Блок кода | ||
|---|---|---|
| ||
esr# sh mac address-table bridge 5 VID MAC Address l2tpv3 1 Interface Up Up 1500 Type 198.51.100.4 ----- ------------------ ------------------------------ ------- -- 203.0.113.15 00,00:37:18 ### R2# show tunnels status e0:30:30:07:07:01 gigabitethernet 1/0/2.7 Dynamic -- e0:31:31:12:31:23 gigabitethernet 1/0/4.7.2711 Dynamic 2 valid mac entries |
Согласно таблице МАС-адресов, МАС-адрес e0:30:30:07:07:01 был изучен на интерфейсе gigabitethernet 1/0/2.7. Проверим, что трафик с этим МАС-адресом успешно проходит через bridge 5 в интерфейс gigabitethernet 1/0/4 и выходит из него с VLAN Tag 7 и 2711. Сделать это можно с помощью встроенного анализатора трафика командой monitor:
| Блок кода | ||
|---|---|---|
| ||
esr# monitor gigabitethernet 1/0/4 source-mac e0:31:31:12:31:23 packets 1
04:12:15.882124 e0:31:31:12:31:23 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 7, p 0, ethertype 802.1Q, vlan 2711, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 123.123.123.1 tell 123.123.123.200, length 42
1 packet captured
1 packets received by filter
0 packets dropped by kernel |
Работа с tunnel
В ESR для функционирования L2 туннелей (L2GRE, L2TPv3) необходимо указывать bridge. Ниже приведены примеры использования bridge с L2 туннелями.
Туннелирование VLAN
Задача:
- выполнить проброс трафика, поступающего из офиса А через интерфейс Gi1/0/4 маршрутизатора R1, в удалённый сегмент сети - офис Б, расположенный за интерфейсом Gi1/0/3 маршрутизатора R2, с сохранением всех тегов VLAN.
Решение:
Будем производить настройку маршрутизаторов последовательно, начиная с R1.
Настроим bridge :
| Блок кода |
|---|
R1# configure
R1(config)# bridge 1
R1(config-bridge)# no spanning-tree
R1(config-bridge)# enable
R1(config-bridge)# exit
R1(config)# |
Затем настроим интерфейc gigabitethernet 1/0/4 на принятие трафика и определим его к bridge 1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/4
R1(config-if-gi)# mode switchport
R1(config-if-gi)# switchport mode access
R1(config-if-gi)# spanning-tree disable
R1(config-if-gi)# spanning-tree bpdu filtering
R1(config-if-gi)# bridge-group 1
R1(config-if-gi)# exit |
Настроим интерфейс gigabitethernet 1/0/1, через который организован доступ в сеть Интернет, а так же укажем маршрут по умолчанию через шлюз провайдера 198.51.100.1:
| Блок кода |
|---|
R1(config)# interface gigabitethernet 1/0/1
R1(config-if-gi)# ip firewall disable
R1(config-if-gi)# ip address 198.51.100.4/24
R1(config-if-gi)# exit
R1(config)# ip route 0.0.0.0/0 198.51.100.1 |
Перейдём к настройкам туннеля - необходимо указать режим работы L2, локальный и удалённый адреса, по которым будет устанавливаться GRE-соединение, а так же определить его к bridge 1:
| Блок кода |
|---|
R1(config)# tunnel gre 1
R1(config-gre)# mode ethernet
R1(config-gre)# local address 198.51.100.4
R1(config-gre)# remote address 203.0.113.15
R1(config-gre)# spanning-tree disable
R1(config-gre)# bridge-group 1
R1(config-gre)# enable
R1(config-gre)# end |
Применим и сохраним изменения для R1:
| Блок кода |
|---|
R1(config-gre)# end
R1# commit
R1# confirm |
Аналогичным образом проведём настройку R2:
| Блок кода |
|---|
R2# configure
R2(config)# bridge 1
R2(config-bridge)# enable
R2(config-bridge)# no spanning-tree
R2(config-bridge)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/3
R2(config-if-gi)# mode switchport
R2(config-if-gi)# switchport mode access
R2(config-if-gi)# spanning-tree disable
R2(config-if-gi)# spanning-tree bpdu filtering
R2(config-if-gi)# bridge-group 1
R2(config-if-gi)# exit
R2(config)#
R2(config)# interface gigabitethernet 1/0/1
R2(config-if-gi)# ip firewall disable
R2(config-if-gi)# ip address 203.0.113.15/24
R2(config-if-gi)# exit
R2(config)# ip route 0.0.0.0/0 203.0.113.1
R2(config)#
R2(config)# tunnel gre 1
R2(config-gre)# mode ethernet
R2(config-gre)# local address 203.0.113.15
R2(config-gre)# remote address 198.51.100.4
R2(config-gre)# spanning-tree disable
R2(config-gre)# bridge-group 1
R2(config-gre)# enable
R2(config-gre)# end
R2# commit
R2# confirm |
Диагностика:
Проводить диагностику будет параллельно на обоих устройствах для наглядности.
Убедимся, что bridge на обоих маршрутизаторах находится в статусе Up:
| Блок кода | ||
|---|---|---|
| ||
R1# show interfaces status bridge Interface Tunnel Admin Link MTU Local IP Remote IP Last change Admin Link MTU MAC address Last change Mode State State State State (d,h:m:s) -------------------- ----- ----- ----- ----------------- ------------- ------------ br1 Up Up 1500 e4:5a:d4:01:10:02 00,00:36:17 routerport ### R2# show interfaces status bridge Interface Admin Link MTU ---------------- ---------- MAC address----- ------ ---------------- Last change ---------------- ------------- Mode State State (d,h:m:s) -------------------- ----- ----- ----- ----------------- ------------- ------------ br1 l2tpv3 1 Up Up Up1500 203.0.113.15 1500 a8:f9:4b:ac:84:1f 198.51.100.4 00,00:4037:20 routerport |
Проверим, что интерфейсы и туннели GRE L2TPv3 принадлежат bridge на обоих устройствах:
| Блок кода | ||
|---|---|---|
| ||
R1# show interfaces bridge 1 Bridges Interfaces ---------- -------------------------------------------------------------- bridge 1 gi1/0/14, grel2tpv3 1 ### R2# show interfaces bridge 1 Bridges Interfaces ---------- -------------------------------------------------------------- bridge 1 gi1/0/1, gre 1 3, l2tpv3 1 |
Убедимся, что MAC-адреса изучились в bridge:
| Блок кода | ||
|---|---|---|
| ||
R1# show mac address-table bridge 1 VID MAC Address Interface Type ----- ------------------ ------------------------------ ------- -- 68:13:e2:11:11:11 gigabitethernet 1/0/14 Dynamic -- 68:13:e2:12:12:12 gigabitethernet 1/0/14 Dynamic -- 68:13:e2:10:10:10 gigabitethernet 1/0/14 Dynamic -- 68:13:e2:20:20:20 gre l2tpv3 1 Dynamic Dynamic -- 68:13:e2:22:22:22 gre l2tpv3 1 Dynamic Dynamic -- 68:13:e2:21:21:21 gre 1 Dynamic l2tpv3 1 Dynamic 6 valid mac entries ### R2# show mac address-table bridge 1 VID MAC Address Interface Type ----- ------------------ ------------------------------ ------- -- 68:13:e2:21:21:21 gigabitethernet 1/0/13 Dynamic -- 68:13:e2:22:22:22 gigabitethernet 1/0/13 Dynamic -- 68:13:e2:20:20:20 gigabitethernet 1/0/13 Dynamic -- 68:13:e2:12:12:12 l2tpv3 gre 1 Dynamic Dynamic -- 68:13:e2:10:10:10 l2tpv3 gre 1 Dynamic Dynamic -- 68:13:e2:11:11:11 l2tpv3 gre 1 Dynamic Dynamic 6 valid mac entries |





