есть канал 8/1.
в сети несколько десятков пользователей.
Для 6 из них нужно ограничить полосу:
для четырех пользователей: 1мбитс/0.2мбитс
для двух пользователей: 2мбитс/0.3мбитс
остальной канал - для все остальных ))
ррр200 - смотрит в инет.
пользователи коннектятся по впн и получают ип из пула 172.16.100.0/24
вот что сделано:
Код: Выделить всё
TC="/sbin/tc"
PPP_IFACE="ppp200"
SHAPE_1_02M="172.16.100.16/28"
SHAPE_2_03M="172.16.100.1/28"
# Stop shaper
$TC qdisc del dev $PPP_IFACE root
$TC qdisc del dev $PPP_IFACE ingress
# Down traffic
$TC qdisc add dev $PPP_IFACE handle ffff: ingress
$TC filter add dev $PPP_IFACE parent ffff: protocol ip prio 50 u32 match ip dst $SHAPE_1_02M police rate 1mbit burst 12k drop flowid :1
$TC filter add dev $PPP_IFACE parent ffff: protocol ip prio 50 u32 match ip dst $SHAPE_2_03M police rate 2mbit burst 12k drop flowid :1
$TC filter add dev $PPP_IFACE parent ffff: protocol ip prio 50 u32 match ip dst 0.0.0.0/0 police rate 6mbit burst 12k drop flowid :1
# Up traffic
$TC qdisc add dev $PPP_IFACE root handle 1: htb
$TC class add dev $PPP_IFACE parent 1: classid 1:1 htb rate 1000kbit
$TC class add dev $PPP_IFACE parent 1:1 classid 1:10 htb rate 200kbit
$TC class add dev $PPP_IFACE parent 1:1 classid 1:20 htb rate 300kbit
$TC class add dev $PPP_IFACE parent 1:1 classid 1:30 htb rate 500kbit
$TC filter add dev $PPP_IFACE protocol ip parent 1:0 prio 1 u32 match ip src $SHAPE_1_02M flowid 1:10
$TC filter add dev $PPP_IFACE protocol ip parent 1:0 prio 1 u32 match ip src $SHAPE_2_03M flowid 1:20
$TC filter add dev $PPP_IFACE protocol ip parent 1:0 prio 1 u32 match ip src 0.0.0.0/0 flowid 1:30Когда что-то качаем с инета, то больше 2Мбита не получаем - так и должно быть.
Но когда пробуем что-то отдать(пробовал на фтп заливать ) больше 20кбит получить не удалось...
Экспериментировал с адреса 172.16.100.1
Подскажите где ошибка..