OpenBlockSをIPv6ルータに
これはOpenBlockS(OBS266/128/16R)をIIJのIPv6トンネリング接続でルータにするために行ったことのメモです。 Debianに入れ替えたりとかせず、SSD/Linuxをそのまま使っています。 またOpenBlockS設定メニューは使用していません(do_contrib_rc はコメントアウト)。
まずはIPv4で接続
PPPoEでIIJmio(FiberAccess/SF)に接続します。
最近のLinuxシステムではpppoe-setup
コマンドで簡単にセットアップできるので
便利な世の中になったものです。
IPv6設定
ルータにするので、ルータにするのに必要な諸処の設定を行います。
# sysctl -w net.ipv6.conf.all.forwarding=1 パケット転送を行う # sysctl -w net.ipv6.conf.all.accept_ra=0 ルータ広告を受信しない # sysctl -w net.ipv6.conf.all.accept_redirects=0 リダイレクトを受け付けない
これと同等のことをブート時に行わせるには、
/etc/rc.conf
に ip6mode="router"
と書いてOKです。
IPv6アドレス割り当て
我が家の場合はISPから 2001:x:y::/48
をもらったので、
2001:x:y::2/64
をルータのIPv6アドレスとしました。これを eth0(LAN側) に割り当てます。
# /sbin/ifconfig eth0 add 2001:x:y::2/64
ブート時に設定させるゾという場合は、/etc/ifconfig.eth0
に add 2001:x:y::2/64
を書き加えると良いでしょう。
トンネル掘ってデフォルトルートの設定
トンネルを掘るには、次のようなコマンドを打ちました。
# /sbin/ip tunnel add sit1 mode sit remote トンネル先IPv4アドレス local 自分のIPv4アドレス # /sbin/ifconfig sit1 up # /sbin/route -A inet6 add default dev sit1
トンネルが開通しているかどうかを調べるには、ping6 -I sit1 ff02::1
とやると、開通していればトンネル元、トンネル先の 2つから応答があります。
ブート時に設定するには適当な場所が /etc/rc.local
くらいしか分からなかったので、ココを使いました。終わりよければ全てよし。
RAデーモンとRIPngの実行
ルータ化するのでルータ広告(Router Advertise)やルーティングの準備をしなくてはなりません。
OpenBlockSだと楽なもので、/etc/rc.conf
に次のようなものをちょこっと書くだけで準備ができます。
radvd=YES radvd_flags="eth0" # --- eth0(LAN側)にRAすればいいので zebra=YES ripngd=YES
これでブート時にzebraとripngが起動されるようになりますが、再起動せずに実行するには自前でコマンドラインから立ち上げてください(そりゃ当然だ)。
Zebraの設定
/etc/zebra.conf.sample
を zebra.conf
にコピーして
パスワードとアクセスリストの設定をしたくらい。
RIPngの設定
zebraと同じように /etc/ripngd.conf.sample
があるので
ripngd.conf
にコピーして流用しました。
そして次のものを書き加えます。
network sit1 route 2001:xxx:yyy::/64
最後に
以上でIPv6ルータの設定は完了です。 その辺のIPv6対応のウェブブラウザで KAMEのページの亀が踊っていればうまく開通しています。