Question: Необходимо настроить QinQ на коммутаторах D-Link. Как это сделать?

Answer: 
Описание параметров настройки Q-in-Q можно найти по ссылке:
 
Рассмотрим также еще один пример.
Пример настройки Q-in-Q в режиме Port-Based + Selective для отдельных VLAN
 
Описание
 
 В данном примере реализована схема "VLAN на коммутатор". С целью обеспечения резервирования линий связи коммутаторы уровня доступа подключены кольцом к коммутатору уровня агрегации. Для предоставления услуги IPTV на коммутаторах уровня доступа используется функционал ISM VLAN. Задачей является добавление внешнего тега (при помощи функционала Q-in-Q) для всех клиентских VLAN, при этом ISM VLAN и управляющий VLAN должны передаваться с одним тегом 802.1Q . Добавление второго тега осуществляется на уровне агрегации.
Топология
В данном примере использовались следующие модели коммутаторов:
1. Уровень доступа: DGS-1510-28L/ME, DES-3200-28 ревизии C1, DGS-3000-24TC
2. Коммутатор уровня агрегации: DGS-3420-28SC
 
Коммутатор DGS-3000-28SC используется чтобы показать обратное преобразование (снятие) меток Q-in-Q и получения на выходе (UNI порт) одной метки 802.1Q.
Коммутатор DGS-3620-28TC используется как L3 коммутатор, осуществляющий маршрутизацию межабонентского трафика и предоставления сервиса IPTV от подключенного непосредственно в коммутатор стримера.
 
Для примера используются следующие VLAN:
1. VLAN для клиентского трафика:
user_vlan1 с тегом 10
user_vlan2 с тегом 11
user_vlan3 с тегом 12
2. ISM VLAN с тегом 200.
3. Управляющий VLAN с тегом 4094.
4. Q-in-Q VLAN с тегом 1001
 
Настраиваем коммутатор уровня доступа DES-3200-28 (аппаратной ревизии C1 с прошивкой 4.42.B003):
#удаляем влан default (в примере он не используется)
config vlan default delete 1-28
 
 
# создаем клиентские VLAN
create vlan user_vlan1 tag 10
config vlan user_vlan1 add tagged 25-26
config vlan user_vlan1 add untagged 1-24
create vlan user_vlan2 tag 11
config vlan user_vlan2 add tagged 25-26
create vlan user_vlan3 tag 12
config vlan user_vlan3 add tagged 25-26
 
# создаем управляющий VLAN (PVID магистральных портов задаем равным VID реально существующего на них влана)
create vlan management tag 4094
config vlan management add tagged 25-26
config port_vlan 25-26 pvid 4094
 
# настраиваем управляющий интерфейс
config ipif System ipaddress 10.90.150.10/24 vlan management
create iproute default 10.90.150.1
 
# настраиваем Traffic Segmentation для разделения клиентов
config traffic_segmentation 1-24 forward_list 25-26
 
# настраиваем ISM VLAN (в качестве Replace Source IP используем IP-адрес из подсети интерфейса DGS-3620-28TC, который рассылает IGMP Query )
enable igmp_snooping
enable igmp_snooping multicast_vlan
create igmp_snooping multicast_vlan iptv 200
config igmp_snooping multicast_vlan iptv add source_port 25-26
config igmp_snooping multicast_vlan iptv add member_port 1-24 state enable
config igmp_snooping multicast_vlan iptv remap_priority 5
config igmp_snooping multicast_vlan iptv replace_source_ip 10.90.200.10
config multicast vlan_filtering_mode vlan iptv filter_unregistered_groups
 
# настраиваем STP на магистральных портах
enable stp
config stp version rstp
config stp ports 1-22 state disable edge true restricted_role true restricted_tcn true
 
Настраиваем коммутатор уровня доступа DGS-1510-28L/ME (с прошивкой 1.00.B021):
 
#удаляем влан default (в примере он не используется)
config vlan default delete 1-28
 
# создаем клиентские VLAN
create vlan user_vlan1 tag 10
config vlan user_vlan1 add tagged 25-26
create vlan user_vlan2 tag 11
config vlan user_vlan2 add tagged 25-26
config vlan user_vlan2 add untagged 1-24
create vlan user_vlan3 tag 12
config vlan user_vlan3 add tagged 25-26
 
