В этой статье я опишу как можно настроить маршрутизатор MikroTik RB 750 для совместной работы с модемом промсвязь и его аналогов для использования интернета скажем небольшой корпоративной сетью на 30 машин.Предлагаемая ниже схема маркировки пакетов и шейпинга трафика не позволяет получать хорошие задержки при практически полной загрузке канала интернета в отличии от схемы с Simple Queue. Но тут так же можно добиться довольно быстрого открытия страниц при скачке торрентов другими пользователями. Канал делится поровну между качающими в любой конкретный момент пользователями. В общем это идея динамического шейпинга на микротик. Преимущества данного метода управления полосой в его простой реализации и низком требовании к апаратной части маршрутизатора. На том же самом маршрутизаторе Queue Tree может занимать в два раза меньше ресурсов процессора чем шейпинг той же полосы с помощью Simple Queue.
Начнём как всегда с маркировки пакетов гостевых ресурсов byfly. Чтобы упростить задачу воспользуемся терминалом, чтобы указать те адреса, которые мы будем считать пиринговыми:
Откроем терминал и вставим туда команду: ip firewall address-list. Далее вставим:
add address=86.57.151.0/27 disabled=no list=Guest
add address=82.209.245.151 disabled=no list=Guest
add address=194.158.206.240 disabled=no list=Guest
add address=194.158.206.241 disabled=no list=Guest
add address=194.158.206.246 disabled=no list=Guest
add address=86.57.246.0/24 disabled=no list=Guest
add address=93.84.112.0/21 disabled=no list=Guest
add address=178.124.128.0/21 disabled=no list=Guest
add address=91.149.189.0/25 disabled=no list=Guest
add address=91.149.189.128/26 disabled=no list=Guest
add address=93.125.53.0/24 disabled=no list=Guest
add address=178.172.148.0/24 disabled=no list=Guest
add address=91.149.157.192/26 disabled=no list=Guest
add address=93.125.30.0/23 disabled=no list=Guest
add address=86.57.251.28 disabled=no list=Guest
add address=86.57.253.1 disabled=no list=Guest
add address=193.232.248.79 disabled=no list=Guest
add address=193.232.248.80 disabled=no list=Guest
add address=194.158.202.59 disabled=no list=Guest
add address=82.209.195.15 disabled=no list=Guest
add address=86.57.250.0/23 disabled=no list=Guest
add address=91.149.157.0/25 disabled=no list=Guest
add address=194.158.199.177 disabled=no list=Guest
add address=82.209.240.241 comment=DNS disabled=no list=Guest
add address=82.209.243.241 comment=DNS disabled=no list=Guest
В результате выполнения должно получится что-то подобное:
Отмаркируем соединения пользователей на гостевые ресурсы. Для этого переходим на вкладку IP-Firewall-Mangle и нажимаем плюсик +:
На вкладке Advanced выберем список адресов Guest:
Выберем маркировку соединенений меткой guest-connection:
Создадим правило маркировки гостевых пакетов:
Чтобы исключить дальнейшую перемаркировку пакетов последующими правилами снимаем галочку с passthrough:
В результате получаем 2 правила маркировки гостевых соединений и пакетов:
Нажмём ещё раз плюсик, чтобы создать правило маркировки оставшихся пакетов, как идущих из интернета. Сначала маркируем все соединения:
Маркируем пакеты идущие через соединения internet-connection:
Получится четыре правила в Mangle:
Настроим Queues Tree для канала интернета в 6M/0.5M и скорость на ADSL порту 12M/0.8M.
Настроим шедуллер для исходящего трафика. Будем его делить между пользователями поровну классифицируя согласно IP копьютеров в сети. Если указать в поле Rate, например 128k, то каждому пользователю будет выдаваться скорость алоада не более 128k:
Так же настроим шедуллер для входящего трафика. Трафик классифицируем по Dst. Address. Можно ограничить скорость всем пользователям одним мегабитом установив в поле Rate, например, 1m:
Создадим родительскую очередь all-up, через которую будет проходить весь трафик. Укажем интерфейс ByFly как родительский. Полосу ограничим 512k, т.к нужно указывать скорости, которые ниже на 15-25% чем скорости на ADSL порту, иначе возможна неправильная работа шейпера, при использовании канала на полную. Выберем пакеты, которые мы отмаркировали в мангле метками «internet-packet«, «guest-packet«. Установим гарантированные скорости «limit-at» равными максимальным «max-limit«.
Аналогично для входящего тафика создаём очередь all-down, родителем указываем интерфейс со стороны пользователей ether2-master-local. Выбираем группы пакетов internet-packet и guest-packet, устанавливаем приоритет 8 и скорости 10m/10m.
Создадим дочернюю очередь, к которой будет относится пиринговый «гостевой» трафик. Чтобы всё хорошо работало, Max limit в очереди guest-up должен быть немного меньше чем в очереди all-up. Аналогично дляguest-down. Одно из условий правильной работы HTB шейпера: cумма гарантированных скоростей «limit-at» дочерних очередей должна быть меньше максимальной скорости «max-limit» родительской очереди. Установим 2m/64k гарантированной полосы на пиринговые ресурсы. Увеличим приоритет квоты Guest до 7, и выберем правильный шедуллер (Queue Type):
Создадим дочерние по отношению к all-down/all-up очереди byfly-down/byfly-up, по которой пойдёт интернет трафик. Из опыта скажу, что 10% канала 6m/512k придётся зарезервировать для нормальной работы шейпера. Это связано с особенностями устройства HTB деревьев и тем, что провайдер иногда может немного недодавать вам полосу. Кроме того, возможно дрожание в канале, если резервировать меньше. Итак, Max-limit устанавливаем 5400k/430k для нашего канала. Укажите для очереди ByFly гарантированные скорости, тип шедуллера, родительскую очередь, приоритет и маркированные пакеты согласно скрину:
После добавления всех очередей дерево выглядеть будет так в порядке старшинства:
Источник http://netflow.by/blog/item/67-nastroika-marshrutizatora-mikrotik-dlya-raboty-v-seti-10-42-qos