Ситуация: на Mikrotik на разных портах заведены свои сетки:
  • ether2 — 192.168.2.0/24
  • ether3 — 192.168.3.0/24
  • ether4 — 192.168.4.0/24
  • ether5 — 192.168.5.0/24
  • wlan0 — 192.168.10.0/24


В этих сетях Mikrotik (модель RB751G-2HnD) раздаёт настройки по DHCP.

Задача: используя Wi-Fi подключить ещё оборудование так, чтобы оно оказалось в сети 192.168.3.0/24.
У меня такая задача возникла из-за того, что на балконе сетевое хранилище (NAS) подключено проводом к роутеру (сам роутер в прихожей). А в гостинной — медиапроигрыватель, который должен показывать фильмы с NAS-устройства. Но в гостинной Ethernet-кабеля нет (т.е. был, но я от него отказался).

Для этого будем использовать второй Mikrotik (модель hAP lite). Оба Mikrotik будут образовывать беспроводной сетевой мост. Для этого на основном Mikrotik создадим ещё один беспроводной интерфейс — виртуальную точку доступа (Virtual AP). В итоге схема должна получиться примерно такой:



Т.е. в этой схеме оборудование NAS и Comp должно находиться в сети 192.168.3.0/24. При этом NAS и Comp физически разнесены и подключены к разным Mikrotik.
ether1 на основном Mikrotik — источник Интернета.

В конце настройки средняя скорость между микротиками за 5 мин составила 220 Мбит/с (по данным утилиты ping test, входящей в RouterOS):




Здесь и далее Comp и медиапроигрыватель — это одно и то же.

Все настройки производились через веб-интерфейс администрирования (webfig).

Создание VirtualAP на RB751G-2HnD



Как указывалось выше, RB751G-2HnD изначально настроен на раздачу разных подсетей на разных физических портах. Это я подробно рассматривать не буду. Оно уже описано тут.

На RB751G-2HnD создадим и настроим VirtualAP.
Заходим в раздел Wireless->Security Profiles и жмём кнопку Add New. Задаём имя профиля и пароль на нашу будущую виртуальную точку доступа.
Второй роутер (hAP Lite) находится в гостиной. Именно для него и создаётся сеть. Поэтому профиль я назвал gostinnaya:



Далее создаём саму виртуальную точку доступа. Для этого заходим в Wireless->Interfaces и выбираем Add New->VirtualAP Указываем ранее созданный профиль и задаём мастер интерфейс по имени существующего беспроводного адаптера (у меня это wlan1).



После этого в списке беспроводных интерфейсов помимо wlan1 появится виртуальный интерфейс gostinnaya.

Настройка моста на RB751G-2HnD между VirtualAP и Ethernet



Нужно сделать сетевой мост, состоящий из интерфейсов:

  1. ether3
  2. gostinnaya


Для этого в разделе Bridge, нажмём Add New и заполним параметры. NAS находится на балконе, поэтому сетевой интерфейс я назвал bridge_balcon and gostinnaya_wi-fi


После чего у нас появится новый виртуальный интерфейс (у меня это bridge_balcon and gostinnaya_wi-fi).

Теперь нужно назначить какие реальные интерфейсы будут ассоциированы с созданным мостом. Заходим в Bridge->Ports, нажмём Add New. Выбираем нужный Ether (у меня ether3-slave-local). Снова жмёж Add New и выбираем ранее созданный VirtualAP интерфейс (у меня gostinnaya). Теперь оба выбранных интерфейса будут отображены во вкладке Ports


Настройка на RB751G-2HnD завершена.

Настройка hAP Lite



hAP Lite я настраивал таким образом, чтоб любое оборудование, подключённое к любому Ethernet-порту оказывалось в сети 192.168.3.0/24. Т.е. мне нужно создать сетевой мост, состоящий из всех Ethernet-портов + беспроводного соединения (через которое hAP Lite будет подключаться к RB751G-2HnD). Т.о. hAP Lite превращается в коммутатор. И будет иметь свой адрес в сетке 192.168.3.0/24.

У hAP Lite были заводские настройки, которые нужно изменить.

В IP->Firewall->NAT деактивируем правило сетевого маскарадинга



