Special dummy rule to show fast track counters что это
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Правильное использование Fast Path и FastTrack в Mikrotik
С самого основания данного ресурса мы не перестаем придерживаться мнения, что практика всегда должна опираться на необходимый теоретический минимум, давая в своих статьях порой обширные теоретические отступления. Без теории практика превращается в подобие шаманских камланий с бубном, когда вроде сделал все тоже самое, но ничего не работает. В этом плане технология FastTrack в Mikrotik, несмотря на всю свою простоту, держит пальму первенства по количеству возникающих с ней проблем, которые, в большинстве своем, возникают именно от незнания и непонимания работы этой технологии.
Что такое Fast Path
Основной проблемой роутеров Mikrotik, особенно недорогих моделей, является достаточно слабая вычислительная мощность процессора, являющаяся сдерживающим фактором для реализации многих сложных сетевых сценариев. Причина этого кроется в достаточно сложном процессе обработки трафика роутером, в чем можно убедиться подробно изучив диаграммы Packet Flow, показывающие порядок прохождения пакетов через устройство. Если вы собираетесь серьезно работать с устройствами Mikrotik, то данный раздел документации рекомендуется знать хотя бы на твердую четверку, так как именно здесь находятся ответы на многочисленные вопросы типа: «я все сделал по инструкции, но ничего не работает» или «работает, но как-то не так».
В настоящий момент Fast Path можно использовать для:
Однако использование данной технологии имеет ряд ограничений, так для IPv4 FastPath требуется среди прочего:
Для мостов требуется:
Это не полный список, с полным списком ограничений вы можете ознакомиться в официальной документации. Но уже этого достаточно, чтобы понять, с Fast Path не все так просто и за производительность приходится расплачиваться возможностями. Если мы хотим использовать быстрый путь, то нам следует отказаться практически от любого контроля и фильтрации трафика.
При этом может возникнуть ситуация, когда один из интерфейсов поддерживает Fast Path, а другой нет. В этом случае возможны два варианта: если входящий интерфейс поддерживает Fast Path, то часть пути (насколько это возможно) пакеты пройдут через него, а затем перейдут на Slow Path (медленный путь) с полной обработкой трафика на CPU. Если интерфейс входа не поддерживает Fast Path, то трафик проделает весь путь по Slow Path, вне зависимости от того, поддерживает Fast Path интерфейс выхода или нет.
Еще один важный момент: Fast Path можно использовать только для IPv4 TCP или UDP соединений. Однако в правилах нет необходимости указывать протокол, для всего неподдерживаемого трафика Fast Path будет игнорироваться.
Практическое применение Fast Path
Для мостов по умолчанию активируется опция Fast Forward, включающая для передаваемых пакетов быстрый путь, но при этом помним, что DHCP-snooping не должен быть включен, а также отсутствовать любая фильтрация трафика или VLAN внутри моста.
А вот дальше уже становится интереснее. Туннельные соединения и L2TP поддерживают Fast Path, но это лишает нас возможности использовать IPsec, поэтому от Fast Path для данных видов соединений придется отказаться. Тем более что система не даст нам создать интерфейс, сочетающий Fast Path и IPsec.
Правда для L2TP-соединений вы можете одновременно установить обе опции, но при включённом IPsec Fast Path будет игнорироваться. Тем не менее мы категорически не рекомендуем использовать такие неоднозначные варианты настройки, потому как при обновлении RouterOS поведение системы может измениться, что способно привести к неожиданным и непредсказуемым результатам.
Практическое использование Fasttrack
Fasttrack можно без преувеличения назвать самой неправильно настраиваемой опцией. Если выполнить поиск в сети интернет, то можно увидеть множество материалов про то, как решить те или иные проблемы с Fasttrack. Но большинство этих проблем также связаны с непониманием работы данной технологии. Давайте разберемся, что же такое Fasttrack, это сочетание Fast Path + Connection Tracking, проще говоря мы можем отправить все уже установленные и связанные с ними соединения по быстрому пути.
При этом нам окажутся недоступны брандмауэр, очереди, IPsec и многое другое. По сути, пакеты, попадающие в Fasttrack проскакивают роутер без обработки, что значительно снижает нагрузку на процессор, но лишает нас возможности гибко управлять трафиком. Насколько это оправдано? Нужно смотреть по задачам, скажем если это выход внутренних устройств в интернет, то Fasttrack тут вполне к месту, позволяя существенно разгрузить роутер. Насколько это безопасно? Безопасность в данном случае не пострадает, так как по быстрому пути идут уже установленные соединения, новый пакет обязательно пройдет по медленному пути с полной обработкой брандмауэром.
Еще один важный момент, вы обязательно должны указать Connection State для этого правила, если вы этого не сделаете, то получите огромную дыру в безопасности, так как мимо брандмауэра по короткому пути пойдут все пакеты. Мы бы не стали заострять на этом внимание, но в нашей практике были случаи, когда администраторы включали Fasttrack для всего транзитного трафика.
Это самая простая реализация Fasttrack, которая приведена в большинстве инструкций, и она же вызывает большинство проблем. Почему так? Да потому, что приведенное выше правило отправляет по быстрому пути все установленные и связанные соединения, без учета их направления и назначения. При этом становятся недоступны фильтрация и маркировка трафика брандмауэром, очереди и политики IPsec. Стоит ли удивляться, что все завязанные на данные технологии настройки перестают работать.
Что изменилось? Теперь по быстрому пути идут пакеты только из локальной сети в интернет и обратно. Все остальные соединения полноценно обрабатываются ядром RouterOS и могут полностью использовать все ее возможности.
Если направлений трафика, который мы хотим направить по быстрому пути несколько, скажем, несколько каналов в интернет, либо межсетевой трафик, то создаем для каждого направления свою пару правил, с указанием входящего и исходящего интерфейсов.
Также обратите внимание, что Fasttrack применяется именно для транзитных соединений, не влияя на входящие и исходящие соединения самого роутера. Мы бы не заостряли на этом внимание, но в сети нам попадались инструкции, когда пакеты маркировались в цепочках INPUT и OUTPUT, а затем эти метки соединений пытались использовать в цепочке FORWARD, надо ли говорить, что подобные конструкции работать не будут.
А теперь выключаем Fasttrack и видим, что роутер полностью лег, но при этом даже не смог прокачать тариф, упершись в планку 80 Мбит/с:
Дополнительные материалы:
Mikrotik
The Dude
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Конфигурация Mikrotik Fasttrack с L2TP IPSEC
Если у вас есть опыт работы с оборудованием MikroTik, то вы определенно слышали о Fasttrack. Если же вы только столкнулись с оборудованием MikroTik, ознакомьтесь с его Настройкой
Fastrack был представлен в апреле 2016 года, начиная с версии 6.29. И в терминах позволяет пакетам для установленных соединений обойти ядро, тем самым повышая производительность и уменьшая общую нагрузку на процессор.
Однако есть известные проблемы, которые мешают Fasttrack правильно работать при использовании IPSec на mikrotik. Вы обнаружите, что если вы оставите правило Fasttrack по умолчанию включенным в правиле фильтров брандмауэра, L2TP Vpn будет очень медленным.
Если вы уже используете свой mikrotik в качестве клиента IPSec, вы, скорее всего, отключили свое правило Fasttrack в /Firewall, однако можно эту проблему обойти.Для этого требуется отменить все соединения IPSec и эффективно исключить их из правила Fasttrack.
Решение этой проблемы состоит в том, чтобы отметить все соединения IPSec и исключить их из правила Fasttrack.
Что такое FastTrack:
FastTrack это технология маркировки IP пакетов для ускоренного прохождения через Packet Flow.
Для работы FastTrack необходимо соблюдать следующие условия:
Должны работать Route Cache и FastPath
FastTrack работает только для UDP и TCP трафика
mesh и metarouter выключены
Желательно не использовать: /tool mac-scan и /tool ip-scan
sniffer, torch и traffic generator в активном состоянии мешают работе.
Если что-то будет мешать прохождению пакета по fasttrack, он будет передан как и все оставшиеся пакеты по медленному пути.
Конфигурируем Mikrotik Fasttrack с L2TP IPSEC:
Первое что требуется сделать это с помощью брандмауэра mangle отметить все соединения IPsec:
/ip firewall mangle add action=mark-connection chain=forward comment=»mark ipsec connections to exclude them from fasttrack» ipsec-policy=out,ipsec new-connection-mark=ipsec
/ip firewall mangle add action=mark-connection chain=forward comment=»mark ipsec connections to exclude them from fasttrack» ipsec-policy=in,ipsec new-connection-mark=ipsec
После того как вы сделали вышеописанное, требуется проверить:
Должно получиться что-то вроде этого :
[admin@Mikrotik] /ip firewall mangle> /ip firewall mangle print
Flags: X — disabled, I — invalid, D — dynamic
0 D ;;; special dummy rule to show fasttrack counters
chain=prerouting action=passthrough
1 D ;;; special dummy rule to show fasttrack counters
chain=forward action=passthrough
2 D ;;; special dummy rule to show fasttrack counters
chain=postrouting action=passthrough
3 chain=prerouting action=mark-routing new-routing-mark=Vlan100 src-address=192.168.9.0/24
4 ;;; mark ipsec connections to exclude them from fasttrack
chain=forward action=mark-connection new-connection-mark=ipsec ipsec-policy=out,ipsec
5 ;;; mark ipsec connections to exclude them from fasttrack
chain=forward action=mark-connection new-connection-mark=ipsec ipsec-policy=in,ipsec
[admin@Mikrotik] /ip firewall mangle>
Далее требуется добавить правило fasttrack. Для быстрого отслеживания всех соединений, кроме отмеченных выше правилом mangle :
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,related connection-mark=!ipsec
Правило, которое мы только что создали, должно быть добавлено только там, где исходное правило fasttrack. Примерно так как получилось у меня:
Конфигурация Mikrotik Fasttrack с L2TP IPSEC
Через правило командной строки номер 9 как в моем случае
;;; defconf: accept established,related, untracked
chain=forward action=accept connection-state=established,related,untracked
Заключение:
Вот что получилось, вводим команду
Нас интересует правило. Чуть ниже отключенного правила 8 Fasttrack;;; defconf: fasttrack (Disabled due to ipsec issues) и выше исходного правила 10 ;;; defconf: accept established,related, untracked
6 ;;; defconf: drop all not coming from LAN
chain=input action=drop in-interface-list=!LAN
7 ;;; defconf: accept out ipsec policy
chain=forward action=accept ipsec-policy=out,ipsec
8 X ;;; defconf: fasttrack (Disabled due to ipsec issues)
chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=»»
9 ;;; ;Fast Track everything except IPSEC stuff
chain=forward action=fasttrack-connection connection-state=established,related connection-mark=!ipsec log=no log-prefix=»»
10 ;;; defconf: accept established,related, untracked
chain=forward action=accept connection-state=established,related,untracked
11 ;;; defconf: drop invalid
chain=forward action=drop connection-state=invalid
Как видите очень просто сделать конфигурацию Mikrotik Fasttrack L2TP IPSEC. Теперь мы имеем L2TP VPN работающий вместе с локальными соединениями. Наслаждаемся преимуществами Fasttrack.
Если у вас возникли вопросы оставляйте комментарии, либо создайте тему на Форуме
Special dummy rule to show fast track counters что это
Бесплатный чек-лист
по настройке RouterOS
на 28 пунктов
Mikrotik 951G-2Hnd режет скорость?
1) Роутер как выходит в Интернет (рррое/l2tp) или автоматом получает адрес
2) Адрес какой (реальный/серый)
а) если реальный адрес на роутере = проброс можно настроить и должен работать
б) если адрес серый (не публичный) = соответственно Вы хоть 5 раз сделайте проброс на роутере,
но пакеты/запросы они до роутера даже не доходят, таков тип подключения.
Уточняйте у провайдера, если торренты Важны, надо заказывать у провайдера услугу реального(внешнего)
адреса (за деньги конечно).
Ну и про скорость:
уважаемый Kato прав, Выше вряд-ли.
У каждого роутера если лимит. Вы хотите за 60 баксов мощный роутер?
(это официальная рекомендованная цена)
И ещё, можете зайти на сайт микротика, найти Ваш роутер, там, 4-я закладка,
где результаты тестов = там при роутинге значение 244Mbps (512b размер пакета).
Искать надо другую модельку, заранее смотря её характеристики.
Пока на обум могу порекомендовать обратить внимание на 760 модель, у неё нет
ВиФи = но самая свежая. Хотя сейчас посмотрел тесты, при размере пакета
в 512b, пропускная способность 735Mbps, не плохо, но маловато, если
у Вас реально 1 гигабит почти.
Надо что-то мощнее. многие организации на таких скоростях не работают,
сами понимаете, уровень оборудование совсем иной, и мощности и цена
совсем иная тоже.
Или RB4xx или уже CCR
Как подружить FastTrack и IPsec в Mikrotik RouterOS?
В одной из предыдущих публикаций я описывал способ маркировки нужного трафика и его последующую отправку в VPN. Одной из негативных сторон описанного метода является необходимость отключения FastTrack.
FastTrack был добавлен начиная с версии RouterOS 6.29, функция очень полезная, если кратко, она позволяет пересылать пакеты без обработки ядром (Linux Kernel), как результат вы получаете существенное повышение производительности.
Включение FastTrack происходит при помощи команды:
Данное правило позволяет пересылать пакеты со статусом «Established» и «Related» напрямую получателю, минуя ядро и правила файрволла (брандмауэр). Таким образом, соединение, получившее статус Established/Related далее будет пересылать пакеты напрямую, без необходимости в дополнительной обработки или фильтрации при помощи Firewall.
Разумеется, соединение получает статус Established/Related только после прохождение файрволла, поэтому в дальнейшем соединение остается защищенным
И всё было бы хорошо, если бы некоторые нюансы, в частности, одновременная работа FastTrack и IPsec.
Начиная с версии RouterOS 6.30, разработчики добавили возможность маркировки соединений и пакетов, что позволяет видоизменить правило FastTrack, исключив из него ненужное.
Для того, чтобы промаркировать пакеты IPsec, нам необходимо прибегнуть к помощи Mangle из подменю Firewall.
При помощи данного правила, мы выполняем пометку (маркировку) всего входящего и исходящего трафика IPsec.
Теперь осталось только внести изменения в правило FastTrack, добавив в него connection-mark:
Наличие восклицательного знака перед меткой, означает, что правило будет исключать все пакеты и соединения с пометкой «ipsec». На этом собственно всё.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.
Ограничение скорости в MikroTik по ip, интерфейсу или порту
В этой статье мы опишем различные способы, как ограничить скорость на роутере MikroTik: по IP адресу, по MAC адресу, для всей подсети, по порту или интерфейсу, как разделить скорость интернета между пользователями.
СОДЕРЖАНИЕ:
Отключаем fasttrack
Перед настройкой ограничений скорости в MikroTik необходимо убедиться, что на роутере в фаерволе отключен fasttrack. Эта технология появилась начиная с RouterOS 6.29 и позволяет увеличить производительность путем пересылки данных без их дополнительной обработки. Однако если она включена, то ограничения скорости не сработают. Поэтому fasttrack необходимо отключить.
Ограничение скорости по интерфейсу / порту / подсети / vlan
Допустим у нас есть входной интернет канал 20 Мбит/с. Мы хотим каждому пользователю подсети сделать ограничение скорости 2 Мбит/с на загрузку и отдачу.
Добавим pcq очередь на загрузку с ограничением 2 Мбит/с.
Добавим pcq очередь на отдачу с ограничением 2 Мбит/с.
Теперь добавим правило с ограничениями скоростей.
Теперь проверьте на компьютере скорость с помощью сайта www.speedtest.net или аналогичного мобильного приложения на смартфоне.
Ограничение скорости по IP адресу определенному пользователю
Если вам нужно определенному пользователю, например, директору сделать скорость выше чем у остальных, то выполните следующее:
Если у вас есть правило, которое ограничивает скорость для всех пользователей подсети, то правило для определенного пользователя нужно поднять выше этого правила, чтобы оно сработало. Для этого перетяните его левой кнопкой мыши вверх.
Теперь запустите на компьютере директора speedtest и проверьте скорость. Если на компьютере запустить закачку, то скорость в MikroTik можно посмотреть на вкладке Traffic:
DHCP сервер через какое-то время может назначить компьютеру другой IP адрес, если истечет время его аренды. Поэтому для указанного IP адреса перестанут действовать необходимые ограничения. Чтобы этого не произошло, нужно привязать IP адрес к MAC адресу конкретного устройства. Как это сделать, написано ниже.
Ограничение скорости по MAC адресу
В MikroTik нельзя ограничить скорость, указав только MAC адрес устройства. Вам нужно сначала настроить ограничение скорости по IP адресу, а потом привязать IP адрес к MAC адресу конкретного устройства.
Привязка IP адреса к MAC адресу выполняется следующим образом:
Ограничение скорости всем «качальщикам»
Роутер MikroTik позволяет сделать настройку так, что при просмотре интернет страничек каждый клиент получит максимальную скорость, а как только начнет качать большие файлы, его скорость уменьшится. Для этого настраивается взрывная скорость Burst.
Допустим у нас есть входной интернет канал 20 Мбит/с. Мы хотим, чтобы каждый пользователь по возможности просматривал интернет странички с максимальной скоростью 20 Мбит/с. Но как только он начнет качать большие файлы, его скорость уменьшилась до 3 Мбит/с.
Добавим pcq очередь на загрузку с параметрами Burst.
Добавим pcq очередь на отдачу с параметрами Burst.
Теперь добавим в Simple Queues правило с ограничениями.
Теперь проверьте на компьютере скорость с помощью сайта www.speedtest.net. Она должна стремиться к максимальной 18 Мбит/с. После этого поставьте на закачку торрент и посмотрите, как измениться скорость. Если вы использовали Burst Time=192, то через 20 секунд после старта закачки торрента скорость упадет до 3 Мбит/с.
Ограничение скорости определенному «качальщику» по IP адресу
MikroTik позволяет по IP адресу ограничить скорость определенному пользователю, который качает большие файлы из интернета. Пока пользователь будет смотреть интернет странички, скорость будет высокой, но как только начнет качать файлы, то скорость уменьшится. Для этого настраивается взрывная скорость Burst.
Допустим, мы хотим, чтобы пользователь просматривал интернет странички с максимальной скоростью 20 Мбит/с. Но как только он начнет качать большие файлы, его скорость уменьшилась до 3 Мбит/с.
На практике это правило будет работать следующим образом. Пользователь будет просматривать странички в интернете с максимальной скоростью 20 Мбит/с. Когда он начнет качать торренты и средняя скорость превысит 2 Мбит/с, то отключится ограничение 20 Мбит/с, и включится ограничение 3 Мбит/с.
Если у вас есть Burst правило для всей подсети, то правило для определенного пользователя нужно поднять выше него. Для этого перетащите его левой кнопкой мыши.
Ограничение скорости по часам и дням недели
Если вы хотите, чтобы ограничение скорости в MikroTik работало в определенные дни недели и часы, то выполните следующее:
Определяем, какой IP адрес больше всех потребляет трафик
Если у вас в сети начал тормозить интернет, тогда необходимо посмотреть, кто больше всех потребляет трафик. Может для кого-то вы не правильно настроили правила, и он торрентами занял весь интернет-канал.
Как видим, больше всего потребляет трафик IP адрес 192.168.88.254, он качает файлы со скоростью 16 Mbps.
Распределение скорости интернета поровну
Этот способ подходит для использования на домашнем роутере или в небольшом офисе.
Допустим у вас есть входной интернет канал 20 Мбит/с. В доме есть компьютер сына, ноутбук отца и планшет у мамы. Когда сын начнет качать торренты, нужно чтобы он не занял весь интернет канал. При этом отец смог смотреть фильм онлайн, а мама открывать интернет странички. Но если в сети работает только компьютер сына, то он получит всю доступную скорость интернета 20 Мбит/с.
В данном примере скорость будет делиться поровну, только если все трое начнут качать на максимальной скорости. В этом случае каждый получит скорость около 6,7 Мбит/с (20/3).
Но если отец будет качать файл на скорости 4 Мбит/с, а мать на скорости 2 Мбит/с, то сын получит остальные 14 Мбит/с. Т.е. скорость распределится пропорционально загрузке.
Добавим правило с ограничением скорости.
Теперь запустите закачки на компьютерах в сети и посмотрите, как будет распределяться скорость.
Данный способ настройки очень простой, но имеет один недостаток. Если сын включит закачку торрентов, то на его компьютере станут плохо открываться интернет странички или будут задержки в онлайн играх. Чтобы это не происходило, необходимо трафику присваивать различные приоритеты. Например, интернет страничкам и онлайн играм дать более высокий приоритет, чем закачке файлов. Как это сделать, читайте ниже.
Распределение скорости интернета поровну с приоритезацией трафика
Этот способ позволит распределить интернет поровну между всеми пользователями, и дать более высокий приоритет для просмотра интернет страничек, Youtube, ICQ и других сервисов. Поэтому они не будут тормозить, даже если вы поставили на закачку торренты.
Весь трафик разделим по приоритетам на 4 группы:
Алгоритм работы будет такой:
Приступим к настройке.
Добавим пару Layer7 наборов для определения http трафика.
Данные наборы анализируют трафик, пытаются найти в нем указанные последовательности и определить, что это http трафик, gif файл, png файл или jpg файл.
Откройте меню New Terminal и выполните следующие команды:
]* http/[01]\\.[019]»
add name=GIF_FILE regexp=gif
add name=PNG_FILE regexp=png
add name=JPG_FILE regexp=jpg
Для определения HTTP трафика я специально не маркирую трафик на 80 порту, а применяю Layer7, поскольку кроме браузера другие программы могут использовать 80-й порт. Если маркировать трафик по 80 порту, то все получат одинаковый приоритет, и интернет странички не будут быстро грузиться.
Много наборов Layer7 лучше не использовать, т.к. они существенно нагружают роутер.
В меню IP — Firewall на вкладке Layer7 Protocols отобразятся добавленные типы трафика.
По умолчанию промаркируем весь незнакомый трафик, как низкий — LOW.
/ip firewall mangle
add action=accept chain=forward comment=»############## LOW #############» disabled=yes
add action=mark-connection chain=forward comment=ALL-TRAFFIC disabled=no new-connection-mark=LOW passthrough=yes
add action=mark-packet chain=forward comment=LOW-DOWNLOAD connection-mark=LOW disabled=no dst-address-list=LAN new-packet-mark=LOW-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=LOW-UPLOAD connection-mark=LOW disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=LOW-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment=»############## END LOW #########» disabled=yes
Добавим маркировку трафика NORMAL.
/ip firewall mangle
add action=accept chain=forward comment=»############## NORMAL #########» disabled=yes
add action=mark-connection chain=forward comment=HTTP disabled=no layer7-protocol=HTTP new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=HTTPS disabled=no port=443 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Proxy disabled=no port=3128,8080 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=FTP disabled=no port=20,21 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SMTP disabled=no port=25 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SMTPS disabled=no port=465 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IMAP disabled=no port=143 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=POP3 disabled=no port=110 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=POP3S disabled=no port=995 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IMAPS disabled=no port=993 new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=GIF_FILE disabled=no layer7-protocol=GIF_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment=PNG_FILE disabled=no layer7-protocol=PNG_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment=JPG_FILE disabled=no layer7-protocol=JPG_FILE new-connection-mark=NORMAL passthrough=yes
add action=mark-connection chain=forward comment=»100Kb Connections» connection-bytes=0-100000 disabled=no new-connection-mark=NORMAL passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=NORMAL-DOWNLOAD connection-mark=NORMAL disabled=no dst-address-list=LAN new-packet-mark=NORMAL-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=NORMAL-UPLOAD connection-mark=NORMAL disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=NORMAL-UPLOAD passthrough=yes src-address-list=LANadd action=accept chain=forward comment=»############## END NORMAL ############» disabled=yes
Добавим маркировку трафика HIGH:
/ip firewall mangle
add action=accept chain=forward comment=»############## HIGH ############» disabled=yes
add action=mark-connection chain=forward comment=ICQ disabled=no port=5190 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Jabber disabled=no port=5222,5223 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=IRC disabled=no port=6667-6669 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SSH disabled=no port=22 new-connection-mark=HIGH packet-size=0-1400 passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=TELNET disabled=no port=23 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=SNMP disabled=no port=161-162 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=PPTP disabled=no port=1723 new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=L2TP disabled=no port=1701 new-connection-mark=HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=GRE disabled=no new-connection-mark=HIGH passthrough=yes protocol=gre
add action=mark-connection chain=forward comment=»50Kb Connections» connection-bytes=0-50000 disabled=no new-connection-mark=HIGH passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=HIGH-DOWNLOAD connection-mark=HIGH disabled=no dst-address-list=LAN new-packet-mark=HIGH-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=HIGH-UPLOAD connection-mark=HIGH disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=HIGH-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment=»############## END HIGH ##########» disabled=yes
Добавим маркировку трафика SUPER-HIGH:
/ip firewall mangle
add action=accept chain=forward comment=»############## SUPER-HIGH ##########» disabled=yes
add action=mark-connection chain=forward comment=CounterStrike disabled=no port=27005,27014-27025,27035,52046-52048,52146 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp src-port=53
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=DNS disabled=no port=53 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=NNTP disabled=no port=119 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=Winbox disabled=no port=8291 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=ntp disabled=no port=123 new-connection-mark=SUPER-HIGH passthrough=yes protocol=udp
add action=mark-connection chain=forward comment=VNC disabled=no port=5900-5901 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=RDP disabled=no port=3389 new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment=PING disabled=no new-connection-mark=SUPER-HIGH passthrough=yes protocol=icmp
add action=mark-connection chain=forward comment=»5Kb Connections» connection-bytes=0-5000 disabled=no new-connection-mark=SUPER-HIGH passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment=SUPER-HIGH-DOWNLOAD connection-mark=SUPER-HIGH disabled=no dst-address-list=LAN new-packet-mark=SUPER-HIGH-DOWNLOAD passthrough=yes src-address-list=!LAN-EXCEPTION
add action=mark-packet chain=prerouting comment=SUPER-HIGH-UPLOAD connection-mark=SUPER-HIGH disabled=no dst-address-list=!LAN-EXCEPTION new-packet-mark=SUPER-HIGH-UPLOAD passthrough=yes src-address-list=LAN
add action=accept chain=forward comment=»############## END SUPER-HIGH ##########» disabled=yes
Чтобы в онлайн игре CounterStrike не было лагов (запаздываний), я добавил ее порты 27005,27014-27025,27035,52046-52048,52146, протокол udp и пометил соединения, как SUPER-HIGH. Если вам нужно добавить другую онлайн игру, узнайте какие порты и протокол она использует, и добавьте свое правило.
В меню IP — Firewall на вкладке Mangle отобразятся добавленные правила маркировки трафика.
Добавим IP адрес нашей подсети и адреса соседних локальных сетей в список Address List:
/ip firewall
address-list add address=192.168.88.0/24 disabled=no list=LAN
address-list add address=192.168.0.0/16 disabled=no list=LAN-EXCEPTION
address-list add address=10.0.0.0/8 disabled=no list=LAN-EXCEPTION
LAN — это список с IP адресами нашей сети 192.168.88.0/24. Укажите другой, если адрес вашей подсети отличается. Этот адрес нужен, чтобы правила маркировали трафик пользователей нашей сети.
LAN-EXCEPTION — список сетей, при обмене данными с которыми не будут работать ограничения скорости.
Например, вы находитесь с другим компьютером в подсети одного провайдера, и хотите скачать с него файл. Ограничивать скорость такой загрузки нет смысла, поскольку компьютер находится не где-то в интернете, а в одной с вами кабельной сети. Поэтому целесообразно, чтобы файл с него качался на максимальной скорости.
192.168.0.0/16 — это адреса локальных подсетей класса С.
10.0.0.0/8 — это подсеть провайдера.
Проверьте на вкладке Address Lists, что подсети добавились.
Добавим PCQ очереди на загрузку и отдачу.
Они используют алгоритм PCQ, который позволяет равномерно распределить скорость между всеми пользователями вне зависимости от количества открытых подключений.
/queue type
add kind=pcq name=PCQ-DOWNLOAD pcq-rate=0 pcq-limit=50 pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=dst-address pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=128 pcq-dst-address6-mask=128
add kind=pcq name=PCQ-UPLOAD pcq-rate=0 pcq-limit=50 pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=src-address pcq-src-address-mask=32 pcq-dst-address-mask=32 pcq-src-address6-mask=128 pcq-dst-address6-mask=128
Посмотрите созданные очереди в меню Queues на вкладке Queue Types.
Построим дерево Queue Tree и присвоим приоритеты промаркированным пакетам.
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=18M name=DOWNLOAD parent=global priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=SUPER-HIGH-DOWNLOAD packet-mark=SUPER-HIGH-DOWNLOAD parent=DOWNLOAD priority=1 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=HIGH-DOWNLOAD packet-mark=HIGH-DOWNLOAD parent=DOWNLOAD priority=2 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=NORMAL-DOWNLOAD packet-mark=NORMAL-DOWNLOAD parent=DOWNLOAD priority=3 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LOW-DOWNLOAD packet-mark=LOW-DOWNLOAD parent=DOWNLOAD priority=4 queue=PCQ-DOWNLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=18M name=UPLOAD parent=global priority=8add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=SUPER-HIGH-UPLOAD packet-mark=SUPER-HIGH-UPLOAD parent=UPLOAD priority=1 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=HIGH-UPLOAD packet-mark=HIGH-UPLOAD parent=UPLOAD priority=2 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=NORMAL-UPLOAD packet-mark=NORMAL-UPLOAD parent=UPLOAD priority=3 queue=PCQ-UPLOAD
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=LOW-UPLOAD packet-mark=LOW-UPLOAD parent=UPLOAD priority=4 queue=PCQ-UPLOAD
max-limit=18M— это максимальная скорость 18 Мбит/с на всю подсеть. Укажите свою скорость.
Значение max-limit нужно указывать на 5-10% меньше, чем скорость интернета. Если ваша скорость интернета равна 20 Мбит/с, то значение max-limit нужно указать 18 Мбит/с, чтобы правила сработали. Иначе скорость будет упираться в шейпер провайдера и правила не будут срабатывать.
Посмотрите созданное дерево на вкладке Queue Tree. Здесь видно, с какой скоростью в данный момент передается и принимается каждый вид трафика.
Теперь весь интернет канал будет равномерно распределяться между пользователями, а при запуске торрентов, вы будете комфортно открывать интернет странички в браузере, смотреть видео на Youtube, общаться по ICQ и т.д.