ipv6専用ddnsがフレッツ網で試供されていた

きっかけ

無料のDNSで遊びたかった
ipv4DNSは申請の敷居が高いし,ぶっちゃけv6プラスだと実質固定ipで面白くないし,なのであんまり乗り気になれなかった

と思ったらipv6専用ddnsが試供されていた,なるほどなぁ…

リンク

概要
HTTP(S)なAPI
NTPやpingで動かす場合
採用事例

HTTP(S) API

フレッツ網内かipv6インターネットから呼び出すのが前提
それ以外はddnsapi-v6ddnsapi-v4に書き換える
http://https://でもOK

dnsを新規設定

http://ddnsapi-v6.open.ad.jp/api/new/?[HostName]
  • 返却されるCSVの中にKeyが含まれる
  • KeyとHostNameが対応するので大事に取っておく

同一HostNameのアドレスを更新

 http://ddnsapi-v6.open.ad.jp/api/renew/?[Key]
  • このAPIを叩いたマシンのipv6アドレスが反映される
  • Keyは必須,HostNameは不要

Host Nameのみ更新

http://ddnsapi-v6.open.ad.jp/api/changehostname/?[Key]=[NewHostName]
  • これもKeyは必須
  • ipv6アドレスは反映されない

dnsそのものを削除

http://ddnsapi-v6.open.ad.jp/api/delete/?[Key]
  • これもKeyは必須

状況確認

http://ddnsapi-v6.open.ad.jp/api/status/?[Key]
  • [Key]を[HostName]にすると返却される情報の一部(機密なやつ)がhiddenされる

Keyを紛失する時のための対策

新規設定時に

http://ddnsapi-v6.open.ad.jp/api/new/?[HostName],[MailAddress]

しておくと紛失時に

http://ddnsapi-v6.open.ad.jp/api/recovery/?[MailAddress]

することでメアドに結びつけられたdnsとKeyの一覧が届くらしい ここでKeyの再設定がされることはない

利用例

まだやったことないけどブラウザから手で打ったら本当に動作したので間違いではなさそう

追記・ipアドレスの構成について

こっちがほんへ ipv6のアドレスの構成は,一般的なネットワークであればrfc4291によるところで

  • 上位,プレフィクス
    • 通常は64bitそのままサブネットプレフィックスとする
    • もしくは以下のように分割したものを合体
      • n bit,グローバルルーティングプレフィクス
      • 64-n bit,サブネット識別子
  • 下位,サフィクス
  • 48bitのMACアドレスをModified EUI-64で64bitに変換して申告し,そのままインターフェース識別子として使う
    • ↑実際はセキュリティ的な観点で現在は非推奨
  • もしくはDHCPv6サーバが64bitをランダムに生成して配布する

と規定されている.

NTTのNGN網でも通常のIPv6 IPoE接続であれば上記に従い,光電話を使用する場合は,NGNからONUにグローバルルーティングプレフィクスが48bitもしくは56bit(わからんけどここのp.56にある通りなら)で渡され,その下のHGWにはONUからサブネット識別子が16bitもしくは8bit(本体設定のDHCPv6サーバ払い出し状況を見るに下位4bitを割り当てて残りは0埋め?標準HGWに0を割り当て?)で渡され,残りの64bitを端末MACアドレスから生成(同上のp.26より,これはrfc3315によるもの)する.

ちなみに光電話を使用しない場合はONUのサフィクスが最初から64bitで降ってくるらしく,すなわちHGWの追加構成や自家構成ができない.

v6プラスオプションを申し込んだ上で光電話を使う場合も,ネイティブなIPv6インターネット機能を使うなら,上と同様のIPv6 IPoE接続を利用することになる.手元の環境を確認したところ,同じプレフィクスと異なるランダムなサフィクスを持つ2アドレスが振られている.

