Перейти к содержимому
Калькуляторы

Динамический шейпер на микротик Помогите настроить шейпер

День добрый всем!!! Уважаемые спецы прошу помощи в следующей задаче.

 

На 433G routerboarde на борде поднят шейпер реализованный на HTB очередях. Очередя вроде бы работают нормально, но вот QoS не работает.

 

 

Реализовано все по схеме весь трафик прогоняем Mangle в адрес листе прописаны IP адреса которым присваивается класс трафика в PCQ класам присвоена скорость после все загоняеться в Queue Tree в котором вро де бы как должен выполняться QOS и отдаваться клиентам.

 

/ip firewall mangle

add action=mark-connection chain=forward comment=320K_Minimal_Down disabled=\

no dst-address-list=Minimal_class new-connection-mark=minimal_conn_down \

passthrough=yes

add action=mark-packet chain=forward comment="" connection-mark=\

minimal_conn_down disabled=no new-packet-mark=minimal_trafic_down \

passthrough=no

add action=mark-connection chain=forward comment=320K_Minimal_Up disabled=no \

new-connection-mark=minimal_conn_up passthrough=yes src-address-list=\

Minimal_class

add action=mark-packet chain=forward comment="" connection-mark=\

minimal_conn_up disabled=no new-packet-mark=minimal_trafic_up \

passthrough=no

add action=mark-connection chain=forward comment=512K_Standart_Down disabled=\

no dst-address-list=Standart_class new-connection-mark=standart_conn_down \

passthrough=yes

add action=mark-packet chain=forward comment="" connection-mark=\

standart_conn_down disabled=no new-packet-mark=standart_trafic_down \

passthrough=no

add action=mark-connection chain=forward comment=512K_Standart_Up disabled=no \

new-connection-mark=standart_conn_up passthrough=yes src-address-list=\

Standart_class

add action=mark-packet chain=forward comment="" connection-mark=\

standart_conn_up disabled=no new-packet-mark=standart_trafic_up \

passthrough=no

add action=mark-connection chain=forward comment=1M_Buisnas_Down disabled=no \

dst-address-list=Buisnes_class new-connection-mark=buisnes_conn_down \

passthrough=yes

add action=mark-packet chain=forward comment="" connection-mark=\

buisnes_conn_down disabled=no new-packet-mark=buisnes_trafic_down \

passthrough=no

add action=mark-connection chain=forward comment=1M_Buisnas_Up disabled=no \

new-connection-mark=buisnes_conn_up passthrough=yes src-address-list=\

Buisnes_class

add action=mark-packet chain=forward comment="" connection-mark=\

buisnes_conn_up disabled=no new-packet-mark=buisnes_trafic_up \

passthrough=no

add action=mark-connection chain=forward comment=2M_Super_Down disabled=no \

dst-address-list=Super_class new-connection-mark=super_conn_down \

passthrough=yes

add action=mark-packet chain=forward comment="" connection-mark=\

super_conn_down disabled=no new-packet-mark=super_trafic_down \

passthrough=no

add action=mark-connection chain=forward comment=2M_Super_Up disabled=no \

new-connection-mark=super_conn_up passthrough=yes src-address-list=\

Super_class

add action=mark-packet chain=forward comment="" connection-mark=super_conn_up \

disabled=no new-packet-mark=super_trafic_up passthrough=no

add action=mark-packet chain=prerouting comment=DNS################# \

disabled=no dst-port=53,123 new-packet-mark=QoS_1_Up passthrough=no \

protocol=udp

add action=mark-packet chain=prerouting comment=ICPM disabled=no \

new-packet-mark=QoS_1_Up passthrough=yes protocol=icmp

add action=mark-packet chain=prerouting comment=CS disabled=no dst-port=\

27014-27026 new-packet-mark=QoS_1_Up passthrough=no protocol=udp

add action=mark-packet chain=prerouting comment=WINBOX disabled=no dst-port=\

8291 new-packet-mark=QoS_1_Up passthrough=no protocol=tcp

add action=mark-packet chain=prerouting comment=DUDE disabled=no dst-port=\

2210 new-packet-mark=QoS_1_Up passthrough=no protocol=tcp

add action=mark-packet chain=prerouting comment=TEAMWIVER disabled=no \

dst-port=5938 new-packet-mark=QoS_1_Up passthrough=no protocol=tcp

add action=mark-packet chain=prerouting comment=CARD_SHARING disabled=no \

dst-port=10003 new-packet-mark=QoS_2_Up passthrough=no protocol=udp

add action=mark-packet chain=prerouting comment=HTTP disabled=no \

dst-address-list=web0 dst-port=80,443 new-packet-mark=QoS_3_Up \

