Назад | Перейти на главную страницу

Совместное использование равной пропускной способности HTB для каждого IP-адреса в одном классе

В моей конфигурации tc (показанной ниже) в одном классе вся полоса пропускания распределяется между соединениями поровну, но я хочу равномерно распределять пропускную способность между всеми IP-адресами.

Сейчас:

192.168.0.2 - 38KB/s
192.168.0.2 - 38KB/s
192.168.0.2 - 37KB/s
192.168.0.3 - 39KB/s
192.168.0.4 - 40KB/s

Ожидается:

192.168.0.2 - 23KB/s
192.168.0.2 - 21KB/s
192.168.0.2 - 22KB/s
192.168.0.3 - 63KB/s
192.168.0.4 - 65KB/s

Возможно ли без создания класса для каждого IP-адреса? Потому что мне нужно управлять большими подсетями, например 10.0.0.0/8.

Это мои правила iptables

ipset add src_set 10.0.0.0/16
ipset add dst_set 192.168.0.0/16

-A FORWARD -m set --match-set src_set src -m set --match-set dst_set dst -j CLASSIFY --set-class 0001:0011

Это мои правила tc

~# tc class show dev eth1
class htb 1:10 parent 1:2 leaf 10: prio 3 rate 1000Mbit ceil 1000Mbit burst 126375b cburst 126375b
class htb 1:2 root rate 1000Mbit ceil 1000Mbit burst 126375b cburst 126375b
class htb 1:11 parent 1:2 prio 3 rate 1000Kbit ceil 3000Kbit burst 1725b cburst 1974b

~# tc filter show

~# tc qdisk show
qdisc htb 1: root refcnt 2 r2q 10 default 10 direct_packets_stat 0
qdisc sfq 10: parent 1:10 limit 127p quantum 1514b perturb 10sec
qdisc sfq 11: parent 1:11 limit 127p quantum 1514b perturb 10sec