Гостевая Wi-Fi через VLAN на MikroTik
Гостевая Wi-Fi через VLAN на MikroTik — полное руководство
Гостевой Wi-Fi — одна из самых частых задач в любой сети. Посетители офиса, клиенты кафе, друзья дома — все хотят интернет. Но давать им доступ в основную сеть, где ходят рабочие файлы, принтеры и NAS, — плохая идея. В этом руководстве настроим полностью изолированную гостевую Wi-Fi сеть через VLAN с ограничением скорости.
Инструкция актуальна для RouterOS 7.x с новым пакетом wifi (не wireless). Подходит для моделей hAP ax2, hAP ax3, Audience и других устройств с поддержкой нового wifi-пакета.
Зачем изолировать гостей
Без изоляции гостевые устройства находятся в одном broadcast-домене с вашей основной сетью. Это означает:
- Безопасность — гостевое устройство с вирусом может атаковать ваши компьютеры, NAS, принтеры. ARP-спуфинг, сканирование портов, перехват трафика — всё это возможно в одном сегменте.
- Конфиденциальность — гости видят сетевые ресурсы через NetBIOS/mDNS. Общие папки, принтеры, медиасерверы — всё отображается в сетевом окружении.
- Стабильность — один гость, качающий торренты, может забить весь канал. Без QoS и ограничения скорости страдают все.
- Соответствие требованиям — во многих организациях изоляция гостевой сети обязательна по политике безопасности.
VLAN решает все эти проблемы: гостевой трафик логически отделён от основного на уровне L2. Даже если устройства подключены к одному физическому роутеру, они находятся в разных сетях.
План сети
Будем использовать две VLAN:
| Параметр | Основная сеть | Гостевая сеть |
|---|---|---|
| VLAN ID | 10 | 99 |
| Подсеть | 192.168.10.0/24 | 192.168.99.0/24 |
| Gateway | 192.168.10.1 | 192.168.99.1 |
| DHCP pool | 192.168.10.10–254 | 192.168.99.10–254 |
| SSID | MyNetwork | MyNetwork-Guest |
| Ограничение | Нет | 10 Мбит/с |
| Доступ в LAN | Да | Нет |
Схема прохождения трафика: Guest Wi-Fi Client -> Virtual Wi-Fi Interface -> Bridge (VLAN 99 tagged) -> VLAN 99 Interface -> Firewall -> NAT -> Internet.
Предварительные требования
Предполагаем, что у вас уже есть:
- MikroTik с RouterOS 7.x и установленным пакетом wifi (проверьте через
/system/package/print) - Настроенный bridge для основной сети
- Рабочий выход в интернет через NAT
- Базовый firewall
Если вы начинаете с нуля, сначала выполните базовую настройку роутера.
Шаг 1. Настройка Bridge с поддержкой VLAN Filtering
Для работы VLAN через bridge необходимо включить VLAN filtering. Если у вас уже есть bridge для основной сети, будем использовать его. Если нет — создадим.
Важно: включайте vlan-filtering=yes только после того, как полностью настроите VLAN на bridge. Если включить фильтрацию до добавления VLAN-правил, вы можете потерять доступ к роутеру.
Создаём bridge (или используем существующий):
[admin@MikroTik] >/interface/bridge add name=bridge-LAN vlan-filtering=no
Добавляем физические порты в bridge. Порты ether2-ether5 будут работать как access-порты в VLAN 10 (основная сеть):
[admin@MikroTik] >/interface/bridge/port add bridge=bridge-LAN interface=ether2 pvid=10 add bridge=bridge-LAN interface=ether3 pvid=10 add bridge=bridge-LAN interface=ether4 pvid=10 add bridge=bridge-LAN interface=ether5 pvid=10
Параметр pvid определяет, в какую VLAN попадёт нетегированный трафик с этого порта.
Шаг 2. Добавление VLAN в Bridge
Теперь определим, какие VLAN существуют на bridge и через какие порты они доступны. Bridge сам должен быть tagged-участником каждой VLAN, чтобы роутер мог маршрутизировать трафик между ними:
[admin@MikroTik] >/interface/bridge/vlan add bridge=bridge-LAN vlan-ids=10 tagged=bridge-LAN untagged=ether2,ether3,ether4,ether5 add bridge=bridge-LAN vlan-ids=99 tagged=bridge-LAN
Разберём что здесь происходит:
- VLAN 10 (основная) — tagged на самом bridge (для маршрутизации), untagged на ether2-ether5 (компьютеры подключаются без тегов)
- VLAN 99 (гостевая) — tagged только на bridge. У неё нет untagged-портов, потому что гости будут подключаться только через Wi-Fi. Виртуальный Wi-Fi интерфейс будет добавлен позже
Шаг 3. Создание VLAN-интерфейсов
Создаём VLAN-интерфейсы на bridge. Через них роутер будет управлять трафиком каждой VLAN:
[admin@MikroTik] >/interface/vlan add name=vlan10-main interface=bridge-LAN vlan-id=10 add name=vlan99-guest interface=bridge-LAN vlan-id=99
Теперь у нас есть два логических интерфейса: vlan10-main для основной сети и vlan99-guest для гостевой.
Шаг 4. IP-адресация
Назначим IP-адреса на VLAN-интерфейсы. Эти адреса станут шлюзами (gateway) для устройств в каждой VLAN:
[admin@MikroTik] >/ip/address add address=192.168.10.1/24 interface=vlan10-main add address=192.168.99.1/24 interface=vlan99-guest
Шаг 5. DHCP-сервер для гостевой сети
Создаём отдельный пул адресов и DHCP-сервер для гостей. Основная сеть предположительно уже имеет свой DHCP:
[admin@MikroTik] >/ip/pool add name=pool-guest ranges=192.168.99.10-192.168.99.254
[admin@MikroTik] >/ip/dhcp-server add name=dhcp-guest interface=vlan99-guest address-pool=pool-guest \ lease-time=1h disabled=no
Обратите внимание на lease-time=1h — для гостевой сети имеет смысл выдавать адреса на короткий срок. Гости приходят и уходят, нет смысла резервировать адрес на сутки.
[admin@MikroTik] >/ip/dhcp-server/network add address=192.168.99.0/24 gateway=192.168.99.1 \ dns-server=192.168.99.1
Если у основной сети ещё нет DHCP, создайте его аналогично:
[admin@MikroTik] >/ip/pool add name=pool-main ranges=192.168.10.10-192.168.10.254 /ip/dhcp-server add name=dhcp-main interface=vlan10-main address-pool=pool-main \ lease-time=1d disabled=no /ip/dhcp-server/network add address=192.168.10.0/24 gateway=192.168.10.1 \ dns-server=192.168.10.1
Шаг 6. DNS
Убедитесь, что DNS настроен и принимает запросы от клиентов:
[admin@MikroTik] >/ip/dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
Шаг 7. Настройка Wi-Fi — основной и гостевой SSID
Это ключевая часть. Используем новый пакет wifi (доступен в RouterOS 7.13+). В отличие от старого wireless, здесь используются профили: security, datapath, configuration.
Создание Security Profiles
Создаём два профиля безопасности — для основной и гостевой сети:
[admin@MikroTik] >/interface/wifi/security add name=sec-main authentication-types=wpa2-psk,wpa3-psk \ passphrase="СложныйПарольОсновной" add name=sec-guest authentication-types=wpa2-psk \ passphrase="ПростойПарольГостям"
Для гостевой сети достаточно WPA2-PSK. Пароль гостевой сети будет раздаваться посетителям, поэтому нет смысла использовать сложный.
Создание Datapath Profiles
Datapath определяет, в какой bridge попадёт трафик и с каким VLAN-тегом:
[admin@MikroTik] >/interface/wifi/datapath add name=dp-main bridge=bridge-LAN vlan-id=10 add name=dp-guest bridge=bridge-LAN vlan-id=99
Параметр vlan-id в datapath — это то, что связывает Wi-Fi клиентов с нужной VLAN. Трафик от гостевого SSID будет приходить в bridge с тегом 99.
Создание Configuration Profiles
[admin@MikroTik] >/interface/wifi/configuration add name=cfg-main ssid="MyNetwork" country=Russia security=sec-main \ datapath=dp-main add name=cfg-guest ssid="MyNetwork-Guest" country=Russia security=sec-guest \ datapath=dp-guest
Настройка интерфейсов
Основной Wi-Fi интерфейс (wifi1) уже существует на роутере. Назначаем ему конфигурацию основной сети:
[admin@MikroTik] >/interface/wifi set wifi1 configuration=cfg-main disabled=no
Создаём виртуальный Wi-Fi интерфейс для гостевой сети. Он будет работать на том же радио, но с другим SSID:
[admin@MikroTik] >/interface/wifi add name=wifi-guest master-interface=wifi1 configuration=cfg-guest \ disabled=no
Параметр master-interface=wifi1 означает, что гостевой SSID будет вещаться на том же радиомодуле, что и основной. Одно радио — два SSID. Это стандартная практика, не влияющая на производительность при умеренной нагрузке.
Если у роутера два радиомодуля (2.4 ГГц и 5 ГГц), повторите для второго:
[admin@MikroTik] >/interface/wifi set wifi2 configuration=cfg-main disabled=no /interface/wifi add name=wifi-guest-5ghz master-interface=wifi2 configuration=cfg-guest \ disabled=no
Шаг 8. Включение VLAN Filtering
Теперь, когда все VLAN настроены и Wi-Fi интерфейсы созданы, можно включить фильтрацию:
[admin@MikroTik] >/interface/bridge set bridge-LAN vlan-filtering=yes
Внимание: после этой команды доступ к роутеру возможен только через интерфейсы, которые входят в правильную VLAN. Если вы подключены по кабелю через ether2 — он в VLAN 10, и управление будет через 192.168.10.1. Убедитесь, что ваш компьютер получит адрес из правильной подсети.
Шаг 9. NAT для гостевой сети
Если у вас уже есть masquerade-правило для WAN-интерфейса, оно будет работать и для гостей — трафик из VLAN 99 тоже пойдёт через NAT. Проверьте:
[admin@MikroTik] >/ip/firewall/nat print
Если правила нет, добавьте:
[admin@MikroTik] >/ip/firewall/nat add chain=srcnat out-interface=ether1 action=masquerade \ comment="NAT для выхода в интернет"
Замените ether1 на ваш WAN-интерфейс (или pppoe-client, если используете PPPoE).
Шаг 10. Firewall — изоляция гостевой сети
Это критически важная часть. Без firewall-правил гости смогут попасть в основную сеть через маршрутизатор, несмотря на VLAN. Роутер маршрутизирует трафик между VLAN по умолчанию — нужно это запретить.
Создание Interface Lists
Для удобства управления правилами создадим списки интерфейсов:
[admin@MikroTik] >/interface/list add name=LAN add name=GUEST add name=WAN /interface/list/member add interface=vlan10-main list=LAN add interface=vlan99-guest list=GUEST add interface=ether1 list=WAN
Правила Firewall
Добавляем правила в цепочку forward. Порядок правил важен — MikroTik обрабатывает их сверху вниз:
[admin@MikroTik] >/ip/firewall/filter # Разрешить established и related add chain=forward connection-state=established,related action=accept \ comment="Разрешить установленные соединения" # Отбросить invalid add chain=forward connection-state=invalid action=drop \ comment="Отбросить невалидные пакеты" # Запретить гостям доступ к основной сети add chain=forward src-address=192.168.99.0/24 dst-address=192.168.10.0/24 \ action=drop comment="Запретить гостям доступ в LAN" # Запретить гостям доступ к роутеру (кроме DNS и DHCP) add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=53 \ action=accept comment="Разрешить DNS от гостей" add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=67 \ action=accept comment="Разрешить DHCP от гостей" add chain=input src-address=192.168.99.0/24 action=drop \ comment="Запретить гостям доступ к роутеру" # Разрешить гостям выход в интернет add chain=forward src-address=192.168.99.0/24 out-interface-list=WAN \ action=accept comment="Разрешить гостям интернет" # Разрешить основной сети выход в интернет add chain=forward in-interface-list=LAN action=accept \ comment="Разрешить LAN наружу" # Запретить всё остальное add chain=forward action=drop \ comment="Запретить всё остальное в forward"
Разберём логику:
- Установленные соединения пропускаем сразу — это обратный трафик ответов
- Невалидные пакеты отбрасываем
- Главное правило — drop трафика из гостевой подсети в основную
- В цепочке input разрешаем гостям только DNS (порт 53) и DHCP (порт 67), всё остальное запрещаем
- Разрешаем гостям выход в интернет через WAN
- Разрешаем основной сети полный доступ
- Всё остальное запрещаем
Защита от обращения к приватным подсетям
Для полной безопасности запретим гостям обращаться к любым приватным подсетям, не только к вашей:
[admin@MikroTik] >/ip/firewall/filter add chain=forward src-address=192.168.99.0/24 dst-address=10.0.0.0/8 \ action=drop comment="Запретить гостям RFC1918 - 10.x" add chain=forward src-address=192.168.99.0/24 dst-address=172.16.0.0/12 \ action=drop comment="Запретить гостям RFC1918 - 172.16.x" add chain=forward src-address=192.168.99.0/24 dst-address=192.168.0.0/16 \ action=drop comment="Запретить гостям RFC1918 - 192.168.x"
Эти правила нужно разместить перед правилом, разрешающим гостям интернет. Используйте place-before или перетащите правила в WinBox.
Шаг 11. Ограничение скорости через Simple Queue
Без ограничения скорости один гость может занять весь канал. Simple Queue — самый простой способ ограничить полосу:
[admin@MikroTik] >/queue/simple add name=guest-limit target=192.168.99.0/24 \ max-limit=10M/10M comment="Ограничение гостевой сети 10 Мбит"
Параметр max-limit=10M/10M означает 10 Мбит/с на upload и 10 Мбит/с на download. Это общий лимит на всю гостевую подсеть. Если подключено 5 гостей — они делят 10 Мбит между собой.
Если нужно ограничить каждого гостя индивидуально, используйте PCQ (Per Connection Queue):
[admin@MikroTik] >/queue/type add name=pcq-guest-down kind=pcq pcq-rate=5M pcq-classifier=dst-address add name=pcq-guest-up kind=pcq pcq-rate=2M pcq-classifier=src-address /queue/simple add name=guest-pcq target=192.168.99.0/24 \ queue=pcq-guest-up/pcq-guest-down \ max-limit=50M/50M \ comment="PCQ: 5M/2M на каждого гостя, 50M общий"
В этом варианте каждый гость получит до 5 Мбит/с на скачивание и 2 Мбит/с на загрузку, а общий лимит гостевой сети — 50 Мбит/с.
Шаг 12. Проверка работы
После настройки проверьте, что всё работает правильно.
Проверка VLAN
[admin@MikroTik] ># Убедитесь, что VLAN-интерфейсы работают /interface/vlan print # Проверьте bridge VLAN table /interface/bridge/vlan print # Убедитесь, что vlan-filtering включён /interface/bridge print
Проверка Wi-Fi
[admin@MikroTik] ># Статус Wi-Fi интерфейсов /interface/wifi print # Список подключённых клиентов /interface/wifi/registration-table print
Проверка DHCP
[admin@MikroTik] ># Активные аренды /ip/dhcp-server/lease print # Убедитесь, что гости получают адреса из 192.168.99.x /ip/dhcp-server/lease print where server=dhcp-guest
Проверка изоляции
Подключитесь к гостевому Wi-Fi и проверьте:
[admin@MikroTik] ># С гостевого устройства: # 1. Интернет должен работать ping 8.8.8.8 # 2. Основная сеть должна быть НЕДОСТУПНА ping 192.168.10.1 # должен быть timeout ping 192.168.10.x # любой хост в LAN — timeout # 3. DNS должен работать nslookup google.com
С роутера проверьте firewall-счётчики:
[admin@MikroTik] >/ip/firewall/filter print stats
Правило "Запретить гостям доступ в LAN" должно показывать ненулевые счётчики после попытки пинга.
Проверка скорости
[admin@MikroTik] ># Текущая статистика очереди /queue/simple print stats
Попросите гостя запустить speedtest — в stats будет видно количество переданных данных и текущую скорость.
Типичные ошибки
1. Потеря доступа после включения VLAN Filtering
Симптом: после команды set bridge-LAN vlan-filtering=yes роутер перестаёт отвечать.
Причина: ваш порт подключения не добавлен как untagged в нужную VLAN, или IP-адрес назначен на bridge, а не на VLAN-интерфейс.
Решение: после включения VLAN filtering управление должно идти через VLAN-интерфейс. IP-адрес должен быть на vlan10-main, а не на bridge-LAN. Если потеряли доступ — подключитесь через MAC-адрес в WinBox или сбросьте конфигурацию кнопкой на устройстве.
Совет: перед включением VLAN filtering добавьте safe mode в терминале (Ctrl+X). Если связь прервётся, через 9 минут роутер откатит изменения.
2. Гости не получают IP-адрес
Симптом: устройство подключается к гостевому Wi-Fi, но не получает адрес по DHCP.
Причина: VLAN-тег в datapath профиле не совпадает с VLAN ID в bridge/vlan, или DHCP-сервер привязан к неправильному интерфейсу.
Решение: проверьте цепочку:
/interface/wifi/datapath print— vlan-id должен быть 99/interface/bridge/vlan print— VLAN 99 должен быть tagged на bridge-LAN/ip/dhcp-server print— интерфейс должен бытьvlan99-guest
3. Гости имеют доступ к основной сети
Симптом: с гостевого устройства можно пинговать 192.168.10.x.
Причина: firewall-правило drop стоит после правила accept, или правило вообще не создано.
Решение: проверьте порядок правил:
[admin@MikroTik] >/ip/firewall/filter print
Правило drop для гостей должно стоять перед правилом, разрешающим forward. Переместите при необходимости:
[admin@MikroTik] >/ip/firewall/filter move [find comment="Запретить гостям доступ в LAN"] \ destination=2
4. Гостевой Wi-Fi не появляется
Симптом: виртуальный Wi-Fi интерфейс создан, но SSID не виден.
Причина: интерфейс отключён, или master-interface указан неверно.
Решение:
[admin@MikroTik] >/interface/wifi print # Убедитесь, что wifi-guest не в состоянии disabled /interface/wifi enable wifi-guest
5. Низкая скорость в гостевой сети
Симптом: скорость значительно ниже установленного лимита.
Причина: неправильная настройка Simple Queue — target указывает на неверный интерфейс или адрес.
Решение: проверьте target в queue:
[admin@MikroTik] >/queue/simple print
Target должен быть 192.168.99.0/24. Также убедитесь, что нет конфликтующих правил в queue или mangle.
6. IP-адрес на bridge вместо VLAN-интерфейса
Симптом: после включения VLAN filtering сеть работает нестабильно, периодически пропадает связь.
Причина: IP-адрес назначен на bridge-LAN, а не на vlan10-main.
Решение: перенесите адрес:
[admin@MikroTik] >/ip/address remove [find interface=bridge-LAN] add address=192.168.10.1/24 interface=vlan10-main
Итоговая конфигурация — краткая сводка
Для удобства — полный список команд в правильном порядке:
[admin@MikroTik] ># 1. Bridge /interface/bridge add name=bridge-LAN vlan-filtering=no /interface/bridge/port add bridge=bridge-LAN interface=ether2 pvid=10 add bridge=bridge-LAN interface=ether3 pvid=10 add bridge=bridge-LAN interface=ether4 pvid=10 add bridge=bridge-LAN interface=ether5 pvid=10 # 2. Bridge VLAN /interface/bridge/vlan add bridge=bridge-LAN vlan-ids=10 tagged=bridge-LAN untagged=ether2,ether3,ether4,ether5 add bridge=bridge-LAN vlan-ids=99 tagged=bridge-LAN # 3. VLAN-интерфейсы /interface/vlan add name=vlan10-main interface=bridge-LAN vlan-id=10 add name=vlan99-guest interface=bridge-LAN vlan-id=99 # 4. IP-адреса /ip/address add address=192.168.10.1/24 interface=vlan10-main add address=192.168.99.1/24 interface=vlan99-guest # 5. DNS /ip/dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes # 6. DHCP для основной сети /ip/pool add name=pool-main ranges=192.168.10.10-192.168.10.254 /ip/dhcp-server add name=dhcp-main interface=vlan10-main \ address-pool=pool-main lease-time=1d disabled=no /ip/dhcp-server/network add address=192.168.10.0/24 \ gateway=192.168.10.1 dns-server=192.168.10.1 # 7. DHCP для гостевой сети /ip/pool add name=pool-guest ranges=192.168.99.10-192.168.99.254 /ip/dhcp-server add name=dhcp-guest interface=vlan99-guest \ address-pool=pool-guest lease-time=1h disabled=no /ip/dhcp-server/network add address=192.168.99.0/24 \ gateway=192.168.99.1 dns-server=192.168.99.1 # 8. Wi-Fi /interface/wifi/security add name=sec-main authentication-types=wpa2-psk,wpa3-psk \ passphrase="СложныйПарольОсновной" add name=sec-guest authentication-types=wpa2-psk \ passphrase="ПростойПарольГостям" /interface/wifi/datapath add name=dp-main bridge=bridge-LAN vlan-id=10 add name=dp-guest bridge=bridge-LAN vlan-id=99 /interface/wifi/configuration add name=cfg-main ssid="MyNetwork" country=Russia \ security=sec-main datapath=dp-main add name=cfg-guest ssid="MyNetwork-Guest" country=Russia \ security=sec-guest datapath=dp-guest /interface/wifi set wifi1 configuration=cfg-main disabled=no /interface/wifi add name=wifi-guest master-interface=wifi1 \ configuration=cfg-guest disabled=no # 9. Включить VLAN filtering (только после полной настройки!) /interface/bridge set bridge-LAN vlan-filtering=yes # 10. NAT /ip/firewall/nat add chain=srcnat out-interface=ether1 action=masquerade # 11. Firewall /ip/firewall/filter add chain=forward connection-state=established,related action=accept add chain=forward connection-state=invalid action=drop add chain=forward src-address=192.168.99.0/24 dst-address=192.168.10.0/24 action=drop add chain=forward src-address=192.168.99.0/24 dst-address=10.0.0.0/8 action=drop add chain=forward src-address=192.168.99.0/24 dst-address=172.16.0.0/12 action=drop add chain=forward src-address=192.168.99.0/24 dst-address=192.168.0.0/16 action=drop add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=53 action=accept add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=67 action=accept add chain=input src-address=192.168.99.0/24 action=drop add chain=forward src-address=192.168.99.0/24 out-interface=ether1 action=accept add chain=forward in-interface=vlan10-main action=accept add chain=forward action=drop # 12. Ограничение скорости /queue/simple add name=guest-limit target=192.168.99.0/24 \ max-limit=10M/10M
Что дальше
После настройки гостевой сети рекомендуем:
- Captive Portal — добавить страницу авторизации для гостей через Hotspot
- Логирование — включить логирование firewall-правил для аудита гостевого трафика
- Расписание — отключать гостевой Wi-Fi по расписанию (
/system/scheduler) - Мониторинг — отслеживать количество гостей и потребление трафика через The Dude или Zabbix
- RADIUS — для корпоративных сетей использовать WPA2-Enterprise вместо PSK
/interface/bridge add name=bridge-LAN vlan-filtering=no
/interface/bridge/port
add bridge=bridge-LAN interface=ether2 pvid=10
add bridge=bridge-LAN interface=ether3 pvid=10
add bridge=bridge-LAN interface=ether4 pvid=10
add bridge=bridge-LAN interface=ether5 pvid=10
/interface/bridge/vlan
add bridge=bridge-LAN vlan-ids=10 tagged=bridge-LAN untagged=ether2,ether3,ether4,ether5
add bridge=bridge-LAN vlan-ids=99 tagged=bridge-LAN
/interface/vlan
add name=vlan10-main interface=bridge-LAN vlan-id=10
add name=vlan99-guest interface=bridge-LAN vlan-id=99
/ip/address
add address=192.168.10.1/24 interface=vlan10-main
add address=192.168.99.1/24 interface=vlan99-guest
/ip/pool
add name=pool-guest ranges=192.168.99.10-192.168.99.254
/ip/dhcp-server
add name=dhcp-guest interface=vlan99-guest address-pool=pool-guest \
lease-time=1h disabled=no
/ip/dhcp-server/network
add address=192.168.99.0/24 gateway=192.168.99.1 \
dns-server=192.168.99.1
/ip/pool
add name=pool-main ranges=192.168.10.10-192.168.10.254
/ip/dhcp-server
add name=dhcp-main interface=vlan10-main address-pool=pool-main \
lease-time=1d disabled=no
/ip/dhcp-server/network
add address=192.168.10.0/24 gateway=192.168.10.1 \
dns-server=192.168.10.1
/ip/dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
/interface/wifi/security
add name=sec-main authentication-types=wpa2-psk,wpa3-psk \
passphrase="СложныйПарольОсновной"
add name=sec-guest authentication-types=wpa2-psk \
passphrase="ПростойПарольГостям"
/interface/wifi/datapath
add name=dp-main bridge=bridge-LAN vlan-id=10
add name=dp-guest bridge=bridge-LAN vlan-id=99
/interface/wifi/configuration
add name=cfg-main ssid="MyNetwork" country=Russia security=sec-main \
datapath=dp-main
add name=cfg-guest ssid="MyNetwork-Guest" country=Russia security=sec-guest \
datapath=dp-guest
/interface/wifi
set wifi1 configuration=cfg-main disabled=no
/interface/wifi
add name=wifi-guest master-interface=wifi1 configuration=cfg-guest \
disabled=no
/interface/wifi
set wifi2 configuration=cfg-main disabled=no
/interface/wifi
add name=wifi-guest-5ghz master-interface=wifi2 configuration=cfg-guest \
disabled=no
/interface/bridge set bridge-LAN vlan-filtering=yes
/ip/firewall/nat print
/ip/firewall/nat add chain=srcnat out-interface=ether1 action=masquerade \
comment="NAT для выхода в интернет"
/interface/list
add name=LAN
add name=GUEST
add name=WAN
/interface/list/member
add interface=vlan10-main list=LAN
add interface=vlan99-guest list=GUEST
add interface=ether1 list=WAN
/ip/firewall/filter
# Разрешить established и related
add chain=forward connection-state=established,related action=accept \
comment="Разрешить установленные соединения"
# Отбросить invalid
add chain=forward connection-state=invalid action=drop \
comment="Отбросить невалидные пакеты"
# Запретить гостям доступ к основной сети
add chain=forward src-address=192.168.99.0/24 dst-address=192.168.10.0/24 \
action=drop comment="Запретить гостям доступ в LAN"
# Запретить гостям доступ к роутеру (кроме DNS и DHCP)
add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=53 \
action=accept comment="Разрешить DNS от гостей"
add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=67 \
action=accept comment="Разрешить DHCP от гостей"
add chain=input src-address=192.168.99.0/24 action=drop \
comment="Запретить гостям доступ к роутеру"
# Разрешить гостям выход в интернет
add chain=forward src-address=192.168.99.0/24 out-interface-list=WAN \
action=accept comment="Разрешить гостям интернет"
# Разрешить основной сети выход в интернет
add chain=forward in-interface-list=LAN action=accept \
comment="Разрешить LAN наружу"
# Запретить всё остальное
add chain=forward action=drop \
comment="Запретить всё остальное в forward"
/ip/firewall/filter
add chain=forward src-address=192.168.99.0/24 dst-address=10.0.0.0/8 \
action=drop comment="Запретить гостям RFC1918 - 10.x"
add chain=forward src-address=192.168.99.0/24 dst-address=172.16.0.0/12 \
action=drop comment="Запретить гостям RFC1918 - 172.16.x"
add chain=forward src-address=192.168.99.0/24 dst-address=192.168.0.0/16 \
action=drop comment="Запретить гостям RFC1918 - 192.168.x"
/queue/simple
add name=guest-limit target=192.168.99.0/24 \
max-limit=10M/10M comment="Ограничение гостевой сети 10 Мбит"
/queue/type
add name=pcq-guest-down kind=pcq pcq-rate=5M pcq-classifier=dst-address
add name=pcq-guest-up kind=pcq pcq-rate=2M pcq-classifier=src-address
/queue/simple
add name=guest-pcq target=192.168.99.0/24 \
queue=pcq-guest-up/pcq-guest-down \
max-limit=50M/50M \
comment="PCQ: 5M/2M на каждого гостя, 50M общий"
# Убедитесь, что VLAN-интерфейсы работают
/interface/vlan print
# Проверьте bridge VLAN table
/interface/bridge/vlan print
# Убедитесь, что vlan-filtering включён
/interface/bridge print
# Статус Wi-Fi интерфейсов
/interface/wifi print
# Список подключённых клиентов
/interface/wifi/registration-table print
# Активные аренды
/ip/dhcp-server/lease print
# Убедитесь, что гости получают адреса из 192.168.99.x
/ip/dhcp-server/lease print where server=dhcp-guest
# С гостевого устройства:
# 1. Интернет должен работать
ping 8.8.8.8
# 2. Основная сеть должна быть НЕДОСТУПНА
ping 192.168.10.1 # должен быть timeout
ping 192.168.10.x # любой хост в LAN — timeout
# 3. DNS должен работать
nslookup google.com
/ip/firewall/filter print stats
# Текущая статистика очереди
/queue/simple print stats
/ip/firewall/filter print
/ip/firewall/filter move [find comment="Запретить гостям доступ в LAN"] \
destination=2
/interface/wifi print
# Убедитесь, что wifi-guest не в состоянии disabled
/interface/wifi enable wifi-guest
/queue/simple print
/ip/address
remove [find interface=bridge-LAN]
add address=192.168.10.1/24 interface=vlan10-main
# 1. Bridge
/interface/bridge add name=bridge-LAN vlan-filtering=no
/interface/bridge/port
add bridge=bridge-LAN interface=ether2 pvid=10
add bridge=bridge-LAN interface=ether3 pvid=10
add bridge=bridge-LAN interface=ether4 pvid=10
add bridge=bridge-LAN interface=ether5 pvid=10
# 2. Bridge VLAN
/interface/bridge/vlan
add bridge=bridge-LAN vlan-ids=10 tagged=bridge-LAN untagged=ether2,ether3,ether4,ether5
add bridge=bridge-LAN vlan-ids=99 tagged=bridge-LAN
# 3. VLAN-интерфейсы
/interface/vlan
add name=vlan10-main interface=bridge-LAN vlan-id=10
add name=vlan99-guest interface=bridge-LAN vlan-id=99
# 4. IP-адреса
/ip/address
add address=192.168.10.1/24 interface=vlan10-main
add address=192.168.99.1/24 interface=vlan99-guest
# 5. DNS
/ip/dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
# 6. DHCP для основной сети
/ip/pool add name=pool-main ranges=192.168.10.10-192.168.10.254
/ip/dhcp-server add name=dhcp-main interface=vlan10-main \
address-pool=pool-main lease-time=1d disabled=no
/ip/dhcp-server/network add address=192.168.10.0/24 \
gateway=192.168.10.1 dns-server=192.168.10.1
# 7. DHCP для гостевой сети
/ip/pool add name=pool-guest ranges=192.168.99.10-192.168.99.254
/ip/dhcp-server add name=dhcp-guest interface=vlan99-guest \
address-pool=pool-guest lease-time=1h disabled=no
/ip/dhcp-server/network add address=192.168.99.0/24 \
gateway=192.168.99.1 dns-server=192.168.99.1
# 8. Wi-Fi
/interface/wifi/security
add name=sec-main authentication-types=wpa2-psk,wpa3-psk \
passphrase="СложныйПарольОсновной"
add name=sec-guest authentication-types=wpa2-psk \
passphrase="ПростойПарольГостям"
/interface/wifi/datapath
add name=dp-main bridge=bridge-LAN vlan-id=10
add name=dp-guest bridge=bridge-LAN vlan-id=99
/interface/wifi/configuration
add name=cfg-main ssid="MyNetwork" country=Russia \
security=sec-main datapath=dp-main
add name=cfg-guest ssid="MyNetwork-Guest" country=Russia \
security=sec-guest datapath=dp-guest
/interface/wifi set wifi1 configuration=cfg-main disabled=no
/interface/wifi add name=wifi-guest master-interface=wifi1 \
configuration=cfg-guest disabled=no
# 9. Включить VLAN filtering (только после полной настройки!)
/interface/bridge set bridge-LAN vlan-filtering=yes
# 10. NAT
/ip/firewall/nat add chain=srcnat out-interface=ether1 action=masquerade
# 11. Firewall
/ip/firewall/filter
add chain=forward connection-state=established,related action=accept
add chain=forward connection-state=invalid action=drop
add chain=forward src-address=192.168.99.0/24 dst-address=192.168.10.0/24 action=drop
add chain=forward src-address=192.168.99.0/24 dst-address=10.0.0.0/8 action=drop
add chain=forward src-address=192.168.99.0/24 dst-address=172.16.0.0/12 action=drop
add chain=forward src-address=192.168.99.0/24 dst-address=192.168.0.0/16 action=drop
add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=53 action=accept
add chain=input src-address=192.168.99.0/24 protocol=udp dst-port=67 action=accept
add chain=input src-address=192.168.99.0/24 action=drop
add chain=forward src-address=192.168.99.0/24 out-interface=ether1 action=accept
add chain=forward in-interface=vlan10-main action=accept
add chain=forward action=drop
# 12. Ограничение скорости
/queue/simple add name=guest-limit target=192.168.99.0/24 \
max-limit=10M/10M