特定のネットワークインターフェイスの通信帯域を制限したいとき、
カーネルshaperを利用すると インターフェイス毎(たとえば eth0)に
帯域を制限(たとえば 50Kbit/secまで)できます。
ここで行う設定はRedHat7.3の標準カーネルにて、shaperの設定を行います。
(ISP)
|
+---------------------+
|ppp0 aaa.bbb.ccc.ddd | ← ルーター
|---------------------|
|eth1 192.168.1.254 |
+---------------------+
|
+---------------------+
|eth0 192.168.1.100| ← ここにshaperを設定して帯域を制限する。
|shaper0 192.168.1.101| パケットはすべてshaper0を通過するように
+---------------------+ ルーティングの設定も行う。
設定は極めて簡素なものです。今回設定する帯域は64000bit/sec(16Kbyte/sec)にしてみます。
- モジュールを読み込む
# modprove shaper
- shaperパラメータ設定
# shapecfg attach shaper0 eth0
# shapecfg speed shaper0 64000
- shaperインターフェイスを立てる
# ifconfig shaper0 192.168.1.101 up
- ルーティングを向け直す
# route del default
# route add default gw 192.168.1.254 dev shaper0