Mikrotik: маленькая хитрость switch chip

Моя прошлая статья про switch chip на Mikrotik вызвала неоднозначную реакцию, а комментарий одного из читателей натолкнул на идею. И так: как на RB952Ui-5ac2nD сделать более одной группы коммутации?

Обходим ограничение чипа Atheros8227


(думаю с другими можно аналогично)

Идея тут простая, спасибо Ivan_83 за идею (именно его комментарий — дал направление мысли).

Сформулируем проблему: есть домашний интернет с телевидением, но на приставку нужно дать кабель не после нашего NAT, а до него. Обычно провайдер предлагает маленький коммутатор до вашего роутера (какой кошмар, столько ненужных устройств!), или если роутер умеет, вы создаете на нем мост из двух портов, которые отдаете внешней сети (входящий кабель+приставка ТВ). Но, вышеозначенный Mikrotik не умеет две группы коммутации, и потому, приходится делать софтовый bridge (а хочется отдать это в «железо»).

Теперь реализация: объединим все порты в группу коммутации (выставим мастер порт):

/interface ethernet set ether1 master-port=ether2-master

32aab94e878b4b89a5a9e48bb5a34a18.PNG

Аналогично для всех остальных.

Теперь возьмем, и создадим два VLAN, один для внешней сети (к примеру VID:1), и для внутренней (VID:2):


/interface vlan
add interface=ether2-master \
    name=ext vlan-id=1
add interface=ether2-master \
   name=V_LAN vlan-id=2

75498752a92643d18da8994af4b60fa5.PNG

И на чипе коммутации «объединим» порты с помощью VLAN. Все порты будут растегированны (кроме CPU), и VLAN по умолчанию будет тот, который соответствует назначению порта (для внешней сети 1, для внутренней 2):


/interface ethernet switch port
set ether1 default-vlan-id=1 vlan-header=always-strip vlan-mode=secure
set ether2-master default-vlan-id=1 vlan-header=always-strip vlan-mode=secure
set ether3 default-vlan-id=2 vlan-header=always-strip vlan-mode=secure
set ether4 default-vlan-id=2 vlan-header=always-strip vlan-mode=secure
set ether5 default-vlan-id=2 vlan-header=always-strip vlan-mode=secure
set switch1-cpu default-vlan-id=2 vlan-header=add-if-missing vlan-mode=secure

79703e44814846dba049b42a82430a2d.PNG

Теперь создаем таблицу VLAN:

/interface ethernet switch vlan
add ports=ether1,ether2-master,ether3,ether4,ether5,switch1-cpu switch=switch1 vlan-id=1
add ports=ether1,ether2-master,ether3,ether4,ether5,switch1-cpu switch=switch1 vlan-id=2

5e4f95da5a5049fca23627a3f49b0859.PNG

Все, теперь чип коммутации сделает нужную нам работу.

Комментарии (2)

  • 27 октября 2016 в 08:17 (комментарий был изменён)

    0

    Что только человек не сделает, чтоб IGMP Proxy не использовать.
    Спасибо за альтернативный способ.
    • 27 октября 2016 в 08:25

      0

      К сожалению, не все провайдеры дают ТВ в нешифрованном виде. Чаще это DVB (какая либо разновидность, да еще бывает не по стандарту). Так, что IGMP Proxy не везде получится применить. Еще некоторые операторы дают VoIP, но дают его строго в VLAN (эта статья не подойдет для такого случая, придется иначе выкручиваттся) или так, что из-за NAT будет криво работать (к счастью, таких уже почти нет).

© Habrahabr.ru