Top > Linux BridgeでIngressフィルタを使った帯域制御

キーワード: ingress tc br0 bridge filter QoS フィルタ イングレス 帯域制限


やりたいこと

  • LinuxのBridgeを流れる通信で特定のものを帯域制限したい

構成

          [Router]
             | eth1: 192.168.23.254
             |
             | eth1 (br0: 192.168.23.1)
          [Bridge]
             | eth2 (br0: 192.168.23.1)
             |
 -----------------------------------
 |                |                |
 |192.168.23.31   |192.168.23.32   |192.168.23.50-100
[Server1]       [Server2]         [Clients]
  • Bridgeで帯域制御をおこなう.
  • Server1ではApache(TCP Port80)が稼働していて, この帯域を10Mbpsに絞りたい.

必要なもの

やりかた

#!/bin/sh

tc qdisc  del dev eth2 root > /dev/null 2>&1
tc qdisc  del dev eth2 handle ffff: ingress > /dev/null 2>&1

tc qdisc  add dev eth2 root handle 1: htb
tc class  add dev eth2 parent 1:   classid 1:1   htb rate 1000Mbit ceil 1000Mbit

tc qdisc  add dev eth2 handle ffff: ingress

tc filter add dev eth2 parent ffff: protocol ip prio 8 u32 \
  match ip src 192.168.23.31 \
  match ip sport 80 0xffff \
  police rate 10Mbit burst 10k drop flowid :1

この例では, 192.168.23.31ソースポート80(HTTP)を10Mbpsに制限している.
外からのHTTPリクエストに対して, データ送出を10Mbpsに絞ることができる.


新規 編集 添付 名前変更 バックアップ   ホーム バックアップ リンク元   最終更新のRSS