私は、トラフィック転送、SSHトンネリングを使用し、一部のユーザーに対して多くの帯域幅を消費するクライアントアプリケーションにOpenSSHサーバーを使用しています。 SSHポート出力またはSSH / TCP / IPセッションのトラフィックを調整し、接続されている各ユーザーにかなりの量の帯域幅を割り当てる方法はありますか?
私はこれに会った場所スクリプトを修正しましたが、発生する問題に対するより良い解決策があるかどうか疑問に思います。
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 4096kbps
tc class add dev eth0 parent 1:1 classid 1:5 htb rate 2048kbps ceil 2208kbps prio 1
tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 5 fw flowid 1:5
iptables -A OUTPUT -t mangle -p tcp --sport 22 -j MARK --set-mark 5
答え1
tc
を使用することをお勧めしますwondershaper
。デフォルトでは、発信トラフィックと着信トラフィックに最適なオプションを設定します。構文はとても簡単です。設定するデバイスが生のeth0
アップリンクおよびダウンリンクビットを計算していることを確認するだけです。通常、ネットワークプロバイダは「1Mbps」や「512Kbps」などの測定値でビットを提供するため、簡単です。疑わしい場合は、ISPにお問い合わせください。各システムにWondershaperをインストールするだけです。
sudo apt-get install wondershaper
Wondershaperをrootとして実行し、各システムに提供される帯域幅の量を確認します。
sudo wonderwhaper eth0 1000 500
上記の例では、eth0デバイスのダウンストリームは1,000キロビット、アップストリームは500キロビットに制限されています。最大の生速度と制限速度の間に少しの空きスペースを置くことをお勧めします。