freebsd 7 + ipfw で 帯域制限

自分用メモ。かなり乱暴書きなので注意。

freebsd 7.2 にて作業。
ipfwが利用できない場合はkernelコンパイルが必要。
追加オプションは各自ぐぐる。

vi /etc/rc.conf
dummynet_enable=”YES”
firewall_enable=”YES”
firewall_type=”open”
firewall_quiet=”NO”

を追加。
firewall_type が open なので初期起動の制限は無い。
ちなみに、いきなり kldload ipfw とかやるとall denyとなって、泣きながらデータセンタにいくハメになるので注意。

vi /etc/rc.firewall
>${fwcmd} add 65000 pass all from any to any
を検索。
その前に追加すれば良い。

例えば、192.168.0.0 セグメントの80番ポートへの接続、そこからanyへのout boundに制限を掛ける。
制限は10Mbit/s とした場合は以下の様に記載。

vi /etc/rc.firewall
${fwcmd} add 100 pipe 1 ip from 192.168.0.0/24 80 to any out
${fwcmd} pipe 1 config bw 10Mbit/s

これで保存する。
ちなみに帯域制限は、 dummynet が無いと利用できないので、 kldload dummynet が必要。
但し、rc.conf に書いて再起動すれば ipfw と共に自動でロードしてくれる。

/etc/rc.d/ipfw start

で起動できる。
個人的には面倒でも再起動して制限がしっかり掛かるか確認した方が良いと思う。
後でリモート接続メンテで再起動した際に、all deny となって泣きを見ない為に。

ipfw pipe show

で状況の確認ができる。

freebsd 7 + ipfw で 帯域制限」に1件のコメントがあります

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください