Задача: разграничить трафик по приоритетам согласно IP-адресов. Для этого использую htb и пишу такой скрипт, который создаёт 3 полосы и в 1-ю (11) пускает всё от 192.168.0.2,3,17,18,131; в 3-ю (13)- всё от 192.168.10.2; а во 2-ю (12) - весь неклассифицированный трафик. Канал - 64 kbit/s. Проблема в том, что весь трафик уходит во 2-ю полосу :( Как это поправить? Спасибо.
#!/bin/bash p=/sbin $p/tc qdisc add dev eth1 root handle 1: htb default 12
$p/tc class add dev eth1 parent 1: classid 1:1 htb rate 64kbit ceil 64kbit
$p/tc class add dev eth1 parent 1:1 classid 1:11 htb rate 40kbit prio 0 $p/tc class add dev eth1 parent 1:1 classid 1:12 htb rate 32kbit ceil 64kbit prio 1 $p/tc class add dev eth1 parent 1:1 classid 1:13 htb rate 10kbit ceil 64kbit prio 1
$p/tc qdisc add dev eth1 parent 1:11 handle 110: sfq perturb 10 $p/tc qdisc add dev eth1 parent 1:12 handle 120: sfq perturb 10 $p/tc qdisc add dev eth1 parent 1:13 handle 130: sfq perturb 10
U32="$p/tc filter add dev eth1 parent 1:0 protocol ip prio 0 u32" $U32 match ip src 192.168.0.2/32 flowid 1:11 $U32 match ip src 192.168.0.3/32 flowid 1:11 $U32 match ip src 192.168.0.17/32 flowid 1:11 $U32 match ip src 192.168.0.18/32 flowid 1:11 $U32 match ip src 192.168.0.131/32 flowid 1:11
U_32="$p/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32" $U_32 match ip src 192.168.10.2/32 flowid 1:13