Ubuntu18.04 で特定のポートの帯域幅を制限する問題

Ubuntu18.04 で特定のポートの帯域幅を制限する問題

10001-10002 の 2 つのポートでリッスンする SOCKS プロキシ サーバーをセットアップしました。

ポート 10001 は匿名ユーザーに提供されています。したがって、最大帯域幅を 1 MB/秒に制限し、ポート 10002 の最大帯域幅を 10 MB/秒に制限します。

私はここで答えに従いました CentOS 7 で特定のポートの帯域幅を制限しますか?

ユーザーABは2つの方法を示してくれたので、最初の方法を試しました単純で粗雑アプローチ。

最終的に奇妙な結果が得られました。手順は次のとおりです。

  1. サーバー側でシェルコードを入力します (Ubuntu 18.04):

    tc qdisc add dev eth0 ingress handle ffff:
    tc filter add dev eth0 ingress protocol ip basic match 'cmp(u16 at 2 layer transport eq 33322)' action police rate 8mbit burst 256k
    
  2. Ubuntu 18.04 で iperf3 サーバー モデルをセットアップします。

    iperf3 -s -p 33322
    
  3. Windows 10 では、iperf3 クライアント (1Gbit 帯域幅の同じローカル ネットワーク内の Ubuntu と Windows 10) を実行しています。

    iperf3 -c <my server ip> -p 33322
    

以下にクライアントとサーバーのスクリーンショットを示します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ネットワークは接続開始時にのみ速度が出ますが、その後速度がゼロになってしまうようですが、その理由はわかりません。

その後、Ubuntu のポート 22 で帯域幅を制限し、Windows 10 で sFTP を使用して大きなファイルをアップロードしました。結果は同じで、接続開始時の速度は約 100 kB/秒ですが、その後速度はゼロに達するまで低下します。

関連情報