В этом гайде я разберу настройку VLAN на MikroTik RouterOS 7 с нуля до рабочей конфигурации. Три готовых сценария: базовый VLAN, trunk/access порты и Wi-Fi VLAN через CAPsMAN. Команды — актуальные, для RouterOS 7. Воды — минимум.
Кому подойдёт этот гайд:
| Задача | VLAN-сценарий |
|---|---|
| Домашняя сеть | Основной Wi-Fi, гости, IoT — три изолированных сегмента |
| Малый офис | Сотрудники, гости, IP-телефония, камеры, управление |
| Гостевой Wi-Fi | Отдельный SSID → отдельный VLAN, без доступа в LAN |
| IP-камеры | Камеры изолированы, не видят рабочую сеть |
| IoT / умный дом | Умные устройства в карантине — не достучатся до ПК |
| VoIP | Голосовой трафик в отдельном VLAN с приоритетом QoS |
После прочтения вы получите: рабочие конфиги для CLI и WinBox, понимание Bridge VLAN Filtering, Management VLAN, Hardware Offload — и больше никогда не будете гуглить «почему VLAN не пингуется на MikroTik».
Что такое VLAN в MikroTik и зачем он нужен
VLAN (Virtual Local Area Network) — это способ разбить один физический коммутатор на несколько логически изолированных сетей. Трафик между VLAN не ходит без маршрутизатора. Это основа сегментации: офис отдельно, гости отдельно, камеры отдельно, IoT в карантине.
В контексте MikroTik важно понять две концепции сразу, иначе всё остальное будет непонятно.
Tagged vs Untagged
Tagged (тегированный) трафик — кадр несёт в себе метку VLAN ID (802.1Q заголовок). Используется на trunk-портах между коммутаторами и маршрутизаторами.
Untagged (нетегированный) трафик — обычный кадр без метки. Используется на access-портах, к которым подключены конечные устройства (ПК, принтеры, IP-камеры). Устройство не знает, что работает в каком-то VLAN.
Access vs Trunk порт
Access-порт — принимает нетегированный трафик, назначает ему VLAN ID (PVID), отдаёт тоже без тега. Для конечных устройств.
Trunk-порт — пропускает трафик нескольких VLAN одновременно, каждый со своим тегом. Для линков между коммутаторами, роутерами, серверами с несколькими виртуальными интерфейсами.
| Тип порта | Что принимает | Что отдаёт | PVID | Когда использовать |
|---|---|---|---|---|
| Access | Untagged | Untagged | = нужный VLAN ID | ПК, камеры, принтеры, IoT |
| Trunk | Tagged (несколько VLAN) | Tagged | 1 или native VLAN | Uplink, другой свич, сервер, точка доступа |
| Hybrid | Tagged + Untagged | Tagged + Untagged | = native VLAN | IP-телефоны (голос + данные), серверы с mgmt |
Где применяется: разделение гостевой и корпоративной сети, изоляция IoT-устройств, сегментация VoIP, разные SSID с разными VLAN на Wi-Fi, мультитенантные среды.
Особенности VLAN в MikroTik RouterOS 7
Если вы переходите с RouterOS 6 — читайте внимательно. В 7-й версии архитектура изменилась существенно.
RouterOS 6 vs RouterOS 7: сравнение подходов
| Критерий | RouterOS 6 | RouterOS 7 |
|---|---|---|
| Метод настройки VLAN | /interface vlan поверх ether или bridge |
Bridge VLAN Filtering — рекомендован |
| Предсказуемость | Много скрытых проблем с производительностью | Централизованная VLAN-таблица, прозрачная логика |
| Hardware offload | Работает, но конфигурация сложнее | Полная поддержка, проще включить |
| Inter-VLAN routing | Через вложенные VLAN-интерфейсы, нестабильно | Через VLAN-интерфейсы поверх bridge — чисто |
| Management VLAN | Сложно, много способов сломать | tagged=bridge1 — явный и понятный |
| CAPsMAN | CAPsMAN v1 | CAPsMAN v2 + WiFiWave2 |
| Поддержка в ROS 7 | Частичная, legacy | Полная |
Важно для мигрантов с ROS 6: не переносите VLAN-конфиги «как есть». Старые конфиги с /interface vlan поверх физических портов нужно пересобирать под Bridge VLAN Filtering. Болезненно один раз — стабильно потом.
Bridge VLAN Filtering
Механизм позволяет bridge работать как настоящий 802.1Q-коммутатор. Включается параметром vlan-filtering=yes на мосту. До включения — обязательно настройте все порты, иначе потеряете доступ.
Аппаратное ускорение (Hardware Offload)
На устройствах с аппаратным коммутатором (например, hEX, CRS3xx, CCR) при правильной настройке Bridge VLAN Filtering задействует hardware offload — трафик обрабатывается чипом, не CPU. Это критично для гигабитных потоков.
Проверить, работает ли offload:
/interface bridge port print detail where bridge=bridge1
# Смотрим: hw: yes — offload работает, hw: no — всё через CPU
Схема сети: как выглядит типовая VLAN-конфигурация
Прежде чем переходить к командам — посмотрите на итоговую схему. Это то, что мы будем строить.
| Уровень | Элемент | VLAN | Тип трафика | Сеть |
|---|---|---|---|---|
| Uplink | ether1 → ISP / вышестоящий роутер | 10, 20, 30, 99 | Tagged (trunk) | — |
| Access | ether2 → ПК офис | 10 | Untagged (access) | 192.168.10.0/24 |
| Access | ether3 → Гостевые устройства | 20 | Untagged (access) | 192.168.20.0/24 |
| Access | ether4 → IoT / умный дом | 30 | Untagged (access) | 192.168.30.0/24 |
| Management | ether5 → Ноутбук администратора | 99 | Untagged (access) | 192.168.99.0/24 |
| Trunk к AP | ether6 → Wi-Fi точка доступа | 10, 20 | Tagged (trunk) | — |
| Wi-Fi | SSID «Corp-WiFi» на точке | 10 | Tagged → Untagged на клиенте | 192.168.10.0/24 |
| Wi-Fi | SSID «Guest-WiFi» на точке | 20 | Tagged → Untagged на клиенте | 192.168.20.0/24 |
Базовая настройка VLAN на MikroTik: пошаговый рецепт
Сценарий: один MikroTik, два VLAN — VLAN 10 (офис, 192.168.10.0/24) и VLAN 20 (гости, 192.168.20.0/24). Порт ether1 — uplink/trunk, ether2 — access для офиса, ether3 — access для гостей.
Важно: порядок имеет значение. Сначала настраиваете всё, потом включаете vlan-filtering=yes. Не наоборот — иначе потеряете доступ к устройству.
Шаг 1. Создаём bridge
/interface bridge add name=bridge1 vlan-filtering=no comment="Main bridge"
Важно: vlan-filtering=no на старте. Сначала всё настраиваем, потом включаем фильтрацию.
Шаг 2. Добавляем порты в bridge
/interface bridge port
add bridge=bridge1 interface=ether1 comment="Uplink/Trunk"
add bridge=bridge1 interface=ether2 pvid=10 comment="Office access"
add bridge=bridge1 interface=ether3 pvid=20 comment="Guest access"
pvid (Port VLAN ID) — это VLAN, который будет назначен нетегированному трафику на этом порту. На trunk-порту pvid обычно остаётся 1 (дефолт).
Шаг 3. Настраиваем VLAN-таблицу bridge
/interface bridge vlan
add bridge=bridge1 vlan-ids=10 tagged=ether1,bridge1 untagged=ether2
add bridge=bridge1 vlan-ids=20 tagged=ether1,bridge1 untagged=ether3
Обратите внимание на tagged=bridge1 — это обязательный параметр. Он разрешает CPU MikroTik (и VLAN-интерфейсу поверх bridge) получать трафик этого VLAN. Без него IP-адрес на vlan10 будет назначен, но пинг не пойдёт.
Шаг 4. Создаём VLAN-интерфейсы для маршрутизации
/interface vlan
add interface=bridge1 vlan-id=10 name=vlan10
add interface=bridge1 vlan-id=20 name=vlan20
В RouterOS 7 VLAN-интерфейс создаётся поверх bridge, а не поверх физического порта. Это принципиальное отличие от ROS 6.
Шаг 5. Назначаем IP-адреса
/ip address
add address=192.168.10.1/24 interface=vlan10
add address=192.168.20.1/24 interface=vlan20
Шаг 6. Включаем VLAN Filtering
/interface bridge set bridge1 vlan-filtering=yes
После этой команды трафик между VLAN прекратится без явной маршрутизации. Убедитесь, что ваш management-доступ тоже учтён (см. раздел про Management VLAN).
Шаг 7. DHCP-серверы
/ip pool
add name=pool-vlan10 ranges=192.168.10.100-192.168.10.200
add name=pool-vlan20 ranges=192.168.20.100-192.168.20.200
/ip dhcp-server
add interface=vlan10 address-pool=pool-vlan10 name=dhcp-vlan10 disabled=no
add interface=vlan20 address-pool=pool-vlan20 name=dhcp-vlan20 disabled=no
/ip dhcp-server network
add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=192.168.10.1
add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=192.168.20.1
Настройка VLAN через Bridge: разбор Bridge VLAN Filtering
Bridge VLAN Filtering — это сердце современного подхода к VLAN в MikroTik RouterOS 7.
Как работает bridge VLAN-таблица
Когда кадр приходит на порт bridge, RouterOS смотрит в таблицу /interface bridge vlan и решает:
- Какой VLAN ID назначить (если кадр untagged — берётся pvid порта)
- Куда кадр может пойти (tagged или untagged на каких портах)
- Нужно ли добавить тег перед отправкой или снять его
Просмотр текущей таблицы:
/interface bridge vlan print
Типичный вывод для нашей конфигурации:
Flags: X - disabled, D - dynamic
# BRIDGE VLAN-IDS CURRENT-TAGGED CURRENT-UNTAGGED
0 bridge1 1 bridge1 ether1
1 bridge1 10 ether1, bridge1 ether2
2 bridge1 20 ether1, bridge1 ether3
Строка с VLAN 1 появляется автоматически (dynamic) — это management VLAN bridge-интерфейса.
Что такое CPU Port и зачем нужен tagged=bridge1
CPU port — виртуальный порт, через который сам RouterOS получает и отправляет трафик. В VLAN-таблице он обозначается как bridge1.
Когда вы добавляете tagged=bridge1 в VLAN-таблицу, вы разрешаете CPU получать тегированный трафик этого VLAN — и VLAN-интерфейс поверх bridge сможет с ним работать.
| Ситуация | tagged=bridge1 указан? | Результат |
|---|---|---|
| VLAN-интерфейс + IP + firewall | Да | Всё работает: DHCP, пинг, маршрутизация |
| VLAN-интерфейс + IP + firewall | Нет | IP назначен, но пинг не идёт — самая частая ошибка |
| Чистый L2 (нет VLAN-интерфейса) | Не нужен | Работает без tagged=bridge1 |
Параметр PVID: что будет, если забыть
Если на access-порту не указан pvid, нетегированный трафик с него попадёт в VLAN 1. Устройство подключено, пинг не идёт, вы час ищете проблему — а причина в одном параметре. Всегда явно указывайте pvid на access-портах.
Изменить pvid на существующем порту:
/interface bridge port set [find interface=ether2] pvid=10
Management VLAN: как не отрезать себя
Management VLAN — отдельный VLAN для управления самим MikroTik (WinBox, SSH, WebFig). Это обязательная практика в любой серьёзной конфигурации.
Зачем выносить управление в отдельный VLAN
- Изоляция: компрометация пользовательского VLAN не даёт доступа к управлению
- Ограничение доступа к управлению по IP через firewall
- Чёткая документация: всегда известно, откуда приходит управляющий трафик
Конфигурация Management VLAN 99
# Порт ether5 — management (к ноутбуку администратора)
/interface bridge port
add bridge=bridge1 interface=ether5 pvid=99 comment="Management port"
# VLAN-таблица: tagged=bridge1 обязателен!
/interface bridge vlan
add bridge=bridge1 vlan-ids=99 tagged=ether1,bridge1 untagged=ether5
# VLAN-интерфейс и IP для управления
/interface vlan
add interface=bridge1 vlan-id=99 name=vlan99-mgmt
/ip address
add address=192.168.99.1/24 interface=vlan99-mgmt
Схема: что происходит при включении vlan-filtering без Management VLAN
| Шаг | Без Management VLAN | С Management VLAN |
|---|---|---|
До vlan-filtering=yes |
Доступ есть | Доступ есть |
После vlan-filtering=yes |
Доступ потерян — порт не в VLAN-таблице | Доступ сохранён — порт в VLAN 99 |
| Восстановление | Serial console, откат | Не требуется |
Ограничить доступ к управлению только из Management VLAN
/ip firewall filter
# Разрешить WinBox, SSH, WebFig только из VLAN 99
add chain=input in-interface=vlan99-mgmt dst-port=8291,22,80,443 protocol=tcp action=accept comment="Allow management"
# Запретить управление из других VLAN
add chain=input in-interface=!vlan99-mgmt dst-port=8291,22,80,443 protocol=tcp action=drop comment="Block mgmt from other VLANs"
Native VLAN и PVID: ловушки
Что такое Native VLAN
Native VLAN — нетегированный VLAN на trunk-порту. В MikroTik это тот VLAN, который указан в pvid trunk-порта и одновременно прописан как untagged в VLAN-таблице для этого порта.
Ловушка: Native VLAN Mismatch
Если на обоих концах trunk-линка Native VLAN разный — нетегированный трафик попадёт в чужой VLAN.
| Устройство | Native VLAN (pvid) | Результат |
|---|---|---|
| MikroTik | VLAN 1 | Нетегированный трафик MikroTik попадает в VLAN 10 на Cisco — неожиданный VLAN hopping |
| Cisco (другой конец trunk) | VLAN 10 |
Всегда явно согласовывайте native VLAN на обоих концах trunk-линка. На MikroTik — это pvid trunk-порта + untagged=ether1 для этого VLAN в таблице.
Безопасность: не используйте VLAN 1 для трафика
VLAN 1 — дефолтный VLAN на всём оборудовании. Он участвует в атаках типа VLAN hopping. Правило простое: VLAN 1 не использовать для рабочего трафика, а лучше явно запретить его на всех пользовательских портах.
Настройка VLAN на порту: Access и Trunk
Access-порт: один VLAN, без тега для устройства
# Добавляем порт в bridge с нужным pvid
/interface bridge port
add bridge=bridge1 interface=ether4 pvid=30 comment="IoT access VLAN30"
# Регистрируем в VLAN-таблице как untagged
/interface bridge vlan
add bridge=bridge1 vlan-ids=30 tagged=ether1,bridge1 untagged=ether4
Trunk-порт: несколько VLAN, все тегированные
# Порт ether5 — trunk, пропускает VLAN 10, 20, 30
/interface bridge port
add bridge=bridge1 interface=ether5 pvid=1
# Добавляем ether5 как tagged во все нужные VLAN
/interface bridge vlan
set [find vlan-ids=10] tagged=ether1,ether5
set [find vlan-ids=20] tagged=ether1,ether5
set [find vlan-ids=30] tagged=ether1,ether5
Hybrid-порт: один нетегированный + несколько тегированных
Полезно для IP-телефонов (голос в одном VLAN, данные в другом).
# ether6: данные untagged → VLAN 10, голос tagged VLAN 50
/interface bridge port
add bridge=bridge1 interface=ether6 pvid=10
/interface bridge vlan
set [find vlan-ids=10] untagged=ether2,ether6
set [find vlan-ids=50] tagged=ether1,ether6
Сводная таблица конфигураций портов
| Тип порта | pvid | В VLAN-таблице | Когда использовать |
|---|---|---|---|
| Access | = ID нужного VLAN | untagged | Конечные устройства |
| Trunk | 1 (или native VLAN) | tagged во всех VLAN | Uplink, другой свич, сервер |
| Hybrid | = native VLAN | untagged + tagged | IP-телефоны, серверы |
VLAN между двумя MikroTik
Сценарий: два MikroTik соединены через ether1 (trunk-линк). На первом — VLAN 10 и 20 с DHCP. На втором — access-порты для клиентов.
Схема подключения
| Устройство | Роль | ether1 | ether2 | ether3 |
|---|---|---|---|---|
| MikroTik-A | L3 роутер + DHCP | Trunk (к ISP или uplink) | Access VLAN 10 | Access VLAN 20 |
| MikroTik-B | L2 коммутатор | Trunk (к MikroTik-A) | Access VLAN 10 | Access VLAN 20 |
Конфигурация MikroTik-B (L2-коммутатор)
# Создаём bridge
/interface bridge add name=bridge1 vlan-filtering=no
# ether1 — trunk к MikroTik-A, ether2 — access VLAN 10, ether3 — access VLAN 20
/interface bridge port
add bridge=bridge1 interface=ether1 pvid=1
add bridge=bridge1 interface=ether2 pvid=10
add bridge=bridge1 interface=ether3 pvid=20
# VLAN-таблица — без tagged=bridge1, здесь нет IP-интерфейсов
/interface bridge vlan
add bridge=bridge1 vlan-ids=10 tagged=ether1 untagged=ether2
add bridge=bridge1 vlan-ids=20 tagged=ether1 untagged=ether3
# Включаем фильтрацию
/interface bridge set bridge1 vlan-filtering=yes
На MikroTik-B не нужны IP-адреса на VLAN-интерфейсах — он работает только как L2-коммутатор. DHCP-ответы пройдут через trunk от MikroTik-A.
MikroTik ↔ Cisco / UniFi / TP-Link
При подключении к оборудованию других вендоров главное — согласовать Native VLAN на обоих концах trunk-линка.
| Вендор | Команда для Native VLAN | Аналог в MikroTik |
|---|---|---|
| Cisco | switchport trunk native vlan 10 |
pvid=10 + untagged=ether1 в VLAN-таблице |
| UniFi | Native Network в профиле порта | pvid=X на trunk-порту |
| TP-Link (TL-SG) | PVID в настройках порта | pvid=X на trunk-порту |
Проверка связи между устройствами
# На MikroTik-A: проверяем, что bridge видит MAC-адреса в нужных VLAN
/interface bridge host print where bridge=bridge1
# Пинг из VLAN 10 в VLAN 20 (маршрутизируется через MikroTik-A)
/ping 192.168.20.100 src-address=192.168.10.1
VLAN Switching на MikroTik: аппаратное ускорение
На устройствах со встроенным коммутационным чипом VLAN-трафик может обрабатываться аппаратно — без нагрузки на CPU.
Таблица поддержки Hardware Offload по моделям
| Модель | Switch Chip | VLAN Offload | Ограничения |
|---|---|---|---|
| CRS317, CRS326, CRS354 | Marvell 98DX | Полный | Firewall Bridge отключает offload |
| CRS305, CRS309 | Marvell 98DX | Полный | — |
| RB5009UG+S+IN | Marvell Amethyst | Полный | — |
| hEX (RB750Gr3) | MT7621 | Есть | Не все функции |
| hAP ax2, ax3 | IPQ-6010 | Частичный | Wi-Fi трафик через CPU |
| RB951, hAP lite | Нет | Нет | Весь трафик через CPU |
| CCR2004, CCR2116 | Нет (маршрутизатор) | Нет | Только L3 маршрутизация |
Когда hardware offload включается автоматически
- Bridge VLAN Filtering включён
- Все порты bridge находятся на одном аппаратном чипе
- Не используются функции, требующие CPU: Firewall Bridge, DHCP Snooping, некоторые варианты STP
- Параметр
hw=yesна bridge-портах (по умолчанию включён)
Важно: hardware offload работает только для L2-коммутации внутри одного VLAN. Inter-VLAN routing всегда обрабатывается CPU, независимо от модели устройства.
Сравнение: Bridge VLAN Filtering vs Legacy Switch
| Критерий | Bridge VLAN Filtering | Legacy Switch (RouterOS 6) |
|---|---|---|
| Актуальность | RouterOS 7, рекомендован | Устарел |
| Гибкость | Высокая | Средняя |
| Hardware offload | Поддерживается | Поддерживается |
| Inter-VLAN routing | Через VLAN-интерфейсы — чисто | Сложнее |
| Поддержка в RouterOS 7 | Полная | Частичная |
Настройка VLAN для Wi-Fi: CAPsMAN и WiFiWave2
Один из самых частых запросов — разные SSID в разных VLAN. Гостевой Wi-Fi изолирован, корпоративный в своём сегменте.
Архитектура
| Система | Устройства | Раздел конфига |
|---|---|---|
| CAPsMAN v2 | Старые точки: cAP, wAP, mAP и др. | /caps-man |
| WiFiWave2 | hAP ax2, hAP ax3, cAP ax, Audience | /interface wifi |
Важно: CAPsMAN v2 и WiFiWave2 — разные системы, несовместимые напрямую. Проверьте тип устройства перед настройкой.
Конфигурация CAPsMAN v2 (RouterOS 7)
# Datapath для каждого VLAN
/caps-man datapath
add name=dp-corp vlan-id=10 vlan-mode=use-tag local-forwarding=no
add name=dp-guest vlan-id=20 vlan-mode=use-tag local-forwarding=no
add name=dp-iot vlan-id=30 vlan-mode=use-tag local-forwarding=no
# Профили безопасности
/caps-man security
add name=sec-corp authentication-types=wpa2-psk passphrase="CorpPass2024!"
add name=sec-guest authentication-types=wpa2-psk passphrase="GuestPass2024!"
add name=sec-iot authentication-types=wpa2-psk passphrase="IoTPass2024!"
# Конфигурации SSID
/caps-man configuration
add name=cfg-corp ssid="Corp-WiFi" datapath=dp-corp security=sec-corp
add name=cfg-guest ssid="Guest-WiFi" datapath=dp-guest security=sec-guest
add name=cfg-iot ssid="IoT-Net" datapath=dp-iot security=sec-iot
# Provisioning — применяем все профили к точкам
/caps-man provisioning
add action=create-dynamic-enabled master-configuration=cfg-corp slave-configurations=cfg-guest,cfg-iot
Конфигурация WiFiWave2 (hAP ax2/ax3, cAP ax)
# WiFiWave2 использует /interface wifi — не /caps-man
/interface wifi configuration
add name=cfg-corp ssid="Corp-WiFi" security.authentication-types=wpa2-psk security.passphrase="CorpPass2024!"
add name=cfg-guest ssid="Guest-WiFi" security.authentication-types=wpa2-psk security.passphrase="GuestPass2024!"
# Создаём интерфейсы с VLAN-тегированием
/interface wifi
add name=wifi-corp configuration=cfg-corp vlan-id=10
add name=wifi-guest configuration=cfg-guest vlan-id=20
# Добавляем в bridge
/interface bridge port
add bridge=bridge1 interface=wifi-corp pvid=10
add bridge=bridge1 interface=wifi-guest pvid=20
Настройка bridge для Wi-Fi VLAN
Порт точки доступа должен пропускать VLAN 10 и 20 тегированно:
# ether6 — trunk к точке доступа
/interface bridge port
add bridge=bridge1 interface=ether6 pvid=1
/interface bridge vlan
set [find vlan-ids=10] tagged=ether1,ether6
set [find vlan-ids=20] tagged=ether1,ether6
Local Forwarding: когда включать
| Режим | Трафик идёт | Когда использовать |
|---|---|---|
local-forwarding=no |
Весь трафик на CAPsMAN / MikroTik | Централизованный firewall, QoS, серьёзная сегментация |
local-forwarding=yes |
Коммутируется прямо на точке | Мощные точки, простая сеть, снизить нагрузку на линк |
Совет по безопасности гостевого VLAN
/ip firewall filter
add chain=forward in-interface=vlan20 dst-address=192.168.0.0/16 action=drop comment="Block guest to LAN"
add chain=forward in-interface=vlan20 dst-address=10.0.0.0/8 action=drop comment="Block guest to LAN"
add chain=forward in-interface=vlan20 dst-address=172.16.0.0/12 action=drop comment="Block guest to LAN"
Готовые сценарии VLAN
Сценарий 1: Домашняя сеть
| VLAN | Назначение | Сеть | Доступ в интернет | Доступ в другие VLAN |
|---|---|---|---|---|
| VLAN 10 | Основной Wi-Fi, ПК | 192.168.10.0/24 | Да | Нет (только маршрутизатор) |
| VLAN 20 | Гости | 192.168.20.0/24 | Да | Нет |
| VLAN 30 | IoT / умный дом | 192.168.30.0/24 | Да (ограниченно) | Нет |
Сценарий 2: Малый офис
| VLAN | Назначение | Сеть | Особенности |
|---|---|---|---|
| VLAN 10 | Сотрудники | 192.168.10.0/24 | Полный доступ в интернет |
| VLAN 20 | Гости / посетители | 192.168.20.0/24 | Только интернет, изолированы |
| VLAN 50 | IP-телефония VoIP | 192.168.50.0/24 | QoS приоритет, только к SIP-серверу |
| VLAN 40 | IP-камеры | 192.168.40.0/24 | Только к NVR, не в интернет |
| VLAN 99 | Management | 192.168.99.0/24 | Только для администраторов |
Сценарий 3: Серверная
| VLAN | Назначение | Сеть |
|---|---|---|
| VLAN 99 | Management (IPMI, iDRAC) | 192.168.99.0/24 |
| VLAN 40 | Storage (iSCSI, NFS) | 10.10.40.0/24 |
| VLAN 10 | Production (внешний трафик) | 192.168.10.0/24 |
| VLAN 30 | Backup | 10.10.30.0/24 |
Полный конфиг «Офис с IoT и камерами»
# ============================================================
# VLAN 10 — офис | VLAN 20 — гости | VLAN 30 — IoT
# VLAN 40 — камеры | VLAN 99 — management
# ether1 — trunk, ether2-5 — access, ether6 — management
# ============================================================
/interface bridge
add name=bridge1 vlan-filtering=no
/interface bridge port
add bridge=bridge1 interface=ether1 pvid=1 # trunk
add bridge=bridge1 interface=ether2 pvid=10 # office
add bridge=bridge1 interface=ether3 pvid=20 # guest
add bridge=bridge1 interface=ether4 pvid=30 # IoT
add bridge=bridge1 interface=ether5 pvid=40 # cameras
add bridge=bridge1 interface=ether6 pvid=99 # management
/interface bridge vlan
add bridge=bridge1 vlan-ids=10 tagged=ether1,bridge1 untagged=ether2
add bridge=bridge1 vlan-ids=20 tagged=ether1,bridge1 untagged=ether3
add bridge=bridge1 vlan-ids=30 tagged=ether1,bridge1 untagged=ether4
add bridge=bridge1 vlan-ids=40 tagged=ether1,bridge1 untagged=ether5
add bridge=bridge1 vlan-ids=99 tagged=ether1,bridge1 untagged=ether6
/interface vlan
add interface=bridge1 vlan-id=10 name=vlan10-office
add interface=bridge1 vlan-id=20 name=vlan20-guest
add interface=bridge1 vlan-id=30 name=vlan30-iot
add interface=bridge1 vlan-id=40 name=vlan40-cam
add interface=bridge1 vlan-id=99 name=vlan99-mgmt
/ip address
add address=192.168.10.1/24 interface=vlan10-office
add address=192.168.20.1/24 interface=vlan20-guest
add address=192.168.30.1/24 interface=vlan30-iot
add address=192.168.40.1/24 interface=vlan40-cam
add address=192.168.99.1/24 interface=vlan99-mgmt
# Изоляция: IoT и камеры не ходят в офисную сеть
/ip firewall filter
add chain=forward in-interface=vlan30-iot out-interface=vlan10-office action=drop comment="Block IoT to office"
add chain=forward in-interface=vlan40-cam out-interface=vlan10-office action=drop comment="Block cameras to office"
add chain=forward in-interface=vlan20-guest dst-address=192.168.0.0/16 action=drop comment="Block guest to LAN"
# Включаем фильтрацию — последний шаг!
/interface bridge set bridge1 vlan-filtering=yes
Типичные ошибки при настройке VLAN на MikroTik
| # | Ошибка | Симптом | Лечение |
|---|---|---|---|
| 1 | Включили vlan-filtering=yes до настройки таблицы |
Пропал доступ к роутеру сразу после команды | Serial console → /interface bridge set bridge1 vlan-filtering=no → настроить таблицу → включить снова |
| 2 | Забыли tagged=bridge1 для VLAN-интерфейса |
IP назначен, но пинг на gateway не идёт | /interface bridge vlan set [find vlan-ids=10] tagged=bridge1,ether1 |
| 3 | Неверный PVID на access-порту | DHCP не отвечает или даёт IP из чужого пула | /interface bridge port set [find interface=ether2] pvid=10 |
| 4 | Порт не добавлен в VLAN-таблицу как untagged | Access-порт в bridge, pvid правильный, трафик не ходит | Добавить порт в /interface bridge vlan явно как untagged |
| 5 | Создали /interface vlan поверх ether, а не bridge |
Нестабильная работа, нет hardware offload | Пересоздать VLAN-интерфейс с interface=bridge1 |
| 6 | Порт указан в tagged и untagged одновременно | Один VLAN работает, второй нет, или double-tagging | Проверить /interface bridge vlan print detail, убрать дублирование |
| 7 | Hardware offload отключился | CPU под нагрузкой даже на простом L2-трафике | Проверить hw: yes/no, убрать Firewall Bridge / DHCP Snooping |
| 8 | CAPsMAN не передаёт VLAN в Wi-Fi | Все SSID в одном VLAN независимо от настроек | Проверить local-forwarding=no в datapath, убедиться что используется правильная система (CAPsMAN vs WiFiWave2) |
| 9 | Native VLAN mismatch с другим вендором | Нетегированный трафик попадает в чужой VLAN | Согласовать native VLAN на обоих концах trunk-линка |
Проверка и диагностика VLAN на MikroTik
| Команда | Что показывает | Когда использовать |
|---|---|---|
/interface bridge vlan print |
VLAN-таблица: tagged/untagged порты для каждого VLAN | Первый шаг любой диагностики |
/interface bridge vlan print detail |
Полный список портов с флагами | Проверить tagged=bridge1, искать дублирование |
/interface bridge port print detail |
PVID каждого порта, hw offload (hw: yes/no) | Проблемы с PVID или hardware offload |
/interface bridge host print |
MAC-адреса: порт, VLAN — главный инструмент L2-диагностики | Убедиться, что клиент изучен в нужном VLAN |
/interface bridge monitor bridge1 |
Состояние bridge: активные порты, STP root | Проблемы с STP, петли |
/ip arp print |
ARP-таблица: IP↔MAC на каком интерфейсе | Проблемы inter-VLAN маршрутизации |
/tool torch interface=vlan10 |
Трафик в реальном времени: src/dst IP, протоколы | Убедиться, что трафик идёт в нужный VLAN-интерфейс |
/tool torch interface=ether1 |
Tagged/untagged трафик на trunk-порту с VLAN ID | Проверить, что теги реально присутствуют |
/tool sniffer quick vlan-id=10 |
Захват пакетов конкретного VLAN (raw 802.1Q) | Глубокая диагностика, когда torch недостаточно |
/ping X src-address=Y count=5 |
Маршрутизация между VLAN на уровне самого роутера | Проверить inter-VLAN routing |
/log print where topics~"bridge" |
События bridge: STP, изучение MAC, ошибки | STP-проблемы, неожиданные изменения топологии |
Пошаговая диагностика «VLAN не пингуется»
# 1. Проверяем VLAN-таблицу — всё ли прописано?
/interface bridge vlan print detail
# 2. Проверяем PVID на проблемном порту
/interface bridge port print detail where interface=ether2
# 3. Видит ли bridge MAC-адрес клиента?
/interface bridge host print
# 4. Пинг с gateway VLAN10 до клиента
/ping 192.168.10.100 src-address=192.168.10.1 count=5
# 5. Если не пингуется — смотрим трафик в реальном времени
/tool torch interface=vlan10
Best Practices и советы по безопасности
Безопасность VLAN-сегментации
- Native VLAN всегда меняйте с дефолтного 1 на что-то другое. VLAN 1 — потенциальная точка атаки VLAN hopping.
- Не используйте VLAN 1 для рабочего трафика. Оставьте его только для management, а лучше — явно запретите на всех пользовательских портах.
- Изолируйте IoT в отдельный VLAN с firewall-правилом «запретить всё входящее из IoT в LAN».
- Management VLAN — выделите отдельный сегмент, доступный только с определённых IP.
Документируйте конфигурацию
В MikroTik есть параметр comment у большинства объектов. Используйте его. Через полгода вы скажете себе спасибо.
/interface bridge port set [find interface=ether2] comment="Office floor 2 - VLAN10"
Экспортируйте конфиг перед изменениями
/export file=backup-before-vlan-changes
Файл сохранится в Files. Всегда делайте это перед серьёзными изменениями — особенно перед включением vlan-filtering.
Тестирование на CHR перед боевым применением
MikroTik предоставляет Cloud Hosted Router (CHR) — полноценный RouterOS в виде VM для KVM/VMware. Можно поднять на любом VPS и протестировать конфиг без риска для продакшна. CHR с лицензией P1 (1 Мбит/с) — бесплатно.
FAQ: часто задаваемые вопросы
Почему VLAN не пингуется на MikroTik?
Три главные причины: забыли tagged=bridge1 в VLAN-таблице — VLAN-интерфейс не получает трафик; неверный PVID на access-порту — клиент попадает в чужой VLAN; порт не добавлен в VLAN-таблицу как untagged — трафик дропается при включённом vlan-filtering. Проверяйте последовательно: /interface bridge vlan print detail → /interface bridge port print detail → /interface bridge host print.
Как не потерять доступ после vlan-filtering=yes?
Перед включением убедитесь: порт, через который вы управляете, добавлен в bridge с правильным pvid; этот VLAN прописан в /interface bridge vlan с untagged=<ваш порт> и tagged=bridge1; VLAN-интерфейс создан и имеет IP. Сделайте /export file=backup-before до изменений.
Можно ли делать VLAN без bridge?
Технически можно — создать /interface vlan поверх физического ether-порта. Это legacy-подход из RouterOS 6, не рекомендован в RouterOS 7: нет hardware offload, нет централизованной VLAN-таблицы. Используйте Bridge VLAN Filtering.
Как проверить, работает ли tagged трафик?
Используйте /tool torch interface=ether1 — в выводе будут видны VLAN ID. Или /tool sniffer quick vlan-id=10 interface=ether1 — захватит кадры с 802.1Q тегом.
Что такое PVID и зачем он нужен?
PVID (Port VLAN ID) — VLAN, в который попадает нетегированный трафик, входящий на порт. На access-порту PVID должен совпадать с нужным VLAN. Если забыть — клиент попадёт в VLAN 1 и не получит DHCP.
Можно ли передавать несколько VLAN через один порт?
Да — это trunk-порт. Добавьте порт в bridge с pvid=1 и укажите его как tagged во всех нужных VLAN в таблице. Устройство на другом конце должно понимать 802.1Q теги.
Как настроить VLAN для Wi-Fi?
Для устройств с CAPsMAN v2: настройте datapath с vlan-id и vlan-mode=use-tag. Для WiFiWave2 (hAP ax2/ax3, cAP ax): используйте /interface wifi с параметром vlan-id. Порт точки доступа должен быть trunk в VLAN-таблице bridge.
Почему hardware offload отключился?
Частые причины: включён Firewall Bridge, в один bridge добавлены порты с разных аппаратных чипов, включён DHCP snooping. Проверьте /interface bridge port print detail — смотрите hw: yes/no.
Чем trunk отличается от access?
Trunk пропускает несколько VLAN одновременно — каждый кадр несёт тег 802.1Q. Access работает с одним VLAN — конечное устройство тегов не видит, MikroTik добавляет и снимает их сам.
Как настроить Management VLAN?
Выделите VLAN (например, 99). Добавьте порт управления в bridge с pvid=99. В VLAN-таблице: vlan-ids=99 tagged=bridge1 untagged=<порт>. Создайте VLAN-интерфейс и назначьте IP. Включайте vlan-filtering только после этого. Полный пример — в разделе «Management VLAN».
Заключение: VLAN на MikroTik — это не страшно
Мы разобрали настройку VLAN на MikroTik RouterOS 7 во всех основных сценариях: базовый VLAN с сегментацией, trunk и access-порты, Management VLAN, VLAN между двумя устройствами и Wi-Fi VLAN через CAPsMAN и WiFiWave2.
Ключевые выводы:
- Всегда используйте Bridge VLAN Filtering в RouterOS 7 — это правильный и актуальный подход.
- Сначала настраивайте VLAN-таблицу, потом включайте
vlan-filtering=yes. - Явно указывайте
pvidна всех access-портах. - Не забывайте
tagged=bridge1для каждого VLAN, где нужен IP-интерфейс или DHCP. - Management VLAN — отдельный сегмент, не VLAN 1.
- Используйте
/interface bridge vlan print detailи/tool torchдля диагностики. - Перед включением vlan-filtering —
/export file=backup.
Если что-то пошло не так — пишите в комментарии. Разберём вместе.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →


