質問

Linux でのネットワーク インターフェイスの制御/問い合わせについてはどこで学べますか?特定のアプリケーションのアップロード/ダウンロード速度を取得し、特定のアプリケーションに速度制限を適用したいと考えています。

特に、Python を使用してトラフィック シェーピング アプリケーションを作成するのに役立つ情報が欲しいです。

役に立ちましたか?

解決

あなたは TC のコマンドを使用しているiproute2のスイートを、したいです。 TCコマンドは、

のように見えます
tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit ceil 100Mbit quantum 1600

ここでの iproute2をを使用して、既存のPythonトラフィックシェーピング適用するます。

他のヒント

実際、アプリケーションが照合できる特定の IP アドレスやポートを使用しない限り、Linux カーネル ツールを使用してアプリケーションごとにシェーピングするのは非常に困難です。

それが事実であると仮定すると、以下を読む必要があります iptables そして特にfwmarks。についても読む必要があります tc. 。これら 2 つのツールを組み合わせると、やりたいことが実現できます。の Linux の高度なルーティングとトラフィック制御 始めるのに良い場所です。

アプリケーションが予測可能なポート/IP アドレスのセットを使用しないと仮定すると、次のようなユーザー空間シェーパーを使用する必要があります。 トリクル. 。これは、アプリケーションとカーネルの間に自身を挿入し、ユーザー空間でそのアプリケーションのトラフィックを形成します。

これらのツールに直接 Python バインディングするものはないと思いますが、Python を使用して実行可能ファイルを直接呼び出すだけでスクリプトを作成するのは簡単でしょう。

あなたのpythonを使用したい何らかの理由はありますか?前述のように、それはおそらく唯一のハンドオフはすでに、この目的のためのツールを開発することになります。 Click! modular routerとXORPなど)がすでに提供されたすべての提案を言及しない - あなたが見て回る場合は、あなたがそのようなもののためにドロップイン提供iptablestc、および他のようなものを見つけることができますやりたいです>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top