Jump to content

Recommended Posts

Posted

Коллеги, доброго времени суток.

Прошу помощи в настройке PCQ на микротике. Не пойму, как-то странно работают очереди. Входящий трафик режут более менее нормально - похоже на правду, а вот с исходящим трафиком беда - скорость нестабильная и не соответствует установленным лимитам.

 

Крашу исходящий трафик в цепочке prerouting (сразу замечу, что пробовал красить в forward - все тоже самое)

 

[admin@MikroTik] > ip firewall mangle print chain=rate-limit-up
Flags: X - disabled, I - invalid, D - dynamic 
0  ;;; rate upload
     chain=rate-limit-up action=mark-packet new-packet-mark=unlim_500_up passthrough=no src-address-list=Speed_Limit_500 

1   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_1000_up passthrough=no src-address-list=Speed_Limit_1000 

2   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_2000_up passthrough=no src-address-list=Speed_Limit_2000 

3   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_3000_up passthrough=no src-address-list=Speed_Limit_3000 

4   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_4000_up passthrough=no src-address-list=Speed_Limit_4000 

5   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_5000_up passthrough=no src-address-list=Speed_Limit_5000 

6   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_6000_up passthrough=no src-address-list=Speed_Limit_6000 

7   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_8000_up passthrough=no src-address-list=Speed_Limit_8000 

8   chain=rate-limit-up action=mark-packet new-packet-mark=unlim_10000_up passthrough=no src-address-list=Speed_Limit_10000

 

Задал типы очередей в соответствии со скоростями (исходящий намеренно завысил, чтобы хоть как-то приблизиться к нужным границам)

 

[admin@MikroTik] > queue type print 
0 name="default" kind=pfifo pfifo-limit=500 

1 name="ethernet-default" kind=pfifo pfifo-limit=50 

2 name="wireless-default" kind=sfq sfq-perturb=5 sfq-allot=1514 

3 name="synchronous-default" kind=red red-limit=60 red-min-threshold=10 red-max-threshold=50 red-burst=20 red-avg-packet=1000 

4 name="hotspot-default" kind=sfq sfq-perturb=5 sfq-allot=1514 

5 name="PCQ_download" kind=pcq pcq-rate=64000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

6 name="PCQ_upload" kind=pcq pcq-rate=30000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

7 name="unlim_500_download" kind=pcq pcq-rate=500000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

8 name="unlim_500_upload" kind=pcq pcq-rate=600000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

9 name="unlim_1000_download" kind=pcq pcq-rate=1000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

10 name="unlim_1000_upload" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

11 name="unlim_3000_download" kind=pcq pcq-rate=3000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

12 name="unlim_3000_upload" kind=pcq pcq-rate=5000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

13 name="unlim_5000_download" kind=pcq pcq-rate=5000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

14 name="unlim_5000_upload" kind=pcq pcq-rate=7000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

15 name="unlim_2000_download" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

16 name="unlim_2000_upload" kind=pcq pcq-rate=3000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

17 name="unlim_4000_download" kind=pcq pcq-rate=4000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

18 name="unlim_4000_upload" kind=pcq pcq-rate=6000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

19 name="unlim_6000_download" kind=pcq pcq-rate=6000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

20 name="unlim_6000_upload" kind=pcq pcq-rate=8000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

21 name="unlim_8000_download" kind=pcq pcq-rate=8000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

22 name="unlim_8000_upload" kind=pcq pcq-rate=10000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

23 name="unlim_10000_download" kind=pcq pcq-rate=10000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 

24 name="unlim_10000_upload" kind=pcq pcq-rate=12000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 

25 name="default-small" kind=pfifo pfifo-limit=10

 

Построил дерево (использьзуются ветки Total_download и Total_upload)

 

[admin@MikroTik] > queue tree print
Flags: X - disabled, I - invalid 
0   name="queue1" parent=global-in packet-mark=all limit-at=0 queue=PCQ_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

1   name="queue2" parent=global-out packet-mark=all limit-at=0 queue=PCQ_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

2   name="Total_download" parent=LAN packet-mark="" limit-at=0 queue=default priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

