Modified: 19 April 2008
Created: 16 April 2008
以下のページを見て、実験してみました。
http://www.aconus.com/~oyaji/tips/cbq_init.htm
cbq.initによる帯域制御 (16 April 2008)
HTTPのダウンロードの動作テスト (19 April 2008)
FTPのダウンロードの動作テスト (19 April 2008)
HTTPの帯域 (1ポートのプロトコル)を制限する方法 (19 April 2008)
FTPの帯域を制限する方法 (19 April 2008)
日付・時間で帯域制限 を変える方法 (19 April 2008)
HTTPは、アップダウン共、ポート80 を1つだけ使うので、単純な指定でよい。
以下は、1.5Mbit/秒=150KByte/秒に設定。
:
RATE=1500Kbit
WEIGHT=150Kbit
:
RULE=192.168.0.181:80,FTPのコネクション制御の ポート21 は、たいしたトラフィックはないので制限はかける必要はない。
FTPのデータ転送ポートは、20 だが、Activeモード(サーバーから接続され、ポート20からデータ転送するモード)と、Passiveモード(クライアント側からサーバーの空きポートに転送するモード)がある。
Passiveモードのポートを制限するには、vsftpdの場合、"/etc/vsftpd/vsftpd.conf"に以下を追加します。
:
pasv_enable=YES
pasv_min_port=4096
pasv_max_port=4127
"/etc/sysconfig/cbq/cbq.101.ftp"を以下のように設定します。
以下は、1.5Mbit/秒=150KByte/秒に設定。
:
RATE=1500Kbit
WEIGHT=150Kbit
:
RULE=192.168.0.181:20,
RULE=192.168.0.181:4049/0xffe0,以下のように設定します。
この設定は、最初が曜日で、1=月、5=金。午前6時から午後18時まで、256Kbitに制限する設定です。
TIME=1-5/06:00-18:00;256Kbit/25Kbit
インストールする
以下のコマンドでダウンロードします。
# wget http://jaist.dl.sourceforge.net/sourceforge/cbqinit/cbq.init-v0.7.3 インストールといってもコピーして、サービス登録すればOKです。
# mv cbq.init-v0.7.3 /etc/init.d/cbq.init
# chmod 755 /etc/init.d/cbq.init
# chkconfig --add cbq.init
設定する
設定を置く専用のフォルダを作ります。
# mkdir /etc/sysconfig/cbq "cbq-102.http"のファイル名で、以下のようなサンプルファイルを作成します。
DEVICE=eth0,100Mbit,10Mbit
RATE=1500Kbit
WEIGHT=150Kbit
PRIO=5
RULE=192.168.0.181:80,
RULE=192.168.0.181:443,この設定は、ホームページを閲覧する場合の制限(ポート 80と443、1.5Mbit/sec=150Kbyte/sec)を指定しています。
起動します
以下のコマンドでサービスを起動します。
# service cbq.init start
設定内容
設定は、ポート80 で、1500Kbit/秒=150 KByte/秒 で設定しました。
:
RATE=1500Kbit
WEIGHT=150Kbit
:
RULE=192.168.0.181:80,
実験
上記、HTTPの帯域制限の設定をしたサーバーからダウンロードして見ます。
ダイアログに、141 KByte/秒 (150 KByte/秒以下) と表示されています。
さらに、NEGiESというツールで確認して見ると、105 KByte/秒 (150 KByte/秒以下) と表示されています。
DOWN帯域に、105 KByte/秒 (150 KByte/秒以下) と表示されています。
FTPサーバーの設定
FTPで帯域を制限する場合、Passiveモードで使うポートを限定する必要があります。
vsftpdの場合、"/etc/vsftpd/vsftpd.conf"に以下を追加します。
:
pasv_enable=YES
pasv_min_port=4096
pasv_max_port=4127
この設定で、Passiveモードでは、ポート4096 から 4127の範囲で転送されるようになります。
設定内容
設定は、ポート20 と、4096〜4127 で、10Kbit/秒=1 KByte/秒 で設定しました。
:
RATE=10Kbit
WEIGHT=1Kbit
:
RULE=192.168.83.181:20,
RULE=192.168.83.181:4096/0xffe0,
実験
NextFTPで、ダイアログに、864 Byte/秒 (1 KByte/秒以下) と表示されています。
さらに、NEGiESというツールで確認して見ると、105 KByte/秒 (150 KByte/秒以下) と表示されています。
ポートは、4113 (4096〜4127の範囲内)になっています。