# создаем управляющий VLAN (PVID магистральных портов задаем равным VID реально существующего на них влана)
create vlan management tag 4094
config vlan management add tagged 25-26
config port_vlan 25-26 pvid 4094
 
# настраиваем управляющий интерфейс
config ipif System ipaddress 10.90.150.11/24 vlan management
create iproute default 10.90.150.1
 
# настраиваем Traffic Segmentation для разделения клиентов
config traffic_segmentation 1-24 forward_list 25-26
 
# настраиваем ISM VLAN (в качестве Replace Source IP используем IP-адрес из подсети интерфейса DGS-3620-28TC, который рассылает IGMP Query )
enable igmp_snooping
enable igmp_snooping multicast_vlan
create igmp_snooping multicast_vlan iptv 200
config igmp_snooping multicast_vlan iptv add source_port 25-26
config igmp_snooping multicast_vlan iptv add member_port 1-24 state enable
config igmp_snooping multicast_vlan iptv remap_priority 5
config igmp_snooping multicast_vlan iptv replace_source_ip 10.90.200.11
config multicast vlan_filtering_mode vlan iptv filter_unregistered_groups
 
# настраиваем STP на магистральных портах
enable stp
config stp version rstp
config stp ports 1-22 state disable edge true restricted_role true restricted_tcn true
 
 
Настраиваем коммутатор уровня доступа DGS-3000-24TC (с прошивкой 1.14.B008):
 
#удаляем влан default (в примере он не используется)
config vlan default delete 1-24
 
# создаем клиентские VLAN
create vlan user_vlan1 tag 10
config vlan user_vlan1 add tagged 23-24
create vlan user_vlan2 tag 11
config vlan user_vlan2 add tagged 23-24
create vlan user_vlan3 tag 12
config vlan user_vlan3 add tagged 23-24
config vlan user_vlan3 add untagged 1-22
 
# создаем управляющий VLAN (PVID магистральных портов задаем равным VID реально существующего на них влана)
create vlan management tag 4094
config vlan management add tagged 23-24
config port_vlan 23-24 pvid 4094
 
# настраиваем управляющий интерфейс
config ipif System ipaddress 10.90.150.12/24 vlan management
create iproute default 10.90.150.1
 
# настраиваем Traffic Segmentation для разделения клиентов
config traffic_segmentation 1-22 forward_list 23-24
 
# настраиваем ISM VLAN (в качестве Replace Source IP используем IP-адрес из подсети интерфейса DGS-3620-28TC, который рассылает IGMP Query )
enable igmp_snooping
enable igmp_snooping multicast_vlan
create igmp_snooping multicast_vlan iptv 200
config igmp_snooping multicast_vlan iptv add source_port 23-24
config igmp_snooping multicast_vlan iptv add member_port 1-22 state enable
config igmp_snooping multicast_vlan iptv remap_priority 5
config igmp_snooping multicast_vlan iptv replace_source_ip 10.90.200.12
config multicast vlan_filtering_mode vlan iptv filter_unregistered_groups
 
# настраиваем STP на магистральных портах
enable stp
config stp version rstp
config stp ports 1-22 state disable edge true restricted_role true restricted_tcn true
 
 
Настраиваем коммутатор уровня агрегации DGS-3420-28SC (с прошивкой 1.80.B007):
 
#удаляем влан default (в примере он не используется)
config vlan default delete 1-28
 
# создаем Q-in-Q VLAN, клиентские VLAN создавать не обязательно на агрегаторе
create vlan qinq_vlan1 tag 1001
config vlan qinq_vlan1 add tagged 25-28
config vlan qinq_vlan1 add untagged 1-2
 
# пробрасываем VLAN для IPTV на уровень доступа
create vlan iptv tag 200
config vlan iptv add tagged 1-2,25-28
 
# создаем управляющий VLAN (PVID магистральных портов задаем равным VID реально существующего на них влана)
create vlan management tag 4094
config vlan management add tagged 1-2,25-28
config port_vlan 25-28 pvid 4094
 
# настраиваем управляющий интерфейс
config ipif System ipaddress 10.90.150.2/24 vlan management
create iproute default 10.90.150.1
 
# настраиваем IGMP Snooping как на транзитном коммутаторе
enable igmp_snooping
config igmp_snooping vlan_name iptv state enable
config multicast vlan_filtering_mode vlan iptv filter_unregistered_groups
 
