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


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

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

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

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

最初に、表示されているようにデフォルトのレパートリーから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 ()を使用して次のコマンドを実行します。つまり、ダウンロードレートは 4Mbps に設定されます。

$ wondershaper -a wlp1s0 -d 4048

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

$ wondershaper -a wlp1s0 -u 1048

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

$ wondershaper -a wlp1s0 -d 4048 -u 1048

-s オプションを使うと、インターフェースの現在のステータスを見ることができます。

$ wondershaper -sa wlp1s0 

また、iPerf - ネットワークスループットツールを使用して、たとえば不思議な人による帯域幅の減少をテストすることもできます。

-c フラグを使って、インターフェースに設定したダウンロードまたはアップロードの制限を解除することができます。

$ wondershaper -ca wlp1s0

設定ファイルで帯域幅を制限するためのパラメータを定義するサービスとして Wondershaper を実行することも可能です。これにより、次のセクションで説明するように、システムの電源が入っているときにワンダーシェイパーが起動時に起動し、帯域幅の使用を常に制限できるようになります。

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

このモードでは、 /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

設定ファイルのパラメータの値を変更した場合は、変更を有効にするために wonderservice を再起動する必要があります。

$ sudo systemctl restart wondershaper

ワンダーシェイパーサービスを停止するには、次のコマンドを使用します。

$ sudo systemctl stop wondershaper

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

Wondershaper は、Linuxシステムのネットワーク帯域幅を制限するためのトラフィックシェーパーです。それを試してみて、下記のフィードバックフォームで私たちとあなたの考えを共有してください。あなたがそこに似たようなツールを知っているならば、あなたは同様にコメントで私たちに言及することができます - 私たちは感謝するでしょう。