UPD 2018.12.29: Данная статья предназначена для RouterOS версий ДО 6.41. Для RouterOS версии свыше 6.41 смотрите ЗДЕСЬ.
Задача.
Дано:
— коммутатор MikroTik CRS125-24G-1S-RM;
— Схема сети, доставшаяся в наследство. Что-то переделывать в ней мы не можем, поскольку есть договорные ограничения.
Требуется:
— Объединить трафик VLAN7 в VLAN14 на MikroTik CRS125-24G-1S-RM.
— Доступ к управлению MikroTik CRS125-24G-1S-RM обеспечить из VLAN7 и VLAN14.
— Обеспечить минимальную утилизацию ЦПУ MikroTik CRS125-24G-1S-RM при передаче трафика.
Решение.
Способов объединить трафик разных VLAN я вижу несколько:
— с помощью софтового бриджа, при условии, что трафик между VLAN’ами 7 и 14 минимальный.
— с помощью трансляции тегов VLAN чипом коммутации.
Рассмотрим каждый из способов.
Объединение VLAN с помощью Bridge.
Настраиваем функционал ЦПУ.
— Создаем интерфейсы VLAN7 и VLAN14 для терминации тегированного трафика на ЦПУ
/interface vlan add name=VLAN7 vlan-id=7 interface=sfp1 add name=VLAN14 vlan-id=14 interface=sfp1
— Создаем бридж для объединения трафика VLAN7 и VLAN14
/int bridge add name=BR_VLAN7_VLAN14 protocol-mode=none
— Добавляем порты VLAN7 и VLAN14 в созданный бридж
/interface bridge port> add interface=VLAN7 bridge=BR_VLAN7_VLAN14 add interface=VLAN14 bridge=BR_VLAN7_VLAN14
— Назначаем бриджу IP адрес для управления
/ip address add interface=BR_VLAN7_VLAN14 address=192.168.0.10/24
Настраиваем функционал чипа коммутации.
— Задействуем чип коммутации
/interface ethernet set master-port=sfp1 numbers=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
— Запрещаем чипу коммутации передачу тегов VLAN отсутствующих в таблице (secure mode)
/interface ethernet switch set forward-unknown-vlan=no
— Создаем таблицу VLAN’ов. Указываем VLAN’ы и принадлежащие им порты.
/interface ethernet switch vlan add vlan-id=7 ports=ether1,switch1-cpu add vlan-id=14 ports=ether1,switch1-cpu add vlan-id=15 ports=ether1,ether19,ether20 add vlan-id=16 ports=ether1,ether21,ether22 add vlan-id=17 ports=ether1,ether23,ether24
— Правила тегирования для ВХОДЯЩЕГО трафика.
/interface ethernet switch ingress-vlan-translation add ports=ether19,ether20 new-customer-vid=15 add ports=ether21,ether22 new-customer-vid=16 add ports=ether23,ether24 new-customer-vid=17
— Снимаем все теги VLAN для ИСХОДЯЩЕГО трафика на нетегированных (ACCESS) портах.
/interface ethernet switch egress-vlan-translation add ports=ether19,ether20,ether21,ether22,ether23,ether24 new-customer-vid=0
Объединение VLAN с помощью чипа коммутации
Завести трансляцию VLAN на одном интерфейсе у меня не получилось, терялось управление оборудованием. Поэтому было решено перенести трансляцию на выделенные порты и соединить их патч-кордом. Не слишком эстетично, но выполняются все условия требований при любом объеме трафика.
Настраиваем функционал ЦПУ.
— Создаем интерфейс VLAN14_MGMT для управления и назначаем ему IP адрес
/interface vlan add name=VLAN14_MGMT vlan-id=14 interface=sfp1 /ip address add interface=VLAN14_MGMT address=192.168.0.10/24
Настраиваем функционал чипа коммутации.
— Задействуем чип коммутации
/interface ethernet set master-port=sfp1 numbers=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
— Запрещаем чипу коммутации передачу тегов VLAN отсутствующих в таблице (secure mode)
/interface ethernet switch set forward-unknown-vlan=no
— Создаем таблицу VLAN’ов. Указываем VLAN’ы и принадлежащие им порты
/interface ethernet switch vlan add vlan-id=7 ports=ether1,ether3 add vlan-id=14 ports=ether1,ether4,switch1-cpu add vlan-id=15 ports=ether1,ether19,ether20 add vlan-id=16 ports=ether1,ether21,ether22 add vlan-id=17 ports=ether1,ether23,ether24
— Правила тегирования для ВХОДЯЩЕГО трафика
/interface ethernet switch ingress-vlan-translation add ports=ether19,ether20 new-customer-vid=15 add ports=ether21,ether22 new-customer-vid=16 add ports=ether23,ether24 new-customer-vid=17
Настраиваем порты, соединяющие трафик VLAN7 и VLAN14. Происходит замена тега VID 7 в VID 14 на порту ether4 и на порту ether3 замена тега VID 14 на VID 7.
/interface ethernet switch ingress-vlan-translation add ports=ether3 new-customer-vid=07 add ports=ether4 new-customer-vid=14
— Снимаем все теги для ИСХОДЯЩЕГО трафика на нетегированных (ACCESS) портах
/interface ethernet switch egress-vlan-translation add ports=ether19,ether20,ether21,ether22,ether23,ether24 new-customer-vid=0