ウェブサイト検索

WonderShaper - Linux でネットワーク帯域幅を制限するツール


Wondershaper は、Linux のネットワーク帯域幅を制限できる小さな bash スクリプトです。トラフィック制御を構成するバックエンドとしてtc コマンド ライン プログラムを使用します。これは、Linux サーバーの帯域幅を制御するための便利なツールです。

最大ダウンロード レートおよび/または最大アップロード レートを設定できます。さらに、設定した制限をクリアしたり、コマンド ラインからインターフェイスの現在のステータスを表示したりすることもできます。 CLI オプションを使用する代わりに、systemd の下でサービスとして永続的に実行できます。

この記事では、Linux システムでネットワーク帯域幅を制限するためにwondershaper をインストールして使用する方法を説明します。

Linux システムに Wondershaper をインストールする方法

まず、図に示すように、Linux ディストリビューション パッケージ マネージャーを使用してデフォルトのレパートリーからwondershaper をインストールすることから始めます。


sudo apt install wondershaper  [On Debian/Ubuntu]
sudo yum install wondershaper  [On CentOS/RHEL]
sudo dnf install wondershaper  [On Fedora 22+]

あるいは、最新のアップデートを取得してインストールするには、wondershaper の GitHub リポジトリをシステムに複製し、ローカル リポジトリに移動して、次のコマンドを使用してインストールする必要があります。 git コマンド ライン ツールがインストールされている必要があることに注意してください。

cd bin
git clone https://github.com/magnific0/wondershaper.git
cd wondershaper
sudo make install

wondershaper の使用を開始する前に、まず ifconfig または ip コマンドを使用してマシンに接続されているすべてのネットワーク インターフェイスを確認する必要があります。

これは、帯域幅の使用状況を調整するインターフェイス (たとえば、アクティブなワイヤレス インターフェイス wlp1s0 など) を知るのに役立ちます。

ifconfig 
OR
ip addr

Wondershaper を使用して Linux のネットワーク帯域幅を制限する方法

インターフェイスの最大ダウンロード レートを Kbps 単位で定義するには、オプション -a (インターフェイスを定義) と -d ( Kbps を定義します)、つまり、ダウンロード レートは4Mbpsに設定されます。

wondershaper -a wlp1s0 -d 4048

インターフェイスの最大アップロード レートを Kbps 単位で設定するには、次のように -u オプションを使用します。

wondershaper -a wlp1s0 -u 1048

たとえば、1 つのコマンドでダウンロードとアップロードを一度に設定することもできます。

wondershaper -a wlp1s0 -d 4048 -u 1048

-s オプションを使用すると、インターフェイスの現在のステータスを表示できます。

wondershaper -sa wlp1s0 

たとえば、iPerf – ネットワーク スループット ツールを使用して、wondershaper による帯域幅の削減をテストすることもできます。

-c フラグを使用して、インターフェイスに設定したダウンロードまたはアップロードの制限をクリアできます。

wondershaper -ca wlp1s0

また、wondershaper をサービスとして実行することも可能で、設定ファイルで帯域幅を形成するためのパラメータを定義します。これにより、次のセクションで説明するように、wondershaper がブート時に起動し、システムがオンのときは常に帯域幅の使用を制限できるようになります。

Systemd で Wondershaper を永続的に実行する方法

このモードでは、/etc/conf.d/wondershaper にあるWondershaper 構成ファイルでインターフェイス、アップロードおよびダウンロードのレートを設定する必要があります。図に示すように、お気に入りの CLI エディターを使用して、このファイルを開いて編集できます。

sudo vim /etc/conf.d/wondershaper 

必要なパラメータを次のように定義します。

[wondershaper]
Adapter
IFACE="wlp1s0"

Download rate in Kbps
DSPEED="4048"

Upload rate in Kbps
USPEED="512"

ファイルを保存して閉じます。

次に、wondershaper サービスを一時的に開始し、systemctl コマンドを使用してシステム起動時の自動起動を有効にし、そのステータスを表示します。

sudo systemctl start wondershaper
sudo systemctl enable wondershaper
sudo systemctl status wondershaper

構成ファイル内のパラメータの値を変更した場合、 変更を有効にするにはワンダーサービスを再起動する必要があります。

sudo systemctl restart wondershaper

wondershaper サービスを停止するには、次のコマンドを使用します。

sudo systemctl stop wondershaper

詳細については、Wondershaper Github リポジトリを参照してください: https://github.com/magnific0/wondershaper

Wondershaper は、Linux システム上のネットワーク帯域幅を制限するためのトラフィック シェーパーです。試してみて、以下のフィードバック フォームからご意見をお聞かせください。同様のツールをご存知の場合は、コメント欄でお知らせいただければ幸いです。