Для наглядного примера я буду использовать маршрутизатор Mikrotik CCR1036-8G-2S+ и коммутатор CRS125-24G-1S.

Этот вариант на данный момент работает в нескольких гостиницах Москвы и Московской области.
Поставим условную задачу, чтобы на каждом коммутационном узле присутствовала сеть класса А (10.1.0.0/24) для работников фирмы и сеть класса С (192.168.1.0/24) для WiFi для посетителей.

Допустим, у нас имеется коммутационный узел A c маршрутизатором Mikrotik CCR1036-8G-2S+, коммутационный узел B с коммутатором CRS125-24G-1S. Коммутационные узлы А и В будут соединены каналом связи (Trunk) в нашем случае по витой паре (каналов связи (trunk) может быть несколько в зависимости от количества коммутационных узлов; также если имеется ВОЛС и оптический модуль SFP mikrotik, то можно trunk назначить и на SFP). Приведу ниже схему с использованием trunk по витой паре.

image

Приступим к настройке коммутационного узла A с маршрутизатором Mikrotik CCR1036-8G-2S+.

Назовем наш маршрутизатор «router-A».

system identity set name=router-A


Обозначим физические порты так, чтобы не возникало путаницы, каким сетям они принадлежат. Обозначим маркировкой lan физические порты, которые будут принадлежать сети (класса А) 10.1.0.0/24, маркировкой wifi физические порты, которые будут принадлежать сети (класса С) 192.168.1.0/24 и маркировкой trunk физические порты, которые будут использоваться под канал связи типа trunk.

interface ethernet set [ find default-name=ether1 ] name=ether1-wan
interface ethernet set [ find default-name=ether2 ] name=ether2-lan
interface ethernet set [ find default-name=ether3 ] name=ether3-lan
interface ethernet set [ find default-name=ether4 ] name=ether4-lan
interface ethernet set [ find default-name=ether5 ] name=ether5-wifi
interface ethernet set [ find default-name=ether6 ] name=ether6-wifi
interface ethernet set [ find default-name=ether8 ] name=ether8-trunk
interface ethernet set [ find default-name=sfp-sfpplus1 ] disabled=yes
interface ethernet set [ find default-name=sfp-sfpplus2 ] disabled=yes

image

Создадим виртуальные интерфейсы во вкладке bridge, для объединения LAN портов.

interface bridge add name=br1-lan
interface bridge add name=br2-wifi
interface bridge add name=br3-trunk

image

Создаем Vlan интерфейсы, с помощью которых будут транспортироваться сети 10.1.0.0/24 и 192.168.1.0/24 до коммутационного узла B по каналу связи типа trunk. VLAN id для сети 10.1.0.0/24 будет 11, а для сети 192.168.1.0/24 будет 22. С помощью этих id будет передаваться информация о принадлежности трафика к vlan1-lan и vlan2-wifi.

interface vlan add interface=br3-trunk name=vlan1-lan vlan-id=11
interface vlan add interface=br3-trunk name=vlan2-wifi vlan-id=22

image

Назначаем LAN порты маршрутизатора виртуальным интерфейсам (bridge) согласно вышеуказанной схеме

interface bridge port add bridge=br1-lan interface=ether2-lan
interface bridge port add bridge=br1-lan interface=ether3-lan
interface bridge port add bridge=br1-lan interface=ether4-lan
interface bridge port add bridge=br2-wifi interface=ether5-wifi
interface bridge port add bridge=br2-wifi interface=ether6-wifi
interface bridge port add bridge=br3-trunk interface=ether8-trunk
interface bridge port add bridge=br1-lan interface=vlan1-lan
interface bridge port add bridge=br2-wifi interface=vlan2-wifi
interface bridge port add bridge=br3-trunk interface=ether7

(Добавлю этот LAN порт для возможно будущего коммутационного узла С, на всякий пожарный)

image

Назначаем сети виртуальным интерфейсам

ip address add address=10.1.0.1/24 interface=br1-lan network=10.1.0.0
ip address add address=192.168.1.1/24 interface=br2-wifi network=192.168.1.0
ip address add address=62.64.2.0/0 interface=ether1-wan network=62.64.2.0

