Scyphus Draft — 6to4 on FreeBSD

FreeBSDで6to4を使う方法を紹介します. (本稿では,FreeBSD 7.1を使用しています.)

Custom Search

カーネル(モジュール)の準備

stf(4) を使います.

カーネルに組み込む場合はオプションに,

device stf
と指定して,コンパイルして下さい.

カーネルモジュールを使用する場合は,

kldload if_stf.ko
で手動で読み込めますが,GENERICカーネルを使っていれば, stfX インターフェイスを作成する際に自動的にロードされますので, /boot/loader.conf 等に設定する必要はないようです.

rc.conf の設定

# IPv6を有効にする
ipv6_enable="YES"
# stf0をIPv6ネットワークインターフェイスとして使用する
ipv6_network_interfaces="stf0"
# IPv4グローバルアドレス(自分の環境に合わせて,適宜,書き換えて下さい)
stf_interface_ipv4addr="192.0.2.3"
# 2002:IPV4:ADDR:SLAID::IFID のSLIDとIFIDを設定します.
# ここでは,IPv4アドレスは 192.0.2.3 (c000:0203)であり,
# SLAID=0,IFID=::1 を設定するので,このホストのIPv6アドレスは
# 2002:c000:0203:0000:0000:0000:0000:1
# となります.
stf_interface_ipv6_ifid="0:0:0:1" # IFID
stf_interface_ipv6_slaid="0000"   # SLAID
# IPv4 mappingを有効にする
ipv6_ipv4mapping="YES"
# IPv6のデフォルトルートを設定する.
# c058:6301 は 10進数に直すと 192.88.99.1 で,6to4ルータの anycast アドレスです.
ipv6_defaultrouter="2002:c058:6301::1"

上記のようにrc.confを設定したら, 再起動します.

$ ifconfig stf0
stf0: flags=1 metric 0 mtu 1280
	inet6 2002:c000:203::1 prefixlen 16
のようにstf0に IPv6アドレスがついていればOKです.