NetBSDでZOOT NATIVE固定IPv4プラン

結構設定に時間がかかったが、結果わかれば簡単だった。まとめると

  1. dhcpcdで物理NICにv6アドレスをもらう(rtadv)
  2. 物理NICにトンネル用のIPv6アドレスをつける
  3. gifインタフェースを1つ作ってトンネル設定する

の3ステップでつながる。簡単。BSDらぶ。ただ、 1のIPv6アドレスをもらってくるのに変な設定してて苦労した。

前提

以下の点を確認。

うちはすでにINTERLINKのZOOT NEXT IP8を申し込んでいるが併用も可能。

手順

申込みが済んで、送られてきた必要な情報をもとに設定する。 もちろん以下はすべてBSDの場合。NetBSDだがFもOもほぼ同じはず。

例として以下のパラメータとする。

物理NICデバイスre0
gifインタフェースgif0
固定IPトンネル終端装置IPv6アドレス 2404:XXXX:YYYY::feed:ZZZZ
インターフェースID::feed
グローバル固定IPv4アドレスAA.BB.CC.DD

IPv6アドレス設定

すでにNTTフレッツの独自網サービスにつないでいる場合はついているが PPPoEしか使っていない人は設定していないはず。

dhcpcd -6Bd --nodhcp6 re0

でサクっとアドレスが付けばもう勝ったも同然。 ついたアドレスのχ64ビットを送られてきたパラメータのインタフェースIDにする。 つまり、勝手についたIPv6アドレスが

2409:xxxx:yyyy:zzzz:なんちゃらかんちゃら/64

だとしたら、こちらの終端IPv6アドレスは

2409:xxxx:yyyy:zzzz::feed/64

にする。これを /etc/ifconfig.re0 に書いておく。

up
inet6 2409:xxxx:yyyy:zzzz::feed/64 alias
# 2409じゃないかもよあくまでも一例
dhcp

最後のdhcpは、rc.confでre0決め打ち指定するならなくてもいいかも。

トンネル設定

gif(4)インタフェースでこちらの固定IPアドレスを仕込んでトンネル設定する。 /etc/ifconfig.gif0 に書く形式だとこう。

create
up
# gifならmtu1500でいいはず。デフォルトだとNATでMSS問題が出る。
mtu 1500
# 互いのトンネル終端アドレスを書く
tunnel 2409:xxxx:yyyy:zzzz::feed/64 2404:XXXX:YYYY::feed:ZZZZ
# もらった固定IPv4アドレスを書く
inet AA.BB.CC.DD 192.0.0.1 netmask 255.255.255.255
# すでにdefaultがあった場合に備えてaddのあとchangeもする
!route add default 192.0.0.1
!route change default 192.0.0.1

rc.confへ

/etc/rc.conf に物理インタフェースへのdhcpcd 起動だけ足せばよい。今回の例ならこんな感じ。

dhcpcd=YES
dhcpcd_flags="-q6b --nodhcp6 re0"

再起動して固定IPv6アドレスと、固定IPv4アドレスへの通信ができればOK。