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

L3 Hardware Offloading на MikroTik CRS3xx/CRS5xx

RouterOS 7.xInterfaces11 мин330 мар. 2026 г.
TelegramVK

L3 Hardware Offloading — технология аппаратной маршрутизации на коммутаторах MikroTik серии CRS3xx и CRS5xx. Вместо обработки пакетов центральным процессором маршрутизация выполняется непосредственно на switch-чипе Marvell, обеспечивая пропускную способность на уровне wire speed — до 10/25/100 Gbps в зависимости от модели. Это превращает коммутатор CRS в высокопроизводительный L3-коммутатор, способный выполнять inter-VLAN routing без ограничений CPU. В этом руководстве разберём поддерживаемые модели, архитектуру, настройку и ограничения L3 HW offloading.

Описание

Что такое L3 Hardware Offloading

В стандартной конфигурации RouterOS вся маршрутизация выполняется CPU. Пакет поступает на входной интерфейс, CPU определяет маршрут по таблице маршрутизации, и пакет отправляется на выходной интерфейс. Этот процесс требует CPU-времени на каждый пакет — на слабых процессорах коммутаторов CRS это становится узким местом.

L3 HW Offloading передаёт функцию маршрутизации на switch-чип Marvell. Чип содержит аппаратную таблицу маршрутизации (TCAM — Ternary Content-Addressable Memory), в которую RouterOS загружает маршруты из своей таблицы маршрутизации. Когда пакет поступает на порт, чип самостоятельно выполняет lookup в TCAM, определяет next-hop и пересылает пакет на нужный порт — всё на аппаратном уровне, без участия CPU.

Результат — маршрутизация на скорости коммутации. CRS317 с 16 портами SFP+ может маршрутизировать трафик на 10 Gbps на каждом порту одновременно. CRS504 с портами QSFP28 — на 100 Gbps. И при этом CPU остаётся практически свободным.

Поддерживаемые модели

L3 HW Offloading доступен на коммутаторах с чипами Marvell серий Prestera DX и Aldrin:

МодельЧипПортыMax L3 throughput
CRS305-1G-4S+IN88E6393X4x SFP+40 Gbps
CRS310-1G-5S-4S+IN88E6393X5x SFP, 4x SFP+40 Gbps
CRS317-1G-16S+RMPrestera DX323616x SFP+160 Gbps
CRS326-24G-2S+RMPrestera DX323624x GE, 2x SFP+26 Gbps
CRS328-24P-4S+RMPrestera DX323624x GE PoE, 4x SFP+28 Gbps
CRS328-4C-20S-4S+RMPrestera DX32364x Combo, 20x SFP, 4x SFP+28 Gbps
CRS354-48G-4S+2Q+RMPrestera DX323648x GE, 4x SFP+, 2x QSFP+120 Gbps
CRS354-48P-4S+2Q+RMPrestera DX323648x GE PoE, 4x SFP+, 2x QSFP+120 Gbps
CRS504-4XQ-INPrestera Aldrin24x QSFP28400 Gbps
CRS518-16XS-2XQ-RMPrestera Aldrin216x 25GE SFP28, 2x QSFP28600 Gbps

Важно: модели hAP, hEX, RB5009, CCR — не поддерживают L3 HW Offloading. На этих устройствах маршрутизация выполняется только на CPU.

Что offload-ится на чип

L3 HW Offloading покрывает ограниченный набор функций маршрутизации:

ФункцияHW OffloadПримечание
IPv4 Unicast RoutingДаОсновная функция
Connected routesДаАвтоматически
Static routesДаАвтоматически
OSPF learned routesДаМаршруты из OSPF загружаются в TCAM
BGP learned routesДаС учётом ограничений TCAM
ECMP (Equal-Cost Multi-Path)ДаБалансировка нагрузки между маршрутами
IPv6 Unicast RoutingНетТолько программно на CPU
Multicast RoutingНетТолько программно на CPU
Firewall FilterНетТолько программно на CPU
NAT (src-nat, dst-nat)НетТолько программно на CPU
MangleНетТолько программно на CPU
QoS (Queue)Нет (L3 level)L2 QoS на чипе доступен
IPsecНетТолько программно на CPU
Connection TrackingНетТолько программно на CPU

