mikrotik-wiki.ru
Главная
Загрузка...

Дизайн корпоративной сети на MikroTik

RouterOS 7.xРуководства12 мин25730 мар. 2026 г.
TelegramVK

Дизайн корпоративной сети на MikroTik — архитектура и планирование

Правильное проектирование сети — фундамент стабильной IT-инфраструктуры. MikroTik предлагает оборудование для сетей любого масштаба: от домашнего офиса до провайдерской сети на тысячи абонентов. Однако без грамотного планирования даже дорогое оборудование не спасёт от проблем. В этом руководстве разберём полный цикл проектирования корпоративной сети — от сбора требований до документирования и мониторинга.

Описание

Зачем проектировать сеть

Типичный подход «купим роутер и настроим по ходу» приводит к предсказуемым проблемам: плоская сеть без сегментации, broadcast-штормы, невозможность масштабирования, отсутствие резервирования. Проектирование решает эти проблемы до их появления.

Ключевые принципы:

  • Сегментация — разделение сети на VLAN по функциям (пользователи, серверы, гости, VoIP, IoT)
  • Масштабируемость — архитектура, которую можно расширить без переделки
  • Резервирование — отказ одного компонента не должен класть всю сеть
  • Безопасность — минимальные привилегии, межзональный firewall, мониторинг
  • Документация — без документации сеть превращается в «чёрный ящик»

Сбор требований

Перед выбором оборудования ответьте на вопросы:

ПараметрВопросы
ПользователиСколько сотрудников? Сколько устройств на одного? Есть ли BYOD?
СервисыIP-телефония? Видеонаблюдение? Серверы? Облачные сервисы?
Каналы связиКакой провайдер? Скорость? Нужен ли резервный канал?
ФилиалыСколько офисов? Нужен ли VPN между ними?
Wi-FiПлощадь покрытия? Количество одновременных клиентов?
БюджетПриоритеты: функциональность vs стоимость
РостПланируемое расширение на 1-3 года

Настройка

Типовые архитектуры

Малый офис (10-20 пользователей)

Оборудование:

  • Роутер: hAP ax3 (RB5009 — если нет нужды в Wi-Fi)
  • Коммутатор: встроенные порты или CRS112-8P-4S (если нужен PoE)
  • Wi-Fi: встроенный в hAP ax3 (хватит на 1 помещение)

Схема: «всё в одном» — роутер выполняет функции маршрутизатора, firewall, DHCP, DNS, Wi-Fi AP.

[admin@MikroTik] >
# === Базовая настройка малого офиса на hAP ax3 ===

# Задаём имя устройства
/system/identity/set name="Office-GW"

# Настраиваем WAN (ether1)
/ip/address/add address=10.0.0.2/30 interface=ether1

# Создаём bridge для LAN
/interface/bridge/add name=bridge-lan

# Добавляем порты в bridge
/interface/bridge/port/add bridge=bridge-lan interface=ether2
/interface/bridge/port/add bridge=bridge-lan interface=ether3
/interface/bridge/port/add bridge=bridge-lan interface=ether4
/interface/bridge/port/add bridge=bridge-lan interface=ether5

# LAN IP
/ip/address/add address=192.168.10.1/24 interface=bridge-lan

# DHCP-сервер
/ip/pool/add name=pool-lan ranges=192.168.10.100-192.168.10.200
/ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \
  address-pool=pool-lan lease-time=8h
/ip/dhcp-server/network/add address=192.168.10.0/24 \
  gateway=192.168.10.1 dns-server=192.168.10.1

# DNS
/ip/dns/set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8

# NAT
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade

# Маршрут по умолчанию
/ip/route/add dst-address=0.0.0.0/0 gateway=10.0.0.1

# Wi-Fi (RouterOS 7.20+, пакет wifi)
/interface/wifi/security/add name=sec-office \
  authentication-types=wpa2-psk,wpa3-psk \
  passphrase="SecurePassword123!" \
  encryption=ccmp

/interface/wifi/configuration/add name=cfg-office \
  ssid="Office-WiFi" \
  country=Russia \
  security=sec-office \
  channel.frequency=5180,5260,5500

/interface/wifi/set wifi1 configuration=cfg-office disabled=no

Средний офис (50-100 пользователей)

Оборудование:

  • Маршрутизатор: RB5009UG+S+IN (8 портов Gigabit + SFP+ 10G)
  • Коммутатор ядра: CRS326-24G-2S+RM (24 Gigabit + 2 SFP+ 10G)
  • Wi-Fi AP: cAP ax × 4-8 шт. (управляются через CAPsMAN v2)
  • PoE-коммутатор: CRS328-24P-4S+RM (для питания AP)

Схема: RB5009 — маршрутизация, firewall, VPN. CRS326 — L2-коммутация, VLAN. cAP ax — Wi-Fi через CAPsMAN.

[admin@MikroTik] >
# === Настройка RB5009 как шлюза среднего офиса ===

/system/identity/set name="HQ-Router"

# WAN
/ip/address/add address=203.0.113.2/30 interface=ether1

# VLAN на trunk к коммутатору (ether8 или SFP+)
/interface/vlan/add name=vlan10-mgmt vlan-id=10 interface=sfp-sfpplus1
/interface/vlan/add name=vlan20-users vlan-id=20 interface=sfp-sfpplus1
/interface/vlan/add name=vlan30-servers vlan-id=30 interface=sfp-sfpplus1
/interface/vlan/add name=vlan40-voip vlan-id=40 interface=sfp-sfpplus1
/interface/vlan/add name=vlan50-guest vlan-id=50 interface=sfp-sfpplus1
/interface/vlan/add name=vlan60-iot vlan-id=60 interface=sfp-sfpplus1

