Короткий ответ

Целевые зоны: users 10.0.10.0/24, servers (вынести, пример 10.0.20.0/24), guests (пример 10.0.40.0/24), mgmt 10.0.99.0/24, DMZ 10.0.30.0/24, WAN 203.0.113.10. Каждая — свой VLAN, свой SVI на шлюзе, DHCP, filter default deny между зонами плюс узкие allow. Не один bridge «все порты». Не выключайте фильтр на время нарезки VLAN.

Детали серверов, гостей, DMZ — в отдельных статьях; здесь сборка офиса целиком.

Симптомы и как отличить

ПК, DC, принтер, Wi‑Fi guest, iLO — одна 10.0.10.0/24. Коммутатор unmanaged. «Сегментация» = разные SSID на том же VLAN.

ЗонаКтоDefault
usersПК, corp Wi‑Fiинтернет, allow к DC/file по матрице
serversDC, file, app, SQLмало egress, не ходят на ПК
guestsпосетителитолько WAN 53/80/443
mgmtiLO, гипервизор, FW admin, syslogтолько с бастиона/VPN admin
DMZwebне в LAN

Возможные причины

  1. Историческая плоская сеть.
  2. Нет VLAN на свитчах.
  3. Боязнь сломать 1С/сканеры.
  4. Wi‑Fi контроллер в LAN-мосте.
  5. Филиал с одним MikroTik без плана.

Диагностика

/ip address print
/interface bridge vlan print
/interface vlan print
/ip pool print
/ip dhcp-server print
ip -br addr
bridge vlan show
sudo nft list ruleset

Инвентарь портов коммутатора: access VLAN сейчас. Список «сервер/ПК/AP/iLO».

Потоки: что users реально открывают на серверах (порты). Без этого allow станет any.

Проверка guest и mgmt с тестовых устройств, не скан посетителей.

Решение

План внедрения поэтапно, каждая зона — отдельное окно.

1. Коммутаторы

Trunk на шлюз: tagged 10,20,30,40,99. Access: ПК 10, серверы 20, DMZ 30, AP guest SSID→40, iLO 99. Native VLAN не users data. Документ порт→VLAN.

2. Адреса на шлюзе RouterOS / nftables Linux

SVI на каждую зону. DHCP: users и guests; servers/mgmt чаще статика+резерв.

DNS: users→DC; guests→не AD; mgmt→внутренний или отдельный.

3. Filter скелет (RouterOS идея)

/ip firewall filter add chain=forward connection-state=established,related action=accept place-before=0
/ip firewall filter add chain=forward connection-state=invalid action=drop
# users -> servers: enumerated ports (AD/SMB) then drop
# users -> mgmt: drop
# users -> guests: drop
# guests -> RFC1918: drop, guests -> WAN 80/443/53: accept
# servers -> users new: drop
# DMZ -> LAN/mgmt: drop except matrix
# WAN -> only DNAT matrix

nft — те же зоны iifname/oifname. nft -c, reload. Backup до.

4. Порядок переноса

  1. mgmt VLAN + iLO (админы не потеряют консоль)
  2. guests
  3. DMZ web
  4. servers (вынос)
  5. ужесточение users→servers

Не начинайте с DC в пятницу.

5. Wi‑Fi

Corp SSID VLAN users (лучше 802.1X). Guest VLAN guests + isolation. См. guest.

6. Egress

Серверы — allow-list. Users — 80/443 + запрет 25/445 исходящие на WAN. egress.

7. Концепция pfSense

Interfaces LAN/OPT для каждой зоны, rules per interface default deny, floating минимум. Не «allow all RFC1918».

Откат: порт сервера вернуть access 10, адрес старый, filter disable новых drop (не всего FW).

Последовательность окон, чтобы не уронить AD и BMC сразу

Окно 1: VLAN 99, перенос iLO/гипервизора, allow только с бастиона, проверка консоли. Окно 2: guest VLAN + isolation + drop на RFC1918, тест своим телефоном. Окно 3: DMZ web, DNAT на 10.0.30.10, drop DMZ→LAN. Окно 4: servers 10.0.20.0/24, один некритичный хост, затем DC по отдельному плану DNS/DHCP. Окно 5: users→servers default drop после enumerated AD/SMB.

Между окнами сеть должна быть рабочей: не «все VLAN созданы, filter ещё any». Trunk native VLAN не data users. После каждого переноса смотрите MAC DC: не должен остаться в VLAN 10. DHCP scope на зоне, helper на шлюзе. Документ порт коммутатора → VLAN в той же заявке, что и filter. Откат порта access обратно важнее «красивого» nft flush.

Как проверить, что проблема устранена

Чеклист с тестовых узлов:

  • ПК users: интернет, AD, нет RDP к SQL, нет iLO 10.0.99.x.
  • Сервер: нет 445 к ПК.
  • Guest телефон: интернет, нет 10.0.10.10.
  • Бастион mgmt: WinBox/SSH/iLO да.
  • WAN скан своего IP не расширился.
  • Диаграмма VLAN в wiki = коммутаторы.
Test-NetConnection 10.0.99.1 -Port 8291

С users — fail. С mgmt VPN — success.

Нарисуйте таблицу потоков до нарезки VLAN: users→DC (порты AD), users→file, users→WAN, guest→WAN, mgmt→all admin, DMZ→app, backup→servers. Каждая стрелка станет allow или осознанным drop. Без этой таблицы filter после сегментации будет any «чтобы заработало» и вы вернётесь к плоской сети на L3. Храните таблицу рядом с диаграммой коммутаторов. Тест канарейка: с users не открывается iLO; с guest не открывается DC; с DMZ не открывается SMB.

Если не помогло

  • DHCP helper не туда — клиенты без адреса.
  • ACL на L3-свитче дублируют и конфликтуют.
  • Принтеры ждут mDNS L2 — print VLAN или явное TCP 9100.
  • Телефония VLAN забыли — добавьте voice, не валите в users без QoS/фильтра.
  • Филиал flat — тот же шаблон на его шлюзе.

Профилактика

  • Новые устройства: VLAN по роли в регламенте закупки.
  • Порт security / 802.1X постепенно.
  • Ревизия MAC в чужом VLAN.
  • Запрет «временный trunk all на стол».
  • Связь с матрицей портов межзона.

FAQ

Обязательно пять сетей?

Минимум users / servers / guests / mgmt. DMZ если есть публикация. Маленький офис без гостей — guests можно не заводить, но не использовать LAN как guest.

/24 мало пользователям

Возьмите /23 на users, не смешивайте с servers. Не «давайте снова одну большую».

Нужен ли отдельный FW между зонами?

Один edge с SVL часто ок. Важно не bridge. Второй FW — если политика.

Wi‑Fi corp и LAN ПК один VLAN?

Допустимо для users. Не тащите туда servers/mgmt.

С чего начать, если свитчи неуправляемые?

Замена/добавление managed — блокер. Сегментация «разными масками в одном L2» — иллюзия.