У меня есть следующее для iptables & tc, но оно ограничивает скорость загрузки до 2 Мбит после достижения квоты в 1 ГБ.
iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner --uid-owner aaron -m quota --quota 1073741824 -j ACCEPT
iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner --uid-owner aaron -j CLASSIFY --set-class 1:11
tc qdisc add dev eth0 корневой дескриптор 1: 0 htb по умолчанию 99
tc class add dev eth0 parent 1: 0 classid 1: 1 htb rate 1024Mbit ceil 1024Mbit
tc class add dev eth0 parent 1: 1 classid 1:11 скорость htb 2Mbit ceil 2Mbit prio 2
tc qdisc add dev eth0 parent 1:11 handle 10: sfq perturb 10
Он работает отлично, но после долгих поисков и попыток установить правильные правила я с треском провалился.
Мне просто нужно ограничить ОБЕ загрузка и загрузка комбинированный. Таким образом, независимо от использования каждого из них, мне нужно назначить и загрузку, и загрузку как одну квоту вместе. Будь то 1 ГБ загрузки или 1 ГБ загрузки по 500 МБ каждый, мне нужно, чтобы квота составляла 1 ГБ. И как только будет использован 1 ГБ, скорость загрузки и выгрузки должна быть ограничена 2 Мбит.
Сложность связана с обработкой разных пакетов в совокупности (PREROUTING & POSTROUTING).
Должен ли я использовать iptables -N и использовать цепочку правил, а затем назначить эту квоту?
Пожалуйста помоги!