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

iptables и tc ограничивают одновременно загрузку и загрузку

У меня есть следующее для 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 и использовать цепочку правил, а затем назначить эту квоту?

Пожалуйста помоги!