Настройка QinQ на коммутаторах Dlink линеек DES3200-XX и DGS3120-XX
Простейший пример настройки QinQ на базе коммутаторов Dlink серии DES3200-XX и DGC3120-XX.
Имеем следующую схему:

Разберем сначала первый коммутатор, DGS3120-24SC, который смотрит в провайдера портом 1, а в сеть юзера портами 2 и 8:

При этом итоговая настройка QinQ выглядит так:
Поле TPID – Tag Protocol ID – два байта, идентифицирующие тип доп.заголовка.
Так как по-умолчанию TPID на портах имеет значение 0x88a8, поэтому на порту смотрящем в сеть провайдера выставляем значение 0x8100. При этом следует отметить, что для устройств Cisco это значение как раз будет верным, т.е. в случае, если у клиента пограничная железка является циской, то для данного UNI-порта TPID будет 0x88a8.
Ах да, и самый важный момент - настройка ролей UNI/NNI. Порт смотрящий в клиента имеет роль UNI, а в прова - NNI:
Все эти настройки нужно делать на доступном физически свиче по консоли, т.к. первая же команда на включение QinQ лишит вас туда доступа.
Теперь коммутатор будет заворачивать все фреймы в вланы висящие на NNI порту и рассылать их по сети. Чтобы выделить исключения из этого правила настроим так называемую трансляцию вланов:
Где в простейшем случае VLAN 1 будет служить для управления, а VLAN XXX для доступа в интернет. Таким образом коммутатор теперь бездумно оборачивающий все фреймы во внешние вланы будет оборачивать фрейм имеющий внутренний влан 1 таким же внешним вланом 1.
Тем временем на пограничном DES3200-10 с другой стороны сети провайдера в клиента смотрит порт 1, а порт 9 в сетку прова.

Тут QinQ будет настроен несколько иначе:
Явным образом нужно указать TPID, а не только роли.
Трансляцию вланов тоже нужно настроить (по ТЗ влан для интернетов здесь не нужен):
Имеем следующую схему:

Разберем сначала первый коммутатор, DGS3120-24SC, который смотрит в провайдера портом 1, а в сеть юзера портами 2 и 8:

Port State/ Settings Connection Address AutoSpeed
MDIX Speed/Duplex/FlowCtrl Speed/Duplex/FlowCtrl Learning Downgrade
-------- -------- --------------------- --------------------- -------- ---------
1:1 (C) Enabled Auto/Disabled 1000M/Full/None Enabled Disabled
Auto
1:1 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:2 (C) Enabled Auto/Disabled 1000M/Full/None Enabled Disabled
Auto
1:2 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:3 (C) Enabled Auto/Disabled Link Down Enabled Disabled
Auto
1:3 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:4 (C) Enabled Auto/Disabled Link Down Enabled Disabled
Auto
1:4 (F) Enabled Auto/Disabled Link Down Enabled -
-
Notes:(F)indicates fiber medium and (C)indicates copper medium in a combo port
1:5 (C) Enabled Auto/Disabled Link Down Enabled Disabled
Auto
1:5 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:6 (C) Enabled Auto/Disabled Link Down Enabled Disabled
Auto
1:6 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:7 (C) Enabled Auto/Disabled Link Down Enabled Disabled
Auto
1:7 (F) Enabled Auto/Disabled Link Down Enabled -
-
1:8 (C) Enabled Auto/Disabled 1000M/Full/None Enabled Disabled
При этом итоговая настройка QinQ выглядит так:
sw.xxx.xx:admin#sh qinq
Command: show qinq
QinQ Status : Enabled
sw.xxx.xx:admin#sh qinq ports
Command: show qinq ports
Port ID: 1:1
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:2
---------------------------------------------------------
Role: UNI
Miss Drop: Disabled
Outer Tpid: 0x88a8
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:3
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:4
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:5
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:6
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:7
---------------------------------------------------------
Role: NNI
Miss Drop: Disabled
Outer Tpid: 0x8100
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Port ID: 1:8
---------------------------------------------------------
Role: UNI
Miss Drop: Disabled
Outer Tpid: 0x88a8
Use Inner Priority: Disabled
Add Inner Tag: Disabled
Поле TPID – Tag Protocol ID – два байта, идентифицирующие тип доп.заголовка.
Так как по-умолчанию TPID на портах имеет значение 0x88a8, поэтому на порту смотрящем в сеть провайдера выставляем значение 0x8100. При этом следует отметить, что для устройств Cisco это значение как раз будет верным, т.е. в случае, если у клиента пограничная железка является циской, то для данного UNI-порта TPID будет 0x88a8.
Ах да, и самый важный момент - настройка ролей UNI/NNI. Порт смотрящий в клиента имеет роль UNI, а в прова - NNI:
enable qinq
config qinq ports 1:1,1:3-1:7,1:9-1:24 outer_tpid 0x8100
config qinq ports 1:2,1:8 role uni
Все эти настройки нужно делать на доступном физически свиче по консоли, т.к. первая же команда на включение QinQ лишит вас туда доступа.
Теперь коммутатор будет заворачивать все фреймы в вланы висящие на NNI порту и рассылать их по сети. Чтобы выделить исключения из этого правила настроим так называемую трансляцию вланов:
create vlan_translation ports 1:1 replace cvid 1 svid 1
create vlan_translation ports 1:1-1:2 replace cvid XXX svid XXX
Где в простейшем случае VLAN 1 будет служить для управления, а VLAN XXX для доступа в интернет. Таким образом коммутатор теперь бездумно оборачивающий все фреймы во внешние вланы будет оборачивать фрейм имеющий внутренний влан 1 таким же внешним вланом 1.
Тем временем на пограничном DES3200-10 с другой стороны сети провайдера в клиента смотрит порт 1, а порт 9 в сетку прова.