В IP->DHCP Server->DHCP удаляем (или делаем неактивным) существующую по-умолчанию настройку раздачи по DHCP:



Теперь нужно настроить получение адреса самому hAP Lite от его сородича (RB751G-2HnD) по DHCP. В IP->DHCP Client->DHCP Client нажмём Add New и зададим интерфейс сетевого моста (у меня bridge-local).

В сетевой мост пока не входит Ether1 — такова заводская настройка. Добавить его можно так. Зайти в Interfaces, кликнуть на Ether1 и в поле Master Port выбрать ether2-master-local

Подключение hAP Lite к RB751G-2HnD через Wi-Fi



Настройка в Wireless->Security Profiles производится аналогично тому как было на RB751G-2HnD. После этого во вкладке Wireless->Interfaces настроить существующий беспроводной интерфейс (у меня wlan1):


Если всё задано верно, то после настройки здесь же вы увидите строчку «connected to ess».

Далее в Bridge->Ports, нажмём Add New и выбираем только что настроенный беспроводной интерфейс (у меня wlan1)



При этом на MikroTik hap Lite к существующему по-умолчанию bridge-local (который создался при зажатии reset на устройстве для сброса в дефолтные настройки) добавил wlan1 и убрал DHCP сервер.

На hAP в настройках wlan1 поменять Mode со значения «station» на «Station bridge» или «Station pseudobridge». Работают оба варианта.

Настойки сетевого моста на hap Lite:


В итоге оборудование корректно получило настройки по DHCP из сети 192.168.3.0/24. NAS и Comp видят друг друга прекрасно.



На момент настроек на всех Mikrotik была прошивка RouterOS 6.29.1. Конфигурация прекрасно себя чувствует на RouterOS 6.33.5 (последняя доступная на текущий момент).

Тесты производительности (версия RouterOS 6.33.5 на обоих устройствах)