Провайдер предоставляет мне интернет по протоколу EOiP. Поэтому вы на эту команду не обращайте внимания, а настраивайте доступ в интернет по wan-порту согласно настройкам, предоставленным Вашим провайдером

image

Настроим Пул раздаваемых адресов сетям, настроим dhcp

ip pool add name=pool-wifi ranges=192.168.1.50-192.168.1.220
ip pool add name=pool-lan ranges=10.1.0.50-10.1.0.220

image

ip dhcp-server add address-pool=pool-lan disabled=no interface=br1-lan name=dhcp-lan
ip dhcp-server add address-pool=pool-wifi disabled=no interface=br2-wifi name=dhcp-wifi

image

ip dhcp-server network add address=10.1.0.0/24 dns-server=8.8.8.8,8.8.4.4 domain=lan.local gateway=10.1.0.1
ip dhcp-server network add address=192.168.1.0/24 dns-server=8.8.8.8,8.8.4.4 domain=wifi.local gateway=192.168.1.1

image

Включим NAT, чтобы устройства, находящиеся в сетях 192.168.1.0/24 и 10.1.0.0/24, имели выход в интернет.

ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-wan src-address=10.1.0.0/24
ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-wan src-address=192.168.1.0/24

image

Изолируем подсети, чтобы устройства из сети 192.168.1.0/24 не видели и не использовали устройства, находящиеся в сети 10.1.0.0/24. (Я предпочитаю таким способом осуществить изоляцию; есть еще способ изолировать подсети с помощью Route Rules, но я буду использовать правило Firewall)

ip firewall filter add action=drop chain=forward disabled=yes dst-address=192.168.1.0/24 in-interface=br1-lan

Данное правило можно включать и отключать в зависимости от вашей потребности в доступе к устройствам из сети 10.1.0.0/24 в 192.168.1.0/24 или наоборот.

image

Теперь настроим коммутационный узел B с коммутатором Mikrotik CRS125-24G-1S

Назовем наш коммутатор «switch-B»:

system identity set name=switch-B

Обозначим физические LAN порты. Объединим порты с 1 по 8 включительно в общий аппаратный коммутатор с мастер портом ether-1 и обозначим его master, остальные со 2 по 8 включительно обозначим slave. Аналогично сделаем и с портами с 9 по 16 включительно с мастер портом ether-9.

interface ethernet set [ find default-name=ether1 ] name=ether1-master-lan
interface ethernet set [ find default-name=ether2 ] master-port=ether1-master-lan name=ether2-slave-lan
interface ethernet set [ find default-name=ether3 ] master-port=ether1-master-lan name=ether3-slave-lan
interface ethernet set [ find default-name=ether4 ] master-port=ether1-master-lan name=ether4-slave-lan
interface ethernet set [ find default-name=ether5 ] master-port=ether1-master-lan name=ether5-slave-lan
interface ethernet set [ find default-name=ether6 ] master-port=ether1-master-lan name=ether6-slave-lan
interface ethernet set [ find default-name=ether7 ] master-port=ether1-master-lan name=ether7-slave-lan
interface ethernet set [ find default-name=ether8 ] master-port=ether1-master-lan name=ether8-slave-lan
interface ethernet set [ find default-name=ether9 ] name=ether9-master-wifi
interface ethernet set [ find default-name=ether10 ] master-port=ether9-master-wifi name=ether10-slave-wifi
interface ethernet set [ find default-name=ether11 ] master-port=ether9-master-wifi name=ether11-slave-wifi
interface ethernet set [ find default-name=ether12 ] master-port=ether9-master-wifi name=ether12-slave-wifi
interface ethernet set [ find default-name=ether13 ] master-port=ether9-master-wifi name=ether13-slave-wifi
interface ethernet set [ find default-name=ether14 ] master-port=ether9-master-wifi name=ether14-slave-wifi
interface ethernet set [ find default-name=ether15 ] master-port=ether9-master-wifi name=ether15-slave-wifi
interface ethernet set [ find default-name=ether16 ] master-port=ether9-master-wifi name=ether16-slave-wifi
interface ethernet set [ find default-name=ether24 ] name=ether24-trunk

