2008/06/27 金曜日

cbq.initによる帯域調整のネタ

Filed under: debian,NETWORK,Technology — Nis @ 12:50:23

こんなリリースが出て、なんとなくCBQ(Class-Based Queuing) 関連の検索が流行りそうな予感がしたので、ちょっとしたメモを残しておこうと思います(笑)

2003年当時のメモを見てると、当時の自分に「なんでこんなこともわからんのか?」と言いたくなります。社内で顧客用に開放していた無料LANでMXやるバカがいたりしたのでcbq.initを設定したんですよね。苦労の記憶が懐かしい

当時あれだけ苦労したcbq.initですが、今ならdebianのパッケージになってるので簡単。iprouteやtcの設定をする必要もありません。


# aptitude install shaper

で、cbq.init(と必要なパッケージ)が自動的にインストールされます。
設定は

# touch /etc/shaper/cbq-****.hoge 
 (****はclassID。2~65535の任意の数字。hogeも任意の文字列)
# vi /etc/shaper/cbq-****.hoge

DEVICE=eth0,100Mbit,10Mbit
RATE=2Mbit
WEIGHT=200Kbit 
PRIO=6 (トラフィックの優先度。値が小さいほど優先)
RULE=(送信元IPアドレス):(制限をかけたいポート番号),

# /etc/init.d/shaper start

と設定ファイルを必要な個数作ればOK。上の例は2Mbitに制限する設定。WEIGHTはRATEの1/10。スラッシュドットの記事によると流行の数字は2.84Mbpsらしいので、必要な人は適当にアレンジしてください。RULEに関しては「cbq.initはルータから出て行くパケットを帯域制御する」ことに気をつけてください。「,」(コンマ)区切りでコンマの前が「送信元IP/ネットマスク:ポート番号」、コンマの後が「送信先IP/ネットマスク:ポート番号」になります。各パラメータは省略可ですが、送信先を指定しない場合でもコンマは省略しないでください。

ルータでNATをかけてる場合は、ローカル側のIPを送信元IPとして直接登録することはできないはずです(NATでローカルIPがルータWAN側IPに変換されるため&cbq.initがルータから出て行くパケットしか制御できないため)。特に試して無いので、もしかしたらできるかもしれませんが。

 

えーっと、これは何のこと? 意味がわかんない。

【日本語でお願いします】

 という人はスルーしてください。またLinuxサーバをルータ(orファイアウォール)として使ってる人向けの記事ですので、ブロードバンドルータ使ってる人には関係ありません。

 

 追記

RULE行の無いWAN側インタフェース(ex. eth0)用のcbq設定ファイルを書けば、全アップロード帯域を制限することになるはず。


DEVICE=eth0,100Mbit,10Mbit
RATE=2.83Mbit
WEIGHT=283Kbit 

これで、何をやってもアップ帯域が2.84Mbpsを超えないOCN向けLinuxルータができるかしら? そのうち実験してみよう(笑)

1件のコメント »

  1. NTT_BizLink 障害状況

    FrontPage Todo † ↑3/26 時点 † カスケード時のパケロス、イントラフレーム多発の原因調査 (中野) サーバ経由時にパケットがなくなっていないことを確認 (トレースから) サーバ…

    トラックバック by PukiWiki (PukiWiki/TrackBack 0.3) — 2009/03/30 月曜日 @ 16:49:00

RSS feed for comments on this post. TrackBack URL

Leave a comment

29 queries. HTML convert time: 0.321 sec. Powered by WordPress $B$J$+$N$R$H(B