Тут QinQ будет настроен несколько иначе:
enable qinq
config qinq inner_tpid 0x8100
config qinq ports 1 role uni missdrop disable outer_tpid 0x88A8
config qinq ports 1-10 add_inner_tag disable
config qinq ports 2-10 role nni missdrop disable outer_tpid 0x8100
config qinq ports 1-10 strip disable
Явным образом нужно указать TPID, а не только роли.
Трансляцию вланов тоже нужно настроить (по ТЗ влан для интернетов здесь не нужен):
create vlan_translation ports 1:1 replace cvid 1 svid 1
«role uni» означает, что взаимодействие по этим портам будет осуществляться между пользователем и граничным коммутатором провайдера.
«role nni» означает, что этот порт взаимодействует с сетью провайдера или другим граничным коммутатором.
«vlan_translation» данные правила ассоциирует C-VID с SP-VID.
«missdrop enable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться только согласно правилам vlan_translation.
«missdrop disable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться согласно правилам vlan_translation, а к трафику не попавшему под правила vlan_translation будет добавлятся внешний тег(SP-VLAN) равный PVID порта, т.е. SP-VID = PVID.
«use_inner_priority enable» означает, что коммутатор будет использовать приоритет 802.1p тега C-VLAN в теге SP-VLAN.
«outer_tpid» означает, что коммутатор будет задавать TPID для внешнего тега(SP-VLAN) равный заданному значению.
DES-3028 в режиме QinQ не умеет tpid 8100.
Лучше всего будет заменить первый в списке 3028 на что-то другое - например, на DES-3200, DGS-1100-06/ME и т.д.
Специальные настройки нужны только на этом свиче, в который воткнут клиент:
- включаете QinQ
- на всех портах ставите tpid 8100
- на абонентском порту ставите role uni
Всё, любые теги клиента будут обёрнуты в указанный влан и пройдут по всей цепочке, включая другого оператора.
На остальных свичах ничего менять не надо, для них это будет обычный влан 100.
Основная идея настройки Q-in-Q на DES-3028 заключается в следующем:
1. Нужно включить Q-in-Q
enable qinq
2. Создать виллан с операторским тегом
create vlan sp100 tag 100
3. Добавить в операторский вилан абонентский порт как нетегированный
config vlan sp100 add untagged 25
4. Добавить в операторский вилан аплинк порт как тегированный
config vlan sp100 add tagged 26
5. Указать, что абонентский порт является uni портом
config qinq ports 25 role uni tpid 0x88A8
(В принципе, tpid может иметь другое значение, например: 9100, 9200, хотя стандарт рекомендует использовать именно 88а8, но в данной ситуации ни в коем случае нельзя использовать 8100. 8100 – это tpid обычного 802.1Q. Также, нужно учитывать, что некоторые коммутаторы, например, DES-3028/52 не позволяют указать значение отличное от 0x88A8)
6. Указать, что аплинк порт является nni портом
config qinq ports 26 role nni tpid 0x88A8
В данной схеме коммутатор DGS-3627G_81 является коммутатором уровня агрегации. Аналогично серии DGS-3600 настраивается большинство современных серий коммутаторов: DGS-3620, DGS-3420, DGS-3400, DGS-3120, DES-3810, DES-3528/52, DES-3200. Иногда, правда, есть некоторые различия, о которых будет рассказано ниже. К данному коммутатору к портам 20-23 подключаются коммутаторы уровня доступа, с которых пакеты уже приходят с тегами Q-in-Q. Т.е. ему самому на этих портах не нужно вставлять в них тег Q-in-Q. Настройка этих портов производится следующим образом:
1. Нужно включить Q-in-Q
enable qinq
2. Создать вилан с операторским тегом
create vlan sp100 tag 100
3. Добавить в операторский вилан аплинковые порты как тегированные
config vlan sp100 add tagged 20-23
4. Указать, что аплинковые порты являются nni портами
config qinq ports 20-23 role nni tpid 0x88A8
Если требуется непосредственно к данному коммутатору подключать абонентские коммутаторы, т.е. что бы именно этот коммутатор добавлял второй тег, то этом случае необходимо (На данном коммутаторе таким образом настроен 24-й порт):
1. Добавить в операторский вилан пользовательский порт как тегированный
config vlan sp100 add tagged 24
(Можно добавить и как нетегированный, но в этом случае на некоторых моделях коммутаторов на данном порту необходимо отключать ingress checking)
2. Указать, что пользовательский порт является uni портом с обязательным параметром missdrop disable
config qinq ports 24 role uni missdrop disable tpid 0x88A8
3. При помощи параметра PVID указать какое значение тега добавлять на этом порту
config gvrp 24 pvid 100 (На: DGS-3600, DGS-3400, DES-3200/A,B)
config port_vlan 24 pvid 100 (На: DGS-3620, DGS-3420, DGS-3120, DES-3810, DES-3528/52, DES-3200/C1)
«role nni» означает, что этот порт взаимодействует с сетью провайдера или другим граничным коммутатором.
«vlan_translation» данные правила ассоциирует C-VID с SP-VID.
«missdrop enable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться только согласно правилам vlan_translation.
«missdrop disable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться согласно правилам vlan_translation, а к трафику не попавшему под правила vlan_translation будет добавлятся внешний тег(SP-VLAN) равный PVID порта, т.е. SP-VID = PVID.
«use_inner_priority enable» означает, что коммутатор будет использовать приоритет 802.1p тега C-VLAN в теге SP-VLAN.
«outer_tpid» означает, что коммутатор будет задавать TPID для внешнего тега(SP-VLAN) равный заданному значению.
DES-3028 в режиме QinQ не умеет tpid 8100.
Лучше всего будет заменить первый в списке 3028 на что-то другое - например, на DES-3200, DGS-1100-06/ME и т.д.
Специальные настройки нужны только на этом свиче, в который воткнут клиент:
- включаете QinQ
- на всех портах ставите tpid 8100
- на абонентском порту ставите role uni
Всё, любые теги клиента будут обёрнуты в указанный влан и пройдут по всей цепочке, включая другого оператора.
На остальных свичах ничего менять не надо, для них это будет обычный влан 100.
config vlan default delete 1-2
create vlan v1000 tag 1000
config vlan v1000 add untag 1-2
config vlan v1000 add tag 24
config gvrp 1-2 pvid 1000
enable qinq
config qinq ports all 0x8100
config qinq ports 1-2 role uni missdrop disable
save
Основная идея настройки Q-in-Q на DES-3028 заключается в следующем:
1. Нужно включить Q-in-Q
enable qinq
2. Создать виллан с операторским тегом
create vlan sp100 tag 100
3. Добавить в операторский вилан абонентский порт как нетегированный
config vlan sp100 add untagged 25
4. Добавить в операторский вилан аплинк порт как тегированный
config vlan sp100 add tagged 26
5. Указать, что абонентский порт является uni портом
config qinq ports 25 role uni tpid 0x88A8
(В принципе, tpid может иметь другое значение, например: 9100, 9200, хотя стандарт рекомендует использовать именно 88а8, но в данной ситуации ни в коем случае нельзя использовать 8100. 8100 – это tpid обычного 802.1Q. Также, нужно учитывать, что некоторые коммутаторы, например, DES-3028/52 не позволяют указать значение отличное от 0x88A8)
6. Указать, что аплинк порт является nni портом
config qinq ports 26 role nni tpid 0x88A8
В данной схеме коммутатор DGS-3627G_81 является коммутатором уровня агрегации. Аналогично серии DGS-3600 настраивается большинство современных серий коммутаторов: DGS-3620, DGS-3420, DGS-3400, DGS-3120, DES-3810, DES-3528/52, DES-3200. Иногда, правда, есть некоторые различия, о которых будет рассказано ниже. К данному коммутатору к портам 20-23 подключаются коммутаторы уровня доступа, с которых пакеты уже приходят с тегами Q-in-Q. Т.е. ему самому на этих портах не нужно вставлять в них тег Q-in-Q. Настройка этих портов производится следующим образом:
1. Нужно включить Q-in-Q
enable qinq
2. Создать вилан с операторским тегом
create vlan sp100 tag 100
3. Добавить в операторский вилан аплинковые порты как тегированные
config vlan sp100 add tagged 20-23
4. Указать, что аплинковые порты являются nni портами
config qinq ports 20-23 role nni tpid 0x88A8
Если требуется непосредственно к данному коммутатору подключать абонентские коммутаторы, т.е. что бы именно этот коммутатор добавлял второй тег, то этом случае необходимо (На данном коммутаторе таким образом настроен 24-й порт):
1. Добавить в операторский вилан пользовательский порт как тегированный
config vlan sp100 add tagged 24
(Можно добавить и как нетегированный, но в этом случае на некоторых моделях коммутаторов на данном порту необходимо отключать ingress checking)
2. Указать, что пользовательский порт является uni портом с обязательным параметром missdrop disable
config qinq ports 24 role uni missdrop disable tpid 0x88A8
3. При помощи параметра PVID указать какое значение тега добавлять на этом порту
config gvrp 24 pvid 100 (На: DGS-3600, DGS-3400, DES-3200/A,B)
config port_vlan 24 pvid 100 (На: DGS-3620, DGS-3420, DGS-3120, DES-3810, DES-3528/52, DES-3200/C1)
- Jack Frost от
Комментарии 1
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.