Ключевое ограничение: Firewall и NAT не offload-ятся. Если пакет должен пройти через firewall rules или NAT — он обрабатывается CPU. Это означает, что L3 HW Offloading наиболее эффективен в сценариях чистой маршрутизации без NAT и firewall.

Архитектура: inter-VLAN routing через Switch Chip

Типичная архитектура L3 HW Offloading для inter-VLAN routing:

code
VLAN 10 (192.168.10.0/24)        VLAN 20 (192.168.20.0/24)
  ether1-ether8                    ether9-ether16
      |                                |
      +--------[ Switch Chip ]--------+
               Marvell Prestera
            L3 HW Routing Table
               192.168.10.0/24 → VLAN 10
               192.168.20.0/24 → VLAN 20
               192.168.30.0/24 → VLAN 30

Пакет из VLAN 10 в VLAN 20:

  1. Пакет приходит на ether1 (VLAN 10)
  2. Switch Chip видит, что dst IP = 192.168.20.x
  3. Lookup в аппаратной таблице → next-hop в VLAN 20
  4. Чип переписывает MAC-заголовок (src MAC = MAC gateway VLAN 20, dst MAC = MAC получателя)
  5. Чип отправляет пакет на порт в VLAN 20

Всё это происходит на аппаратном уровне, CPU не участвует. Латентность — микросекунды.

Требования

Для работы L3 HW Offloading необходимы:

  1. RouterOS 7.x — L3 offloading доступен только в седьмой версии
  2. Bridge с vlan-filtering=yes — VLAN должны быть настроены через Bridge VLAN Filtering
  3. IP-адреса на VLAN-интерфейсах — gateway для каждой VLAN назначается на VLAN-интерфейс
  4. HW Offloading включён на bridge-портахhw=yes на всех портах
  5. L3 HW Offloading включён на switch/interface/ethernet/switch set l3-hw-offloading=yes

Ограничения аппаратной таблицы маршрутизации

Switch-чип имеет конечный размер TCAM для хранения маршрутов:

Модель чипаMax IPv4 Unicast RoutesMax IPv4 Hosts (ARP)
Prestera DX3236~4000~16000
Prestera Aldrin2~16000~32000

Если количество маршрутов превышает ёмкость TCAM — новые маршруты не будут offloaded и будут обрабатываться CPU. RouterOS использует longest-prefix match для приоритизации маршрутов в TCAM.

Для BGP с full table (~900K+ маршрутов) TCAM недостаточно. В таких сценариях используют:

  • Default route через BGP + only specific prefixes offloaded
  • Агрегацию маршрутов
  • Или выделенный маршрутизатор (CCR) для BGP, а CRS — как L3-коммутатор для internal routing

Настройка

Шаг 1: Создание Bridge с VLAN Filtering

[admin@MikroTik] >
/interface/bridge add name=bridge1 vlan-filtering=no \
  protocol-mode=rstp comment="L3 HW offload bridge"

Важно: vlan-filtering=no на этапе создания. Включим после полной настройки.

Шаг 2: Добавление портов с Hardware Offloading

Пример для CRS326-24G-2S+RM:

[admin@MikroTik] >
# Access-порты VLAN 10 (ether1-ether8)
/interface/bridge/port
  add bridge=bridge1 interface=ether1 pvid=10 hw=yes
  add bridge=bridge1 interface=ether2 pvid=10 hw=yes
  add bridge=bridge1 interface=ether3 pvid=10 hw=yes
  add bridge=bridge1 interface=ether4 pvid=10 hw=yes
  add bridge=bridge1 interface=ether5 pvid=10 hw=yes
  add bridge=bridge1 interface=ether6 pvid=10 hw=yes
  add bridge=bridge1 interface=ether7 pvid=10 hw=yes
  add bridge=bridge1 interface=ether8 pvid=10 hw=yes