# IP-адреса для каждой VLAN (шлюз)
/ip/address/add address=10.0.10.1/24 interface=vlan10-mgmt
/ip/address/add address=10.0.20.1/23 interface=vlan20-users
/ip/address/add address=10.0.30.1/24 interface=vlan30-servers
/ip/address/add address=10.0.40.1/24 interface=vlan40-voip
/ip/address/add address=10.0.50.1/24 interface=vlan50-guest
/ip/address/add address=10.0.60.1/24 interface=vlan60-iot

# DHCP-пулы
/ip/pool/add name=pool-users ranges=10.0.20.100-10.0.21.250
/ip/pool/add name=pool-voip ranges=10.0.40.100-10.0.40.200
/ip/pool/add name=pool-guest ranges=10.0.50.100-10.0.50.200
/ip/pool/add name=pool-iot ranges=10.0.60.100-10.0.60.200

# DHCP-серверы
/ip/dhcp-server/add name=dhcp-users interface=vlan20-users \
  address-pool=pool-users lease-time=8h
/ip/dhcp-server/network/add address=10.0.20.0/23 \
  gateway=10.0.20.1 dns-server=10.0.20.1 domain=office.local

/ip/dhcp-server/add name=dhcp-voip interface=vlan40-voip \
  address-pool=pool-voip lease-time=8h
/ip/dhcp-server/network/add address=10.0.40.0/24 \
  gateway=10.0.40.1 dns-server=10.0.40.1

/ip/dhcp-server/add name=dhcp-guest interface=vlan50-guest \
  address-pool=pool-guest lease-time=1h
/ip/dhcp-server/network/add address=10.0.50.0/24 \
  gateway=10.0.50.1 dns-server=1.1.1.1,8.8.8.8

/ip/dhcp-server/add name=dhcp-iot interface=vlan60-iot \
  address-pool=pool-iot lease-time=24h
/ip/dhcp-server/network/add address=10.0.60.0/24 \
  gateway=10.0.60.1 dns-server=10.0.60.1

# NAT
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade

# Inter-VLAN firewall: гостевая сеть изолирована
/ip/firewall/filter/add chain=forward \
  src-address=10.0.50.0/24 dst-address=10.0.0.0/16 action=drop \
  comment="Guest: deny access to internal networks"
/ip/firewall/filter/add chain=forward \
  src-address=10.0.50.0/24 action=accept \
  comment="Guest: allow Internet"

# IoT — только интернет, запрет на внутренние сети
/ip/firewall/filter/add chain=forward \
  src-address=10.0.60.0/24 dst-address=10.0.0.0/16 action=drop \
  comment="IoT: deny access to internal networks"
/ip/firewall/filter/add chain=forward \
  src-address=10.0.60.0/24 action=accept \
  comment="IoT: allow Internet"

Настройка CRS326 как VLAN-коммутатора:

[admin@MikroTik] >
# === Настройка CRS326-24G-2S+ как L2 VLAN-коммутатора ===

/system/identity/set name="HQ-Switch"

# Создаём bridge с VLAN filtering
/interface/bridge/add name=bridge1 vlan-filtering=no

# Добавляем все порты в bridge
# ether1-ether20 = access-порты для пользователей
# ether21-ether24 = access-порты для серверов
# sfp-sfpplus1 = trunk к роутеру (RB5009)
# sfp-sfpplus2 = trunk к PoE-коммутатору (для AP)

/interface/bridge/port/add bridge=bridge1 interface=ether1 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether2 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether3 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether4 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether5 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether6 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether7 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether8 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether9 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether10 pvid=20
# ... аналогично для ether11-ether20

# Серверные порты
/interface/bridge/port/add bridge=bridge1 interface=ether21 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether22 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether23 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether24 pvid=40

# Trunk-порты (все VLAN тегированы)
/interface/bridge/port/add bridge=bridge1 interface=sfp-sfpplus1
/interface/bridge/port/add bridge=bridge1 interface=sfp-sfpplus2

# VLAN-таблица
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8,ether9,ether10 \
  vlan-ids=20
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1 \
  untagged=ether21,ether22,ether23 vlan-ids=30
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1 \
  untagged=ether24 vlan-ids=40
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=10
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=50
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=60

# Management VLAN
/interface/vlan/add name=vlan10-mgmt vlan-id=10 interface=bridge1
/ip/address/add address=10.0.10.2/24 interface=vlan10-mgmt
/ip/route/add dst-address=0.0.0.0/0 gateway=10.0.10.1

# Включаем VLAN filtering ПОСЛЕ настройки
# ВАЖНО: если включить раньше, можно потерять доступ!
/interface/bridge/set bridge1 vlan-filtering=yes

Филиальная сеть (3-5 офисов)

Оборудование на каждый офис:

  • Шлюз: RB5009UG+S+IN
  • Коммутатор: CRS326-24G-2S+RM
  • Wi-Fi: cAP ax (количество по площади)

Связность: WireGuard VPN между офисами + OSPF для динамической маршрутизации.

Топология: Hub-and-spoke (центральный офис + филиалы).