3   name="Total_upload" parent=global-out packet-mark="" limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

4   name="Unlim_500_download" parent=Total_download packet-mark=unlim_500_dn limit-at=0 queue=unlim_500_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

5   name="Unlim_1000_download" parent=Total_download packet-mark=unlim_1000_dn limit-at=0 queue=unlim_1000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

6   name="Unlim_2000_download" parent=Total_download packet-mark=unlim_2000_dn limit-at=0 queue=unlim_2000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

7   name="Unlim_500_upload" parent=Total_upload packet-mark=unlim_500_up limit-at=0 queue=unlim_500_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

8   name="Unlim_1000_upload" parent=Total_upload packet-mark=unlim_1000_up limit-at=0 queue=unlim_1000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

9   name="Unlim_2000_upload" parent=Total_upload packet-mark=unlim_2000_up limit-at=0 queue=unlim_2000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

10   name="Unlim_3000_download" parent=Total_download packet-mark=unlim_3000_dn limit-at=0 queue=unlim_3000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

11   name="Unlim_4000_download" parent=Total_download packet-mark=unlim_4000_dn limit-at=0 queue=unlim_4000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

12   name="Unlim_5000_download" parent=Total_download packet-mark=unlim_5000_dn limit-at=0 queue=unlim_5000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

13   name="Unlim_3000_upload" parent=Total_upload packet-mark=unlim_3000_up limit-at=0 queue=unlim_3000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

14   name="Unlim_4000_upload" parent=Total_upload packet-mark=unlim_4000_up limit-at=0 queue=unlim_4000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

15   name="Unlim_5000_upload" parent=Total_upload packet-mark=unlim_5000_up limit-at=0 queue=unlim_5000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

16   name="Unlim_6000_download" parent=Total_download packet-mark=unlim_6000_dn limit-at=0 queue=unlim_6000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

17   name="Unlim_8000_download" parent=Total_download packet-mark=unlim_8000_dn limit-at=0 queue=unlim_8000_download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

18   name="Unlim_10000_download" parent=Total_download packet-mark=unlim_10000_dn limit-at=0 queue=unlim_10000_download priority=8 max-limit=0 burst-limit=>
     burst-threshold=0 burst-time=0s 

19   name="Unlim_6000_upload" parent=Total_upload packet-mark=unlim_6000_up limit-at=0 queue=unlim_6000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

20   name="Unlim_8000_upload" parent=Total_upload packet-mark=unlim_8000_up limit-at=0 queue=unlim_8000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

21   name="Unlim_10000_upload" parent=Total_upload packet-mark=unlim_10000_up limit-at=0 queue=unlim_10000_upload priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s

 

Для Total_upload пробовал указывать очередь внешнего интерфейса - все одно и тоже. Есть подозрение, что неправильно настроены типы очередей, а вернее их лимиты.

 

Ваше мнение?

Posted

а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать.

Posted
а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать.

Не совсем понял. У меня в дереве вроде не указано ограничение, а только соответствующая очередь и цвет пакетов. А вот сами типы очереди - там да, указаны ограничения.

Разве не так должно быть?

 

Задача этого дерева была сделать соответствующее ограничение каждому, чей пакет покрасился в тот или иной цвет (именно каждому выделить необходимую скорость, а не на всех общую трубу).

 

Я не так сделал, Вы это хотели сказать?

Posted

сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость

Posted
сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость

Ничего не понимаю - где я ветку ограничиваю? Покажите пальцем :)

Posted

)) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ??

Posted

)) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ??

Да, все верно - NATим здесь же, где и режем скорость.

Posted

в этом и проблема, изза ната микрик думает что дст адрес один и тотже, я когдато выкрутился, но не припомню точно как. Вобщем есть 2 варианта -

1 - поставить отдельно роутер для ната и шейпить все на форвардинговом роутере, проблем не будет.

2 - попробовать в аплоад ПЦкЮ поставить не срц-адрес а дст-адрес и запарентить его ветки на инерфейс который смотрит в инет, тоесть сделать аналог даунлоада для внутренней сетки. И красить пакеты только в прероутинге - так как он до НАТа идет.