# Access-порты VLAN 20 (ether9-ether16)
  add bridge=bridge1 interface=ether9 pvid=20 hw=yes
  add bridge=bridge1 interface=ether10 pvid=20 hw=yes
  add bridge=bridge1 interface=ether11 pvid=20 hw=yes
  add bridge=bridge1 interface=ether12 pvid=20 hw=yes
  add bridge=bridge1 interface=ether13 pvid=20 hw=yes
  add bridge=bridge1 interface=ether14 pvid=20 hw=yes
  add bridge=bridge1 interface=ether15 pvid=20 hw=yes
  add bridge=bridge1 interface=ether16 pvid=20 hw=yes

# Access-порты VLAN 30 (ether17-ether24)
  add bridge=bridge1 interface=ether17 pvid=30 hw=yes
  add bridge=bridge1 interface=ether18 pvid=30 hw=yes
  add bridge=bridge1 interface=ether19 pvid=30 hw=yes
  add bridge=bridge1 interface=ether20 pvid=30 hw=yes
  add bridge=bridge1 interface=ether21 pvid=30 hw=yes
  add bridge=bridge1 interface=ether22 pvid=30 hw=yes
  add bridge=bridge1 interface=ether23 pvid=30 hw=yes
  add bridge=bridge1 interface=ether24 pvid=30 hw=yes

# Trunk-порт (SFP+ uplink к маршрутизатору или другому коммутатору)
  add bridge=bridge1 interface=sfp-sfpplus1 hw=yes
  add bridge=bridge1 interface=sfp-sfpplus2 hw=yes

Шаг 3: Настройка VLAN на Bridge

[admin@MikroTik] >
/interface/bridge/vlan
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8 vlan-ids=10
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether9,ether10,ether11,ether12,ether13,ether14,ether15,ether16 vlan-ids=20
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether17,ether18,ether19,ether20,ether21,ether22,ether23,ether24 vlan-ids=30
  add bridge=bridge1 tagged=bridge1 vlan-ids=99

VLAN 99 — management VLAN для доступа к самому коммутатору.

Шаг 4: Создание VLAN-интерфейсов и назначение IP

[admin@MikroTik] >
/interface/vlan
  add name=vlan10 interface=bridge1 vlan-id=10
  add name=vlan20 interface=bridge1 vlan-id=20
  add name=vlan30 interface=bridge1 vlan-id=30
  add name=vlan99-mgmt interface=bridge1 vlan-id=99

/ip/address
  add address=192.168.10.1/24 interface=vlan10 comment="Gateway VLAN 10"
  add address=192.168.20.1/24 interface=vlan20 comment="Gateway VLAN 20"
  add address=192.168.30.1/24 interface=vlan30 comment="Gateway VLAN 30"
  add address=192.168.99.1/24 interface=vlan99-mgmt comment="Management"

Критически важно: IP-адреса назначаются на VLAN-интерфейсы, а не на bridge. Это необходимо для работы L3 HW offloading. Если IP назначить на bridge напрямую — маршрутизация будет программной.

Шаг 5: Включение VLAN Filtering

[admin@MikroTik] >
/interface/bridge set bridge1 vlan-filtering=yes

Шаг 6: Включение L3 HW Offloading

[admin@MikroTik] >
/interface/ethernet/switch set 0 l3-hw-offloading=yes

Это главная команда, активирующая аппаратную маршрутизацию. После выполнения RouterOS начнёт загружать маршруты в TCAM switch-чипа.

Шаг 7: Настройка маршрута по умолчанию (опционально)

Если CRS используется как L3-коммутатор с uplink к маршрутизатору:

