Lambdaカクテル

集団への盲従を激しく嫌う

FreeBSD11.1とDS-lite(IIJmio)でIPv6ルータを作った(接続編)

ついにipv6環境を構築することができたので備忘録を残しておきたい.ひとまずIPv6ネットに接続するまでの内容がまとまったので記録する.続きはまた後日書く.

状況

フレッツ光ネクストをIPoEで契約し,IIJmio FiberAccess/NFを契約した.

この契約により,家の回線終端装置にIPv6アドレスが64ブロック付与される.IPv4アドレスは付与されないのでIPv4インターネットには直接接続できないが,DS-liteの設定を行うかPPPoEを使うかのどちらかの方法でIPv4インターネットに接続できる.PPPoEではグローバルアドレスが付与されるが,よく混むので速度が遅くなるかもしれない.DS-liteではPPPトンネルを介しないので,高速な接続が期待できる.

Specs

  • FreeBSD 11.1 RELEASE, 64bit
  • Gigabit NIC
    • em0
    • igb0

結果

スピードテストを行ったところ,すくなくとも100Mbpsは出ているようだ.今家には100Mbpsまで出る機器しかないので,そこで打ち止めになっている.アマゾンでスイッチを買ったので,また後程速度を測定したい.快適にインターネットができている.

IPv6アドレスを受信する

rtsoldをインストールしておく

# pkg install rtsold

rc.confを開き,FreeBSDマシンにIPv6アドレスを割り振る設定を行う.ここではem0はインターネットに接続されている側のNICである.

# rc.conf

# 全てのインターフェイスでIPv6を有効にする
ipv6_activate_all_interfaces="YES"

# em0インターフェイスにIPv6アドレスを割り当て,router advertisement(rtadv, RA)を受け付ける
ifconfig_em0_ipv6="inet6 accept_rtadv"

# Router Solicitation Daemonをem0で待機させる
rtsold_enable="YES"
rtsold_flags="em0"

accept_rtadvとしたことで,em0がRAを受信したときにこれを使ってアドレスを自動設定できるようになる.IPv4でいうところのDHCPを指定するのに似ている.

rtsoldはRouter Solicitation(ルータ要請)メッセージを発信するデーモンだ.これを受信したIPv6ルータは,自分の情報を広告(Router Advertisement)し,これを受信したNICSLAACと呼ばれる手続きによりアドレスを設定することができる.ルータ要請と広告についてはJPNICのページを参照するとよい.rtsoldに特段の設定は不要で,インターフェイスを指定すれば正しく動作する.

ここで一度再起動し,2001:4860:4860::8888(Google public IPv6 DNS)などのアドレスにpingが通ることを確認する.pingが通ればFreeBSDマシンはIPv6インターネットに接続している.

IPoE接続ではPPPによる認証が介在しないので,アドレスが受け取れた時点ですぐにインターネットに接続できる.おそらく,認証は回線終端装置が行っているのだろう.

続編鋭意執筆中dekita

windymelt.hatenablog.com