Как я указывал в самом начале, средняя скорость между микротиками за 5 мин составила 220 Мбит/с (по данным утилиты ping test. Приведу ещё несколько цифр. Все тесты проходили без неуправлемого свитча, который показан на самом первом рисунке.

Средняя скорость между RB751G-2HnD и оборудованием за hAP lite (медиапроигрыватель): 54 МБит/с. Казалось бы — серьёзное падение скорости при транзите через hAP lite. На самом деле, не всё так плохо: у hAP lite порт Ethernet в настройках показывает скорость 100 МБит/с. Скорость между hAP lite и оборудованием за ним ((медиапроигрыватель) 85 МБит/с. Может, кого-то не устроит и такое падение в скорости. Но мне этого канала хватает, чтобы медиапроигрыватель показывал фильмы с NAS, средний размер которых 30-45 Гб.

UPD
Это был мой первый опыт создания беспроводного моста не только на Mikrotik, а в принципе. И я с первого раза был близок к рабочему решению. Вмешался досадный нюанс, забравший много времени и нервов. hAP в настройках wlan1 позиция Mode была установлена в «station». После того как поменял на «Station bridge» или «Station pseudobridge» всё починилось. Подробнее о проблеме и её проявлении тут.

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


  1. achekalin
    19.01.2016 01:54
    +3

    Спасибо, для кого-то и по делу, да и вообще, показывает, как малой кровью решать вопросы — взять и сделать!

    5 центов в тему:
    — «на скорость не влияет», но с точки зрения образовательной части вы бы переименовали интерфейсы, убрав из них слово slave там, где оно не используется.
    — указали бы версию ROS, на которой скорость достигали :) там от версии к версии иные мелочи приходят и уходят, сами знаете.
    — зачем у вас режим b/g/n, который скорость как раз уменьшает?
    — молодец, что не включили в настройках бриджа stp/rstp (по дефолту при создании бриджа через winbox включается rstp)
    — а зачем у вас вообще столько подсетей, для дома-то?
    — с бОльшими размерами кадров не игрались (>1500)?


    1. AcidVenom
      19.01.2016 08:27
      +2

      — Использовать Winbox вместо web-интерфейса.
      — Использовать Bandwidth Test для замера канала между микротиками.


      1. shanker
        19.01.2016 11:38

        Я редко использую Windows. Поэтому отказался от использования Winbox в пользу веб интерфейса. Winbox настолько хорош, что мне всё же стоит задуматься об его использовании?
        Про Bandwidth Test — спасибо, ранее не сталкивался. Завёлся с полпинка. Может, дополню статью его данными


        1. iAndrey
          19.01.2016 12:24
          +2

          winbox под wine работает отлично.


    1. shanker
      19.01.2016 11:56

      — поправил, версию ROS указал, спасибо
      — режим b/g/n — для совместимости с различным оборудованием. Насколько я понимаю технологию работы Wi-Fi, в теории просадка скорости тут будет в случае, если в сети появится устройство работающее только на старых (b или g) форматах. Пока такого устройства не будет, сеть будет работать в режиме n. За исключением, наверное, периодической рассылки служебных фреймов в режиме b/g (как раз для поддержки устройств в режиме b/g, если такие вдруг появятся). Служебные фреймы вряд ли сильно повлияют на производительность
      — режимы stp/rstp я не включил, скорее случайно: пока пытался решить проблему, о которой написано в конце статьи. В этой области у меня как раз пробел в знаниях. Можете поделиться ссылками где лучше почитать об этом?
      — изначально подсети создавались для гибкости. Например, чтоб «умный телевизор» ходил только в интернет, а не шарился по всей локалке. То же самое для NAS и медиапроигрывателя: запихнул их в одну подсеть — пусть видят друг друга. А по другим подсетям нечего шариться
      — с бОльшими размерами кадров — не пробовал. Спасибо за идею, посмотрю


      1. AcidVenom
        19.01.2016 12:50

        Я бы вместо подсетей использовал фильтр в том же мосте.


  1. Sunrisekhv
    19.01.2016 03:32
    +1

    Вот прям чувствую, что зря вопрос задаю, но зачем дома 4(!) разные сети? Одна для домашних устройств, вторая допустим для гостей, но если вы им не доверяете, то зачем вообще даете доступ к своим сетям? а зачем еще две?


    1. Sunrisekhv
      19.01.2016 04:03

      А извините, пропустил ту строчку где написано что это настройки по умолчанию, а изменить это нельзя или какую нибудь агрегацию портов настроить?


      1. shanker
        19.01.2016 12:02

        Как раз наоборот: по-умолчанию все порты (кроме первого, который предназначен для подключения к сети провайдера) уже агрегированы в один бридж и создают общую сеть 192.168.88.0/24.
        Изначально подсети создавались для гибкости. Например, чтоб «умный телевизор» ходил только в интернет, а не шарился по всей локалке. То же самое для NAS и медиапроигрывателя: запихнул их в одну подсеть — пусть видят друг друга. А по другим подсетям нечего шариться. Более подробно я писал об этом в статье Пример безопасной настройки домашней локальной сети


  1. 3draven
    19.01.2016 08:58

    Шесть лет назад настроил на двух omnitik мостик до ближайшей крыши с проводами так как частный сектор наши провайдеры не обслуживают. С тех пор не лазил :) Отличные штуки фирма делает, зимой пару раз на морозе зависали (-40), так сами перезагружаются и дальше пашут. Работают на 200Мбит скорости почти, частотами с обычными точками не пересекаются и протокол свой, шифрованный так что никто не лезет лишний. Сказка.

    Но вот ОС их меня раздражает, собрали бы они железки на обычном линуксе было бы намного интереснее.


    1. m0Ray
      19.01.2016 19:27

      «Обычный линукс» много чего не умеет из того, что умеет их ОС.


      1. 3draven
        19.01.2016 19:28

        Думаю реализовать в линуксе или написать свою ос, задачи как минимум сопоставимые по сложности.


        1. m0Ray
          19.01.2016 20:11

          Так они взяли ядро линукса и реализовали в нём и вокруг него то, что нужно. Просто не открыли исходники.


          1. 3draven
            19.01.2016 20:13

            Ну то есть они взяли ядро и написали вокруг свою закрытую ос. Я и говорю. В общем это единственный недостаток.


            1. m0Ray
              19.01.2016 20:57

              Там из этой закрытой ОС — API хранения и управления конфигурацией, шелл со скриптами, да веб-морда.
              Ну и ядро сильно пиленое, конечно.
              По сути они на основе линукса всё и сделали, вот о чём речь-то. Только закрытое.