[admin@MikroTik] >
/ip/route add dst-address=0.0.0.0/0 gateway=192.168.99.254 comment="Default via router"

Где 192.168.99.254 — IP маршрутизатора в management VLAN.

Шаг 8: DHCP Server для каждой VLAN (опционально)

[admin@MikroTik] >
/ip/pool
  add name=pool-vlan10 ranges=192.168.10.100-192.168.10.250
  add name=pool-vlan20 ranges=192.168.20.100-192.168.20.250
  add name=pool-vlan30 ranges=192.168.30.100-192.168.30.250

/ip/dhcp-server
  add name=dhcp-vlan10 interface=vlan10 address-pool=pool-vlan10
  add name=dhcp-vlan20 interface=vlan20 address-pool=pool-vlan20
  add name=dhcp-vlan30 interface=vlan30 address-pool=pool-vlan30

/ip/dhcp-server/network
  add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=8.8.8.8,8.8.4.4
  add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=8.8.8.8,8.8.4.4
  add address=192.168.30.0/24 gateway=192.168.30.1 dns-server=8.8.8.8,8.8.4.4

DHCP-сервер работает на CPU, но это не проблема — DHCP-пакеты составляют ничтожную долю трафика. Основной data-plane трафик маршрутизируется аппаратно.

Проверка

Проверка статуса L3 HW Offloading

[admin@MikroTik] >
/interface/ethernet/switch print

Поле l3-hw-offloading должно быть yes.

Проверка HW-offloaded маршрутов

[admin@MikroTik] >
/ip/route print detail where hw-offloaded=yes

Маршруты с флагом H (HW offloaded) обрабатываются switch-чипом. Маршруты без этого флага — CPU.

Пример вывода:

code
 AH  dst-address=192.168.10.0/24 gateway=vlan10 distance=0
 AH  dst-address=192.168.20.0/24 gateway=vlan20 distance=0
 AH  dst-address=192.168.30.0/24 gateway=vlan30 distance=0
  S  dst-address=0.0.0.0/0 gateway=192.168.99.254 distance=1

Флаги: A = Active, H = HW offloaded, S = Static.

Connected-маршруты к VLAN offloaded (флаг H), default route — может быть offloaded или нет, в зависимости от конфигурации.

Проверка аппаратной таблицы хостов

[admin@MikroTik] >
/interface/ethernet/switch/host print where l3=yes

Показывает записи в аппаратной L3-таблице (ARP-записи, загруженные в чип). Каждый хост, к которому был трафик, должен присутствовать в этой таблице.

Проверка использования TCAM

[admin@MikroTik] >
/interface/ethernet/switch/print detail

Обратите внимание на поля, связанные с количеством записей в HW-таблицах. Если таблица заполнена — новые маршруты не будут offloaded.

Тест производительности

Для проверки wire-speed маршрутизации используйте Bandwidth Test между хостами в разных VLAN:

[admin@MikroTik] >
# На хосте в VLAN 10
/tool/bandwidth-test address=192.168.20.100 protocol=tcp direction=both

# Одновременно мониторим CPU
/system/resource print

Если L3 HW offloading работает — CPU должен оставаться на уровне 0-5% при полной загрузке линка.

Мониторинг трафика на интерфейсах

[admin@MikroTik] >
/interface/monitor-traffic vlan10,vlan20,vlan30

Показывает RX/TX на каждом VLAN-интерфейсе в реальном времени.

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

IP на bridge вместо VLAN-интерфейса

Симптом: L3 HW offloading включён, но маршруты не получают флаг H. CPU нагружен при маршрутизации.

Причина: IP-адрес назначен на bridge-интерфейс, а не на VLAN-интерфейс. HW offloading требует, чтобы IP-адреса были на /interface/vlan интерфейсах, привязанных к bridge.

Неправильно:

[admin@MikroTik] >
/ip/address add address=192.168.10.1/24 interface=bridge1

