夕日に沈む礼文島


Date/Time: 2009:09:23 17:51:01
Camera: RICOH
Model: GR Digital
Exporsure Time: 1/30
FNumber: 2.4
Aperture Value: 2.5
Focal Length: 5.9

Close

y2blog » InterlinkのZOOT NATIVE サービスがTransix 固定IPv4 方式に対応

6

02

2020

InterlinkのZOOT NATIVE サービスがTransix 固定IPv4 方式に対応

Transix固定IPv4サービスの開始から1年を経て、ようやくI.S.P.によるサービスが始まった


IPoE方式によるインターネット接続サービスについては何度かこのサイトでも取り上げてきたが、DS-Lite方式のサービスをプロバイダ向けに提供しているインターネットマルチフィード社の『transix IPv4接続(固定IP)』が、1年の時を経てようやく我らが Interlink 社の ZOOT NATIVE サービスで使えるようになった.


一般ユーザ向けの大手プロバイダでは、同じIPoE方式でもJPNEが提供するMAP-E方式による共有型の接続サービスや固定IPv4サービスが提供されていることが多いが、TransixのIPoE方式はDS-Lite方式と呼ばれる、Transix側で変動的なIPv4グローバルアドレス(複数ユーザで共有)と限定されたポート数(1024) をユーザに割り当てる方式だった.


今から1年ほど前に Transixサービスがユーザ側の C.P.E.(ルータ機器)側に固定IPv4アドレスを割り当てる方式にも対応したことがアナウンスされていたが、実際にエンドユーザがこのサービスを使えるようになったのは、今回のInterlinkの 『ZOOT NATIVE』サービスが(私の知る限り)初めてのようだ.


TransixとZOOT NATIVEという二つのサービス名が出てきて混乱するかもしれないが、TransixはInterlinkなどのインターネットサービスプロバイダ(I.S.P.)向けのサービスで、Interlinkはこのサービスを自社のエンドユーザ向けに再販するような形で提供しているのがZOOT NATIVEサービスだと考えて欲しい.


勿論、既に 『ZOOT NATIVE』サービスと 『ZOOT NEXT 固定IP』サービスを併用している私は、速攻で『ZOOT NATIVE』サービスを固定IP対応方式に切り替えた.申し込んでから5分程度で切り替わるということだったが、実際にサービスの開通案内(実際には単に固定IPを使うためのユーザIDやパスワードなどの情報)が届いたのは、20〜30分ぐらい経っていた.


サービスを申し込んだのが夜遅くだったので、とりあえず我が家のIPoEを取り仕切る NECのIX2215(1号機)に、 NECのホームページに載っている『transix IPv4接続(固定IP)設定ガイド』を参考にコンフィグを流し込んで見たが、 IPv4側が上手く動作していないようだったのでとりあえずコンフィグを切り戻して、元のDS-Lite方式による戻してある.従来のDS-Lite方式と固定IPv4方式を併用できそう(トンネルインタフェースを2つ用意する)だ.


時間がないので原因の切り分けまではできていないが、きちんと動くようになったら改めて詳しい設定方法や使い心地などについて報告する予定だ.現状の設定がかなり複雑(500行近くある)なので、一度クリーンな状態から設定を入れて確認してみる予定だ.


DS-Lite方式とMAP-E方式の違いについては、以前にもこのサイトで取り上げているが、インターリンクのホームページの解説図が分かり易いので、興味のある人は覗いてみると良いだろう.



