FreeBSD-2.2.8 + KAME(STABLE) + IPFILTER で IPv6!
1. 用意するもの (材料)
FreeBSD-2.2.8-RELEASE
KAME-STABLE-20000704 … 2.2.8用としては、最後のSTABLE版だそうです。
IP-Filter 3.4.7
2. 作業手順
(1) FreeBSD-2.2.8 のインストール
カーネルのソースはkame-stableのを使いますので、別途インストール不要。
【 IP-Filter の NAT を使う場合 】
IP-Filter の IPv4フィルタ / NAT 機能を使う場合には、やっぱりソースを展開。
(2) KAME と IPFilter のソースを展開
# tar zxvf kame-20000704-freebsd228-stable.tgz
# tar zxvf ip-fil3.4.7.tar.gz
(3) KAME のソースツリーに IPFilter の差分をあてる
# cd kame/freebsd2/sys/netinet/
# ng in_proto.c (ip_fil3.4.7/FreeBSD-2.2/in_proto.c.diffs 参照)
# ng ip_input.c (ip_fil3.4.7/FreeBSD-2.2/ip_input.c.diffs 参照)
# ng ip_output.c (ip_fil3.4.7/FreeBSD-2.2/ip_output.c.diff 参照)
(4) KAME ツリー内でシンボリックを作成
# cd ../../../
# make TARGET=freebsd2 prepare
(5) KAME の kernel を make する
# cd freebsd2/sys/i386/conf/
# cp GENERIC.v6 HOGEHOGE
# ng HOGEHOGE
で、以下の3行を追加。
> options IPFILTER_LKM
> options IPFILTER_LOG
> options IPFILTER
# compile HOGEHOGE
# cd ../../compile/HOGEHOGE
# make depend
# make
# make install
(6) KAME の User Land を make する
# cd ../../../
# make includes
# make install-includes
# make
# make install
# fastboot
以上で、再起動すればIPv6-readyなFreeBSD-2.2.8になります。
(7) IP Filter の loadable module を make する
# cd ip_fil3.4.7/
# make freebsd22 IPFILKERN=HOGEHOGE
# make install-bsd
カーネルに作成したモジュールをロードするには
# modload /lkm/if_ipl.o
とします。
NAT(Redirection)機能を利用するには、その後に
# ipnat -f
とします。設定内容はとりあえず、IP-Filterのソースツリー内にあるものを参考にしてみて下さい。そのうち、定義例も載せたいと思います。
(8) ALTQを使って帯域制御などを行う
もし、altqを初めて使うならデバイスを作成します。
# cd kame/kame/kame/etc/
# sh MAKEDEV.altq all
その後、/etc/altq.confを設定してからaltqdを起動します。
# /usr/local/v6/sbin/altqd