Кстати, так и непонял зачем правмла 0 и 1 в дереве ?? шейпить всех кто не попал с адресс листы ?

Posted

Т.к. мы красим трафик в прероутинге, то там нормальные локальные адреса и по сути он их должен нормально видеть. Более того - трафик режется, но как-то странно -- ниже установленно граници. Еще интересный момент - Simple Queue отрабатывались стабильно, там таких проблем не замечалось. Переходить на них не очень хочется :(

Из всего вышеизложенного, есть подозрение, что все таки не правильно настроено либо парент для дерева, либо типы очередей (их параметры).

Как Вы считаете?

 

PS: 0 & 1 правила не используются, просто затесались в листинг :)

Posted

а какое количество клиентов в адресс листах примерно ?? может выходите за рамки ??

Но скорее всего это изза НАТа, так как входяший трафик шейпится нормально, попробуй всетаки вариант который я написал выше.

Posted

клиентов не много - исчесляется десятками

Попробую, спасибо. Правда не понял пока, как оно будет работать, т.к. dst на исходящих пакетах будет всяко не клиентским...

  • 2 weeks later...
Posted

Вот пример нашего дерева. Работает стабильно уже полгода.

 

0   name="INPUT" parent=global-out packet-mark="" limit-at=0 queue=queue_tree priority=2 max-limit=60000000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

1   name="6 - 256k dst" parent=INPUT packet-mark=256k dst limit-at=256000 queue=256k dst priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

2   name="6 - 512k dst" parent=INPUT packet-mark=512k dst limit-at=512000 queue=512k dst priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

3   name="6 - 1024k dst" parent=INPUT packet-mark=1024k dst limit-at=1024000 queue=1024k dst priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

4   name="6 - 2048k dst" parent=INPUT packet-mark=2048k dst limit-at=2048000 queue=2048k dst priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

5   name="8 - 3072k dst" parent=INPUT packet-mark=3072k dst limit-at=3072000 queue=3072k dst priority=8 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

6   name="8 - 4096k dst" parent=INPUT packet-mark=4096k dst limit-at=4000000 queue=4096k dst priority=8 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

7   name="OUTPUT" parent=global-out packet-mark="" limit-at=0 queue=queue_tree priority=1 max-limit=60000000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

8   name="6 - 256k src" parent=OUTPUT packet-mark=256k src limit-at=256000 queue=256k src priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

9   name="6 - 512k src" parent=OUTPUT packet-mark=512k src limit-at=512000 queue=512k src priority=6 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

10   name="7 - 2048k src" parent=OUTPUT packet-mark=2048k src limit-at=2048000 queue=2048k src priority=7 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

11   name="7 - 1024k src" parent=OUTPUT packet-mark=1024k src limit-at=1024000 queue=1024k src priority=7 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

12   name="8 - 3072k src" parent=OUTPUT packet-mark=3072k src limit-at=3076000 queue=3072k src priority=8 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

13   name="8 - 4096k src" parent=OUTPUT packet-mark=4096k src limit-at=4000000 queue=4096k src priority=8 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

14   name="2 - lite dst" parent=INPUT packet-mark=lite dst limit-at=8000000 queue=lite dst priority=2 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

15   name="2 - simple dst" parent=INPUT packet-mark=simple dst limit-at=20000000 queue=simple dst priority=2 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

16   name="2 - simple src" parent=OUTPUT packet-mark=simple src limit-at=20000000 queue=simple src priority=2 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

17   name="2 - lite src" parent=OUTPUT packet-mark=lite src limit-at=8000000 queue=lite src priority=2 
     max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 

18   name="6 - 96k dst" parent=INPUT packet-mark=96k dst limit-at=96000 queue=96k dst priority=6 max-limit=100000>
     burst-limit=0 burst-threshold=0 burst-time=0s

 

максимальное количество одновременных клиентов до 400. Правда последние дни наблюдается ккая то аномалия, при 20 мегабитах свободных на внешнем канале, у не которых абонентов наблюдается резкое падение скорости. Пока не поняли в чем проблема.

 

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.