image

Создаем Vlan интерфейсы на физическом 24 lan-порту, с помощью которых будут транспортироваться сети 10.1.0.0/24 и 192.168.1.0/24 от коммутационного узла А по каналу связи типа trunk. Не забываем указать тот vlan id, который мы указали в соответствии с начальной схемой.

interface vlan add interface=ether24-trunk name=vlan1-lan vlan-id=11
interface vlan add interface=ether24-trunk name=vlan2-wifi vlan-id=22

image

Создадим виртуальные интерфейсы во вкладке bridge для объединения LAN портов.

interface bridge add name=br-lan
interface bridge add name=br-wifi

image

interface bridge port add bridge=br-lan interface=vlan1-lan
interface bridge port add bridge=br-wifi interface=vlan2-wifi
interface bridge port add bridge=br-lan interface=ether1-master-lan
interface bridge port add bridge=br-wifi interface=ether9-master-wifi

image

Таким образом, мы имеем связь между коммутационными узлами А и В, соединенные витой парой, по которой проходят две разные сети 10.1.0.0/24 и 192.168.1.0/24 с помощью VLAN.
Поделиться с друзьями
-->

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


  1. q1b
    27.02.2017 17:46

    О чем статья? О том, что на Mikrotik можно создать VLAN'ы, объединить их в мосты, навесить адреса и создать DHCP-сервера? Куда смотрят модераторы?


    1. Kliba
      27.02.2017 18:10

      Статья мало того что не несет ничего нового, так еще и неправильная — зачем-то на коммутаторе вланы распределяются через роутинг(bridge), вместо нормального свитчинга(interface ethernet switch vlan add) на уровне платы, что значительно быстрее и дешевле.


      1. miron36357
        27.02.2017 22:57
        -1

        В Mikrotik CCR1036-8G-2S+ все порты подключены напрямую к CPU, учите мат.часть


        1. Kliba
          27.02.2017 23:17

          В CCR — да, не спорю, но я и не о нем говорил, а о CRS — там вполне себе имеется switch плата(в данной модели 3 штуки, ЕМНИП)


          1. dmitry_ch
            28.02.2017 13:49

            В (некоторых) «старых» CCR как раз была switch-плата, в «новых» (пришедшим им на смену) уже нет.

            Для сравнения откройте (это pdf-ы) блок-диаграмму для (старого) CCR1009-8G-1S, и блок-диаграмму для (нового) CCR1009-7G-1C-1S+.

            Собственно, об этом они оповещали в листовке от декабря 2016:

            The new updated revision of CCR1009 is here.

            Important changes
            No switch-chip — the device now features only fully independent Gigabit Ethernet ports each with a
            direct connection to the CPU, allowing to overcome previously shared 1Gbit limitation from switch-chip
            ports and utilize full potential of CPU processing power on those ports.


            Обещали с этим изменением повышение пропускной способности (на пару гигабит, судя по их табличкам). Да и правда, лишний повод для беспокойства при проектировании, когда часть портов роутера идет через гигабитный шнурок, часть — напрямик.

            Естественно, для CRS разговора нет, все летит через switch-chip, это же и есть коммутатор, причем MT, как кажется, последовательно старается убрать из коммутаторов мощность, подходящую для маршрутизации, чтобы себе малину не ломать (сравните CRS125-24G-1S-RM -> CRS226-24G-2S+RM -> новые их свичи, которые уже даже без ROS).


        1. Faight
          27.02.2017 23:18

          Он имел в виду коммутатор CRS, мануал по которому автор не читал похоже. Оставлю это здесь https://wiki.mikrotik.com/wiki/Manual:CRS_examples

          Кстати говоря, с версии 6.38 микротик на коммутаторах нормальный rstp предлагает, хорошо бы об этом упомянуть в статье.


  1. Buchachalo
    27.02.2017 19:42

    А я считаю много мануалов не бывает.


    1. Kliba
      27.02.2017 22:55

      Их не бывает много в том случае, если они корректные. В данном же случае автор зачем-то навешивает на коммутатор несвойственную ему роль маршрутизатора, что очень даже скажется на работе под нагрузкой.


  1. nkusnetsov
    27.02.2017 21:25

    Смешались в кучу вланы, бриджи. Автор малость перемудрил со схемой и недораскрыл тему.
    Возникает вопрос: зачем создавать «br3-trunk», когда vlan-интерфейсы отлично навешиваются прямо на порт «Ether8» («ether8-trunk»)?


    1. 701054
      27.02.2017 22:49

      Там запас для Ether7 еще судя по скринам, логичнее правда было б это сделать на switch сhip настроив на одном порту и второй сделав слейвом.


      1. nkusnetsov
        28.02.2017 14:46
        +1

        switch сhip в маршрутизаторах серии CCR отсутствует. Всё делается ресурсами CPU.


        1. 701054
          28.02.2017 23:51

          Спасибо, не знал — думал все как и на младших.


    1. space999
      27.02.2017 22:58

      Добрый вечер. Спасибо за комменты :))
      Согласен насчет того что можно повесить на физ. порт, но дам ответ на Ваш вопрос: Для того чтобы использовать еще один канал связи Trunk с теми же сетями например для другого коммутационного узла.


      1. MagicGTS
        28.02.2017 08:38

        В CCR, Switch чип прекрасно это делает, без поднятия трафика в CPU. Ваша схема будет тормозить сеть. CPU этой модели тянет коммутацию со скоростью чуть больше 1Гбит (тупой бридж), меньше гигабита в режиме route (простые правила), а nat вообще около 100Мбит (это уже не тестировал). И все потому, что он для другой цели проектировался.


        1. Wexter
          28.02.2017 10:46

          покажите мне пожалуйста на этой схеме где расположен свич в этом роутере?
          image


        1. Kliba
          28.02.2017 10:59

          Тут вы все же ошибаетесь — в CCR нет Switch платы, все порты подключены к CPU, это именно маршрутизатор, который в режиме бриджа вполне прокачивает 25 GBps, а вот CRS не заточен под это и при указанных правилах действительно будет сильно тормозить сеть.


          1. MagicGTS
            28.02.2017 11:03

            Точно, ошибся в названии, я имел в виду CRS. Вы правильно меня поняли.


          1. nkusnetsov
            28.02.2017 14:49

            Немного уточню:
            В старых CCR1009 (из «CCR» только в них) был свитч-чип. После модернизации, в новых версиях CCR1009 свитч-чип убрали. Теперь его нет ни в одном из устройств линейки CCR


        1. DaemonGloom
          28.02.2017 11:00

          Вы, вероятно, путаете CCR (Cloud Core Router) и CRS (Cloud Router Switch).


      1. nkusnetsov
        28.02.2017 14:55

        К сожалению, иногда в функционале бриджей проскакивал «неуловимый баг». По непонятной причине иногда трафик разных Vlan'ов висящих в одном бридже начинал смешиваться. Т.е. трафик Vlan11 мог «протекать» в Vlan22 и наоборот. В новых версиях вроде, пофиксили, но лично я на всякий случай стараюсь избегать «замыкания» нескольких vlan в общий бридж.


        1. k0ldbl00d
          28.02.2017 15:09

          Ну вообще-то если в RouterOS (как и в linux) объединить два влана в бридж, то их трафик в любом случае должен смешаться, потому что это именно то, что должен делать бридж.


  1. k0ldbl00d
    28.02.2017 01:20

    Человеку, знающему что такое VLAN, бриджи и LAG, представляющему как работает коммутация, как правило, не нужно объяснять как работать с этим в RouterOS. Даже если он впервые видит интерфейс WinBox'а, для него не составит труда разобраться. И наоборот, я бы не рекомендовал начинать знакомство с такими вещами со среды RouterOS, лучше почитать соответствующие книги или хотя бы xgu.ru.

    Главная, на мой взгляд, проблема вашей статьи в том, что она называется «Настройка VLAN...» а дальше вы просто приводите ваше решение конкретной задачи, причем не только по настройке VLAN, а еще с кучей посторонних сервисов, таких как DHCP, фаервол и т.д. Незнающего человека такой «мануал» запутает, знающему он будет просто не нужен.