トラフィッククォータにtcを使用しますか?

トラフィッククォータにtcを使用しますか?

トラフィックに基づいてトラフィッククォータを実装することは可能ですか(比率制限ではなく絶対制限)。ネットワーク分類子cgroup

そこから見たiptables netfilter 「割当量」拡張基本的に私が望むことをするようです。指定されたインターフェイスと方向から指定されたクォータまでトラフィックを許可し、削除するか、他の操作を実行します。ただし、このクォータを特定のcgroupにのみ適用したいので、以下を使用する必要があります。net_clsモジュールトラフィックを識別します。

以下を使用して速度制限を設定できることを知っています。Linuxフロー制御(tc)クラッシュドに基づいています。適切な分類器があれば、トラフィックを減らすこともできます。 tcの絶対カウンタやiptablesがclassidに基づいてフィルタリングする方法が見つからないようです。

ベストアンサー1

フィルタリングのためにclassidに基づいてiptablesを使用できます。に例があります。net_clsモジュールあなたが提供したリンクです。

echo 0x100001 >  /sys/fs/cgroup/net_cls/0/net_cls.classid
iptables -A OUTPUT -m cgroup ! --cgroup 0x100001 -j DROP

もちろん、iptablesがより複雑なルールを持つ別のチェーンにジャンプするように例を変更できます。おそらく:

echo 0x100001 >  /sys/fs/cgroup/net_cls/0/net_cls.classid
iptables -N QUOTA
iptables -A QUOTA -m quota --quota 52428800 -j ACCEPT
iptables -A QUOTA -j DROP
iptables -A OUTPUT -m cgroup --cgroup 0x100001 -j QUOTA

おすすめ記事