私は Linux の初心者で、目標は tc コマンド (または ifconfig や iptables などの他のコマンドですが、必要ないと思います) を使用して「eth0」または「lo」の単純なトラフィック制御を作成することです。
私のカーネルは 2.6.18-238.el5 GNU/Linux で、redhat を使用しています。
私のスクリプトは次のとおりです。
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 1: htb default 10
tc class add dev $DEV parent 1: classid 1:10 htb rate $DNLD
tc filter add dev $DEV parent 1: protocol ip u32 match ip dport $input_port 0xffff flowid 1:10
$DNLD は帯域幅制限、$DEV は eth0 または lo、$input_port は制限したいポートです。
私はインターネットで多くのページを読み、これがどのように書かれるべきかを理解しましたが、この行は特定のポートを制限するのではなく、すべてのポートを制限します.
「スポーツ」も使用しようとしましたが、うまくいきません。だから私は問題が何であるかを理解していません。
もう1つの奇妙なことは、帯域幅制限が機能しているように見え、リセット行も機能しているように見えることです(これは最初の行です: tc qdisc del dev $DEV root )
しかし、それでも、私が書いた後の出力行は次のとおりです。
他の情報が必要な場合はお知らせください。どなたかお力添え頂ければ幸いです。先に感謝します。