[admin@MikroTik] >
# === Центральный офис (Hub) — RB5009 ===

/system/identity/set name="HQ-Router"

# WireGuard интерфейс
/interface/wireguard/add name=wg-hub listen-port=13231
/ip/address/add address=10.255.0.1/24 interface=wg-hub

# Peer: филиал 1
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH1_PUBLIC_KEY>" \
  allowed-address=10.255.0.2/32,10.1.0.0/16 \
  endpoint-address=198.51.100.1 endpoint-port=13231

# Peer: филиал 2
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH2_PUBLIC_KEY>" \
  allowed-address=10.255.0.3/32,10.2.0.0/16 \
  endpoint-address=198.51.100.2 endpoint-port=13231

# Peer: филиал 3
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH3_PUBLIC_KEY>" \
  allowed-address=10.255.0.4/32,10.3.0.0/16 \
  endpoint-address=198.51.100.3 endpoint-port=13231

# OSPF для динамической маршрутизации между филиалами
/routing/ospf/instance/add name=ospf-main router-id=10.255.0.1
/routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0

# Анонсируем сети через OSPF
/routing/ospf/interface-template/add area=backbone \
  interfaces=wg-hub type=ptp networks=10.255.0.0/24
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan20-users type=broadcast networks=10.0.20.0/23
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan30-servers type=broadcast networks=10.0.30.0/24

# Firewall: разрешаем WireGuard
/ip/firewall/filter/add chain=input protocol=udp dst-port=13231 \
  action=accept comment="Allow WireGuard"
/ip/firewall/filter/add chain=forward in-interface=wg-hub \
  action=accept comment="Allow WG forward"
[admin@MikroTik] >
# === Филиал 1 (Spoke) — RB5009 ===

/system/identity/set name="Branch1-Router"

# WireGuard к центральному офису
/interface/wireguard/add name=wg-branch listen-port=13231
/ip/address/add address=10.255.0.2/24 interface=wg-branch

/interface/wireguard/peers/add interface=wg-branch \
  public-key="<HQ_PUBLIC_KEY>" \
  allowed-address=0.0.0.0/0 \
  endpoint-address=203.0.113.1 endpoint-port=13231 \
  persistent-keepalive=25s

# OSPF
/routing/ospf/instance/add name=ospf-main router-id=10.255.0.2
/routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0

/routing/ospf/interface-template/add area=backbone \
  interfaces=wg-branch type=ptp networks=10.255.0.0/24
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan20-users type=broadcast networks=10.1.20.0/23

ISP / Провайдерская сеть (500+ абонентов)

Оборудование:

  • Core-маршрутизатор: CCR2004-1G-12S+2XS (12 SFP+ 10G + 2 SFP28 25G)
  • Aggregation-коммутаторы: CRS326-24G-2S+RM
  • BRAS (PPPoE): CCR2004 или CHR на мощном сервере
  • Access-коммутаторы: CRS112-8G-4S или CSS610-8G-2S+
  • Wi-Fi CPE: hAP ax2 / hAP ax3 для абонентов

Архитектура: Core → Aggregation → Access → CPE с PPPoE-авторизацией абонентов.

Схема VLAN

Грамотная VLAN-схема — основа сегментации. Рекомендуемый шаблон:

VLAN IDНазначениеПодсетьОписание
10Management10.0.10.0/24Управление оборудованием
20Users10.0.20.0/23Рабочие станции сотрудников
30Servers10.0.30.0/24Физические и виртуальные серверы
40VoIP10.0.40.0/24IP-телефоны
50Guest10.0.50.0/24Гостевой Wi-Fi
60IoT10.0.60.0/24Камеры, датчики, принтеры
100DMZ10.0.100.0/24Серверы с доступом из интернета

Принципы назначения VLAN ID:

  • 1-9 — зарезервировано (VLAN 1 — default, не используйте)
  • 10-99 — инфраструктурные VLAN
  • 100-199 — сервисные VLAN (DMZ, мониторинг)
  • 200-999 — пользовательские VLAN (при большом количестве подразделений)

Архитектура Firewall

MikroTik firewall строится на цепочках (chains). Для корпоративной сети используем зональный подход:

[admin@MikroTik] >
# === Межзональный firewall ===

# Списки адресов для зон
/ip/firewall/address-list/add list=zone-users address=10.0.20.0/23
/ip/firewall/address-list/add list=zone-servers address=10.0.30.0/24
/ip/firewall/address-list/add list=zone-voip address=10.0.40.0/24
/ip/firewall/address-list/add list=zone-guest address=10.0.50.0/24
/ip/firewall/address-list/add list=zone-iot address=10.0.60.0/24
/ip/firewall/address-list/add list=zone-internal \
  address=10.0.0.0/16

# FastTrack для ускорения established-соединений
/ip/firewall/filter/add chain=forward \
  connection-state=established,related action=fasttrack-connection \
  comment="FastTrack established"
/ip/firewall/filter/add chain=forward \
  connection-state=established,related action=accept \
  comment="Accept established"
/ip/firewall/filter/add chain=forward \
  connection-state=invalid action=drop \
  comment="Drop invalid"

# Users → Servers: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-users dst-address-list=zone-servers \
  action=accept comment="Users -> Servers: allow"

# Users → Internet: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-users dst-address-list=!zone-internal \
  action=accept comment="Users -> Internet: allow"