passthrough=no protocol=tcp

add action=mark-packet chain=prerouting comment="" disabled=no dst-port=\

80,443 new-packet-mark=QoS_3_Up packet-size=0-666 passthrough=no \

protocol=tcp tcp-flags=syn

add action=mark-packet chain=prerouting comment="" disabled=no dst-port=\

80,443 new-packet-mark=QoS_3_Up packet-size=0-123 passthrough=no \

protocol=tcp tcp-flags=ack

add action=mark-packet chain=prerouting comment=HTTP_DOWNLOAD \

connection-bytes=500000-0 disabled=no dst-port=80,443 new-packet-mark=\

QoS_6_Up passthrough=no protocol=tcp

add action=mark-packet chain=prerouting comment="" connection-bytes=0-500000 \

disabled=no dst-port=80,443 new-packet-mark=QoS_6_Up passthrough=no \

protocol=tcp

add action=mark-packet chain=prerouting comment=P2P disabled=no \

new-packet-mark=QoS_8_Up p2p=all-p2p passthrough=no

add action=mark-packet chain=prerouting comment="" disabled=no \

layer7-protocol=bittorrent new-packet-mark=QoS_8_Up passthrough=no

add action=mark-packet chain=prerouting comment=ALL_PACKET disabled=no \

new-packet-mark=QoS_8_Up passthrough=no

add action=log chain=forward comment="" disabled=no log-prefix=""

 

/queue type

set default kind=pfifo name=default pfifo-limit=50

set ethernet-default kind=pfifo name=ethernet-default pfifo-limit=50

set wireless-default kind=sfq name=wireless-default sfq-allot=1514 \

sfq-perturb=5

set synchronous-default kind=red name=synchronous-default red-avg-packet=1000 \

red-burst=20 red-limit=60 red-max-threshold=50 red-min-threshold=10

set hotspot-default kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=\

5

add kind=pcq name=PCQ_down_320k pcq-classifier=dst-address pcq-limit=50 \

pcq-rate=320000 pcq-total-limit=2000

add kind=pcq name=PCQ_up_320k pcq-classifier=src-address pcq-limit=50 \

pcq-rate=320000 pcq-total-limit=2000

add kind=pcq name=PCQ_down_521k pcq-classifier=dst-address pcq-limit=50 \

pcq-rate=512000 pcq-total-limit=2000

add kind=pcq name=PCQ_up_512k pcq-classifier=src-address pcq-limit=50 \

pcq-rate=512000 pcq-total-limit=2000

add kind=pcq name=PCQ_down_1M pcq-classifier=dst-address pcq-limit=50 \

pcq-rate=1000000 pcq-total-limit=2000

add kind=pcq name=PCQ_up_1M pcq-classifier=src-address pcq-limit=50 pcq-rate=\

1000000 pcq-total-limit=2000

add kind=pcq name=PCQ_down_2M pcq-classifier=dst-address pcq-limit=50 \

pcq-rate=2000000 pcq-total-limit=2000

add kind=pcq name=PCQ_up_2M pcq-classifier=src-address pcq-limit=50 pcq-rate=\

2000000 pcq-total-limit=2000

set default-small kind=pfifo name=default-small pfifo-limit=10

 

/queue tree

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=QoS_In parent=global-in priority=8

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=PRIO8_In packet-mark=QoS_8_Up parent=QoS_In priority=8 \

queue=default

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=PRIO1_In packet-mark=QoS_1_Up parent=QoS_In priority=1 \

queue=default

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=PRIO6_In packet-mark=QoS_6_Up parent=QoS_In priority=6 \

queue=default

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=PRIO3_In packet-mark=QoS_3_Up parent=QoS_In priority=3 \

queue=default

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=PRIO2_In packet-mark=QoS_2_Up parent=QoS_In priority=2 \

queue=default

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=Total_Download parent=global-out priority=8

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=Total_Upload parent=global-out priority=8

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=standart_download packet-mark=standart_trafic_down \

parent=Total_Download priority=5 queue=PCQ_up_512k

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=buisnas_download packet-mark=buisnes_trafic_down parent=\

Total_Download priority=8 queue=PCQ_down_1M

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=buisnas_upload packet-mark=buisnes_trafic_up parent=\

Total_Upload priority=8 queue=PCQ_up_1M

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=standart_upload packet-mark=standart_trafic_up parent=\

Total_Upload priority=5 queue=PCQ_up_512k

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=supert_upload packet-mark=super_trafic_up parent=\

Total_Upload priority=1 queue=PCQ_up_2M

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=super_download packet-mark=super_trafic_down parent=\