Правильно:

[admin@MikroTik] >
/interface/vlan add name=vlan10 interface=bridge1 vlan-id=10
/ip/address add address=192.168.10.1/24 interface=vlan10

VLAN Filtering не включён

Симптом: L3 HW offloading не работает, маршруты без флага H.

Причина: bridge создан без vlan-filtering=yes. L3 HW offloading требует VLAN Filtering.

Решение:

[admin@MikroTik] >
/interface/bridge set bridge1 vlan-filtering=yes

Ожидание Firewall/NAT на wire speed

Симптом: при добавлении firewall rules или NAT throughput резко падает.

Причина: Firewall и NAT не offload-ятся на switch-чип. Любой пакет, который должен пройти через firewall или NAT, обрабатывается CPU. На коммутаторах CRS процессор слабый (обычно 800 MHz - 1.2 GHz ARM), поэтому throughput с firewall/NAT ограничен ~500 Mbps - 1 Gbps.

Решение архитектурное:

code
[Клиенты VLAN 10/20/30]
        |
  [ CRS326 - L3 Switch ]  ← inter-VLAN routing на wire speed (HW)
        |
  [ RB5009 / CCR ]  ← NAT, Firewall, VPN (CPU)
        |
    [ ISP / WAN ]

CRS326 выполняет inter-VLAN routing аппаратно. Только трафик, идущий в интернет (через NAT), маршрутизируется через выделенный роутер. Это разгружает и CRS, и роутер.

Переполнение TCAM при BGP full table

Симптом: часть маршрутов BGP не offloaded, CPU нагружен.

Причина: TCAM на Prestera DX3236 вмещает ~4000 маршрутов. BGP full table содержит ~900K+ префиксов.

Решение:

[admin@MikroTik] >
# Используйте default route + specific prefixes
# На BGP-сессии фильтруйте маршруты, оставляя только нужные

/routing/filter/rule add chain=bgp-in \
  rule="if (dst-len > 24) { reject }"

/routing/filter/rule add chain=bgp-in \
  rule="if (dst in 10.0.0.0/8) { accept }"

/routing/filter/rule add chain=bgp-in \
  rule="accept"

Или используйте архитектуру с выделенным BGP-маршрутизатором (CCR2004/CCR2216), а CRS — только для internal L3 switching.

HW offload порты из разных switch-чипов

Симптом: L3 маршрутизация между некоторыми VLAN аппаратная, между другими — программная.

Причина: на некоторых устройствах порты могут принадлежать разным switch-чипам. L3 HW offloading работает только внутри одного чипа.

Решение: проверьте принадлежность портов:

[admin@MikroTik] >
/interface/ethernet print

Все порты, участвующие в L3 offloading, должны быть на одном switch-чипе.

RouterOS 6 вместо RouterOS 7

Симптом: опция l3-hw-offloading отсутствует.

Причина: L3 HW Offloading доступен только в RouterOS 7. В RouterOS 6 аппаратная маршрутизация на CRS не поддерживалась.

Решение: обновите до RouterOS 7.20+:

[admin@MikroTik] >
/system/package/update check-for-updates
/system/package/update install

Сценарии использования

Серверная сеть

CRS326 как L3-коммутатор для серверной:

  • VLAN 10: серверы приложений
  • VLAN 20: серверы баз данных
  • VLAN 30: storage network (iSCSI/NFS)
  • VLAN 40: management (IPMI/BMC)

Inter-VLAN routing между серверами выполняется на wire speed. Доступ в интернет — через выделенный маршрутизатор.

ISP агрегация

CRS317-1G-16S+RM как агрегационный коммутатор ISP:

  • 16 портов SFP+ для подключения access-коммутаторов
  • L3 routing между клиентскими VLAN
  • Wire-speed 10 Gbps на каждом порту
  • OSPF для обмена маршрутами с core-роутерами