# VoIP → SIP-сервер и Internet: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-voip dst-address=10.0.30.10 \
  action=accept comment="VoIP -> SIP server"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-voip dst-address-list=!zone-internal \
  action=accept comment="VoIP -> Internet"

# Guest → Internet only
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-guest dst-address-list=zone-internal \
  action=drop comment="Guest -> Internal: deny"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-guest action=accept \
  comment="Guest -> Internet: allow"

# IoT → Internet only (с ограничениями)
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-iot dst-address-list=zone-internal \
  action=drop comment="IoT -> Internal: deny"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-iot action=accept \
  comment="IoT -> Internet: allow"

# Servers → Internet: ограниченно (только обновления)
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-servers dst-address-list=!zone-internal \
  protocol=tcp dst-port=80,443 action=accept \
  comment="Servers -> Internet: HTTP/HTTPS only"

# Default deny
/ip/firewall/filter/add chain=forward action=drop \
  comment="Default deny forward"

Выбор оборудования

ЗадачаРекомендуемая модельПочему
SOHO-роутерhAP ax3Wi-Fi 6, 4 ядра ARM64, USB-C, PoE-in
Роутер среднего офисаRB5009UG+S+IN8 портов GbE + SFP+ 10G, мощный CPU
Core-роутер ISPCCR2004-1G-12S+2XS12×10G SFP+, 2×25G SFP28, ARM64
L2-коммутатор 24 портаCRS326-24G-2S+RM24 GbE + 2 SFP+ 10G, VLAN, rack
PoE-коммутаторCRS328-24P-4S+RM24 PoE портов (500W), rack
Wi-Fi AP indoorcAP axWi-Fi 6, потолочный монтаж, PoE
Wi-Fi AP outdoorOmniTIK 5 ac360° покрытие, уличное исполнение
CPE для абонентовhAP ax2Wi-Fi 6, компактный, доступная цена

Планирование Wi-Fi

Правила размещения точек доступа:

  • 1 AP на 20-30 клиентов (при активном использовании)
  • Радиус покрытия indoor: 15-25 метров (зависит от стен)
  • Каналы 5 ГГц: используйте неперекрывающиеся каналы (36, 52, 100, 132)
  • Мощность: не максимум! Слишком мощный сигнал создаёт интерференцию
  • Монтаж: потолок или высоко на стене, антенной вниз
[admin@MikroTik] >
# === CAPsMAN v2 на RB5009 для управления cAP ax ===

# Создаём конфигурацию для AP
/interface/wifi/security/add name=sec-corp \
  authentication-types=wpa2-psk,wpa3-psk \
  passphrase="CorpWiFi2024!" encryption=ccmp

/interface/wifi/security/add name=sec-guest \
  authentication-types=wpa2-psk \
  passphrase="GuestWiFi" encryption=ccmp

# Provisioning для автоматического подключения AP
/interface/wifi/provisioning/add \
  supported-bands=2ghz-ax \
  master-configuration=cfg-corp-2g \
  slave-configurations=cfg-guest-2g \
  action=create-dynamic-enabled

/interface/wifi/provisioning/add \
  supported-bands=5ghz-ax \
  master-configuration=cfg-corp-5g \
  slave-configurations=cfg-guest-5g \
  action=create-dynamic-enabled

# Конфигурации
/interface/wifi/configuration/add name=cfg-corp-5g \
  ssid="Corp-Office" security=sec-corp \
  country=Russia channel.frequency=5180,5260,5500 \
  channel.width=20/40/80mhz

/interface/wifi/configuration/add name=cfg-corp-2g \
  ssid="Corp-Office" security=sec-corp \
  country=Russia channel.frequency=2412,2437,2462 \
  channel.width=20mhz

/interface/wifi/configuration/add name=cfg-guest-5g \
  ssid="Guest-WiFi" security=sec-guest \
  country=Russia channel.frequency=5180,5260,5500

/interface/wifi/configuration/add name=cfg-guest-2g \
  ssid="Guest-WiFi" security=sec-guest \
  country=Russia channel.frequency=2412,2437,2462

VPN между офисами

Hub-and-spoke — все филиалы подключаются к центральному офису. Простая топология, но трафик между филиалами идёт через hub.

Full-mesh — все офисы соединены друг с другом напрямую. Оптимальная маршрутизация, но сложнее в настройке (N×(N-1)/2 туннелей).

Рекомендация: для 3-5 офисов — hub-and-spoke с WireGuard + OSPF. При необходимости прямого трафика между филиалами — добавляйте отдельные туннели.

Резервирование

Dual-WAN (два провайдера)

[admin@MikroTik] >
# Два провайдера: ether1 (основной), ether2 (резервный)
/ip/address/add address=203.0.113.2/30 interface=ether1
/ip/address/add address=198.51.100.2/30 interface=ether2

# Recursive routing с check-gateway
/ip/route/add dst-address=1.1.1.1/32 gateway=203.0.113.1 scope=10
/ip/route/add dst-address=8.8.8.8/32 gateway=198.51.100.1 scope=10

/ip/route/add dst-address=0.0.0.0/0 gateway=1.1.1.1 distance=1 \
  check-gateway=ping comment="Primary WAN"
/ip/route/add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=2 \
  check-gateway=ping comment="Backup WAN"

# NAT для обоих каналов
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade
/ip/firewall/nat/add chain=srcnat out-interface=ether2 action=masquerade

VRRP (резервирование шлюза)

