View previous topic :: View next topic |
Author |
Message |
unaos n00b
Joined: 06 Apr 2006 Posts: 64 Location: brovary,UA
|
Posted: Fri Sep 04, 2009 6:42 am Post subject: ограничение скорости на ppp интерфейсе |
|
|
Добрый день. Сам еще не лез во все эти премудрости с tc и далее, но задача стоит и решать надо: конкретно выставить 1,5 mbit/s на входящий трафик для клиентов, которые используют vpn.
К вопросу подошел через гугл и в ip-up.d/60-shaper.sh теперь лежат следующие строчки:
Code: |
#!/bin/bash
DOWNSPEED=256
UPSPEED=1472
if [ "$(echo $4 |cut -b 1-9)" == "172.16.71" ] ; then
/sbin/tc qdisc del dev $1 root > /dev/null
/sbin/tc qdisc del dev $1 ingress > /dev/null
##### speed server->client
if [ "$UPSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1
/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k
/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1
/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2
/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500
/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
#/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
[color=red]/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 32 flowid 1:10[/color]
fi
##### speed client->server
if [ "$DOWNSPEED" != "0" ] ;
then
/sbin/tc qdisc add dev $1 handle ffff: ingress
/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1
fi
fi
|
с этим возникает 2 ньюанса:
строка выделенная красным дает ошибку illegal match
при установке UPSPEED=1536 скорость режется на уровне до 260-280 Kbit/s, т.е. 260*8=2080 kbit/s. че за нафиг? хотя, возможно, это последствия ошибки, но все-равно нужны максимально близкие к тз результаты. _________________ house of mystic lies |
|
Back to top |
|
|
vitaliy_mad n00b
Joined: 04 Sep 2009 Posts: 3
|
Posted: Fri Sep 04, 2009 7:09 pm Post subject: |
|
|
Quote: | /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 32 flowid 1:10 |
match u160x0000 0xffc0 at 2
должно быть так:
match u16 0x0000 0xffc0 at 2 |
|
Back to top |
|
|
unaos n00b
Joined: 06 Apr 2006 Posts: 64 Location: brovary,UA
|
Posted: Sun Sep 06, 2009 3:34 pm Post subject: |
|
|
спасибо, но результаты все-равно ужасные - ниже 309 kbit/s в iptraf так и не опускается
а команда Code: | tc qdisc add dev ppp0 root tbf rate 184kbit burst 1kb latency 70ms minburst 1400 |
вообще ниже 409 kbit/s спустить не может
Code: |
eth1 Link encap:Ethernet HWaddr 00:02:44:3f:c4:4a
inet addr:10.21.60.163 Bcast:10.21.60.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34616624 errors:0 dropped:0 overruns:0 frame:0
TX packets:13061307 errors:0 dropped:0 overruns:6 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2125304010 (1.9 GiB) TX bytes:1224155378 (1.1 GiB)
Interrupt:10 Base address:0x2000
eth2 Link encap:Ethernet HWaddr 00:02:44:bf:fb:5d
inet addr:172.16.72.3 Bcast:172.16.72.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5501112 errors:0 dropped:0 overruns:0 frame:0
TX packets:4738133 errors:0 dropped:0 overruns:6 carrier:0
collisions:0 txqueuelen:1000
RX bytes:698812076 (666.4 MiB) TX bytes:2795389733 (2.6 GiB)
Interrupt:10 Base address:0xa000
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.16.71.1 P-t-P:172.16.71.21 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:97145 errors:0 dropped:0 overruns:0 frame:0
TX packets:55467 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:78980757 (75.3 MiB) TX bytes:11111327 (10.5 MiB)
|
eth1 - слушает pptpd - клиентская зона
eth2 - uplink _________________ house of mystic lies |
|
Back to top |
|
|
|