Ну по хорошему Вам потребуется запустить QinQ на коммутаторах, желательно это сделать на оборудовании оператора - они вам отдадут порт который возьмет теги любых ваших пакетов и перенесет на удаленную сторону в неизменном виде, это самый правильный способ. Т.к. от всех коммутаторов на всем пути потребуется как минимум поддержка больших пакетов(jumbo frame), да и вилан который отдается Вам - возможно уже идет через qinq в пачке других виланов оператора. Тогда эта схема вообще не заработает. Т.к. вложить один qiniq в другой, по моей информации нельзя.
Делается у оператора просто, прописываем нужный вилан нетегированный на 11 порту и с оконечных коммутаторов выполняем:
Код:
enable qiniq
config qinq ports 1-10,12-28 role nni missdrop disable outer_tpid 0x8100
config qinq ports 11 role uni missdrop disable outer_tpid 0x8100
Делается только на концах - посередине может быть как тупое оборудование так и управляемое, просто настроенное на передачу нужного вилана. Внимание! после enable qiniq если управляющий вилан прописан в тегированном виде - потеряется управление свичом, поэтому перед вводом комманды переведите обязательно управление коммутатором в нетегированный вид на портах. после выполенния вышеприведенных комманд можно будет вернуть как было. просто при enable qinq outer_tpid меняется на отличный от 0x8100, а уговорить D-Link сделать его по умолчанию, или хотя бы разрешить вводить эти комманды до enable qiniq не получается.
Если схема эта не может быть реализована по техническим, или организационным причинам оператора, Вам придется ее эмулировать у себя. Допустим оператора выдает вам вилан 1100 и приходит он в порт 10, если он отдает в нетегированном виде, попросите перевести в тег, а понятиях оператора отдать "транком", а не "эксесом". Обычно это не проблема. В нетегированном виде скорее вcего не заработает.
Код:
create vlan op tag 1100
config vlan op add tagged 10
config vlan op add untagged 11
Затем вводите указанные в самом начале команды и получаете у себя в 11 порту возможность пробросить любые виланы в сторону оператора, просто подав в порт любые тегированные данные. Чтобы пробрасывать данные с этого же свитча, придется туда воткнуть кабель в магистральный порт свитча, допустим 16й и соединяете его кабелем в 11й. Такими образом на одном свитче и примете QinQ и пробросите туда свои виланы. Внимательно следите за закольцовками не допускайте их, следя четко какие виланы на каких портах находятся.
Если схема не заработает, а перед этим предварительно не плохо будет если Вы создадите ее на столе и протестируете, значит оборудование провайдера не позволяет так работать по разным причинам.
Но есть универсальный выход, надежный, как танк. Берете пару микротик роутеров и запускаете туннель на них ip-ip, он пробрасывает ethernet фреймы со всем содержимым - виланы, служебка и даже qinq бегать будет, если потребуется, да и с мультикастом и широковещалками тоже проблем нет. Потеряете немного в производительности каналов на ip заголовках, процентов 15-20, но потери сильно зависят от типа трафика.
С микротиками настройками не подскажу, но знаю, что разные операторы на нашей сети отказались от нашего qinq в пользу ip-ip туннелей, им так удобнее резервирование по L3 настраивать поверх. Да и в общем надежность L3 обычно выше L2.