[admin@MikroTik] >
# На Router 1 (Master)
/interface/vrrp/add name=vrrp1 interface=vlan20-users vrid=20 priority=150
/ip/address/add address=10.0.20.1/24 interface=vrrp1

# На Router 2 (Backup)
/interface/vrrp/add name=vrrp1 interface=vlan20-users vrid=20 priority=100
/ip/address/add address=10.0.20.1/24 interface=vrrp1

# Клиенты используют 10.0.20.1 как шлюз — при отказе Router 1
# Router 2 автоматически подхватывает этот IP

Мониторинг и обслуживание

Сеть без мониторинга — слепая сеть. Минимальный набор:

  • SNMP — для мониторинга через Zabbix/PRTG
  • Netwatch — автоматическая проверка доступности хостов
  • Автобэкап — ежедневный экспорт конфигурации на email/FTP
  • Обновления — регулярная проверка обновлений RouterOS
[admin@MikroTik] >
# SNMP для Zabbix
/snmp/set enabled=yes
/snmp/community/set [ find default=yes ] name=monitoring \
  addresses=10.0.10.100/32 read-access=yes

# Netwatch: мониторинг шлюза провайдера
/tool/netwatch/add host=203.0.113.1 interval=30s type=icmp \
  up-script="" \
  down-script="/log warning \"ISP gateway DOWN\""

# Автобэкап конфигурации
/system/scheduler/add name=daily-backup interval=24h \
  start-time=02:00:00 \
  on-event="/export file=daily-backup; \
    /tool/e-mail/send to=admin@company.com \
    subject=\"[MikroTik] Daily backup\" \
    file=daily-backup.rsc"

Документация сети

Каждая корпоративная сеть должна иметь:

  1. Схема сети — логическая и физическая топология (draw.io, Visio)
  2. IP-план — таблица всех подсетей, VLAN, назначений
  3. Таблица оборудования — модель, серийный номер, IP-адрес управления, расположение
  4. Список паролей — в защищённом хранилище (KeePass, Bitwarden)
  5. Процедуры — что делать при отказе, как обновлять, как добавлять пользователей

Проверка

После развёртывания сети выполните полную проверку:

[admin@MikroTik] >
# Проверяем маршрутизацию
/ip/route/print where active=yes
# Все сети должны быть доступны

# Проверяем VLAN
/interface/bridge/vlan/print
# Все VLAN должны быть в таблице

# Проверяем DHCP
/ip/dhcp-server/lease/print
# Клиенты получают IP-адреса

# Проверяем firewall
/ip/firewall/filter/print stats
# Правила срабатывают, counter увеличивается

# Тест связности между VLAN
/ping 10.0.20.100
/ping 10.0.30.10

# Тест скорости между офисами
/tool/bandwidth-test address=10.255.0.2 protocol=tcp duration=10s

# Проверяем загрузку CPU
/system/resource/print
# CPU не должен быть > 70% в нормальном режиме

# Проверяем Wi-Fi
/interface/wifi/registration-table/print
# AP подключены, клиенты регистрируются

Типичные ошибки

Плоская сеть без VLAN

Проблема: все устройства в одной подсети 192.168.88.0/24.

Последствия: broadcast-штормы при росте сети, невозможность ограничить доступ, IoT-устройства видят серверы.

Решение: сегментируйте сеть на VLAN с первого дня. Даже для 20 устройств разделите как минимум на Users, Servers и Guest.

Неправильный порядок включения VLAN filtering

Проблема: включили vlan-filtering=yes на bridge до настройки VLAN-таблицы — потеряли доступ к коммутатору.

Решение: всегда настраивайте VLAN-таблицу и management VLAN до включения vlan-filtering=yes. Если потеряли доступ — сброс через Reset-кнопку.

Избыточная мощность Wi-Fi

Проблема: выкрутили tx-power на максимум, но Wi-Fi работает хуже.

Решение: высокая мощность AP не помогает, если клиент (ноутбук, телефон) не может ответить с той же мощностью. Снижайте мощность AP, увеличивайте количество точек доступа.

Отсутствие резервирования

Проблема: единственный провайдер, единственный роутер — любой отказ = полный простой.

Решение: для критичных объектов — dual-WAN с failover, VRRP для резервирования шлюза, резервное питание (PoE от ИБП).

Забытая документация

Проблема: сеть настроена, но через год никто не помнит, зачем нужно правило firewall №47.

Решение: используйте comment во всех правилах firewall, NAT, routes. Ведите актуальную схему сети и IP-план. Храните экспорт конфигурации в Git.

Грамотное проектирование сети с самого начала экономит десятки часов на устранение проблем в будущем. Начинайте с требований, планируйте VLAN-схему, выбирайте оборудование с запасом, документируйте каждое решение — и сеть будет работать стабильно и предсказуемо.

[admin@MikroTik] >
# === Базовая настройка малого офиса на hAP ax3 ===

# Задаём имя устройства
/system/identity/set name="Office-GW"

# Настраиваем WAN (ether1)
/ip/address/add address=10.0.0.2/30 interface=ether1

# Создаём bridge для LAN
/interface/bridge/add name=bridge-lan

# Добавляем порты в bridge
/interface/bridge/port/add bridge=bridge-lan interface=ether2
/interface/bridge/port/add bridge=bridge-lan interface=ether3
/interface/bridge/port/add bridge=bridge-lan interface=ether4
/interface/bridge/port/add bridge=bridge-lan interface=ether5

