FreeBSD - dummynet
- はじめに
- dummynetを組み込んだFreeBSDカーネルの構築について解説します。
- カーネルの再構築
# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
# vi MYKERNEL
下記のオプションを追加します。
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET
# config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend && make
# make install
- 起動設定の修正
# vi /etc/rc.conf
firewall_enable="YES"
firewall_logging="YES"
- ルールの設定
# mv /etc/rc.firewall /etc/rc.firewall.orig
# vi /etc/rc.firewall
上りと下り、それぞれで帯域制御をする必要があります。
ここでは外部から自分(192.168.0.254)へのHTTP(ポート80番)アクセスを
帯域 384Kbit/sとしています。
/sbin/ipfw -f flush
/sbin/ipfw add pipe 10 tcp from any to 192.168.0.254 80
/sbin/ipfw add pipe 20 tcp from 192.168.0.254 80 to any
/sbin/ipfw pipe 10 config bw 384Kbit/s
/sbin/ipfw pipe 20 config bw 384Kbit/s
- 再起動
最後に再起動して終了です。
# shutdown -r now
- Tips
帯域制御状況の表示
# ipfw pipe list