# назначаем TPID 0x8100 (как у 802.1Q) чтобы не потерять управление коммутатором после включения Q-in-Q
config qinq ports 1-28 outer_tpid 0x8100
 
# включаем Q-in-Q
enable qinq
 
# Порты 1-2 помечаем как UNI, для трафика, приходящего на эти порты будет добавляться второй тег
config qinq ports 1-2 role uni
 
# Делаем исключение в добавлении второго тега для управляющего VLAN, он будет оставаться с одним тегом
create vlan_translation ports 1-2 replace outer_vid 4094 svid 4094
# Делаем исключение в добавлении второго тега для VLAN с IPTV трафиком, он будет оставаться с одним тегом
create vlan_translation ports 1-2 replace outer_vid 200 svid 200
 
# настраиваем STP на портах с коммутаторами доступа, на аплинках STP в примере не используется
enable stp
config stp priority 4096 instance_id 0
config stp ports 1-2 state enable
config stp ports 1-2 restricted_role true
config stp ports 25-28 state disable
 
Настраиваем коммутатор DGS-3000-28SC (с прошивкой 5.03.B001):
 
#удаляем влан default (в примере он не используется)
config vlan default delete 1-28
 
# создаем Q-in-Q VLAN, клиентские VLAN создавать не обязательно
create vlan qinq_vlan1 tag 1001
config vlan qinq_vlan1 add tagged 25
config vlan qinq_vlan1 add untagged 26
 
# пробрасываем VLAN для IPTV
create vlan iptv tag 200
config vlan iptv add tagged 25-26
 
# создаем управляющий VLAN
create vlan management tag 4094
config vlan management add tagged 25-26
config port_vlan 25 pvid 4094
 
# настраиваем управляющий интерфейс
config ipif System ipaddress 10.90.150.3/24 vlan management
create iproute default 10.90.150.1
 
# настраиваем IGMP Snooping как на транзитном коммутаторе
enable igmp_snooping
config igmp_snooping vlan_name iptv state enable
config multicast vlan_filtering_mode vlan iptv filter_unregistered_groups
 
# назначаем TPID 0x8100 (как у 802.1Q) чтобы не потерять управление коммутатором после включения Q-in-Q
config qinq ports 1-28 outer_tpid 0x8100
 
# включаем Q-in-Q
enable qinq
 
# Порт 26 помечаем как UNI, для трафика, приходящего на этот порт будет добавляться второй тег
config qinq ports 26 role uni
 
# Делаем исключение в добавлении второго тега для управляющего VLAN, он будет оставаиться с одним тегом
create vlan_translation ports 26 replace cvid 4094 svid 4094
 
# Делаем исключение в добавлении второго тега для VLAN с IPTV трафиком, он будет оставаться с одним тегом
create vlan_translation ports 26 replace cvid 200 svid 200
 
 
Настраиваем коммутатор DGS-3620-28TC (с прошивкой 2.63.B005):
 
#удаляем влан default (в примере он не используется)
config vlan default delete 1-28
# создаем клиентские VLAN
create vlan user_vlan1 tag 10
config vlan user_vlan1 add tagged 25
create vlan user_vlan2 tag 11
config vlan user_vlan2 add tagged 25
create vlan user_vlan3 tag 12
config vlan user_vlan3 add tagged 25
 
# создаем управляющий VLAN
create vlan management tag 4094
config vlan management add tagged 25
 
# создаем VLAN для IPTV
create vlan iptv tag 200
config vlan iptv add tagged 25
config vlan iptv add untagged 1
 
# создаем IP-интерфейсы для маршрутизации клиентов, для управления коммутатором и для IPTV
config ipif System ipaddress 10.90.150.1/24 vlan management
create ipif iuser_vlan1 10.90.10.1/24 user_vlan1 state enable
create ipif iuser_vlan2 10.90.20.1/24 user_vlan2 state enable
create ipif iuser_vlan3 10.90.30.1/24 user_vlan3 state enable
create ipif imulticast 10.90.200.1/24 iptv state enable
 
# включаем IGMP на интерфейсе во влане IPTV для рассылки IGMP Query сообщений
config igmp ipif imulticast version 2 state enable
 
# включаем IGMP Snooping и фильтрацию
enable igmp_snooping
config igmp_snooping vlan_name iptv state enable
config multicast vlan_filtering_mode vlanid 200 filter_unregistered_groups