# LAN IP
/ip/address/add address=192.168.10.1/24 interface=bridge-lan

# DHCP-сервер
/ip/pool/add name=pool-lan ranges=192.168.10.100-192.168.10.200
/ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \
  address-pool=pool-lan lease-time=8h
/ip/dhcp-server/network/add address=192.168.10.0/24 \
  gateway=192.168.10.1 dns-server=192.168.10.1

# DNS
/ip/dns/set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8

# NAT
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade

# Маршрут по умолчанию
/ip/route/add dst-address=0.0.0.0/0 gateway=10.0.0.1

# Wi-Fi (RouterOS 7.20+, пакет wifi)
/interface/wifi/security/add name=sec-office \
  authentication-types=wpa2-psk,wpa3-psk \
  passphrase="SecurePassword123!" \
  encryption=ccmp

/interface/wifi/configuration/add name=cfg-office \
  ssid="Office-WiFi" \
  country=Russia \
  security=sec-office \
  channel.frequency=5180,5260,5500

/interface/wifi/set wifi1 configuration=cfg-office disabled=no
# === Настройка RB5009 как шлюза среднего офиса ===

/system/identity/set name="HQ-Router"

# WAN
/ip/address/add address=203.0.113.2/30 interface=ether1

# VLAN на trunk к коммутатору (ether8 или SFP+)
/interface/vlan/add name=vlan10-mgmt vlan-id=10 interface=sfp-sfpplus1
/interface/vlan/add name=vlan20-users vlan-id=20 interface=sfp-sfpplus1
/interface/vlan/add name=vlan30-servers vlan-id=30 interface=sfp-sfpplus1
/interface/vlan/add name=vlan40-voip vlan-id=40 interface=sfp-sfpplus1
/interface/vlan/add name=vlan50-guest vlan-id=50 interface=sfp-sfpplus1
/interface/vlan/add name=vlan60-iot vlan-id=60 interface=sfp-sfpplus1

# IP-адреса для каждой VLAN (шлюз)
/ip/address/add address=10.0.10.1/24 interface=vlan10-mgmt
/ip/address/add address=10.0.20.1/23 interface=vlan20-users
/ip/address/add address=10.0.30.1/24 interface=vlan30-servers
/ip/address/add address=10.0.40.1/24 interface=vlan40-voip
/ip/address/add address=10.0.50.1/24 interface=vlan50-guest
/ip/address/add address=10.0.60.1/24 interface=vlan60-iot

# DHCP-пулы
/ip/pool/add name=pool-users ranges=10.0.20.100-10.0.21.250
/ip/pool/add name=pool-voip ranges=10.0.40.100-10.0.40.200
/ip/pool/add name=pool-guest ranges=10.0.50.100-10.0.50.200
/ip/pool/add name=pool-iot ranges=10.0.60.100-10.0.60.200

# DHCP-серверы
/ip/dhcp-server/add name=dhcp-users interface=vlan20-users \
  address-pool=pool-users lease-time=8h
/ip/dhcp-server/network/add address=10.0.20.0/23 \
  gateway=10.0.20.1 dns-server=10.0.20.1 domain=office.local

/ip/dhcp-server/add name=dhcp-voip interface=vlan40-voip \
  address-pool=pool-voip lease-time=8h
/ip/dhcp-server/network/add address=10.0.40.0/24 \
  gateway=10.0.40.1 dns-server=10.0.40.1

/ip/dhcp-server/add name=dhcp-guest interface=vlan50-guest \
  address-pool=pool-guest lease-time=1h
/ip/dhcp-server/network/add address=10.0.50.0/24 \
  gateway=10.0.50.1 dns-server=1.1.1.1,8.8.8.8

/ip/dhcp-server/add name=dhcp-iot interface=vlan60-iot \
  address-pool=pool-iot lease-time=24h
/ip/dhcp-server/network/add address=10.0.60.0/24 \
  gateway=10.0.60.1 dns-server=10.0.60.1

# NAT
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade

# Inter-VLAN firewall: гостевая сеть изолирована
/ip/firewall/filter/add chain=forward \
  src-address=10.0.50.0/24 dst-address=10.0.0.0/16 action=drop \
  comment="Guest: deny access to internal networks"
/ip/firewall/filter/add chain=forward \
  src-address=10.0.50.0/24 action=accept \
  comment="Guest: allow Internet"

# IoT — только интернет, запрет на внутренние сети
/ip/firewall/filter/add chain=forward \
  src-address=10.0.60.0/24 dst-address=10.0.0.0/16 action=drop \
  comment="IoT: deny access to internal networks"
/ip/firewall/filter/add chain=forward \
  src-address=10.0.60.0/24 action=accept \
  comment="IoT: allow Internet"
# === Настройка CRS326-24G-2S+ как L2 VLAN-коммутатора ===

/system/identity/set name="HQ-Switch"

# Создаём bridge с VLAN filtering
/interface/bridge/add name=bridge1 vlan-filtering=no

# Добавляем все порты в bridge
# ether1-ether20 = access-порты для пользователей
# ether21-ether24 = access-порты для серверов
# sfp-sfpplus1 = trunk к роутеру (RB5009)
# sfp-sfpplus2 = trunk к PoE-коммутатору (для AP)

/interface/bridge/port/add bridge=bridge1 interface=ether1 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether2 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether3 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether4 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether5 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether6 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether7 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether8 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether9 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether10 pvid=20
# ... аналогично для ether11-ether20

