各IPに対してQoSを設定するには?

各IPに対してQoSを設定するには?

私たちはすでにプライベートネットワークのユーザーが実行アドレス(NAT)を介してインターネットに接続していると述べています4。ユーザーにアクセスを提供しますが、ユーザーの帯域幅は制限しますが、他のユーザーは制限しないように構成する必要があります。Linux routerpublic IPnetwork address translationQoSInternet2

eth0:121.51.26.35
eth1:10.239.107.1

eth0Linux Routerリンクです10Mbpseth1に接続され、switchノード4がに接続されましたswitch。 1つのユーザーグループにのみ帯域幅をtc累積使用量に制限するように設定したいと思います。 (1人のユーザーがダウンロード/アップロードする場合は必ず受け取る必要があり、3人が同時にダウンロード/アップロードする場合は必ず受け取る必要があります)2 nodes(XyZ in picture)3Mbps3Mbps1MBps

まず、この要件を満たすことができるかどうかを教えてください。では、どうすればよいですか?

以下はトポロジ図です。

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

ベストアンサー1

HFSCやHTBなどのクラス認識qdiscを選択する必要があります。

次に、次のクラスツリーを構築する必要があります。

Root Class (10MBit)
|
\--- XyZ Class (rate 3Mbit ceil 3Mbit)
|    |
|    \--- Client 10 (rate 1.5Mbit ceil 3Mbit)
|    \--- Client 11 (rate 1.5Mbit ceil 3Mbit)
|
\--- Client 30 (rate 3.5Mbit ceil 10Mbit)
\--- Client 40 (rate 3.5Mbit ceil 10Mbit)

そして両方のインターフェイス(アップロードとダウンロードの設定用)

HTBを使用して予測可能な結果を​​得るには、子アイテムの合計が常に親アイテムと同じであることを確認する必要があります。したがって、ルートには10​​Mbitがあり、直系の子は同じです(Xyz 3Mbit + Client30 3.5Mbit + Client40 + 3.5Mbit == 10Mbit)。同様に、XyZには3Mbitとその子Client10 + Client11があります。

数年前、私は同様のことをするスクリプトを書いていました。

https://github.com/frostschutz/FairNAT

今日は維持されていませんが、おそらくいくつかのアイデアを得ることができます。

Linuxのトラフィック調整は無視され難しい領域であり、良い文書を見つけるのは難しいです。これが変わったのかはわかりませんが…

持つhttp://lartc.org/ (WonderShaper部分は無視してください)

およびカーネルパケット転送図http://www.docum.org/docum.org/kptd/(またFAQ)

あるいは、これが複雑すぎる場合は、ESFQなどの状態の非保存qdiscがお客様のニーズに適している可能性があります。実際、ハード帯域幅制限を適用せずにクライアント間のバランスを取ろうとします。

頑張ってください。

おすすめ記事