Кампусная сеть

CRS354-48G-4S+2Q+RM как core-коммутатор:

  • 48 GE-портов для access-коммутаторов
  • 4x SFP+ для uplink к ядру
  • 2x QSFP+ для high-speed trunk
  • Inter-VLAN routing для 30+ VLAN на wire speed

Рекомендации

  1. Всегда используйте RouterOS 7.20+ — каждая версия улучшает L3 offloading.

  2. IP на VLAN-интерфейсах, не на bridge — это обязательное условие для HW offloading.

  3. Разделяйте L3-switching и NAT/Firewall — CRS для inter-VLAN routing, отдельный роутер для NAT.

  4. Мониторьте TCAM — следите за количеством HW-offloaded маршрутов, особенно при BGP.

  5. Проверяйте флаг H — после любых изменений в конфигурации проверяйте /ip/route print detail на наличие флага HW offloaded.

  6. ECMP для балансировки — L3 HW offloading поддерживает ECMP, используйте несколько equal-cost маршрутов для распределения нагрузки между uplink.

[admin@MikroTik] >
VLAN 10 (192.168.10.0/24)        VLAN 20 (192.168.20.0/24)
  ether1-ether8                    ether9-ether16
      |                                |
      +--------[ Switch Chip ]--------+
               Marvell Prestera
            L3 HW Routing Table
               192.168.10.0/24 → VLAN 10
               192.168.20.0/24 → VLAN 20
               192.168.30.0/24 → VLAN 30
/interface/bridge add name=bridge1 vlan-filtering=no \
  protocol-mode=rstp comment="L3 HW offload bridge"
# Access-порты VLAN 10 (ether1-ether8)
/interface/bridge/port
  add bridge=bridge1 interface=ether1 pvid=10 hw=yes
  add bridge=bridge1 interface=ether2 pvid=10 hw=yes
  add bridge=bridge1 interface=ether3 pvid=10 hw=yes
  add bridge=bridge1 interface=ether4 pvid=10 hw=yes
  add bridge=bridge1 interface=ether5 pvid=10 hw=yes
  add bridge=bridge1 interface=ether6 pvid=10 hw=yes
  add bridge=bridge1 interface=ether7 pvid=10 hw=yes
  add bridge=bridge1 interface=ether8 pvid=10 hw=yes

# Access-порты VLAN 20 (ether9-ether16)
  add bridge=bridge1 interface=ether9 pvid=20 hw=yes
  add bridge=bridge1 interface=ether10 pvid=20 hw=yes
  add bridge=bridge1 interface=ether11 pvid=20 hw=yes
  add bridge=bridge1 interface=ether12 pvid=20 hw=yes
  add bridge=bridge1 interface=ether13 pvid=20 hw=yes
  add bridge=bridge1 interface=ether14 pvid=20 hw=yes
  add bridge=bridge1 interface=ether15 pvid=20 hw=yes
  add bridge=bridge1 interface=ether16 pvid=20 hw=yes

# Access-порты VLAN 30 (ether17-ether24)
  add bridge=bridge1 interface=ether17 pvid=30 hw=yes
  add bridge=bridge1 interface=ether18 pvid=30 hw=yes
  add bridge=bridge1 interface=ether19 pvid=30 hw=yes
  add bridge=bridge1 interface=ether20 pvid=30 hw=yes
  add bridge=bridge1 interface=ether21 pvid=30 hw=yes
  add bridge=bridge1 interface=ether22 pvid=30 hw=yes
  add bridge=bridge1 interface=ether23 pvid=30 hw=yes
  add bridge=bridge1 interface=ether24 pvid=30 hw=yes

# Trunk-порт (SFP+ uplink к маршрутизатору или другому коммутатору)
  add bridge=bridge1 interface=sfp-sfpplus1 hw=yes
  add bridge=bridge1 interface=sfp-sfpplus2 hw=yes
