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