Total_Download priority=1 queue=PCQ_down_2M

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=minimal_download packet-mark=minimal_trafic_down parent=\

Total_Download priority=3 queue=PCQ_up_320k

add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \

max-limit=0 name=minimal_upload packet-mark=minimal_trafic_up parent=\

Total_Upload priority=3 queue=PCQ_up_320k

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А в чем проблема? в квайери трии трафик затягивает?

В даунлоад/аплоад затягивает?

 

В квайеки три включите отображение колонки "pcq queues".

Там числа сравнимы с числом реально активных клиентов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема была в том что скорость не контролировалась, клиенты могли качать с неограниченной скоростью. клиентов 20 а число 72!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

дальше даже не стал смотреть конфиг:

add action=mark-packet chain=prerouting comment=DNS################# \
disabled=no dst-port=53,123 new-packet-mark=QoS_1_Up passthrough=no \
protocol=udp
add action=mark-packet chain=prerouting comment=ICPM disabled=no \
new-packet-mark=QoS_1_Up passthrough=yes protocol=icmp

во первых, лучше предоставлять конфиг так как он идет в мангле, а именно сначала прероутинг потом мангл IMXO.

далее у вас во втором правиле стоит passthrough=yes вы что дальше хотите делать с эти пакетом в прероутенге?

и дальше пакеты для разного трафика вы метите одной меткой QoS_1_Up вы как дальше в Queue Tree собираетесь различать эти метки?

У вас NAT?

IMXO лучше метить пакеты чем соединения.

пока все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все разобрался правила работают. Была ошибка в queue tree. Метятся одной меткой для выбора приоритета в queue tree все видно. Все работает идеально!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто подскажет эта Basic traffic shaping based on layer-7 protocols схема приоритета трафика работает на версии 5.12?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто подскажет эта Basic traffic shaping based on layer-7 protocols схема приоритета трафика работает на версии 5.12?

У меня торрент затягивало в правила скайпа. БФ2 вытягивало правильно. Больше не тестировал, отключил все нафик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто подскажет эта Basic traffic shaping based on layer-7 protocols схема приоритета трафика работает на версии 5.12?

Зачем так извращаться!!! Выше изложен уже проверенный и простой способ реализации правила шейпера. Вот если бы заставить его изменятся во времени суток...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот если бы заставить его изменятся во времени суток...

В расписание ставишь например:

queue type set pcq-download pcq-rate=18M

queue tree set download max-limit=27M

ну, время и цифры по желанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот если бы заставить его изменятся во времени суток...

В расписание ставишь например:

queue type set pcq-download pcq-rate=18M

queue tree set download max-limit=27M

ну, время и цифры по желанию.

Как сделать расписание? Никогда не сталкивался с ним

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот я красным обвел место где время задается. Правило работает только в то время, которое указано.

 

Если надо днем иметь одну скорость, а вечером больше. Нужно создать 2 одинаковых правила, только в первом скорость низкая и в разделе времени указано например 8:00-0:00 время, а в другом скорость высокая и указано 0:00-7:59.

 

Queue_time.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот я красным обвел место где время задается. Правило работает только в то время, которое указано.

 

Если надо днем иметь одну скорость, а вечером больше. Нужно создать 2 одинаковых правила, только в первом скорость низкая и в разделе времени указано например 8:00-0:00 время, а в другом скорость высокая и указано 0:00-7:59.

 

post-60991-019740200 1331745485_thumb.png

Так не получится у меня ограничения идут по PCQ и в queue simple нет ни одного правила

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Такой же параметр Time есть и в правилах Mangle, только в этом случае вам надо днем добавлять пакеты в дневное правило, а ночью в ночное, в дереве правил тогда создадите по 2 копии каждого правила с разными ограничениями скорости.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Такой же параметр Time есть и в правилах Mangle, только в этом случае вам надо днем добавлять пакеты в дневное правило, а ночью в ночное, в дереве правил тогда создадите по 2 копии каждого правила с разными ограничениями скорости.

А ротерборт не будет глюкать от большого количесва правил? Я слышал что не стоит много создавать правил!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же вы можете в планировщике написать команды для смены правил в Queueu Tree. В 8 часов поставите запуск дневного ограничения, а в 0 часов запуск ночного.

 

В версии ПО 5.14 напишите в терминале Export compact и он выдаст все правила текстовыми командами, найдите там правила деревьев шейпера, скопируйте их в блокнот, поправьте параметры и закиньте в планировщик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же вы можете в планировщике написать команды для смены правил в Queueu Tree. В 8 часов поставите запуск дневного ограничения, а в 0 часов запуск ночного.

 

