Linuxルーターを通過する個々の接続を遅くしますか?


8

私たちのオフィスのルーター/ファイアウォールとして機能するLinuxサーバーがあります。ときどき、誰かがすべての帯域幅を占有する大きなファイルをアップロードします。複雑なルールやトラフィックシェーピングを実装したくないのですが、単一の接続をその場で遅くする方法があるかどうか疑問に思っていますか?私はtcpniceを見つけましたが、私のテストでは転送を遅くしていません。

回答:


6

トラフィックシェーピングがシェルとアクティブアップロードの両方のトラフィックを適切にシェーピングしない場合(私は可能だと思いますが、確実ではありません)、次のことができます。

a)2つのポートでsshを実行します。1つはファイル転送用、もう1つは対話型作業用です。

b)sshレートの合計を制限する-唯一の問題は、リンクのアップロード容量をいっぱいにして、レートを50kbpsなどに制限すると、sshがインタラクティブにうまく機能する場合です(これにより、ユーザーは、より大きなファイル転送に他のプロトコルを使用する必要があります) )

c)可能であれば、送信元アドレスのトラフィックを優先します

また、トラフィックシェーピングは、単一の接続がリンク全体を独占しないように、トラフィックをよりバランスよくする必要があります。

編集:bashスクリプトを使用する次に示します。sshは実際にTOSを対話型から対話型に設定することを述べているので、Wondershaperがそれを利用していると思います。

Wondershaper以外のオプションが必要な場合は、海岸壁またはpyshapeを確認してください。

ショアウォールは非常に成熟しており、柔軟性、パワー、シンプルさのバランスが優れています。


4

Wondershaperは不思議を行うことができ、設定は非常に簡単です。それ以外に、それを行うユーザーランドプログラムを見つけることができます。LinuxにはTrickleがあり、Windowsに相当するものがあるかもしれません。

しかし、実際には、トラフィックシェーピングが必要です。人々はプログラムの実行を忘れるなどです。アップロードをフルキャパシティよりもわずかに少なく制限するだけで、おそらく大きな効果が得られます。


1
私がトラフィックシェーピングで抱えている主な問題は、私の知る限り、SFTP / SCPを介したファイルのアップロードとインタラクティブなSSHセッションを区別するのに待つ必要がないことです。インタラクティブなSSHセッションを優先したいのですが、そうすることでアップロードも優先され、目的が
達成されません

2
sshはTOS TCP / IPヘッダーを使用することにより、対話型の使用(ssh)を非対話型(scp / sftp)と区別し、wondershaperはそれを使用すると考えています。
アレックス

残念ながら、Putty(インタラクティブSSHクライアント)もFilezilla(ファイル転送SFTPクライアント)もTOS TCP / IPフラグを設定していません。したがって、私のファイアウォールはそれらを区別できません。
davr

また、Wondershaperは8歳です...インターネット時代の永遠のようです。
davr

2

iptables(8)のマンページでconnrateを見てください。接続速度を一致させ、アップロードが速すぎる接続を適切なtcクラスに配置するか、ドロップまたはターピットなどを使用することで、接続を遅くすることができます。


1

リバースSquidプロキシの設定と遅延プールの設定を検討しましたか?iptablesのlimitディレクティブでこれを行うこともできます。

私があなたのリクエストで抱えている問題の1つは、すでに確立されている接続の転送速度を制限したいということです。新しい接続。既存の接続はそのままになります。

おそらく何らかのシェーパートラフィックシェーパーが必要になるという点でアレックスと同意する必要があります。インタラクティブシェルの値が適度なファイル転送よりも大幅に小さいため、1秒あたりのパケット数を確認する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.