Articles

magnific0 / wondershaper

Copyright

Copyright (c) 2002-2020 Bert Hubert [email protected], Jacco Geul [email protected], Simon Séhier [email protected], [email protected]

作者の個々の貢献についての情報については ChangeLog を参照してください。

About

Wonder Shaper は、ユーザがひとつまたは複数のネットワークアダプタの帯域幅を制限することを可能にするスクリプトです。 これは iproute の tc コマンドを使用することにより行われますが、その操作は非常に単純化されています。 Wonder Shaper は 2002 年に Bert Hubert によって最初にリリースされましたが、オリジナルのバージョンはコマンドラインインターフェイスを欠いていました、バージョン 1.2 でこの機能が追加されました。 バージョン 1.3 からは、CBQ の代わりに HTB キューイングが使用され、高速 (10 メガビット以上) リンクでのより良い帯域幅管理が可能になりました。 バージョン 1.4 では、改良されたイングレスシェーピング方式が実装され、 ダウンまたはアップのどちらかを制限する機能が追加されました (両方も可能です)。 オリジナルのREADMEはかなり長い文書で、もう少し背景情報を知りたい人のために、README.oldの下に保存されています。

Installation

Obtaining wondershaper

wondershaper の GitHub リポジトリをクローンして、いつでも新しい更新を取り込めるようにすることをお勧めします (もし存在すれば)。 新しいターミナルを開き、

git clone https://github.com/magnific0/wondershaper.git

これはあなたの現在のフォルダーのwondershaperをwondershaperという新しいフォルダーにクローンするものです。 ここで、

cd wondershaper

Using wondershaper

を使用してフォルダに入り、インストールせずにwondershaperを(十分な権限を持つ任意のユーザーとして)実行し、この時点で指示に従うことを停止することができます。

./wondershaper -h

プログラムはwondershaperを使用する方法に関するすべての利用可能なオプションを詳述して入力することによってwondershaperの使用説明書を表示します。 次は、整形したいインターフェイスを選ぶことです。 古いシステムでは、このコマンドは利用できないかもしれないことに注意してください。 この場合、代わりにifconfigを実行する必要があります。

整形したいネットワークインターフェイスを特定する。

次の例では、ワイヤレスインターフェイスはアップロード 4Mbps、ダウンロード 8Mbps に制限されています。

./wondershaper -a wlp4s0 -u 4096 -d 8192

もし、RTNETLINK answers: Operation not permittedあなたのユーザーアカウントには十分な権限がないというメッセージが表示された場合。

sudo ./wondershaper -a wlp4s0 -u 4096 -d 8192

システムのインストール(オプション)

簡単にインストールできるように makefile が提供されます。 wondershaperのデフォルトの場所は、/usr/binにあります。 もし、あなたのシステムにインストールしたい場合は、次のように実行します:

sudo make install

wondershaper が正しくインストールされたことを確認するには、次のように入力します:

which wondershaper

これは /usr/bin/wondershaper を返すはずです。 wondershaper の使用法」で説明したのと同じ手順を踏むことができますが、ローカル版のプログラムを実行する代わりに、各コマンドの先頭から ./ を削除してシステム版を実行するようにします。 例えば、ヘルプの説明をもう一度表示するには次のように実行します:

wondershaper -h

Persistent usage of wondershaper (optional)

先に示したレートとインタフェースを設定するコマンドラインオプションを使う代わりに、設定ファイル wondershaper.conf でこれらのパラメータを設定することが必要です。 このファイルはお好みのテキストエディタ (以下の例では vim) を使って次のように編集できます:

sudo vim /etc/systemd/wondershaper.conf

再起動時に wondershaper を確実に再起動させるために systemd サービスファイルが提供されています。 まず、wondershaper を systemd サービスとして有効にします:

sudo systemctl enable --now wondershaper.service

この方法で、wondershaper は再起動時にあなたの設定でアクティブになります。

使用方法

 wondershaper 

以下のコマンドラインオプションが使用可能です。

  • -h ヘルプを表示

  • -a <adapter> アダプタの設定

  • -d <rate> 最大ダウンロード速度 (Kbps) および/または

  • -u <rate> 最大アップロード速度 (Kbps) 設定

  • -p /etc/systemd/wonderhaper.X にあるプリセット値を使用する

  • -p wondershaper.X にあるプリセット値を使用する

  • /etc/systemd/wsk/wonderhaper.X にあるプリセット値 (Kbps) を使用する。conf

  • -c Clear the limits from adapter

  • -s Show current status of adapter

Different modes are:

 wondershaper -a <adapter> -d <rate> -u <rate> wondershaper -c -a <adapter> wondershaper -s -a <adapter>

Some examples:

 wondershaper -a eth0 -d 1024 -u 512 wondershaper -a eth1 -d 94000 -u 94000 # could be used on a 100Mbps link wondershaper -a eth1 -u 94000 # only limit upload wondershaper -c -a eth0