カーネル(モジュール)の準備
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のようにstf0に IPv6アドレスがついていればOKです.metric 0 mtu 1280 inet6 2002:c000:203::1 prefixlen 16