# Серверные порты
/interface/bridge/port/add bridge=bridge1 interface=ether21 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether22 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether23 pvid=30
/interface/bridge/port/add bridge=bridge1 interface=ether24 pvid=40

# Trunk-порты (все VLAN тегированы)
/interface/bridge/port/add bridge=bridge1 interface=sfp-sfpplus1
/interface/bridge/port/add bridge=bridge1 interface=sfp-sfpplus2

# VLAN-таблица
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8,ether9,ether10 \
  vlan-ids=20
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1 \
  untagged=ether21,ether22,ether23 vlan-ids=30
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1 \
  untagged=ether24 vlan-ids=40
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=10
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=50
/interface/bridge/vlan/add bridge=bridge1 tagged=sfp-sfpplus1,sfp-sfpplus2 \
  vlan-ids=60

# Management VLAN
/interface/vlan/add name=vlan10-mgmt vlan-id=10 interface=bridge1
/ip/address/add address=10.0.10.2/24 interface=vlan10-mgmt
/ip/route/add dst-address=0.0.0.0/0 gateway=10.0.10.1

# Включаем VLAN filtering ПОСЛЕ настройки
# ВАЖНО: если включить раньше, можно потерять доступ!
/interface/bridge/set bridge1 vlan-filtering=yes
# === Центральный офис (Hub) — RB5009 ===

/system/identity/set name="HQ-Router"

# WireGuard интерфейс
/interface/wireguard/add name=wg-hub listen-port=13231
/ip/address/add address=10.255.0.1/24 interface=wg-hub

# Peer: филиал 1
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH1_PUBLIC_KEY>" \
  allowed-address=10.255.0.2/32,10.1.0.0/16 \
  endpoint-address=198.51.100.1 endpoint-port=13231

# Peer: филиал 2
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH2_PUBLIC_KEY>" \
  allowed-address=10.255.0.3/32,10.2.0.0/16 \
  endpoint-address=198.51.100.2 endpoint-port=13231

# Peer: филиал 3
/interface/wireguard/peers/add interface=wg-hub \
  public-key="<BRANCH3_PUBLIC_KEY>" \
  allowed-address=10.255.0.4/32,10.3.0.0/16 \
  endpoint-address=198.51.100.3 endpoint-port=13231

# OSPF для динамической маршрутизации между филиалами
/routing/ospf/instance/add name=ospf-main router-id=10.255.0.1
/routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0

# Анонсируем сети через OSPF
/routing/ospf/interface-template/add area=backbone \
  interfaces=wg-hub type=ptp networks=10.255.0.0/24
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan20-users type=broadcast networks=10.0.20.0/23
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan30-servers type=broadcast networks=10.0.30.0/24

# Firewall: разрешаем WireGuard
/ip/firewall/filter/add chain=input protocol=udp dst-port=13231 \
  action=accept comment="Allow WireGuard"
/ip/firewall/filter/add chain=forward in-interface=wg-hub \
  action=accept comment="Allow WG forward"
# === Филиал 1 (Spoke) — RB5009 ===

/system/identity/set name="Branch1-Router"

# WireGuard к центральному офису
/interface/wireguard/add name=wg-branch listen-port=13231
/ip/address/add address=10.255.0.2/24 interface=wg-branch

/interface/wireguard/peers/add interface=wg-branch \
  public-key="<HQ_PUBLIC_KEY>" \
  allowed-address=0.0.0.0/0 \
  endpoint-address=203.0.113.1 endpoint-port=13231 \
  persistent-keepalive=25s

# OSPF
/routing/ospf/instance/add name=ospf-main router-id=10.255.0.2
/routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0

/routing/ospf/interface-template/add area=backbone \
  interfaces=wg-branch type=ptp networks=10.255.0.0/24
/routing/ospf/interface-template/add area=backbone \
  interfaces=vlan20-users type=broadcast networks=10.1.20.0/23
# === Межзональный firewall ===

# Списки адресов для зон
/ip/firewall/address-list/add list=zone-users address=10.0.20.0/23
/ip/firewall/address-list/add list=zone-servers address=10.0.30.0/24
/ip/firewall/address-list/add list=zone-voip address=10.0.40.0/24
/ip/firewall/address-list/add list=zone-guest address=10.0.50.0/24
/ip/firewall/address-list/add list=zone-iot address=10.0.60.0/24
/ip/firewall/address-list/add list=zone-internal \
  address=10.0.0.0/16

# FastTrack для ускорения established-соединений
/ip/firewall/filter/add chain=forward \
  connection-state=established,related action=fasttrack-connection \
  comment="FastTrack established"
/ip/firewall/filter/add chain=forward \
  connection-state=established,related action=accept \
  comment="Accept established"
/ip/firewall/filter/add chain=forward \
  connection-state=invalid action=drop \
  comment="Drop invalid"

# Users → Servers: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-users dst-address-list=zone-servers \
  action=accept comment="Users -> Servers: allow"

# Users → Internet: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-users dst-address-list=!zone-internal \
  action=accept comment="Users -> Internet: allow"

# VoIP → SIP-сервер и Internet: разрешено
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-voip dst-address=10.0.30.10 \
  action=accept comment="VoIP -> SIP server"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-voip dst-address-list=!zone-internal \
  action=accept comment="VoIP -> Internet"

