iptables と tc はアップロードとダウンロードの両方を制限します

iptables と tc はアップロードとダウンロードの両方を制限します

iptables と tc には次の設定がありますが、1GB のクォータに達するとアップロード速度が 2M ビットに制限されます。

iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m 所有者 --uid-owner aaron -m クォータ --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 dev eth0 ルートハンドル 1:0 htb デフォルト 99 を追加

tc クラス追加 dev eth0 親 1:0 クラス ID 1:1 htb レート 1024Mbit ceil 1024Mbit

tc クラス追加 dev eth0 親 1:1 クラス ID 1:11 htb レート 2Mbit ceil 2Mbit 優先度 2

tc qdisc dev eth0 親 1:11 ハンドル 10: sfq パーターブ 10 を追加

完璧に動作しますが、いろいろ検索して適切なルールを設定しようとしましたが、惨めに失敗しました。

制限するだけでいい両方アップロードとダウンロード組み合わせたしたがって、それぞれの使用量に関係なく、アップロードとダウンロードの両方を 1 つのクォータとして割り当てる必要があります。ダウンロードが 1 GB であっても、アップロードが 1 GB でそれぞれ 500 MB であっても、クォータは 1 GB にする必要があります。合計 1 GB が使用されると、ダウンロードとアップロードの両方の速度が 2 Mbit に制限されます。

困難は、さまざまなパケットを結合した合計として処理する場合 (PREROUTING と POSTROUTING) に発生します。

iptables -N を使用して一連のルールを使用し、それにクォータを割り当てる必要がありますか?

助けてください!

関連情報