URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 57199
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Ограничение входящей и исходящей ск..."

Отправлено auto_tips , 25-Июл-09 03:17 
Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах.

   #!/bin/bash
   DEVICE=ppp9 UP=512 DOWN=512

   /sbin/tc qdisc del dev $DEVICE root
   /sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst $[$DOWN*1024]

   /sbin/tc qdisc del dev $DEVICE handle ffff: ingress
   /sbin/tc qdisc add dev $DEVICE handle ffff: ingress
   /sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
      police rate ${UP}Kbit burst $[$DOWN*1024] drop flowid :1


URL:
Обсуждается: http://www.opennet.me/tips/info/811.shtml


Содержание

Сообщения в этом обсуждении
"Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах."
Отправлено Valentin , 25-Июл-09 03:17 
После добавления последней строки вообще перестает ити трафик

"Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах."
Отправлено Evseniy , 25-Июл-09 03:24 
А я бы так сделал:
#!/bin/sh
DOWNLINK=512
UPLINK=512
DEV=ppp0
################ CLEAR RULES ##################################
tc qdisc del dev ${DEV} root    2> /dev/null > /dev/null
tc qdisc del dev ${DEV} ingress 2> /dev/null > /dev/null
################ EGRESS #######################################
tc qdisc add dev ${DEV} root handle 1: cbq avpkt 1000 bandwidth 3mbps
tc class add dev ${DEV} parent 1: classid 1:1 cbq rate ${UPLINK}kbps allot 1500 prio 5 bounded isolated
tc class add dev ${DEV} parent 1:1 classid 1:10 cbq rate ${UPLINK}kbps allot 1600 prio 1 avpkt 1000
tc class add dev ${DEV} parent 1:1 classid 1:20 cbq rate $((9*$UPLINK/10))kbps allot 1600 prio 2 avpkt 1000
tc class add dev ${DEV} parent 1:1 classid 1:30 cbq rate $((8*$UPLINK/10))kbps allot 1600 prio 2 avpkt 1000
tc class add dev ${DEV} parent 1:1 classid 1:40 cbq rate $((6*$UPLINK/10))kbps allot 1600 prio 2 avpkt 1000
############# ADD SFQ SHAPER ##################################
tc qdisc add dev ${DEV} parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev ${DEV} parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev ${DEV} parent 1:30 handle 30: sfq perturb 10
tc qdisc add dev ${DEV} parent 1:40 handle 40: sfq perturb 10
############# MINIMIZE DELAY ##################################
tc filter add dev ${DEV} parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff  flowid 1:10
tc filter add dev ${DEV} parent 1:0 protocol ip prio 11 u32 match ip protocol 1 0xff flowid 1:10
############# GRE #############################################
tc filter add dev ${DEV} parent 1:0 protocol ip prio 11 u32 match ip protocol 1 0xff flowid 1:10
############# UDP TRAFFIC #####################################
tc filter add dev ${DEV} parent 1:0 protocol ip prio 11 u32 match ip protocol 17 0xff flowid 1:10
############# VRRP OR SKYPE ###################################
tc filter add dev ${DEV} parent 1:0 protocol ip prio 112 u32 match ip protocol 17 0xff flowid 1:40
############# TCP #############################################
tc filter add dev ${DEV} parent 1: protocol ip prio 12 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 flowid 1:10
############## PRIO FOR GAMES #################################
tc filter add dev ${DEV} parent 1: protocol ip prio 1 u32 match ip dport 2106 0xffff flowid 1:10
tc filter add dev ${DEV} parent 1: protocol ip prio 1 u32 match ip dport 7777 0xffff flowid 1:10
############# LOW PRIO ########################################
tc filter add dev ${DEV} parent 1: protocol ip prio 14 u32 match ip dport 411 0xffff flowid 1:30
tc filter add dev ${DEV} parent 1: protocol ip prio 15 u32 match ip sport 411 0xffff flowid 1:30
tc filter add dev ${DEV} parent 1:0 protocol ip prio 10 u32 match ip protocol 17 0xff match ip sport 4666 0xffff flowid 1:30
############# DEFAULT PRIO ####################################
tc filter add dev ${DEV} parent 1: protocol ip prio 18 u32 match ip dst 0.0.0.0/0 flowid 1:20
################# INGRESS #####################################
tc qdisc add dev ${DEV} handle ffff: ingress
tc filter add dev ${DEV} parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNLINK}kbps burst 10k drop flowid :1
############# END #############################################

"Ограничение входящей и исходящей скорости (shaping) для клие..."
Отправлено Andrei , 09-Фев-11 23:56 
Большое спасибо Evseniy!
Работает прямо из коробки!
Начало вашего скрипта использую так же для снятия ограничений!

"Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах."
Отправлено Evseniy , 25-Июл-09 03:31 
а лучше конечно ifb/imq

"Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах."
Отправлено Valentin , 25-Июл-09 03:37 
а, нет. Все норм. Только при добавлении последней строки пишет ошибку Illegal filter ID.
В чем проблема?


"Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах."
Отправлено belenkiy12 , 13-Сен-11 16:07 
а как все это сделать? пожалуйста подскажите((((