В моей конфигурации 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