HEnetのトンネルブローカを用いて/48を自由に使えるIPv6環境を構築する ~EdgeRouter編~ 2020年3月15日


TL;DR

  • IPv4しかない環境においてIPv6 over IPv4 tunnelを用いてIPv6な環境を構築する
  • EdgeRouterを用いた場合の事例について紹介する
  • HEnetが提供するtunnelbrokerを用いて実現する

内容

IPoEなどにより身近になりIPv6環境はかなり身近になりつつある.
一方,アパートに付随する無料インターネットなどにおいては,IPv4のみの提供となる場合も多い.あるいは,光電話を契約しないと/64のみが割り当てられるためサブネットを作るときにRAできないケースもあるだろう.
そこで,本記事では,IPv6 over IPv4 tunnelを用いて/48を自由に用いることのできるIPv6環境の構築について取り上げる.なお,EdgeRouterを用いて構築する.

なおHEnet等IPv6 over IPv4 tunnelを用いてIPv6で通信を行う場合,IPアドレスベースで地域判定を行うサービスにおいてはHEnetから割り当てられたアドレスから海外判定をされるケースがあるため注意する必要がある.

tunnel brokerとは

tunnelbrokerはHEnetが提供するIPv6 over IPv4 tunnelである./64に加え,/48のアドレスを無料で割り当ててくれるサービスである.
登録の方法としては,https://tunnelbroker.net から登録・tunnelの作成を行い,その後Web UI上で/48のassignを行えばよい.
なお,tunnelの作成においては,こちら側のIPアドレス (tunnelのendpoint) となるIPv4アドレスを指定する必要がある. HEnet側のtunnel endpointは世界各地から選択可能であり,日本においては東京にも存在する.

以後,以下のような表記でそれぞれのIPアドレスを示すこととする.

a.b.c.d こちら側のtunnel endpoint
e.f.g.h HEnet側のtunnel endpoint
2001:470:i:j::/64 HEnetから 割り当てられた/64
2001:470:k::/48 HEnetから割り当てられた/48

構築の流れ

まず,tunnelの作成を行う.なお,HEnetから各ルータにおけるtunインターフェース作成のためのconfig例が提供されており,それを用いるとよい.(次のconfigも提供されたものとほぼ同じである.)
EdgeRouter/VyOSのほかにもCisco IOSやJuniper JunOSなど様々なconfig例が提供されていて非常に便利である.

edit interfaces tunnel tun0
set address 2001:470:i:j::2/64
set encapsulation sit
set local-ip a.b.c.d   
set remote-ip e.f.g.h
top

次にlocal networkのinterfaceへのIPv6アドレスの割り当てと,そのlocal networkへRAを行う設定の追加を行う.ここではeth1に設定する.また割り当てられた/48のうち1::/64をRAすることにする.

edit interfaces ethernet eth1
set address 2001:470:k:1::1/64
set router-advert prefix 2001:470:k:1::/64
top

あとはcommitすればよい.

commit

その後local networkにあるノードにIPv6が割り当てられるようになるだろう.
Firewallを設定している場合はよしなに設定を変更する必要がある.

Leave a Reply