Jump to content

Recommended Posts

Posted

Здравствуйте, подскажите что я сделал неправильно?

шейпим траффик

# Создаю очереди на внешнем (eth2) и внутреннем (eth3) интерфейсе
tc qdisc add dev eth2 root handle 1:0 cbq avpkt 1000 cell 8 bandwidth 100mbit
tc qdisc add dev eth3 root handle 2:0 cbq avpkt 1000 cell 8 bandwidth 100mbit

# Создаю 2 класса трафика на внешнем и внутреннем интерфейсах по 64kbit
tc class add dev eth2 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 64kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth3 parent 2:0 classid 2:1 cbq bandwidth 100Mbit rate 64kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded

# Создаю 2 класса трафика на внешнем и внутреннем интерфейсах по 128kbit
tc class add dev eth2 parent 1:0 classid 1:2 cbq bandwidth 100Mbit rate 128kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth3 parent 2:0 classid 2:2 cbq bandwidth 100Mbit rate 128kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded

# Создаю 2 класса трафика на внешнем и внутреннем интерфейсах по 256kbit
tc class add dev eth2 parent 1:0 classid 1:3 cbq bandwidth 100Mbit rate 256kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth3 parent 2:0 classid 2:3 cbq bandwidth 100Mbit rate 256kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded

# Создаю 2 класса трафика на внешнем и внутреннем интерфейсах по 512kbit
tc class add dev eth2 parent 1:0 classid 1:4 cbq bandwidth 100Mbit rate 512kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc class add dev eth3 parent 2:0 classid 2:4 cbq bandwidth 100Mbit rate 512kbit weight 6Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded

# Загоняю исходящий траффик относительно интерфейсов сервера в соответствующие классы.
tc filter add dev eth2 parent 1:0 prio 10 protocol ip handle 1 fw flowid 1:1
tc filter add dev eth3 parent 2:0 prio 10 protocol ip handle 2 fw flowid 2:1

tc filter add dev eth2 parent 1:0 prio 10 protocol ip handle 3 fw flowid 1:2
tc filter add dev eth3 parent 2:0 prio 10 protocol ip handle 4 fw flowid 2:2

tc filter add dev eth2 parent 1:0 prio 10 protocol ip handle 5 fw flowid 1:3
tc filter add dev eth3 parent 2:0 prio 10 protocol ip handle 6 fw flowid 2:3

tc filter add dev eth2 parent 1:0 prio 10 protocol ip handle 7 fw flowid 1:4
tc filter add dev eth3 parent 2:0 prio 10 protocol ip handle 8 fw flowid 2:4

 

в iptables

iptables -t mangle -A FORWARD -d 172.19.48.35 -j MARK --set-mark 7

это одно правило в действительности их примерно 60

Когда стоит одно правило ограничение работает нормально, как только количество правил увеличивается появляются задержки большие.

Как сделать правильно и без задержек?

  • 4 weeks later...
Posted

Все дело в том, что ты, создавая класс, выделяешь полосу 64, 128..... Так вот загоняя всех маркировкой в один класс, ты заставляешь tc выделять на них всех одну общую полосу. Вот и тормоза. Мы на каждый ip создаем отдельный класс.

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 и с Политикой конфиденциальности.