
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 を使用して一連のルールを使用し、それにクォータを割り当てる必要がありますか?
助けてください!