これは NTT 東日本の NGN (Next Generation Network) 網内で使える IPv6 アドレスをユーザに提供するサービスです。NGN 網内の光回線を利用した IPv6 通信を行う際には、このサービスに加入する必要があります。
このブログでも 「2013年11月13日 / PPTP - 勉強会の成果」 のメモで少しだけ v6 オプションについて触れました。あのメモでは 「v6 オプションを使った VPN を構築中も、なかなか実現できずに困っている…」 といった内容を書きましたが、ついに先日その構築に成功しましたので、今回軽くメモします。
今回の概要 NTT 東日本の NGN 網を利用する光回線サービスは
「フレッツ・光ネクスト」 が一般的ですが、このサービスでは NGN 網内を 200Mbps Best Effort の帯域幅を使った通信ができます。ただこの 200Mbps という帯域幅は IPv4 通信を利用した場合のもので、IPv6 通信だと
1Gbps Best Effort の帯域幅が利用可能になります。
どうして IPv4 だと 200Mbps なのに IPv6 だと 1Gbps の帯域幅が使えるのか。ちょい調べたところ、それは NTT 側の運用ルールがそうなっているからだとか。IPv6 プロトコルの性質や仕様ではなく、たまたま IPv6 通信には 200Mbps の帯域幅の制限をかけていないだけらしいですね。
↑図1:NGN 網内は IPv6 に限り 1Gbps 帯域幅
こうした NGN の性質 (抜け穴?) を利用して挙がったのが
「NGN 網内を IPv6 で VPN を組めれば 1Gbps の帯域幅を使った VPN が利用可能では? (by 院長先生)」 といった今回の提案でした。しかも v6 オプションでは 「網内折り返し機能」 という、終端装置まで行かずに NGN 内でルーティングされるような仕組みになっており、まさに VPN に適した環境といえるでしょう。
ちなみに NTT 西日本では
「光ネクスト・隼」 というサービスに加入することで、のっけから NGN 網内を 1Gbps の帯域幅での通信が可能です。「光ネクスト・隼 + VPN ワイド」 の組み合わせなら NGN 網内 を 1Gbps の VPN を実現できるでしょうが、東日本の場合はそういったサービスが 2013年 現在はリリースされておりません。
↑図2:1Gbps 帯域幅の VPN
以上のような NTT 東日本 の NGN 網を利用した VPN 構築を、今年の半ばくらいから実験していましたが、ようやく年を終える前に一段落つきましたので、今回メモをすることになりました。……ってか NGN 網内の VPN ってなんて呼べばいいのだろう? インターネット VPN じゃないし、エントリー VPN とも違うような…… NGN VPN でいいのかな(笑)。
半固定アドレス NGN 網内の 1Gbps 帯域幅を利用するには IPv6 アドレスを入手する必要がありますが、これは v6 オプションに加入することで NTT から 64bit の Prefix が1つ割り当てられます。「ひかり電話」 に加入しているか否かでネットワークの構成が多少変わりますが、今回は
「ひかり電話ナシの RA Prefix 払い出し」 を場合を前提にメモします。
そんな NTT から払い出される IPv6 Prefix は、あまり聞きなれない
「半固定」 と呼ばれる珍しいアドレスです。
通常、電気通信事業者から払い出される Prefix は、上位 64bit の値は変わることはないのですが (固定)、v6 オプションで使われる Prefix は
「NTT 側のメンテナンス時に Prefix の値が変更される」 ことがあるようで、こういったことから 「半固定」 といった呼び方が使われています。IPv4 でいうところの ISP から割り当てられる 「動的 IP アドレス」 のリース期間がとても長いアドレスといったイメージでしょうか。
ただ、めったに Prefix 値が変更されないと言われていても、半固定アドレスで VPN を構築してしまっては、新しい Prefix が払い出されるたびにルータの設定を変更する手間が発生しますし、なによりも Prefix 変更時は
回線切断 を伴ってしまいます。
↑図:半固定アドレスを使って VPN を組むと…
そこで NTT は
「ネーム」 というサービスを提供しました。このネーム機能により新しい Prefix を払い出されても、アドレスを固定的に使えるようになりました。
ネーム ネームは NGN 網内専用の
DDNS (Dynamic Domain Name Service) のことを指します。
DDNS とは 「動的グローバル IP アドレスを固定ホスト名として使える」 機能です。厳密にはグローバル IP アドレスに限ったことではありませんが、一般的には家庭向け ISP から払い出された動的 Global IP アドレスをホスト名登録して、インターネット上に自前サーバ等を公開するときに使われることが多いため、こういった説明になりました。ヤマハの Netvolante サービスがとても有名ですね。
<Netvolante DNS>
http://jp.yamaha.com/products/network/solution/netvolantedns/
こういった DDNS の仕組みを NGN 網内で扱うことで、v6 オプションの半固定アドレスを固定ホスト名として使うことができます。ちなみにネーム機能は、もともと NGN 網内サービスの 「フレッツメッセンジャー」 というコミュニケーションツールの 「宛先」 に指定するために作られたもののようです。
なお NTT 東日本では、自分の好きな文字列からネームを獲得できます。
「○○○.aoi.flets-east.jp」 が NTT 東日本のネーム名として使われます。……ってか、この aoi ってなんだろ。。。
↑図:ネームを使って VPN を組む
ルータの設定 今回はヤマハルータの
RTX-1100 を使って実験を行ったので、その設定を以下に簡単にメモします。
この設定は rt100i-users 、また以下の個人サイトからの情報を参考にいたしました。こちらの方が事細かに書かれておりますし、IPv4 のバックアップ回線まで設定されてますので超オススメです。僕はナマケモノなので、あくまで個人用のメモ程度にしか書きませんから、フィルタ等はガンスルーいたします(笑)。
設定:
# ip route 192.168.1.0/24 tunnel 1
# ipv6 prefix 1 ra-prefix@lan2::/64
# ip lan1 address 192.168.0.254/24
# ipv6 lan1 address ra-prefix@lan2::1/64
# ipv6 lan1 dhcp service server
# ipv6 lan2 dhcp service client ir=on
# tunnel select 1
# ipsec tunnel 1
# ipsec sa policy 1 1 esp aes-cbc sha-hmac
# ipsec ike pre-shared-key 1 text motenaiorz
# ipsec ike remote address 1 ○○○.aoi.flets-east.jp
# tunnel enable 1
# nat descriptor type 1 masquerade # nat descriptor masquerade static 1 1 192.168.0.1 udp 500 # nat descriptor masquerade static 1 2 192.168.0.1 esp # nat descriptor masquerade static 1 3 192.168.0.1 gre # ipsec auto refresh on
# dhcp service server # dhcp server rfc2131 compliant except remain-silent # dns server dhcp lan2 # dns private address spoof on ※↑2014年10月訂正
数か月ぶりに config を見直したところ、まったく関係ないコマンドまで追加されていた。 ボロボロwww
参考:noBLOG 様 ←神w
http://orangesooda.com/no/2013/09/ipv4-over-ipv6-ipsec-vpnyamahartx.html
実は今年の夏に NTT 東日本の法人担当の技術者さんと直接お会いして、v6 オプションについて色々と教わったことがありました。そのとき
『v6 オプションをつかって VPN くめますか!おしえてください!!(^q^)』 と質問したところ、
「アチャーw(ノ∀`)。NTT の立場からは推奨しないんだけど、でも内緒で教えちゃうwww」 と、NTT の技術者さんは上記の記事を僕に教えてくれました。こういうブログを書けるようになりたいですね(笑)。
あと上記はヤマハルータの設定ですが、もうひとつメモしておきたいルータがあります。それは
「センチュリー・システムズ」 というメーカーのルータです。僕の勤める病院で使っているルータです。このルータもヤマハと同様の国産ルータですが、安価で GUI の設定が充実している上、コマンドが
Cisco IOS (Internetwork Operating System) に結構似ていて、シスコルータのいい勉強にもなります。廉価版シスコルータと言ったところでしょうか。
以下は FutureNet NXR-350/C という Century Systems ルータの RA 設定コマンドです。残念ながら現時点の NXR-350/C は RA によるアドレス設定では、インターフェース ID を固定することができないため、ネームを使った VPN を実現できそうにありません。ただ RA 転送の設定のみ、この場を借りて以下にメモしてしまいます。
設定:(RA Proxy と IPv6 アドレス付与)
# interface ethernet 1
# ipv6 address autoconfig
# ipv6 nd send-ra
# !
# interface ethernet 1
# ipv6 nd accept-ra proxy ethernet 0
# !
もし今後 FutureNet NXR-350/C のファームアップ等で interface ID が固定できる仕様になったら、IPsec 通信の Config をメモしようと思います。半固定アドレスを直接指定した IPsec VPN は成功しているから、あとは Century Systems さんの対応を祈りながら待ちましょう。。
ちなみに肝心の速度に関しては、UDP 送信速度 が RTX1100 では 90Mbps 超えを記録。また NXR-350/C では 300Mbps を超えてくれました。もちろん UDP 送信速度なので性能の判断基準としては甘いですが、とりあえず NGN 網内の IPv6 通信で 200Mbps を超えることはできました。本当に IPv6 は 200Mbps 制限がかかってないようですね。
最後に この VPN 構築はとにかく苦労しました。
何に苦労したかというと 「原因の切り分けができない」 ことにホント苦労した。。
今回の実験を行うにあたり2拠点の光回線を契約しましたが、VNE との契約はしていなかったことから、v6 オプションのみの通信環境しか整っていませんでした。いわゆる WAN 側で IPv4 通信を一切使わない環境です。
「IPv6 をイマイチ理解できていない」
「初めての IPsec 設定を IPv6 で設定」
「ネームの Interface ID が Ping を返さない」 ← これはアドレスを紐付けし忘れていた自分のボンミスwww
――などなど、もう八方塞り。
ネームの情報は少ないわ、IPv6 は超独学だわ、ルータのコマンドは手探りだわ。「できない→そもそも仕組みがわからない→どこが原因かわからない→できない」 の負のスパイラル。いやホント苦労しました。。でも今となっては IPv6 を“少し”ばかり理解できてきましたので、“少し”ですが自信がつきました。あくまで“少し”です(笑)。
でもそんな“少し”が “とても” に変わる日が来るまで、ぼくは独り地道にやっていきますわよw (*^ω^*)
スポンサーサイト