Добрый день.
Добавление интерфейса VLAN.
Настройка VLAN Switch
Сегодня я попробую объяснить каким образом можно использовать VLAN на микротике. Об этом информация в сети в целом есть, но как-то кусками. На сайте микротика есть довольно внятное объяснение. Но на русском описывается решение для чипа 8316. Там применяются правила с VLAN-ID тэгами, а чип 8327 этих правил не поддерживает. Зато в английской версии как раз рассматривается пример с чипом 8327 Поэтому решил в целом для себя написать статью как напоминание, ну и может кому пригодится.
Начну с того что VLAN поддерживают не все Mikrotik устройства, а только следующие модели:
- Atheros 8316 представлен в платах RB493G (ether1+ether6-ether9, ether2-ether5), RB1200 (ether1-ether5), RB450G (все порты (ether1 опционально) подробнее…),
RB435G (все порты (ether1 опционально) подробнее…), RB750G, и в RB1100 (ether1-ether5, ether6-ether10). - Atheros 8327 представлен в платах серии RB2011 (ether1-ether5+sfp1), RB750GL, RB751G-2HnD, а также в RB1100AH и RB1100AHx2 (ether1-ether5, ether6-ether10).
- Atheros8227 представлен в платах серии RB2011 (ether6-ether10).
- Atheros 7240 представлен в RB750 (ether2-ether5), RB750UP (ether2-ether5), RB751U-2HnD (ether2-ether5) и RB951-2n.
Для того что бы узнать какой чип у вашего микротика через winbox выберите окно switch в нём вкладку switch. В моём случае это Atheros 8327, и все примеры я буду приводить именно для него.
Для просмотра чипа через терминал набираем interface ethernet switch print
Итак, существует два метода работы с VLAN: первый это добавления интерфейса с нужным вам VLAN ID, и второй более мудрёный использовать Mikrotik как управляемый свитч для работы с VLAN, т.е. можно настраивать порты как Access, Trunk, переводить их в тегированный или нетегированный режим.
Добавление интерфейса VLAN.
Пожалуй самое простое. Через Winbox выбираем раздел Interface в нём жмём кнопку добавления интерфейс (+) и выбираем VLAN.
В появившемся окошке достаточно заполнить три поля:
- Name — имя нового интерфейса;
- VLAN ID — собственно метка VLAN;
- Interface — порт на котором будем смотреть VLAN.
Если хотим выполнить эту же операцию в терминале — набираем команду interface vlan add name=VLAN-141-Env interface=ether4 vlan-id=141. По сути тоже самое.
Затем в IP — Addreses не забываем интерфейсу присвоить IP Адрес.
Есть один нюанс в этом простом действии, если Вам надо добавить интерфейс VLAN на slave порт, то добавлять его следует на master порт.
На этом всё.
Настройка VLAN Switch
В этом режиме микротик работает только как Switch, все его прелести как маршрутизатора в этом случае нам не нужны и задействованы не будут. Это с одной стороны плюс, потому что передача пакетов в этом случае будет происходить на скорости сетевого интерфейса (т.е. если порт 100 мегабит — пакеты будут проходить со скоростью 100 мегабит, 1гигабит — 1гигабит) т.е. быстрее чем если мы будем использовать бридж или роут режимы. С другой стороны толком контроля трафика здесь мы не добьёмся, но этого и не нужно.
Я рассмотрю две схемы, 1я схема когда микротик будет использоваться как свитч доступа, и 2я — транзитный.
Access
В первой схеме у нас порты 3,4,5 — акцесс порты (access ports,порты доступа), 2 — порт транковый (trunk port). Эта схема рассматривается на оф. сайте микротика. Соответственно если у вас чип 8316 читаем русскую версию , если 8327 английскую, или читаем дальше.
Создаём свитч-группу.
/interface ethernet set ether3 master-port=ether2 set ether4 master-port=ether2 set ether5 master-port=ether2
Настраиваем на портах vlan-mode и vlan-header, а так же для access портов присваиваем default-vlan-id (аналоги PVID на D-link’ах и VLAN to Port на Linksys’ах).
Параметр «vlan-mode» может принимать следующие значения:
- disabled — игнорировать vlan-таблицу, обрабатывать пакеты, содержащие vlan-теги точно так же, как если бы они не содержали vlan-тегов;
- fallback — режим по умолчанию – обрабатывать пакеты, содержащие vlan-теги, не представленные в vlan-таблице, точно так же, как если бы они не содержали vlan-тегов. Пакеты, содержащие vlan-теги, представленные в vlan-таблице, но входящий порт не соответствует какому-либо порту в записях vlan-таблицы, не будут отброшены.
- check — отбрасывать пакеты, содержащие vlan-теги, не представленные в vlan-таблице. Пакеты, содержащие vlan-теги, представленные в vlan-таблице, но входящий порт не соответствует какому-либо порту в записях vlan-таблицы, не будут отброшены.
- secure — отбрасывать пакеты, содержащие vlan-теги, не представленные в vlan-таблице. Пакеты, содержащие vlan-теги, представленные в vlan-таблице, но входящий порт не соответствует какому-либо порту в записях vlan-таблицы, тоже будут отброшены.
Параметр «vlan-header» может принимать следующие значения:
- leave-as-is — пакет не подвергается изменениям на исходящем порте;
- always-strip — если VLAN-заголовок присутствует, он будет удалён из пакета;
- add-if-missing — если VLAN-заголовок отсутствует, он будет добавлен к пакету.
/interface ethernet switch port set ether3 vlan-mode=secure vlan-header=always-strip default-vlan-id=200 set ether4 vlan-mode=secure vlan-header=always-strip default-vlan-id=300 set ether5 vlan-mode=secure vlan-header=always-strip default-vlan-id=400 set ether2 vlan-mode=secure vlan-header=add-if-missing
Добавляем в таблицу VLAN записи наших меток:
/interface ethernet switch vlan add ports=ether3,ether2 switch=switch1 vlan-id=200 independent-learning=yes add ports=ether4,ether2 switch=switch1 vlan-id=300 independent-learning=yes add ports=ether5,ether2 switch=switch1 vlan-id=400 independent-learning=yes
На этом настройка первой схемы завершена.
Transit
Во-второй схеме наш микротик стоит между двумя управляемыми свитчами, т.е. мы настраиваем только два транковых порта которые будут передавать данные допустим с Vlan тэгом 141 с одного порта на другой.
Это более простая схема нам достаточно будет два порта для примера 4й и 5й.
Как и в первой схеме нужно создать свитч-группу:
/interface ethernet set ether4 master-port=ether5
Настраиваем на портах vlan-mode и vlan-header:
/interface ethernet switch port set ether4 vlan-mode=secure vlan-header=add-if-missing set ether5 vlan-mode=secure vlan-header=add-if-missing
Добавляем в таблицу VLAN записи наших меток:
/interface ethernet switch vlan add ports=ether4,ether5 switch=switch1 vlan-id=141 independent-learning=yes
Всё, пакеты с меткой 141 буду проходить с одного порта на другой, естественно в этом случае мы также должны подготовить и свитчи между которыми будет стоять микротик, но это уже совсем другая история.
Как обычно, если есть вопросы их можно задавать в комментариях ниже.