Jump to content

Recommended Posts

Posted (edited)

Шейпер строится из скрипта, структура шейпера взята из старого биллинга, но меня смущает несколько моментов:

 

1) если сильно урезаю скорость в default все перестает работать

2) смущает значение quantum для leaf классов

3) как правильно расчитывать rate для htb leaf классов

4) и еще вопросик кто-то упирался в ограничение iproute2 по кол-ву фильтров, у меня не получалось создать больше 2048

 

Шейпер работает вместе с NAT, ограничение доступа по ipset.

eth0 - uplink, eth1 - клиенты

 

Почему так много дропов и что бегает в default:

tc -s qdisc show dev eth1
qdisc htb 1: r2q 10 default d direct_packets_stat 23
Sent 4889245020 bytes 4175734 pkt (dropped 23821, overlimits 2336993 requeues 2) 
qdisc sfq d: parent 1:d limit 126p quantum 1514b perturb 10sec 
Sent 170780432 bytes 137826 pkt (dropped 0, overlimits 0 requeues 0) 

 

eth1

/sbin/tc qdisc add dev eth1 root handle 1: htb default d
/sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 800000000bit ceil 800000000bit quantum 800000000

/sbin/tc class add dev eth1 parent 1:1 classid 1:d htb rate 800000000bit ceil 800000000bit quantum 800000000
/sbin/tc qdisc add dev eth1 parent 1:d handle d: sfq perturb 10

/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32

1-ая подсеть

/sbin/tc filter add dev eth1 parent 1:0 handle 50: protocol ip u32 divisor 256
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 800:: match ip dst 192.168.1.0/24 hashkey mask 0x000000ff at 16 link 50:

/sbin/tc class add dev eth1 parent 1:1 classid 1:100 htb rate 256000bit ceil 80000000bit quantum 80000000
/sbin/tc qdisc add dev eth1 parent 1:100 handle 100: sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 50:be: match ip dst 192.168.1.190  flowid 1:100

/sbin/tc class add dev eth1 parent 1:1 classid 1:101 htb rate 256000bit ceil 50000000bit quantum 50000000
/sbin/tc qdisc add dev eth1 parent 1:101 handle 101: sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 50:fd: match ip dst 192.168.1.253  flowid 1:101
...

12-ая подсеть

/sbin/tc filter add dev eth1 parent 1:0 handle 61: protocol ip u32 divisor 256
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 800:: match ip dst 192.168.12.0/24 hashkey mask 0x000000ff at 16 link 61:

/sbin/tc class add dev eth1 parent 1:1 classid 1:1301 htb rate 256000bit ceil 80000000bit quantum 80000000
/sbin/tc qdisc add dev eth1 parent 1:1301 handle 1301: sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 61:b: match ip dst 192.168.12.11  flowid 1:1301

/sbin/tc class add dev eth1 parent 1:1 classid 1:1302 htb rate 256000bit ceil 2000000bit quantum 2000000
/sbin/tc qdisc add dev eth1 parent 1:1302 handle 1302: sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip u32 ht 61:4: match ip dst 192.168.12.4  flowid 1:1302

ifb0

/sbin/tc qdisc add dev eth1 ingress
/sbin/tc filter add dev eth1 parent ffff: protocol ip u32 match u32 0 0 flowid 100:1 action mirred egress redirect dev ifb0 &>/dev/null

/sbin/tc qdisc add dev ifb0 root handle 1: htb default d
/sbin/tc class add dev ifb0 parent 1: classid 1:1 htb rate 800000000bit ceil 800000000bit quantum 800000000

/sbin/tc class add dev ifb0 parent 1:1 classid 1:d htb rate 800000000bit ceil 800000000bit quantum 800000000
/sbin/tc qdisc add dev ifb0 parent 1:d handle d: sfq perturb 10

/sbin/tc filter add dev ifb0 parent 1:0 protocol ip u32

1-ая подсеть

/sbin/tc filter add dev ifb0 parent 1:0 handle 50: protocol ip u32 divisor 256
/sbin/tc filter add dev ifb0 parent 1:0 protocol ip u32 ht 800:: match ip src 192.168.1.0/24 hashkey mask 0x000000ff at 12 link 50:

/sbin/tc class add dev ifb0 parent 1:1 classid 1:100 htb rate 256000bit ceil 80000000bit quantum 80000000
/sbin/tc qdisc add dev ifb0 parent 1:100 handle 100: sfq perturb 10
/sbin/tc filter add dev ifb0 parent 1:0 protocol ip u32 ht 50:be: match ip src 192.168.1.190  flowid 1:100
...

итд

Edited by yannails

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