/interface/bridge/vlan
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8 vlan-ids=10
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether9,ether10,ether11,ether12,ether13,ether14,ether15,ether16 vlan-ids=20
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether17,ether18,ether19,ether20,ether21,ether22,ether23,ether24 vlan-ids=30
  add bridge=bridge1 tagged=bridge1 vlan-ids=99
/interface/vlan
  add name=vlan10 interface=bridge1 vlan-id=10
  add name=vlan20 interface=bridge1 vlan-id=20
  add name=vlan30 interface=bridge1 vlan-id=30
  add name=vlan99-mgmt interface=bridge1 vlan-id=99

/ip/address
  add address=192.168.10.1/24 interface=vlan10 comment="Gateway VLAN 10"
  add address=192.168.20.1/24 interface=vlan20 comment="Gateway VLAN 20"
  add address=192.168.30.1/24 interface=vlan30 comment="Gateway VLAN 30"
  add address=192.168.99.1/24 interface=vlan99-mgmt comment="Management"
/interface/bridge set bridge1 vlan-filtering=yes
/interface/ethernet/switch set 0 l3-hw-offloading=yes
/ip/route add dst-address=0.0.0.0/0 gateway=192.168.99.254 comment="Default via router"
/ip/pool
  add name=pool-vlan10 ranges=192.168.10.100-192.168.10.250
  add name=pool-vlan20 ranges=192.168.20.100-192.168.20.250
  add name=pool-vlan30 ranges=192.168.30.100-192.168.30.250

/ip/dhcp-server
  add name=dhcp-vlan10 interface=vlan10 address-pool=pool-vlan10
  add name=dhcp-vlan20 interface=vlan20 address-pool=pool-vlan20
  add name=dhcp-vlan30 interface=vlan30 address-pool=pool-vlan30

/ip/dhcp-server/network
  add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=8.8.8.8,8.8.4.4
  add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=8.8.8.8,8.8.4.4
  add address=192.168.30.0/24 gateway=192.168.30.1 dns-server=8.8.8.8,8.8.4.4
/interface/ethernet/switch print
/ip/route print detail where hw-offloaded=yes
AH  dst-address=192.168.10.0/24 gateway=vlan10 distance=0
 AH  dst-address=192.168.20.0/24 gateway=vlan20 distance=0
 AH  dst-address=192.168.30.0/24 gateway=vlan30 distance=0
  S  dst-address=0.0.0.0/0 gateway=192.168.99.254 distance=1
/interface/ethernet/switch/host print where l3=yes
/interface/ethernet/switch/print detail
# На хосте в VLAN 10
/tool/bandwidth-test address=192.168.20.100 protocol=tcp direction=both

# Одновременно мониторим CPU
/system/resource print
/interface/monitor-traffic vlan10,vlan20,vlan30
/ip/address add address=192.168.10.1/24 interface=bridge1
/interface/vlan add name=vlan10 interface=bridge1 vlan-id=10
/ip/address add address=192.168.10.1/24 interface=vlan10
/interface/bridge set bridge1 vlan-filtering=yes
[Клиенты VLAN 10/20/30]
        |
  [ CRS326 - L3 Switch ]  ← inter-VLAN routing на wire speed (HW)
        |
  [ RB5009 / CCR ]  ← NAT, Firewall, VPN (CPU)
        |
    [ ISP / WAN ]
# Используйте default route + specific prefixes
# На BGP-сессии фильтруйте маршруты, оставляя только нужные

/routing/filter/rule add chain=bgp-in \
  rule="if (dst-len > 24) { reject }"

/routing/filter/rule add chain=bgp-in \
  rule="if (dst in 10.0.0.0/8) { accept }"

/routing/filter/rule add chain=bgp-in \
  rule="accept"
/interface/ethernet print
/system/package/update check-for-updates
/system/package/update install
Interfaces / L3 Hardware Offloading на MikroTik CRS3xx/CRS5xx