Снизить нагрузку на процессор микротика при перекачке данных через интерфейсы
Как посмотреть кол-во обработанных пакетов
Открываем IP → Settings и смотрим счетчики – в них должно быть что-нибудь, отличное от ноля:
В последние несколько дней пользователи жаловались на нестабильную работу сети. Mikrotik был установлен пару месяцев назад, настроено резервирование канала и работал без сбоев. Тут нужно сказать, что я использую zabbix для мониторинга за некоторыми событиями из журналов windows на своих серверах, а mikrotik был подключен к zabbix ради интереса. Через snmp собирается статистика о загрузке cpu, ram, температуры и т. д. На графике загрузки процессора была видна загрузка CPU на 100% последние несколько дней. Немного погуглив, нашел интересную статью о о борьбе с dns флудом. Интернет раздают два провайдера, подключенных через PPPoE. Один — с динамическим ip, второй — c статическим ip.
Для начала заходим в Tools -> Profile или выполняем в консоли команду ‘tools ptofile‘ и смотрим какой из процессов грузит процессор. В моем случае это оказалась служба dns.
Дальше смотрим, что творится на внешних интерфейса через Tools -> Torch. В Interface выбираем wan интерфейс, ставим чекбоксы на Port и Protocol и нажиманм Start.
В моем случае с внешнего IP второго провайдера уходят пакеты по 53 порту (DNS).
Добавил два правила в IP -> Firewall -> Filter
Через несколько часов загрузка процессора снизилась до приемлемого уровня
Условия работы и поддержка на устройствах
Большинство современных роутеров и плат от MikroTik поддерживают FastPath, но на wiki есть подробный список:
Модель | Поддержка на ethernet интерфейсах |
---|---|
RB6xx series | ether1,2 |
Most of the RB7xx series | all Ethernet ports |
RB800 | ether1,2 |
RB9xx series | all Ethernet ports |
RB1000 | all Ethernet ports |
RB1100 series | ether1-11 |
RB2011 series | all Ethernet ports |
RB3011 series | all Ethernet ports |
CRS series routers | all Ethernet ports |
CCR series routers | all Ethernet ports |
Other devices | Not supported |
И отдельный список для интерфейсов отличных от ethernet:
Интерфейс | Поддержка fastpath | Примечание |
---|---|---|
Wireless | Да | |
Bridge | Да | Начиная с 6.29 |
VLAN, VRRP | Да | Начиная с 6.30 |
Bonding | Да | Только RX трафик, начиная с 6.30 |
EoIP, GRE, IPIP | Да | Начиная с 6.33. При включении опции не весь туннельный трафик пойдет по FastPath |
L2TP, PPPoE | Да | Начиная с 6.35 |
MPLS | Да | Currently MPLS fast-path applies only to MPLS switched traffic. MPLS ingress and egress will operate as before. |
Прочие | Нет |
Для полноценной работы FastPath необходима поддержка как со стороны входящего, так и со стороны исходящего интерфейсов. На интерфейсах должны быть включены только аппаратные очереди.
И последнее, FastPath очень не любит фрагментированный трафик. Если пакет зафрагментирован — он однозначно застрянет на CPU.
TOTOLINK
Edimax
Контроллеры для точек доступа
Rf elements
Кабель UTP, FTP, коннекторы
Keenetic
GPS-трекеры
Блоки питания, РОЕ, инжекторы
Сетевые компоненты и инструмент
Synology
Teltonika
Ruijie Networks
Роутеры проводные (без Wi-Fi)
Mean Well
Регистраторы
Один комментарий на “ Mikrotik 100% загрузка процессора ”
А почему нельзя совсем закрыть 53-й порт снаружи, у вас на нем сервер для запросов снаружи ?
Mikrotik Router OS включает в себя замечательную функцию мониторинга и диагностики нагрузки с помощью графиков. Маршрутизатор может показывать графики нагрузки ресурсов (HDD, RAM, CPU), трафика на интерфейсах, очередей в Simple Queues. Ниже мануальчик по настройке.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Заходим Tools -> Graphing.
Вкладка Interface Rules. Здесь настраиваются графики трафика на интерфейсах.
Interface -- интерфейсы с которых собирается статистика.
Allow Adresses -- ip-адреса с которых доступна статистика.
Store on Disk -- сохранять статистику в постоянную память.
Кнопка Graphing Settings -- определяет частоту сбора статистики (варианты: 5 мин. / 1 час / сутки)
Вкладка Queues Rules. Здесь настраиваются графики очередей в Simple Queues.
Queues -- очереди с которых собирается статистика.
Allow Adresses -- ip-адреса с которых доступна статистика.
Store on Disk -- сохранять статистику в постоянную память.
Allow Tatget -- разрешать ли доступ к графикам от queue’s target-address.
Вкладка Resurses Rules. Здесь настраиваются графики загруженности ресурсов.
Allow Adresses -- ip-адреса с которых доступна статистика.
Store on Disk -- сохранять статистику в постоянную память.
Вкладки Graphs просто показывают статистику для настройки не используются.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Пигтейлы
VoIP шлюзы
Патч-корды
Ubiquiti Networks
Сетевые накопители (NAS, DAS)
Синтетический тест
FastPath | Connection Tracker | NAT | FastTrack | Speed | CPU |
---|---|---|---|---|---|
– | – | – | – |
И (для последнего теста) что было настроено и как оно работало:
Правила фильтрации продолжали обрабатывать трафик (если отключить разрешающее для established, related трафик уходил в drop), в postrouting+mangle отлавливались пакеты, которые не попали в FastTrack.
В Connection Tracker можно отслеживать FastTrack соедиения по одноименному флагу.
В Счетчиках [IP]->[Settings] видно, что FastTrack активен и работает, а FastPath нет.
Контроллеры
Powerline адаптеры
Fanvil
Аксессуары для VoIP-оборудования
Nobelic
RAIDON
USB Wi-Fi адаптеры
FastTrack
Технология маркировки ip пакетов для быстрого прохождения через Packet Flow.
Для работы FastPath на Layer3 необходимо соблюдать следующие условия:
- Route Cache и FastTrack должены быть включены и активны.
- Правильная конфигурация маркировки трафика.
- Работает только для UDP и TCP трафика.
- Не использовать mesh и metarouter.
- Не использовать активно: /tool mac-scan и /tool ip-scan .
- Запущенные sniffer, torch и traffic generator мешают работе FastPath.
Трафик помеченный как fasttrack не будет обработан в:
- Firewall filter (хотя это спорно, в примере покажу почему);
- Firewall mangle;
- IPSec;
- Queues с parrent=global;
- Hotspot;
- VRF.
Если что-то будет мешать прхождению пакета по fasttrack, он будет передан как и все оставшиеся пакеты по медленному пути.
Включается путем добавления правила (см. ниже) в Firewall. FastTrack маркируются только пакеты из установленного соединения (можно и new замаркировать, но тогда будут проблемы с NAT). Используется таблица filter, т.к. при маркировке fasttrack в prerouting опять-же возникнут проблемы с NAT.
Ajax Systems
Xiaomi
Точки доступа WiFi
Аксессуары для видеонаблюдения
Сетевые карты и адаптеры
Корпуса
Крепежная фурнитура
FastPath и Bridge
Bridge — это програмный интерфейс используемый для создания Layer2 связи между несколькими аппаратными (или програмными) интерфейсами. Если объеденить на роутере 4 ethernet интерфейса в bridge (и включить hw=yes ) и один wireless, то трафик между ethernet интерфейсами будет ходить минуя программный интерфейс, а трафик между ethernet и wireless будет задействовать программный bridge. На роутерах с несколькими чипами (например RB2011) трафик между интерфейсами с разных чипов будет задействовать возможности програмного bridge (иногда для снижения нагрузки интерфейсы просто объединяют патч-кордом и в целом это работает).
FatsPath — относится только к трафику приходящему через CPU (програмный bridge), обычно это трафик между интерфесов с разных чипов, либо отключена опция hw=yes .
На Packet Flow трафик проходящий через Bridge выглядит следующим образом:
И подробнее:
Включается в настройки bridge (настройка едина для всех bridge интерфейсов) [Bridge]->[Settings]->[Allow FastPath], там-же можно увидеть счетчики.
Для работы FastPath в Bridge необходимо соблюдать следующие условия:
- Нет конфигурации vlan на bridge интерфейсах (думаю это не актуально для CRS серии, где vlan настраиваются на аппаратном уровне, но могу ошибаться)
- Нет правил в /interface bridge filter и /interface bridge nat , это те самые блоки из второй схемы, которые проходит фрейм.
- Не включен ip firewall ( use-ip-firwall=no ). Хорошая функция для захвата трафика и отладки сети, но на постоянной основе включается редко.
- Не использовать mesh и metarouter
- На интерфейсе не запущены: sniffer, torch и traffic generator.
FastPath и Tunnel
Если двумя словами: туннельный интерфейс — это инкапсуляция одних пакетов в нагрузочную часть других пакетов. Если идти по PacketFlow, то красными линиями отмечен оригинальный пакет, синими — оригинальный пакет инкапсулированный в пакет туннельного протокола (например ipip или gre; eoip попадает(и приходит из) в bridging decision; с туннельным ipsec все еще интереснее, но не имеет отношение к fastpath).
Туннельный трафик в FastPath не будет виден в: firewall, queues, hotspot, vrf, ip accounting. Но часть пакетов продолжит передаваться по SlowPath, это надо учитывать при конфигурации Firewall.
Для работы FastPath в туннельных интерфейсах необходимо соблюдать следующие условия:
- Не использовать ipsec шифрование
- Избегать фрагментацию пакетов (правильно настраивать mtu)
- Включить allow-fast-path=yes на туннельном интерфейсе
Что такое Fast Path
Основной проблемой роутеров Mikrotik, особенно недорогих моделей, является достаточно слабая вычислительная мощность процессора, являющаяся сдерживающим фактором для реализации многих сложных сетевых сценариев. Причина этого кроется в достаточно сложном процессе обработки трафика роутером, в чем можно убедиться подробно изучив диаграммы Packet Flow, показывающие порядок прохождения пакетов через устройство. Если вы собираетесь серьезно работать с устройствами Mikrotik, то данный раздел документации рекомендуется знать хотя бы на твердую четверку, так как именно здесь находятся ответы на многочисленные вопросы типа: "я все сделал по инструкции, но ничего не работает" или "работает, но как-то не так".
В настоящий момент Fast Path можно использовать для:
- Трафика IPv4
- Транзитного трафика IPv4 (FastTrack)
- Traffic Generator
- MPLS
- Мосты (Bridge)
Однако использование данной технологии имеет ряд ограничений, так для IPv4 FastPath требуется среди прочего:
- Отсутствие правил брандмауэра
- Отсутствие списков адресов
- Отсутствие политик IPsec
- Отсутствие очередей
- Отсутствие отслеживания соединений
Для мостов требуется:
- Отсутствие правил брандмауэра
- Отсутствие фильтрации VLAN
Это не полный список, с полным списком ограничений вы можете ознакомиться в официальной документации. Но уже этого достаточно, чтобы понять, с Fast Path не все так просто и за производительность приходится расплачиваться возможностями. Если мы хотим использовать быстрый путь, то нам следует отказаться практически от любого контроля и фильтрации трафика.
Также помним, что Fast Path - это расширение драйвера интерфейса и оно может поддерживаться не для всех портов и типов интерфейсов. Так в современных моделях серии RB9xx и RB2011/3011/4011 Fast Path поддерживается для всех портов, а вот более старые модели могут иметь ограничения, поэтому советуем снова обратиться к документации. Также Fast Path можно использовать для PPPoE, L2TP, IP-IP, GRE и EoIP, мостов, VLAN и беспроводных интерфейсов .
При этом может возникнуть ситуация, когда один из интерфейсов поддерживает Fast Path, а другой нет. В этом случае возможны два варианта: если входящий интерфейс поддерживает Fast Path, то часть пути (насколько это возможно) пакеты пройдут через него, а затем перейдут на Slow Path (медленный путь) с полной обработкой трафика на CPU. Если интерфейс входа не поддерживает Fast Path, то трафик проделает весь путь по Slow Path, вне зависимости от того, поддерживает Fast Path интерфейс выхода или нет.
Еще один важный момент: Fast Path можно использовать только для IPv4 TCP или UDP соединений. Однако в правилах нет необходимости указывать протокол, для всего неподдерживаемого трафика Fast Path будет игнорироваться.
M5Stack
HiWatch
KVM переключатели
SFP, SFP+,SFP28 - модули/патч-корды/DAC-кабель
Принт-серверы
Роутеры с Wi-Fi6 (802.11ax)
Аккумуляторные батареи
Чтобы узнать, как справляются с нагрузкой различные процессоры, мы проведем тест.
Для теста мы возьмем: Mikrotik RouterBoard RB450g и PC с процессором AMD 2,3 Ггц, с установленной системой Mikrotik Router OS.
Для теста напишем скрипт на Python для отправки пакетов на Mikrotik RouterBoard RB450g и РС с Mikrotik Router OS.
Скрипт выглядит следующим образом:
for i in xrange(count_char):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Функция для генерации строки заданной длинны:
for i in xrange(count_char):
Выполняем функцию генерации строки, сгенерированную строку заносим в переменную packet:
IP-адрес и порт компьютера, на который будет отправятся запрос:
Выполняем бесконечный цикл, отправляем пакет на устройства Mikrotik RouterBoard RB450g и РС с Mikrotik Router OS:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Рис.1. Запуск скрипта отправки пакетов.
Рис.2. Mikrotik RouterBoard RB450g Interfaces.
В результате работы скрипта трафик, идущий через Mikrotik RouterBoard RB450g, возрос почти до 70 мбит/c.
Рис.3. Загрузка процессора Mikrotik RouterBoard RB450g.
Загрузка процессора в Mikrotik RouterBoard RB450g 100%.
Рис.4. РС с Mikrotik Router OS Interfaces.
При запуске скрипта, суммарный трафик, проходящий через РС с Mikrotik Router OS, составил 98 Мбит/c.
Рис.5. РС с Mikrotik Router OS загрузка процессора.
РС с Mikrotik Router OS кроме трафика, передаваемого скриптом, выполнял роль PPPoE сервера и предоставлял доступ в Интернет PPPoE клиентам. И даже при более сложных условиях РС с Mikrotik Router OS без проблем справляется с нагрузкой. Таким образом, при выборе оборудования следует учитывать нагрузку, с которой ему придется столкнуться.
IP-камеры
Переходники и кабели USB, HDMI, DVI, SATA, 3RCA
Патч-Панели
Правильное использование Fast Path и FastTrack в Mikrotik
С самого основания данного ресурса мы не перестаем придерживаться мнения, что практика всегда должна опираться на необходимый теоретический минимум, давая в своих статьях порой обширные теоретические отступления. Без теории практика превращается в подобие шаманских камланий с бубном, когда вроде сделал все тоже самое, но ничего не работает. В этом плане технология FastTrack в Mikrotik, несмотря на всю свою простоту, держит пальму первенства по количеству возникающих с ней проблем, которые, в большинстве своем, возникают именно от незнания и непонимания работы этой технологии.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Jirous
TP-Link
Усилители Wi-Fi сигнала (репитеры)
Вместо заключения
Использовать или нет?
- FastPath для Bridge — Однозначно да. По крайней мере снижает нагрузку на CPU.
- FastPath для Туннелей — Нет. Работает мутно, отключается при наличии шифрования.
- FastPath для Layer3 — Спорно, теряется большая часть возможностей роутера. В большой, закрытой от дикого интернета, сети может иметь свой (небольшой) выйгрыш.
- FastPath для MPLS/VLAN/Bonding/VRRP — Включается автоматически, если есть возможноть. Отдельной опции для управления нет.
- FastTrack — Для домашних и SOHO конфигураций без очередей и параноидального firewall подойдет. Синтетические тесты с одним клиентом выглядят хорошо, на практике требуется очень внимательно следить за трафиком который просочился мимо FastTrack и выискивать причину.
Данная статья будет в основе своей познавательной. Её тему, я хотел посвятить одной очень интересной штуке.
А именно опции в RouterOS под названием FastTrack
Рассказывать я про неё буду с точки зрения продвинутого пользователя. Не профессионала, прошу это заметить!
Предисловие
Для начала давайте попробуем понять, что это такое вообще за опция.
Обработчик IPv4 FastTrack автоматически используется для отмеченных соединений.
Используйте действие брандмауэра «fasttrack-connection» для отметки соединений как fasttrack.
В настоящее время применение правил Fasttrack возможно только для TCP и UDP соединений (даже при том, что любой тип соединений может быть помечен как fasttrack).
Обработчик IPv4 FastTrack поддерживает NAT (SNAT, DNAT или их оба).
Т.е. это говорит нам о том, что соединения помеченные, как Fasttrack будут проходить по самому быстрому маршруту, минуя большинство правил Firewall и минуя деревья очередей Queues.
Применив данную опцию для всех уже установленных(доверенных) соединений(например в локальной сети), можно существенно снизить нагрузку на CPU нашего роутера.
Обратите внимание, что не все пакеты в соединении могут быть быстро-отслеживаемыми, поэтому, вероятно, некоторые пакеты будут проходить медленным путем, даже если соединение отмечено как Fasttrack.
Использовать Fasttrack необходимо не абы как, а с пониманием, что и как работает.
Для работы IPv4 FastTrack также есть ряд требований:
- Не используется Mesh или MetaRouter
- Sniffer, Torch или Traffic generator не запущены
- /tool mac-scan не используется активно
- /tool ip-scan не используется активно
- FastPath и Route cache включены в IP->Settings
Если не включены, то включить можно командой в терминале:
/ip settings
set allow-fast-path=yes route-cache=yes
Применимость в оборудовании MikroTik:
Пример – FastTrack на RB2011:
FastTrack включен на RB2011 в Firewall через chain=forward и connection-state=established,related
Тестирование пропускной способности выполняется утилитой Bandwidth Test одним(single) потоком TCP(sent)
Без FastTrack | С включенным FastTrack |
360 Mbps | 890 Mbps |
CPU 100% | CPU 86% |
44% CPU на Firewall | 6% CPU на Firewall |
Настройка
Для включения данной опции достаточно просто добавить несколько правил в Firewall Filter
/ip firewall filter
add chain=forward action=fasttrack-connection connection-state=established,related
add chain=forward action=accept connection-state=established,related
В своих роутерах я немного конкретизировал данные правила исходя из замечаний в Wiki MikroTik о работе данных правил только для TCP и UDP протоколов.
Выглядит в Firewall роутера это так:
Чтобы добавить эти правила у себя, в Winbox зайдем в пункт меню IP -> Firewall (вкладка Filter Rules)
TCP или UDP можете не выбирать, в официальной документации это не указывается Последнее правило должно быть разрешающим
Консольно:
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=established,related protocol=tcp
add action=fasttrack-connection chain=forward connection-state=established,related protocol=udp
add action=accept chain=forward comment="FastTrack Connection" connection-state=established,related
Выводы
Для себя я понял, что в домашнем использовании, где не нужны Деревья очередей и сложные схемы в Firewall, данные правила могут очень помочь в разгрузке CPU Вашего роутера.
Особенно если он одноядерный, как например мой hAP ac.
В нем действительно заметно снижение нагрузки на CPU, хоть и не фантастическое, но это лучше чем ничего!
Большое спасибо, что изучили данную статью, надеюсь она Вам помогла узнать больше!
Список всех статей в хронологическом порядке: История статей
Что это: FastTrack это технология для разгрузки CPU при пересылке пакетов роутером – пакеты пересылаются без обработки. Таким образом ускоряется пересылка пакетов и уменьшается нагрузка на CPU.
Видеодомофоны
USB-концентраторы
TG-NET
Wi-Tek
Материнские платы
Неуправляемые коммутаторы
Аналоговые видеокамеры
Ivideon
Edge-Core
Источники бесперебойного питания
Alfa Network
ITElite
Универсальные внешние аккумуляторы
Удлинители и сетевые фильтры
Wi-Fi антенны
Info-Sys
ATcom
IP-ATC
SlowPath vs FastPath
SlowPath — это базовый путь трафика по внутренним подсистемам MikroTik, он может быть давольно разнообразным и, чем длинее путь, тем выше нагрузка на CPU и больше падает скорость.
FastPath — алгоритмы позволяющие передавать трафик, минуя достаточно большие блоки обработки.
MasterLAN
Медиаконвертеры
MikroTik
Как включить
Открываем IP → Settings и ставим галочку «Allow Fast Path»
Далее добавляем правило в IP → Firewall → Filter Rules:
Автоматически создается правила, которые невозможно удалить:
То же самое командами:
IP телефоны
Escene
Практическое применение Fast Path
Прежде всего перейдем в IP - Settings и убедимся, что флаги Allow Fast Path и Route Cache установлены. В современных моделях это настройки по умолчанию, поэтому данная рекомендация носит чисто академический характер. В данной конфигурации IPv4 TCP и UDP-трафик, удовлетворяющий перечисленным выше условиям, будет автоматически отправлен по быстрому пути.
Для мостов по умолчанию активируется опция Fast Forward, включающая для передаваемых пакетов быстрый путь, но при этом помним, что DHCP-snooping не должен быть включен, а также отсутствовать любая фильтрация трафика или VLAN внутри моста.
А вот дальше уже становится интереснее. Туннельные соединения и L2TP поддерживают Fast Path, но это лишает нас возможности использовать IPsec, поэтому от Fast Path для данных видов соединений придется отказаться. Тем более что система не даст нам создать интерфейс, сочетающий Fast Path и IPsec.
Правда для L2TP-соединений вы можете одновременно установить обе опции, но при включённом IPsec Fast Path будет игнорироваться. Тем не менее мы категорически не рекомендуем использовать такие неоднозначные варианты настройки, потому как при обновлении RouterOS поведение системы может измениться, что способно привести к неожиданным и непредсказуемым результатам.
Коротко подведем итоги. RouterOS по умолчанию сама будет использовать Fast Path там, где это возможно, наша задача - понимать, что влияет на возможность использования данной технологии и делать правильный выбор между Fast Path или возможностями дополнительного контроля и защиты трафика.
Датчики
Управляемые коммутаторы
FastPath и Layer3
Layer3 — это передача пакетов между подсетями, маршрутизатор строит таблицы маршрутизации и исходя из них направляет пакет следующему хопу.
На Trafic Flow транзитный трафик сетевого уровня выглядит так:
идем вглубь
и еще глубже
Для работы FastPath на Layer3 необходимо соблюдать следующие условия:
- Не добавлять правила в firewall (совсем, даже nat).
- Не добавлять записи в Address Lists.
- Не настраивать Simple Queues и Queues Tree для parent=global , либо интерфейсов на которых планируется получить рабочий FastPath .
- Не использовать mesh и metarouter.
- Отключать Connection tracker. Опция auto была введена именно для работы FastPath при отсуствии правил в firewall.
- Не использовать /ip accounting .
- Не использовать /ip route vrf .
- Не конфигурировать /ip hotspot .
- Не добавлять политики ipsec.
- Route Cache должен быть включен.
- Не использовать активно: /tool mac-scan и /tool ip-scan .
- Запущенные sniffer, torch и traffic generator мешают работе FastPath.
Включается в настройках ip: [IP]->[Settings], там-же можно увидеть счетчики успешно обработанных пакетов.
Скриншот с домашнего роутера. У меня достаточно нагруженный firewall, несколько постоянно включенных L2TP/IPSec соединений и очереди. Про FastPath можно и не мечтать.
Оптические патч-корды
Коммутаторы с PoE
UNIVOIS
Радиокарты
LigoWave
Ajax Systems
Yealink
Mercusys
Силовой кабель
GAOKE
Роутеры с PоE
Грозозащита
Практическое использование Fasttrack
При этом нам окажутся недоступны брандмауэр, очереди, IPsec и многое другое. По сути, пакеты, попадающие в Fasttrack проскакивают роутер без обработки, что значительно снижает нагрузку на процессор, но лишает нас возможности гибко управлять трафиком. Насколько это оправдано? Нужно смотреть по задачам, скажем если это выход внутренних устройств в интернет, то Fasttrack тут вполне к месту, позволяя существенно разгрузить роутер. Насколько это безопасно? Безопасность в данном случае не пострадает, так как по быстрому пути идут уже установленные соединения, новый пакет обязательно пройдет по медленному пути с полной обработкой брандмауэром.
Для включения Fasttrack перейдем в IP - Firewall - Filter Rules и добавим следующее правило: Chain - forward, Connection State: established, related, на закладке Action установим действие fasttrack connection. Это отправит все установленные и связанные соединения по короткому пути, но лишит нас возможности обработки и контроля такого трафика.
Еще один важный момент, вы обязательно должны указать Connection State для этого правила, если вы этого не сделаете, то получите огромную дыру в безопасности, так как мимо брандмауэра по короткому пути пойдут все пакеты. Мы бы не стали заострять на этом внимание, но в нашей практике были случаи, когда администраторы включали Fasttrack для всего транзитного трафика.
Сразу после него добавим еще одно правило: Chain - forward, Connection State: established, related, на закладку Action можно не переходить, так как accept - действие по умолчанию. Для чего это нужно? Как мы помним, Fast Path работает только для TCP и UDP соединений, остальной трафик пойдет по этому правилу, кроме того, некоторая часть пакетов попадающих под действие Fasttrack направляется по медленному пути и без этого правила они бы были отброшены.
Это самая простая реализация Fasttrack, которая приведена в большинстве инструкций, и она же вызывает большинство проблем. Почему так? Да потому, что приведенное выше правило отправляет по быстрому пути все установленные и связанные соединения, без учета их направления и назначения. При этом становятся недоступны фильтрация и маркировка трафика брандмауэром, очереди и политики IPsec. Стоит ли удивляться, что все завязанные на данные технологии настройки перестают работать.
Как быть? Нужно конкретизировать правила, основная наша цель - снизить нагрузку на устройство, поэтому мы хотим использовать Fasttrack для обычного интернет трафика, но исключим оттуда все остальные соединения. Поэтому вместо одного правила используем два:
Где bridge1 - внутренний мост, а ether10 - внешний интерфейс, смотрящий в интернет.
Что изменилось? Теперь по быстрому пути идут пакеты только из локальной сети в интернет и обратно. Все остальные соединения полноценно обрабатываются ядром RouterOS и могут полностью использовать все ее возможности.
Важно! Обратите внимание, так как Fast Path - это расширение драйвера интерфейса, то и в качестве критериев в правилах мы должны использовать именно интерфейсы, что позволит максимально корректно обрабатывать потоки трафика и избежать логических ошибок.
Также обратите внимание, что Fasttrack применяется именно для транзитных соединений, не влияя на входящие и исходящие соединения самого роутера. Мы бы не заостряли на этом внимание, но в сети нам попадались инструкции, когда пакеты маркировались в цепочках INPUT и OUTPUT, а затем эти метки соединений пытались использовать в цепочке FORWARD, надо ли говорить, что подобные конструкции работать не будут.
Ну и логическое завершение нашей статьи - практическая польза от Fasttrack. Мы провели простой тест, запустили на одном из узлов сети Speedtest от Ookla используя для выхода в интернет RB2011. С включенным Fasttrack роутер прокачал все 100 Мбит/с тарифа при нагрузке на CPU в пределах 30-32%:
А теперь выключаем Fasttrack и видим, что роутер полностью лег, но при этом даже не смог прокачать тариф, упершись в планку 80 Мбит/с:
Становится очевидно, что Fast Path и FastTrack - важные технологии, позволяющие существенно увеличить производительность Mikrotik, но применять их следует обдуманно, учитывая все плюсы и минусы данного решения. Надеемся, что данная статья окажется вам полезна и вы теперь будете использовать все возможности Fast Path без каких-либо затруднений и будете понимать как именно это работает.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Ни для кого не секрет, что MikroTik производит Software Baser роутеры и большую часть по обработке трафика берет на себя CPU. У данного подхода есть приимущество, т.к. можно напрограмировать практически любой функционал и поддерживать относительно единую систему для всех устройств. Но по скорости они всегда будут отставать от маршрутизаторов со специализированными чипами.
Программная обработка пакетов имеет ряд недостатков:
- Отсутствие wire speed — процессор (особенно одноядерный) не может работать быстрее, чем специализированные чипы.
- Блокировки. При реально больших объемах трафика (например DoS/DDoS) у вас может не быть возможности подключиться к роутеру даже через консольный интерфейс, т.к. все процессорное время будет занимать обработка трафика.
- Сложность масштабирования. Нельзя добавить модуль увеличивающий скорость обработки пакетов аппаратно.
Разработчики идут на различные аппаратные и програмные решения для улучшения ситуации:
- Switch-чип на недорогих моделях, позволяет обрабатывать Layer2 трафик минуя CPU.
- SoC с хорошим сетевым чипом (линейка CCR).
- Использование аппаратного шифрования
- Различные технологии снижающие число программных обработок для пакетов (FastPath и FastTrack), о них и пойдет речь.
HPE Aruba Networks
Читайте также: