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

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


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

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

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

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

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



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

Теперь возьмем, и создадим два 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



Теперь создаем таблицу 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



И на чипе коммутации «объединим» порты с помощью 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



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

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


  1. AcidVenom
    27.10.2016 08:17

    Что только человек не сделает, чтоб IGMP Proxy не использовать.
    Спасибо за альтернативный способ.


    1. MagicGTS
      27.10.2016 08:25

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


    1. Nagh42
      27.10.2016 14:13

      Я пробовал делать IGMP-proxy, и вроде все хорошо, но пользователи начали жаловаться на «подвисание» картинки. Поскольку делал удаленно, а интернет через этот же роутер, то разбираться в причинах было очень неудобно. Переделал на софт-бридж — все стало ОК. Провайдер билайн, роутер 951G-2HnD.


  1. Kliba
    27.10.2016 12:40

    Я видимо не совсем понял, но на какой интерфейс в таком случае назначать адрес получаемый от провайдера и куда вешать внутренний DHCP-сервер с NATом?


    1. MagicGTS
      27.10.2016 12:44

      На VLAN (это в разделе interfaces мы создавали) с именем ext вешаешь все, что связанно с провайдером, а V_LAN это внутренняя сеть. Для домашнего сценария, её нужно поместить в bridge вместе с WiFi, и уже на bridge навесить IP и DHCP внутренней сети.


  1. dmitry_ch
    27.10.2016 18:01

    Микротики в последних нескольких релизах ROS довольно сильно взялись допиливать работу с Ethernet, например, Loop Protection (не через STP) прикрутили, да и вот Cable Test появился. В общем, полезно поглядывать, что в этом направлении последнее время ими делается, есть шанс, что и по обсуждаемой теме что-то доделается/улучшится.


    1. cjmaxik
      28.10.2016 07:18

      Cable Test был уже давно.