Приветствую, Уважаемые читатели!
Данная статья будет в основе своей познавательной. Её тему, я хотел посвятить одной очень интересной штуке.
А именно опции в RouterOS под названием FastTrack
Рассказывать я про неё буду с точки зрения продвинутого пользователя. Не профессионала, прошу это заметить!
Предисловие
Для начала давайте попробуем понять, что это такое вообще за опция.
Обратимся за официальной документацией на сайт компании MikroTik: Manual:IP/Fasttrack (ENG)
Данный функционал появился в 2015 году, вот вырезка из новости:
Обработчик 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:
RouterBoard | Interfaces |
RB6xx series | ether1,2 |
RB7xx series | all ports |
RB800 | ether1,2 |
RB9xx series | all ports |
RB1000 | all ports |
RB1100 series | ether1-11 |
RB2011 series | all ports |
RB3011 series | all ports |
CRS series routers | all ports |
CCR series routers | all ports |
Все устройства | wireless interfaces если используются wireless-fp, wireless-cm2, wireless-rep или wireless (выпущен в RouterOS 6.37) пакеты |
2. Автоматически созданные правила исчезнут только после того, как правила FastTrack будут удалены или отключены, а маршрутизатор будет перезагружен.
Пример — 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)
Консольно:
/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, хоть и не фантастическое, но это лучше чем ничего!
Большое спасибо, что изучили данную статью, надеюсь она Вам помогла узнать больше!
Всего хорошего на просторах интернета 😉
Список всех статей в хронологическом порядке: История статей
То есть фасттрак работтает только, на 6тср и 17udp ? Расскажите а почему именно на эти порты?
Именно так.
Именно эти порты потому, что так реализовали разработчики RouterOS
Читать тут: https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
Или по Русски
Включил, перестал ходить RTP тарфик IP телефонов в в VPN туннеле. Как корректно отключить?
Нужно удалить то правило, которое добавили и потом перезагрузить железку
Григорий добрый вечер. Firewall ранее настраивал по Вашей инструкции, но заметил что Вы уже успели его оптимизировать (16.12.2018). Вы написали что убрали некоторые элементы просто потому что ввели для себя port knocking. Есть обновленные инструкции для терминала? Заранее благодарю
Денис, приветствую!
Как раз для такого случая я написал статью: MikroTik : RouterOS : Стучимся к себе домой. Firewall Filter PortKnocking
Там есть и моя последняя версия Firewall, как графическая, так и одним блоком через терминал
Добрый день!
Большое спасибо за статью! Настроенный фаервол по статье https://gregory-gost.ru/sozdanie-domashney-seti-na-baze-ustroystv-mikrotik-chast-6-firewall-zashhita-dostupa/ без фасттрака резал мой гигабитный канал до 200-250МБ/с и загружал ЦП на 100% с фастрак даже на 1ГБ/с ЦП загружается до 75% максимум.
Маршрутизатор MikroTik RB951G-2HnD.
Спасибо автору )
Как? Как у вас получается? Настроил строго по этому мануалу, 400 Мбит предел…
Между чем и чем?
Толковые статьи. Сделал у себя на паре МикроТиках почти как у вас. Очень мне логика ваша понравилась. И тоже подумываю закрыть все стуком в порты. Вопрос — у вас сами правила для портов прописаны на этапе преротинга (RAW)? И ещё когда ваш микротик с динамическим IP стучится к статическому он скриптом стучится в порты так?
Здравствуйте,
Нет, я не пользуюсь таблицей RAW. Правила перенаправления задаются в таблице NAT. Порты открываются в таблице Filter Rules.
Второй микротик подключается исключительно по OpenVPN, а у него есть стандартный порт 1194 для взаимодействия. Я его просто открываю в таблице Filter Rules правилом accept
Скрипты для Port Knocking нужны для удаленного доступа к роутеру или другим ресурсам. Т.е. получается. что у меня открыт только сервисные порт для OpenVPN (ну и SIP еще 5060-5061 т.к. использую отдельный cisco voip шлюз)
Объяснили вроде правильно, объединил вместе данную статью и https://gregory-gost.ru/sozdanie-domashney-seti-na-baze-ustroystv-mikrotik-chast-6-firewall-zashhita-dostupa/
В итоге скорость упала со 100 мбит до 10, даже все правила сделал неактивными — не помогло. Странно.
Фото безобразия https://i.ibb.co/Fsyvw9d/image.png
Хорошо бекап был — откатился.
Рекомендую делать сортировку правил по нумерации.
Роутер обрабатывает правила от первого и далее. Немного муторно выискивать в такой сортировке номера правил.
Вот мой firewall на 16.12.2018. Я убрал некоторые элементы просто потому что ввел для себя port knocking.
Но Вам нужно обратить внимание на то, где и какие правила находятся. 300+ Мбит роутер вывозит стабильно уже очень долгое время.
Добрый день! Скажите, а как данные правила с Fasttrack будут работать с тем что вы советуете в статтье https://gregory-gost.ru/sozdanie-domashney-seti-na-baze-ustroystv-mikrotik-chast-6-firewall-zashhita-dostupa/
Можно смело добавлять правила с Fasttrack к тем из статьи или что-то еще подкорректировать?
Не хотелось бы чтобы и брешь была, ну и рабочий инет хочется.
Спасибо! Блог грамотный!
Здравствуйте,
Хорошо будут работать. Правила Fasttrack отрабатывают только для уже проверенных соединений, которые прошли у Вас через всю цепочку INPUT
Еще раз напоминаю про состояния соединений. Fasttrack вешается для соединений established и related на цепочку FORWARD
Если упрощенно, то:
INPUT — соединения адресованные роутеру(маршрутизатору)
FORWARD — соединения проходящие через роутер(маршрутизатор)
OUTPUT — соединения отправляемые самим роутером(маршрутизатором)
Т.е. получается, что Fasttrack будет ускорять соединения из локальной сети в интернет
и проверенные соединения после цепочки Input при условии их дальнейшей дестинации во внутреннюю сеть. (dst-nat/netmap)
Надеюсь объяснил понятно 🙂
Здравствуйте . А как отключить фасттрак ? Спасибо.
Здравствуйте,
Если Вы хотите отключить его после включения, то Вам нужно просто удалить добавленные Вами правила с action=fasttrack-connection в Firewall Filter и перезагрузить роутер.
Сам по себе Fasttrack отключен.
Mirkotik HAP Lite TC, от провайдера интернет 100 Мб — без фасттрака нагрузка на CPU 65%, с фасстраком 12% 😀 Мерил спиддтестом
Большое спасибо . За все эти статьи учусь по ним понемногу.
Скажите пожалуйста эти правила добавлять по верх других правил или внизу после других правил . Спасибо я настроил зашиту доступа фаервола по вашей статье очень доволен!
Здравствуйте,
Спасибо за Ваш отзыв, рад, что у Вас все получилось!
Данные правила лучше всего себя чувствуют в самом верху.
Т.к. роутер обрабатывает правила сверху вниз по списку, то с учетом того, что мы данные правила применяем для трафика forward (который проходит через маршрутизатор) с состояниями established и related, эти правила будут отрабатывать первые.