しかしIPv4接続をする場合は,ここのp.42にある通りに,v6プラスが採用しているMAP-Eの仕様であるrfc7597によるところで

  • 上位,プレフィクス→以下を結合して64bitに成形
    • VNE事業者が持つIPv6プレフィクス,上位n bits
    • MAP-Eで与えられるIPv4サフィクス,上位p bits
      • 要はIPv4アドレスの末尾がIPv6プレフィクスにくっつく
    • 同上のポート番号から得られるPSID,上位q bit
      • ポート番号の一部を用いて生成される
    • サブネットID
      • 64 - n - p - q > 0 の時に発生
      • 基本的に0埋め(HGWの複数使用は想定されていない?)
      • もし64 - n - p - q < 0なら後者の処理に影響する
      • これ,厳密にはプリフィクスとは呼ばないらしいです
  • 下位,サフィクス→以下を結合して64bitに成形
    • PSID(同上),下位q bit
    • MAP-Eで与えられるIPv4アドレス,下位32bit
    • 0パディング,下位から
      • 64 - q - 32 = rビットだけ埋まる
      • プレフィクス64 bitよりデカいとココが削られる

と規定されている.つまりインターフェースのMACアドレスが関与することなく4to6および6to4のNAPTが実現できており,これは一般ユーザには見えない(完全にIPv6で実装されたNTTのNGN網内でのみ使われるため,要するにHGWからVNEの間でのみ4to6 NAPTで得られるアドレスが使われる)ものとなる.

前述したが,DHCPv6サーバ払い出し状況の項目については,HGWがONUからセグメントを預ったルーターに関するもので,ONU・HGW一体型1つで利用する一般人は何も表示されないのが正解である.

そしてv6プラスオプションが有効な場合はMAP-Eの機能がHGW側に必要であるため,接続した時点で専用のソフトウェア(例の http://192.168.1.1:8888/enabler.ipv4/main )がオートに降ってくる.もし別のルータをONU・HGW一体型の配下に置いてMAP-Eの機能をさせたいのならば,v6プラスに対応するルータが先取してこのソフトウェアを入れないといけないし,ONUだけならもしかしたら沢山HGWもどきを設置できる…のかも知れない.固定IP取ったv6プラスでも契約しなきゃメリットなさそうだけど.

環境設定のネットワークのTCP/IPIPv6の設定のルーター欄に恐らくfe80::で始まるアドレスがあるが,それは192.168.1.1と同じ意味を持ちHGWにアクセスできるローカルIPv6アドレスである.

参考

ちなみにNURO光やその他の非NGNipv6対応の光回線はさらに仕様が違うらしい,なのでここでは扱わない

ipv6アドレスとVNEの関係

これでプレフィクスを取得できるらしいな?

$ curl -H 'Host:route-info.flets-east.jp:49881' -H 'Accept:*/*' -H 'Connection:close' --http1.1 http://route-info.flets-east.jp:49881/v6/route-info
0000,2020/09/17 09:23:31
1111,2404:01a8:7e00:0000:0000:0000:0000:0000/40 --NTT東日本
1211,2404:01a8:0000:0000:0000:0000:0000:0000/32 --NTT東日本
1212,2001:0c90:0000:0000:0000:0000:0000:0000/33 --NTT東日本
1311,2408:0210:0000:0000:0000:0000:0000:0000/30 --NTT東日本
1411,2400:2410:0000:0000:0000:0000:0000:0000/30 --BBIX-IPv6
1412,2409:0010:0000:0000:0000:0000:0000:0000/30 --MF-Transix-E-1
1413,240b:0010:0000:0000:0000:0000:0000:0000/30 --JPNE
1414,2404:7a80:0000:0000:0000:0000:0000:0000/30 --BIGLOBE
1415,2405:6580:0000:0000:0000:0000:0000:0000/30 --朝日ネット
1416,2400:4050:0000:0000:0000:0000:0000:0000/30 --OCN
1417,2401:4d40:0000:0000:0000:0000:0000:0000/30 --フリービット
1418,2001:0f70:0000:0000:0000:0000:0000:0000/30 --アルテリア・ネットワーク
1419,240b:c0c4:0000:0000:0000:0000:0000:0000/30 --楽天モバイル

4連続のNTT東日本を除けば現在は9社でVNEをやっているらしい,確認してみよう https://www.ntt-east.co.jp/info-st/ipoe_menu/

参考