Microtik как связать vlan аппаратного и программного уровня

Цель моей работы - предложение широкого ассортимента IT услуг на постоянно высоком качестве. Для этого я постоянно прохожу дополнительное обучение и совершенствую свои навыки на практике.
3 Октября 2018

Привет всем!

Тут недавно я узнал, что роутеры Mikrotik с switch микросхемой на борту может обрабатывать VLAN на уровне железа. Что мне может не радовать, так как скорость работы повышается до уровня работы порта. К тому же не затрагивается центральный процессор роутера. Не правда ли заманчиво? Я испытал это в боевых условиях и подтверждаю – это работает. Но как настроить vlan-ы так, что бы они работали как на уровне switch чипа, так и на программном уровне? На примере маршрутизатора Mikrotik hAP ac я расскажу как это настраивается. Условно я из маршрутизатора сделаю некое подобие умного L2 свичта с Wi-Fi.

Вот примерная схема. Есть три сети. Первая сеть vlan42 будет для пользователей. Вторая сеть vlan10 будет для серверов и оборудования. А сеть vlan172 пусть будет гостевой. Я её изолирую от других сетей и дам туда только Интернет, предварительно зарезав скорость до 5Мб/с. Гостям хватит :) . Ну свой Vlan100 сделаю для сети Beeline.

На роутере, который я образно буду превращать в подобие умного свича L2, на ether5 будет приходить trunk с vlan-ами. На порт ether1 повешу vlan42, на порт ether2 повешу vlan100, порты с ether3 по ether4 сделаем vlan10. А вот vlan172 с гоствой сетью, вместе с vlan42 как раз пойдёт на Wi-Fi. Итак приступаем.

Шаг 1 объединение портов в свич.

Первым делом нужно объеденить все пять ether портов в switch. С новой прошивкой это делается немного иначе, как было раньше с Master prot. Теперь идём в меню Bridge и в нём создаём новый birdg в который и поместим все порты. Назвать этот bridg можно как угодно, разницы не какой.

Создание бриджа

Далее помещаем все порты с созданный bridg. Главное не упустить при добавлени порта, что бы стояла галочка Hardware Offload. Это очень важно.

Hardwere Offload

После добавления всех портов, у меня получилось как на картинке.

Порты в бридже

Шаг 2 создание таблицы vlan на switch чипе.

Теперь надо будет создать таблицу с vlan на аппаратном уровне и связать их с портами. Идём в Switch – VLAN и нажимаем плюсик, чтобы создать vlan10. Появиться окно для создание vlan. В поле VLAN ID пишу 10, в после Ports я добавляю порты которые будут в этом vlan. Порт ether5 и switch1 cpu надо будет указать во всех vlan-ах, так как эти порты транки. Кстати обратите внимание на порт switch1 cpu. Не буду вдаваться в подробности, скажу лишь что этот порт что-то типа проводка, который соеденяет микросхему switch с процессором маршрутизатора. Он нам понадобиться чтобы вывести vlan-ы с аппаратного уровня на программный. Это понадобиться что-бы нужные vlan-ы связать с Wi-Fi. Так-как интерфейс switch1 cpu тоже должен быть транковым, значит он так-же должен присутствоать на всех vlan-ах.

Создание vlan на switch chip

По аналогии создаю остальные vlan-ы. Вот что получилось в итоге.

Таблица vlan на switch chip

Здесь я для наглядности выделил в зелёном и красном квадрате транковые порты. После добавления всех vlan-ов надо настроить порты.

Шаг 3 настройка портов свича.

На этом шаге надо будет настроить порты свича, так чтобы всё работало как надо. Идём Switch – Port и начинаем с портов доступа. Тыкаем два раза по порту ether1 и приступаем к настройкам.

Добавление порта в vlan

В поле VLAN Mode выбираем режим secure, что значит, что порт будет отбрасывать пакеты, содержащие vlan-теги, не представленные в vlan-таблице. В поле VLAN Header выбираем режим always-strip. Этот режим будет убирать заголовок VLAN из пакета, когда пакет будет выходить из порта. Что и нужно, ведь это порт доступа. Тогда как пункт Default VLAN ID как раз наоборот, будет приписывать заголовок с VLAN, когда пакет будет приходить на порт. Эту операцию надо проделать со всеми портами доступа. Далее переходим к trunk портам. Их два.

Настроенные порты

Один на порту ether5, другой switch1 cpu. У обоих портов VLAN Mode ставим secure. На порту ether5 режим VLAN Header выбираем add-if-missing – что значит, если VLAN-заголовок отсутствует у пакета, он будет добавлен. А вот на порту switch1 cpu VLAN Header выбираем leave-as-is. Этот режим не изменяет пакеты на исходящем порте. Итого получилось.

Настроенные порты

На этом настройка switch чипа для работы с VLAN закончена. Теперь Транк и VLAN обрабатывает switch чип и делает это очень быстро, на скорости порта.

Шаг 4 выводим VLAN на программный уровень.

Но что делать если нам надо с vlan-ами дополнительно работать? К примеру, VLAN172и VLAN42 вывести на Wi-Fi, ведь как мы помним vlan172 это гостевая сеть, а vlan42 полный доступ к нашей сети.

Как я писал выше, в switch чипе есть некий невидимый, виртуальный порт switch1 cpu, который соединяется с центральным процессором. Зная это, накидываем уже программные VLAN на наш bridge-switch, там самым соединяя vlan аппаратного уровня switch чипа на vlan уже программного уровня.

Добавление программных vlan

Вот и всё, всё оказалось проще пареной репы! Теперь с программными vlan можно работать как душе угодно. Можно вешать на них ip адреса, можно их объединять в различные брижди, в общем делать всё что захотим.

Для примера покажу, как теперь можно соединить vlan42 с локальной сетью, который есть на switch chip-е с Wi-Fi. Первым делом я создаю bridge и называю его, к примеру bridge-users. А дальше в этот bridge я добавляю уже программный vlan42 и порт Wi-Fi, к примеру wlan1.

Соеденение Wi-Fi с VLAN

Теперь получилось, что vlan42 обрабатывается как на уровне switch чипа, то есть на скорости порта, не нагружая центральный процессор, работая с ether портами, так и на уровне процессора, работая с Wi-Fi.

Вернуться к списку