Interlink社のホームページ(https://www.interlink.or.jp/service/zootnative/koteiip.html)より

固定IPv4方式では、これまでTransix内に置かれていたアドレス変換装置AFTRの制限(一つのグローバルIPアドレスを複数のユーザで共有する)という方式では避けられなかったリソース(同時使用ポート数)問題が解決される.一般家庭では、TransixのDS-Liteサービスの最大1024ポートという制限を超えることは殆どないと思うが、小規模事業所などでセッションを大量に消費するOffice365のようなサービスなどを利用する場合には、簡単にこの制限に引っ掛かってしまうだろう.


TransixのDS-Lite方式では一つのIPアドレスを、最大で64人(実際はもう少し少ないと思われる)で共有していることになるので、ユーザのIPアドレスをある程度隠すという意味では便利なのだが、当然ながらIPアドレスでアクセス制限を掛けたい場合には困ったことになる.


Transix IPv4接続(固定IP)では、ユーザが一つのグローバルIPを占有することができ、同時使用可能なポート数も65,536あるので、小規模な事業所であれば何とか使えそうだ.勿論ユーザ側のルータ機器の性能がショボイと使い物にならないので、ルータ機器はそれなりの性能を有する物を用意しなければならないだろう.


ユーザ側のルータ機器に固定グローバルIPアドレスが割り振られるので、自宅内サーバを公開することも可能だが、ルータにそれなりの設定を入れなければならないので、一般的なユーザがこのサービスを導入するメリットは殆どない.


このサービスではコアなオンラインゲーマーさんたちも対象にしているようだが、私はゲームを一切やらないのでこのサービスを利用することでどのようなメリットが得られるのか不明だ.OP25B制限があるようなので、自宅内にメールサーバを立てる場合には素直にPPPoE方式の固定IPv4サービスを利用する方が無難だ.割り当てられるIPv6アドレス(prefix)も半固定的な物なので、公開サーバ用には向いていない.


以前は、ZOOT NATIVEサービス(DS-Lite方式)が2,160円/月だったが、1年程前から月額料金が半額になっていた.今回、固定IPアドレス方式でも以前のDS-Lite並の金額でサービスが提供されることは朗報だ.他の大手プロバイダのMAP-E方式や固定IP方式の料金と比べると非常に割安だ.



Transix IPv4接続(固定IP)サービスの仕組みを紐解いてみる


仕組みを紐解いてみると言っても、公式に公開されているドキュメント類は殆どないので、ルータ機器を提供している各社が公開している設定情報や、JPNE社が展開する固定IPサービスなどの情報から概要を推定しているだけなので、ここで挙げる情報は必ずしも正確な情報とは限らないことに留意して欲しい.


先ずは、Interlink社から通知されるTransix IPv4接続(固定IP)サービスで必要となる情報から見て行く.


 【お客さまID(CAF/COP番号)】 CAFxxxxxxxxx
 【ユーザー名】 bbbbbbbbb
 【固定IPトンネル終端装置 IPv6アドレス】 2404:8e00::feed:140
 【インターフェースID】 ::feed (0000:0000:0000:feed)
 【グローバル固定IPv4アドレス】 217.xxx.yyy.zzz
 【アップデートサーバーユーザー名】 xxxxxxxxxx
 【アップデートサーバーパスワード】 yyyyyyyyyy
 【アップデートサーバーURL】 https://update.transix.jp/request (注意)

【追記】 インターリンクからメールで通知されるアップデートサーバーURLが、”https”で指定されていたが、httpsでは接続できなかったため、アップデートサーバへの接続が上手くいかなくて難儀した.とりあえず、”http://update.transix.jp/request” で接続できる事は確認しているので、”http” を指定しておくと良いだろう.



DS-Liteでは “固定IPトンネル終端装置”のIPv6アドレスが指定されていただけだったが、固定IP方式では “インターフェースID”、”グローバル固定IPv4アドレス”、”アップデートサーバー” に関する情報を設定しなければならない.


DS-Lite方式では、IPv6のトンネルはユーザ側ルータのポートとTransixのAFTR装置との間で張られる.TransixのAFTR装置側は固定のIPv6アドレスだが、ユーザ側のIPv6アドレスはユーザ毎に異なり、半固定割り当て方式なので、ユーザ側が常に同じIPv6アドレスを用いている訳ではない.


ここで着目して欲しいのは、DS-Lite方式ではユーザ側からAFTR装置側への一方向(発信接続)だけなので、AFTR装置側からユーザ側ルータへの通信は、ステートフルな戻りパケット以外存在しない.AFTR装置側ではユーザのIPv6アドレスを管理する必要がない.つまり、ユーザは自分に与えられたIPv6 prefixの範囲内で、ルータのトンネルポートに自由にIPv6アドレスを設定して良いのだ.


一方、IPv4接続(固定IP)サービスでは、ユーザ側のルータのポートに固定のIPv4グローバルアドレスを割り当て、そこと Transix側のルータ装置(固定IPトンネル終端装置)との間でIPv6トンネルを張らなければならない.同じIPv6トンネルなのだが、IPv6での双方向通信が必要になるので、Transix側ではユーザ側のIPv6トンネルアドレスとユーザに払い出されるIPv4アドレスを紐付ける仕組みが必要になる.


ユーザに払い出されるIPv6アドレスそのものはインターネットマルチフィード社が所有しているIPv6アドレスを切り出して、エンドユーザに提供している物なので、インターネットマルチフィード社が実際にユーザに払い出したIPv6アドレス(prefix)を簡単に把握できそうなものだが、NTTのフレッツサービスではIPv6アドレスの払い出し管理を行っているのはNTTの装置なので、インターネットマルチフィード社側では、簡単に掌握する仕組みがないのだろう.(この部分は私の推定)


それでは、インターネットマルチフィード社側でどのようにしてユーザ側の正確なIPv6トンネルアドレスを掌握しているのだろうかという疑問が生じるが、そのための仕組みが “アップデートサーバ”という事のようだ.ユーザ側のルータに割り当てられたIPv6アドレス情報をこのアップデートサーバを通じて、インターネットマルチフィード社側のルータに配送先を伝えているのだと推測する.


この辺の情報は、ルーター機器メーカなどにはNDA等を結んで開示しているのだろうけど、インターネットマルチフィード社は一般ユーザに対しても広く情報を開示して欲しいところだ.


ルータ機器メーカ各社の設定例を見ても、このアップデートサーバに対して、ユーザIDとパスワード以外のパラメータは渡していない.アップデートサーバ側ではどのようにしてユーザのIPv6アドレス情報を取得するのか疑問だったが、HTTP(S)でのアクセスなので、HTTPヘッダを参照することでユーザのIPv6アドレスは簡単に把握しているのだろう.


“インターフェースID” という項目があるが、これはIPv6アドレスの下位64ビット部分のアドレスで、”::feed” を使うことが強制されている.ユーザ側のprefix部分と合わせた [prefix]::feed がユーザ側のIPv6トンネルアドレスということになる.



【実験君】NEC IXシリーズの Dynamic DNS機能がサーバに送るメッセージの中身

Dynamic DNS機能によって、アップデートサーバ側にどのようなHTTPリクエストが送られているのか実際に確認してみる.テスト用のWEBサーバ “http://xxxx.yyyy.zzz/request” に向けてみる.



!
ddns profile ix-update
  url http://xxx.yyy.zzz/request
  query username=a01234567&password=top-secret
  transport ipv6
  source-interface GigaEthernet2:1.4   <====  prefix "2409:xxxx:yyyy:3d00"
!
ddns profile ix-update2
  url http://xxx.yyy.zzz/request
  query username=a01234567&password=top-secret
  transport ipv6
  source-interface GigaEthernet2:1.1.    <====  prefix "2409:xxxx:yyyy:3d64"
!

テストWEBサーバのHTTPヘッダーダンプログの出力フォーマット
"%h %a %l %u %t %U %q \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{authorization}i\" \"%{X-Auth-Token}i\""

-----

実験1 【GigaEthernet2:1.4のIPv6アドレスを通知】

ix2215-01(config)# show ddns
profile-name : ix-update
  Registered time : 2020/06/20 13:20:03
  IPv6 address    : 2409:xxxx:yyyy:3d00::feed
  result
    HTTP/1.1 301 Moved Permanently
    Date: Sat, 20 Jun 2020 04:20:03 GMT
    Server: Apache/2.4.37 (centos)
    Location: http://xxx.yyy.zzz/request/?username=a01234567&password=top-secret
    Content-Length: 280
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    
    
    
    301 Moved Permanently
    
    

Moved Permanently

The document has moved here.

【テストWEBサーバのログ内容】 2409:xxxx:yyyy:3d00::feed 2409:xxxx:yyyy:3d00::feed - - [20/Jun/2020:13:20:03 +0900] /request ?username=a01234567&password=top-secret "GET /request?username=a01234567&password=top-secret HTTP/1.0" 301 280 "-" "IX Series IX2215 (magellan-sec) Software, Version 10.3.10, RELEASE SOFTWARE" "-" "-" ------ 実験2 【GigaEthernet2:1.1のIPv6アドレスを通知】 ix2215-01(config)# ddns update ix-update2 ix2215-01(config)# show ddns profile-name : ix-update2 Registered time : 2020/06/20 13:46:27 IPv6 address : 2409:xxxx:yyyy:3d64:26a:xxxx:yyyy:4624 result HTTP/1.1 301 Moved Permanently Date: Sat, 20 Jun 2020 04:46:27 GMT Server: Apache/2.4.37 (centos) Location: http://xxx.yyy.zzz/request/?username=a01234567&password=top-secret Content-Length: 280 Connection: close Content-Type: text/html; charset=iso-8859-1 301 Moved Permanently

Moved Permanently

The document has moved here.

【テストWEBサーバのログ内容】 2409:xxxx:yyyy:3d64:26a:xxxx:yyyy:4624 2409:xxxx:yyyy:3d64:26a:xxxx:yyyy:4624 - - [20/Jun/2020:13:46:27 +0900] /request ?username=a01234567&password=top-secret "GET /request?username=a01234567&password=top-secret HTTP/1.0" 301 280 "-" "IX Series IX2215 (magellan-sec) Software, Version 10.3.10, RELEASE SOFTWARE" "-" "-"

この結果を見る限り、ユーザ側のIPv6トンネルアドレスは、正しくアップデートサーバ側へ通知されている模様.




YAMAHAとNECのルータの設定例の中身を覗いてみる


インターネットマルチフィード社で動作確認が取れているルータ機器の一覧が提示されている.Allied Telesis、ELECOM、NEC、YAMAHAの機種が載っており、各メーカが公開している設定例へのリンクが張られている.


これらの設定例の中から利用者の多いYAMAHAと我が家で愛用しているNECのIXシリーズルータでの設定内容を確認しておく.


YAMAHAの設定例のページには、各種のIPIPトンネリング方式の例が載っており、今回の Transix IPv4接続(固定IP)サービスやJPNEのv6プラス (固定IP)での設定も同じページに記載されている.この両者の内容を比較してみると固定IPv4サービスの実装方法がほぼ同じ手法を用いていることがわかるだろう.(単なる IPv4 over IPv6なので、違いが有るとしたらアップデートサーバへの通知方法ぐらいだろう)


 【設定例8:IPv4 over IPv6トンネル接続 日本ネットワークイネイブラー株式会社 (以下JPNE) v6プラス (固定IP)】

 【設定例10:IPv4 over IPv6 IPIPトンネル接続 インターネットマルチフィード株式会社 transix IPv4接続(固定IP)】

設定内容は、DS-Lite方式と大部分は同じなので、固定IPv4方式独自の部分を探っていく.固定IP方式だけに存在する設定部分は次の箇所だ.



  ...
【IPv6アドレスの通知設定】
 ipv6 lan1 prefix change log on 
 lan linkup send-wait-time lan2 5
 schedule at 1 startup * lua (通知用Luaスクリプトファイル名)

ルータのIPv6アドレス(prefix)の変更を検出した際に、syslogにログを吐き出す設定(”ipv6 lan1 prefix change log on”) と、ルータ起動時にIPv6アドレス通知用のスクリプト(YAMAHAではLuaスクリプトと呼んでいる)を実行する(”schedule at 1 startup * lua xxxxx” )という内容だ.


解説にあるように、LAN1側(内側)に設定されたIPv6トンネリング用のIPv6アドレスをアップデートサーバーへ通知するのがこの部分の役割だ.IPv6アドレス通知用のLuaスクリプトの例が載っているが、この内容を理解してルータに設定するのはそれなりのスキルがないと難しそうだ.


YAMAHAルータの Luaスクリプトの実装方法については、『Luaスクリプト導入手順マニュアル』に具体的な手順が示されている.


Luaスクリプト自体の言語仕様が微妙であることと、Luaスクリプトをルータ上で実行するための手間も結構面倒だ.PC上のテキストエディタでスクリプトを編集してから、TFTPやUSBメモリなどを介して、ルータ本体のフラッシュストレージにコピーするという手続きが必要だ.スクリプトのバグが取れるまで何度もこの作業を繰り返す羽目になるので、YAMAHAのルータを使う場合はそれなりの覚悟が必要だ.一筋縄では行かないだろう.



【追記:サンプルスクリプトの間違い】

YAMAHAのホームページで紹介されている、Transixのアップデートデートサーバへの通知サンプルスクリプト “http://www.rtpro.yamaha.co.jp/RT/docs/ipip/setting10_sample.lua” の内容に間違いがある.アップデートサーバに対して、ユーザ名とパスワードを通知する必要があるが、JPNE の v6 Plus での書式. “user=xxxxxxxx&pass=yyyyyy” となっているが、Transixの場合は、”username=xxxxxxx&password=yyyyyyy” としなければならない.


ルータ起動時のログを表示してみる.クロックがリセットされて日付がおかしくなっているが、IPv6のプリフィクス “2409:abcd:0123:8820::/64” がLuaスクリプトによって Transixのアップデートサーバに通知されている.




1980/01/01 09:00:09: Power-on boot
1980/01/01 09:00:09: N500 Rev.11.00.39 (Tue Jul 10 13:35:37 2018) starts
1980/01/01 09:00:09: main:  N500 ver=00 serial=S3xxxxxxx26 MAC-Address=00:11:22:33:44:55 MAC-Address=00:11:22:33:44:55
1980/01/01 09:00:11: [SCHEDULE] Startup: lua /transix-fixed-ipv4.lua
1980/01/01 09:00:13: [DHCPC] Obtained 118.xxx.yyy.22: LAN2 primary
1980/01/01 09:00:15: Add IPv6 prefix 2409:abcd:0123:8820::/64 (Lifetime: 14400) v
ia LAN1 by DHCPv6
1980/01/01 09:00:20: [transix] Update Success [ code=200, body=OK ]
1980/01/01 09:00:36: Login succeeded for SSH: 192.168.100.xxx yasuaki
1980/01/01 09:00:44: 'administrator' succeeded for SSH: 192.168.100.xxx yasuaki
#  

一方、NECのIXシリーズに関してもホームページ上で設定例が公開されている.ただし、内容に関しての説明は殆ど記載されていないので、自分で関連するマニュアルを見ながら自分でカスタマイズする必要がある.


 Transix IPv4接続(固定IP)設定例

 v6プラス (固定IP)の設定例

実はYAMAHAの設定例を見る前に最初にNECのホームページの設定例を参照たのだが、NECのIXシリーズでは”Dynamic DNS”の設定が含まれていたので、最初は何故 “Dynamic DNS” の設定を行っているのか理解できなかった.


ダイナミックDNSサービスの実装については各社で異なっているとの事なので、TransixサービスやJPNE v6プラスサービスでのアップデートサーバの仕様に合わせた設定が可能かどうかは個々のルータの機能に依存するだろう.


この”Dynamic DNS” 機能をコマンドリファレンスマニュアル機能説明書で確認すると、どうやら外部のダイナミックDNSサービスに対して自己のアドレス変更を通知するための仕組みで、プロバイダから割り振られる動的なグローバルIPアドレス(現在ではグローバルIPアドレスをユーザに与えているプロバイダは少なくなってしまった)を使って、外部のインターネット側からFQDNを使ってアクセスさせるための仕組みだ.


先のYAMAHAのルータでは、『ネットボランチDNSサービス』を利用する機能がが古くから実装されてしまっていたので、IPoE方式での固定IPv4サービスに対応させる機能をLuaスクリプトを用いて実装しているということだろうか.いずれにしてもYAMAHAの実装方法がスマートでないのはこの辺の事情が絡んでいるのだろう.


NECのIXシリーズでは、この”Dynamic DNS” 機能を上手く利用して、TransixやJPNEのアップデートサーバに対して、自ルータの IPv6トンネルインタフェースのIPv6アドレスを伝えているということのようだ.


アップデートサーバへの通知の他に、固定IP方式ではIPIPトンネリングプロトコル(プロトコル番号 4)を双方向で通す必要があるので、このためのフィルタリング設定をWAN側ポートに適用する必要がある.




ipv6 access-list tunnel-list permit 4 src any dest any   【IPIPトンネルプロトコル用フィルタ】
  ...

ddns profile transix-update
  url https://update.transix.jp/request  【TransixのアップデートサーバURL】
  query username=xxxxxxxxxx&password=yyyyyyyyyy 【アップデートサーバ接続用アカウント&パスワード】
  transport ipv6
  source-interface GigaEthernet1.0      【IPv6トンネルインタフェースの指定】
!
 ...

interface GigaEthernet0.0          【WAN側インタフェースの設定】

  ipv6 filter tunnel-list 3 in       【WAN側からのIPIPトンネルパケット通過許可】
  ipv6 filter tunnel-list 3 out       【WAN側へのIPIPトンネルパケット通過許可】

 ...

interface Tunnel0.0
  tunnel mode 4-over-6
  tunnel destination 2404:8e00::feed:140  【Transix側のIPv6対向ルータアドレス】
  tunnel source GigaEthernet 1.0      【IPv6トンネルインタフェースの指定】
  ip address 217.xxx.yyy.zzz/32           【固定IPv4アドレス 】
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown

NECのIXルータの方が、YAMAHAより設定が簡単だ.一般家庭のユーザであれはより設定が簡単な ELECOMのルータを使うというのも良いのではないかと思う.



追記: Transixのアップデートサーバは、HTTPでの接続しか受け付けないので、 NEC IXシリーズルータを利用する場合、”Dynamic DNS” の接続先URLの接続プロトコルは “http” にしておくこと.




ddns profile transix-update
  url http://update.transix.jp/request      ← "HTTPS" ではなく "HTTP" で接続する 
  query username=xxxxxxxxxx&password=yyyyyyyyyy
  transport ipv6
  source-interface GigaEthernet2:3.0
!

ix2215-01(config)# show ddns       ← Dynamic DNS の状態表示
profile-name : transix-update
  Registered time : 2020/06/06 17:22:47
  IPv6 address    : 2409:xxxx:xxxxx:xx32::feed   ← Transixのアップデートサーバへ通知した当方の IPv6トンネルアドレス
  result
    HTTP/1.1 200 OK
    Date: Sat, 06 Jun 2020 08:22:47 GMT
    Server: Apache
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    Content-Length: 2
    Status: 200 OK
    Connection: close
    Content-Type: text/html;charset=utf-8
    
    OK



現時点でもまだTransixの固定IPv4サービスのトラブルシュートが続いている.原因不明だがTransix側からのトンネルが張られていないようだ.NECのIX2215ルータ、YAMAHAのNVR500ルータでも同じようにつながらない.トンネルをDSLite(AFTR)ルータへ向けると、普通にDSLiteで接続できるので、Transix側のルータにこちらのアドレスが反映されていないだけなのか、それともIPv4アドレスそのものが間違っているのか、依然として原因が判らない状態だ.


【追記】とりあえずNECのIXルータでTransixの固定IPサービスを使えるようになった


当初は簡単にransixの固定IPサービスが使えるようになると考えていたが、実際に使えるようになるまでの敷居は思った以上に高かった.Transix側の仕様が公開されていないことや、プロバイダやルータ機器メーカーからの技術的な情報が殆ど出回っていないなど問題が多い.IT業界全体に言えることかもしれないが、情報を開示しない体質はどこかの国の政府のやり方と同じだね.


今回開通まで難儀した原因はまだハッキリしないが、インターリンクさんのサポートを受けながら色々と試行錯誤しながら判った事の一つに、DHCP-PD方式(NTTと光電話契約を行った場合にIPoE方式でユーザ側に通知されるIPv6アドレス割り当て方法)で56bitのユーザprefixを分割して再配布する際に、prefixの残り(下位) 8bit部分は “00”(hex) でなければ、Transix側のIPV4固定割り当てルータとの間でIPv6トンネルを張ることができなかった.


NECのIXルータの Dynamic DNS機能の仕様なのか、Transixのアップデートサーバ側の仕様なのかはハッキリしないが、Transixの固定IPサービスを光電話契約ありで使う場合、留意しておく必要がある.尤も、私のような少し特殊な使い方をしなければ、prefixの残り(下位) 8bit部分は ”00″(hex) となるので、あまり気にしなくても良いだろう.

NECのIXルータのホームページで公開されているTransix IPv4固定サービスの設定例(DHCP-PD方式)では、下記のように、LAN側のGigaEthernet1.0に配布されるIPv6 prefix の下位 8bitは、”00″ (hex) としている.



ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0  ::/64 eui-64
!

このprefixの下位8bit部分を分割する際は、次のようにユーザ側で任意のprefixを指定する事が可能だ.



ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0  0:0:0:23::/64 eui-64
!

実際に、prefixの下位8bit部分を “00”(hex) とした場合と、”11″(hex) とした場合とで、IPv6トンネルのコネクションがどのようになるのか検証してみた結果を示す.


【 prefixの下位8bit部分が “00(hex)の場合 】




 ...

ip ufs-cache max-entries 20000
ip ufs-cache enable
ip route default Tunnel0.0
ip dhcp enable
!
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
ipv6 access-list block-list deny ip src any dest any
ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 546
ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 547
ipv6 access-list icmpv6-list permit icmp src any dest any
ipv6 access-list other-list permit ip src any dest any
ipv6 access-list tunnel-list permit 4 src any dest any
ipv6 access-list dynamic cache 65535
ipv6 access-list dynamic dflt-list access other-list

proxy-dns ip enable
proxy-dns ip request both

ddns enable
!
  ...

ip dhcp profile dhcpv4-sv
  dns-server 192.168.123.1
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0 ::/64 eui-64
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
ddns profile transix-update
  url http://update.transix.jp/request
  query username=abcdefg&password=hijklmn
  transport ipv6
  source-interface GigaEthernet1.0
!
 ...

interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  ipv6 filter dhcpv6-list 1 in
  ipv6 filter icmpv6-list 2 in
  ipv6 filter tunnel-list 3 in
  ipv6 filter block-list 100 in
  ipv6 filter dhcpv6-list 1 out
  ipv6 filter icmpv6-list 2 out
  ipv6 filter tunnel-list 3 out
  ipv6 filter dflt-list 100 out
  no shutdown
!
interface GigaEthernet1.0
  ip address 192.168.123.1/24
  ip dhcp binding dhcpv4-sv
  ipv6 enable
  ipv6 interface-identifier 00:00:00:00:00:00:fe:ed
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
 ...


Dynamic DNSの状態、IPv6アドレス、IPv6トンネルの状況は下記のようになった.



ix2215-01-Test(config)# show ddns
profile-name : transix-update
  Registered time : 2020/06/11 22:40:21
  IPv6 address    : 2409:xxxx:yyyy:zz00::feed
  result
    HTTP/1.1 200 OK
    Date: Thu, 11 Jun 2020 13:40:24 GMT
    Server: Apache
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    Content-Length: 2
    Status: 200 OK
    Connection: close
    Content-Type: text/html;charset=utf-8

    OK

ix2215-01-Test(config)# show ipv6 address
Interface GigaEthernet0.0 is up, line protocol is up
  Global address(es):
    2409:xxxx:yyyy:zz00:: prefixlen 56 anycast
  Link-local address(es):
    fe80::260:b9ff:fee2:4624 prefixlen 64
    fe80:: prefixlen 64 anycast
  Multicast address(es):
    ff02::1
    ff02::2
    ff02::1:2
    ff02::1:ff00:0
    ff02::1:ffe2:4624
Interface GigaEthernet1.0 is up, line protocol is up
  Global address(es):
    2409:xxxx:yyyy:zz00::feed prefixlen 64
      Valid lifetime 14005, preferred lifetime 12205
    2409:xxxx:yyyy:zz00:: prefixlen 64 anycast
  Link-local address(es):
    fe80::feed prefixlen 64
    fe80:: prefixlen 64 anycast
  Multicast address(es):
    ff02::1
    ff02::2
    ff02::1:2
    ff02::1:ff00:0
    ff02::1:ff00:feed
Interface Loopback0.0 is up, line protocol is up
  Orphan address(es):
    ::1 prefixlen 128
Interface Loopback1.0 is up, line protocol is up
Interface Null0.0 is up, line protocol is up
Interface Null1.0 is up, line protocol is up
ix2215-01-Test(config)#         

ix2215-01-Test(config)# show tunnel status
Interface Tunnel0.0
  Tunnel mode is 4-over-6
  Tunnel is ready
  Destination address is 2404:8e00::feed:140
  Source address is 2409:xxxx:yyyy:zz00::feed
  Source interface GigaEthernet1.0
  Nexthop address is fe80::212:e2ff:fe70:123c
  Outgoing interface is GigaEthernet0.0
  Interface MTU is 1460
  Path MTU is 1500
  Tunnel-link cache:
    00:12:e2:70:12:3c:00:60:b9:e2:46:24:86:dd
  Statistics:
    391 packets input, 262448 bytes, 0 errors
    403 packets output, 64086 bytes, 0 errors
  Received ICMP messages:
    0 errors
      0 no route to destination
      0 administratively prohibited
      0 beyond scope of source address
      0 address unreachable
      0 port unreachable
      0 packet too big
      0 hop limit exceeded in transit
      0 parameter problem


【 prefixの下位8bit部分が “11(hex)の場合 】



  ...
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet1.0 0:0:0:11::/64 eui-64
!
 ...


ix2215-01-Test(config)# show ddns
profile-name : transix-update
  Registered time : 2020/06/11 22:48:48
  IPv6 address    : 2409:xxxx:yyyy:zz11::feed
  result
    HTTP/1.1 200 OK
    Date: Thu, 11 Jun 2020 13:48:51 GMT
    Server: Apache
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    Content-Length: 2
    Status: 200 OK
    Connection: close
    Content-Type: text/html;charset=utf-8

    OK

ix2215-01-Test(config)# show ipv6 address
Interface GigaEthernet0.0 is up, line protocol is up
  Global address(es):
    2409:xxxx:yyyy:zz00:: prefixlen 56 anycast
  Link-local address(es):
    fe80::260:b9ff:fee2:4624 prefixlen 64
    fe80:: prefixlen 64 anycast
  Multicast address(es):
    ff02::1
    ff02::2
    ff02::1:2
    ff02::1:ff00:0
    ff02::1:ffe2:4624
Interface GigaEthernet1.0 is up, line protocol is up
  Global address(es):
    2409:xxxx:yyyy:zz11::feed prefixlen 64
      Valid lifetime 14367, preferred lifetime 12567
    2409:xxxx:yyyy:zz11:: prefixlen 64 anycast
  Link-local address(es):
    fe80::feed prefixlen 64
    fe80:: prefixlen 64 anycast
  Multicast address(es):
    ff02::1
    ff02::2
    ff02::1:2
    ff02::1:ff00:0
    ff02::1:ff00:feed
Interface Loopback0.0 is up, line protocol is up
  Orphan address(es):
    ::1 prefixlen 128
Interface Loopback1.0 is up, line protocol is up
Interface Null0.0 is up, line protocol is up
Interface Null1.0 is up, line protocol is up

ix2215-01-Test(config)# show tunnel status
Interface Tunnel0.0
  Tunnel mode is 4-over-6
  Tunnel is ready
  Destination address is 2404:8e00::feed:140
  Source address is 2409:xxxx:yyyy:zz11::feed
  Source interface GigaEthernet1.0
  Nexthop address is fe80::212:e2ff:fe70:123c
  Outgoing interface is GigaEthernet0.0
  Interface MTU is 1460
  Path MTU is 1500
  Tunnel-link cache:
    00:12:e2:70:12:3c:00:60:b9:e2:46:24:86:dd
  Statistics:
    0 packets input, 0 bytes, 0 errors           <===  ここに着目 
    158 packets output, 16432 bytes, 0 errors
  Received ICMP messages:
    0 errors
      0 no route to destination
      0 administratively prohibited
      0 beyond scope of source address
      0 address unreachable
      0 port unreachable
      0 packet too big
      0 hop limit exceeded in transit
      0 parameter problem
ix2215-01-Test(config)#  

 この検証結果から分かるのは、prefixの下位8bit部分を "00"(hex)以外に設定すると、Transix側のルータからのIPv6コネクションが張られていないことが窺える.


記事が大分長くなってしまったので、次回に 『Transix 固定IPv4サービス』の実践編と言うことで、固定IPv4サービスと従来のDS-Lite方式との併用について、NEC IXシリーズルータのポリシールーティング機能を使って活用する方法を紹介する予定だ.