В версии ПО 5.14 напишите в терминале Export compact и он выдаст все правила текстовыми командами, найдите там правила деревьев шейпера, скопируйте их в блокнот, поправьте параметры и закиньте в планировщик.

В терминале выдает следующую ошибку > Export compact

expected command name (line 1 column 1)

Версия ПО 5.14

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же вы можете в планировщике написать команды для смены правил в Queueu Tree. В 8 часов поставите запуск дневного ограничения, а в 0 часов запуск ночного.

 

В версии ПО 5.14 напишите в терминале Export compact и он выдаст все правила текстовыми командами, найдите там правила деревьев шейпера, скопируйте их в блокнот, поправьте параметры и закиньте в планировщик.

В терминале выдает следующую ошибку > Export compact

expected command name (line 1 column 1)

Версия ПО 5.14

Не получается ничего. Вычитал скрипт, отправляю в планировщик и ничего, прописал в терминале то пишет такое имя уже существует

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же вы можете в планировщике написать команды для смены правил в Queueu Tree. В 8 часов поставите запуск дневного ограничения, а в 0 часов запуск ночного.

 

В версии ПО 5.14 напишите в терминале Export compact и он выдаст все правила текстовыми командами, найдите там правила деревьев шейпера, скопируйте их в блокнот, поправьте параметры и закиньте в планировщик.

В терминале выдает следующую ошибку > Export compact

expected command name (line 1 column 1)

Версия ПО 5.14

Не получается ничего. Вычитал скрипт, отправляю в планировщик и ничего, прописал в терминале то пишет такое имя уже существует

Удалите правила, и перезапустите роутер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так же вы можете в планировщике написать команды для смены правил в Queueu Tree. В 8 часов поставите запуск дневного ограничения, а в 0 часов запуск ночного.

 

В версии ПО 5.14 напишите в терминале Export compact и он выдаст все правила текстовыми командами, найдите там правила деревьев шейпера, скопируйте их в блокнот, поправьте параметры и закиньте в планировщик.

В терминале выдает следующую ошибку > Export compact

expected command name (line 1 column 1)

Версия ПО 5.14

Не получается ничего. Вычитал скрипт, отправляю в планировщик и ничего, прописал в терминале то пишет такое имя уже существует

Удалите правила, и перезапустите роутер.

Можно не удалять а создать два правила день и ночь но их надо поочередно отключать перед включением другого, но я не могу с терминала их определить и отключить!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Так не получится у меня ограничения идут по PCQ и в queue simple нет ни одного правил

/system scheduler
add disabled=no interval=1d name="set hi limit" on-event="queue type set pcq-dow
   nload pcq-rate=0\r\
   \nqueue tree set global max-limit=27m\r\
   \n" policy=\
   ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
   start-date=oct/25/2011 start-time=21:00:00
add disabled=no interval=1d name="set lo limit" on-event="queue type set pcq-dow
   nload pcq-rate=18M\r\
   \nqueue tree set global max-limit=25M\r\
   \n" policy=\
   ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
   start-date=nov/25/2011 start-time=17:10:00
add disabled=no interval=1d name="set day limit" on-event="queue type set pcq-do
   wnload pcq-rate=18M\r\
   \nqueue tree set global max-limit=27M\r\
   \n" policy=\
   ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
   start-date=oct/26/2011 start-time=16:00:00
add disabled=no interval=0s name="set time" on-event="system ntp client set prim
   ary-ntp= [:resolve 0.pool.ntp.org]\r\
   \nsystem ntp client set secondary-ntp=[:resolve 1.pool.ntp.org]" policy=\
   ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
   start-time=startup

global - название родителя всего, подчинен global-out. dawnload-upload подчинены ему, там отдельные ограничения.

Вай-фай у нас полудуплексный, по этому ограничивать нужно сумму аплоад+даунлоад.

Изменено пользователем fhntv_smart

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В терминале выдает следующую ошибку > Export compact

expected command name (line 1 column 1)

Версия ПО 5.14

 

А у меня работает =)

 

export_compact.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот только заметил что не работают правила на ограничения исходящего трафика при торрентах. Спидтест показываем 1М на 1М а в торренте отдача и до 5 доходит. В чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, дык сами шукайте.

Проблему в том, что трафик торрента не затягивает в нужное правило...

Значит его затягивает куда-то еще...

запускайте torch, открывайте квайери три... мангалы...

и смотрите, ищите, куда-ж его затягивает то...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так все просто сказать!!! Но не могу ничего найти вот сижу уже второй день...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Все разобрался правила работают. Была ошибка в queue tree. Метятся одной меткой для выбора приоритета в queue tree все видно. Все работает идеально!!!!

 

пожалуйста -подробней

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.