# Guest → Internet only
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-guest dst-address-list=zone-internal \
  action=drop comment="Guest -> Internal: deny"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-guest action=accept \
  comment="Guest -> Internet: allow"

# IoT → Internet only (с ограничениями)
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-iot dst-address-list=zone-internal \
  action=drop comment="IoT -> Internal: deny"
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-iot action=accept \
  comment="IoT -> Internet: allow"

# Servers → Internet: ограниченно (только обновления)
/ip/firewall/filter/add chain=forward \
  src-address-list=zone-servers dst-address-list=!zone-internal \
  protocol=tcp dst-port=80,443 action=accept \
  comment="Servers -> Internet: HTTP/HTTPS only"

# Default deny
/ip/firewall/filter/add chain=forward action=drop \
  comment="Default deny forward"
# === CAPsMAN v2 на RB5009 для управления cAP ax ===

# Создаём конфигурацию для AP
/interface/wifi/security/add name=sec-corp \
  authentication-types=wpa2-psk,wpa3-psk \
  passphrase="CorpWiFi2024!" encryption=ccmp

/interface/wifi/security/add name=sec-guest \
  authentication-types=wpa2-psk \
  passphrase="GuestWiFi" encryption=ccmp

# Provisioning для автоматического подключения AP
/interface/wifi/provisioning/add \
  supported-bands=2ghz-ax \
  master-configuration=cfg-corp-2g \
  slave-configurations=cfg-guest-2g \
  action=create-dynamic-enabled

/interface/wifi/provisioning/add \
  supported-bands=5ghz-ax \
  master-configuration=cfg-corp-5g \
  slave-configurations=cfg-guest-5g \
  action=create-dynamic-enabled

# Конфигурации
/interface/wifi/configuration/add name=cfg-corp-5g \
  ssid="Corp-Office" security=sec-corp \
  country=Russia channel.frequency=5180,5260,5500 \
  channel.width=20/40/80mhz

/interface/wifi/configuration/add name=cfg-corp-2g \
  ssid="Corp-Office" security=sec-corp \
  country=Russia channel.frequency=2412,2437,2462 \
  channel.width=20mhz

/interface/wifi/configuration/add name=cfg-guest-5g \
  ssid="Guest-WiFi" security=sec-guest \
  country=Russia channel.frequency=5180,5260,5500

/interface/wifi/configuration/add name=cfg-guest-2g \
  ssid="Guest-WiFi" security=sec-guest \
  country=Russia channel.frequency=2412,2437,2462
# Два провайдера: ether1 (основной), ether2 (резервный)
/ip/address/add address=203.0.113.2/30 interface=ether1
/ip/address/add address=198.51.100.2/30 interface=ether2

# Recursive routing с check-gateway
/ip/route/add dst-address=1.1.1.1/32 gateway=203.0.113.1 scope=10
/ip/route/add dst-address=8.8.8.8/32 gateway=198.51.100.1 scope=10

/ip/route/add dst-address=0.0.0.0/0 gateway=1.1.1.1 distance=1 \
  check-gateway=ping comment="Primary WAN"
/ip/route/add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=2 \
  check-gateway=ping comment="Backup WAN"

# NAT для обоих каналов
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade
/ip/firewall/nat/add chain=srcnat out-interface=ether2 action=masquerade
# На Router 1 (Master)
/interface/vrrp/add name=vrrp1 interface=vlan20-users vrid=20 priority=150
/ip/address/add address=10.0.20.1/24 interface=vrrp1

# На Router 2 (Backup)
/interface/vrrp/add name=vrrp1 interface=vlan20-users vrid=20 priority=100
/ip/address/add address=10.0.20.1/24 interface=vrrp1

# Клиенты используют 10.0.20.1 как шлюз — при отказе Router 1
# Router 2 автоматически подхватывает этот IP
# SNMP для Zabbix
/snmp/set enabled=yes
/snmp/community/set [ find default=yes ] name=monitoring \
  addresses=10.0.10.100/32 read-access=yes

# Netwatch: мониторинг шлюза провайдера
/tool/netwatch/add host=203.0.113.1 interval=30s type=icmp \
  up-script="" \
  down-script="/log warning \"ISP gateway DOWN\""

# Автобэкап конфигурации
/system/scheduler/add name=daily-backup interval=24h \
  start-time=02:00:00 \
  on-event="/export file=daily-backup; \
    /tool/e-mail/send to=admin@company.com \
    subject=\"[MikroTik] Daily backup\" \
    file=daily-backup.rsc"
# Проверяем маршрутизацию
/ip/route/print where active=yes
# Все сети должны быть доступны

# Проверяем VLAN
/interface/bridge/vlan/print
# Все VLAN должны быть в таблице

# Проверяем DHCP
/ip/dhcp-server/lease/print
# Клиенты получают IP-адреса

# Проверяем firewall
/ip/firewall/filter/print stats
# Правила срабатывают, counter увеличивается

# Тест связности между VLAN
/ping 10.0.20.100
/ping 10.0.30.10

# Тест скорости между офисами
/tool/bandwidth-test address=10.255.0.2 protocol=tcp duration=10s

# Проверяем загрузку CPU
/system/resource/print
# CPU не должен быть > 70% в нормальном режиме

# Проверяем Wi-Fi
/interface/wifi/registration-table/print
# AP подключены, клиенты регистрируются
Руководства / Дизайн корпоративной сети на MikroTik