IPv6
VPN
ipsec

フレッツ網の快適なIPv6でVPNを構築する方法

フレッツ網のIPv6って何

フレッツ網には網内でしか通用しない、グローバルスコープのIPv6網が存在する。

このグローバルスコープなのに外に出ていくことができない厄介なIPv6アドレスは、次のような「IPv6フォールバック問題」が発生するという理由で、海外(Google等)から日本に向けてIPv6はシャットアウトする等の対応を取られそうになっていたこともある厄介なIPv6アドレスである。

  1. クライアントにはIPv4アドレスとIPv6(フレッツ網)が割り当てられている。
  2. ブラウザは google.com のIPアドレスをDNSに問い合わせる
  3. DNSから、Aレコード(IPv4)とAAAAレコード(IPv6)が返される
  4. ブラウザはIPv6を優先して接続を開始する
  5. 60秒経ってブラウザはIPv6接続をあきらめる(タイムアウト)
  6. IPv6接続で応答がないのでIPv4接続を試行する

参考資料: https://www.iijmio.jp/guide/outline/ipv6/ipv6_fallback/

現在では、次の状態でIPv6インターネットに接続することができる環境が多くなったため、このような問題は起こりづらくなっている。

  • IPoEの契約がある場合
  • NTTから300番台以降のHGW 1 がレンタルされており、プロバイダがIPv6(PPPoE)に対応しており、プロバイダが対応している
  • 上記HGWに対応プロバイダのIPv4(PPPoE)を設定すると、自動的にIPv6(PPPoE)へ接続するようになる

フレッツ以外の固定回線のIPv6接続性に関して

モバイル回線では、VPN接続を快適に行えることはめったにないので解説を省略する。

  • 電力系光回線(Pikara/コミファ/eoなど)を利用しており、HGWを利用ている場合
  • KDDI(auひかり)を利用していて、HGWがBL170HV以外の場合(電話でIPv6使いたいので交換してほしいと伝えれば交換してもらうことが可能)
  • NURO光
  • マンション共有インターネットはつなぐまでわからない
  • CATVはプロバイダ次第。J:COMは実質2未対応
  • ADSLに関しては終息に向かっており、基本的に未対応

フレッツIPv6の特徴

半固定IPが割り当てられる

基本的に変わることはないが、NTT都合(例えば、交換器の工事や機器の入れ替え)で可変するIPアドレスとなっているため、IPが変わるとアクセスが困難になるという問題がある。
この問題は下記のDDNSを利用することで解決が可能である。

高品質で低遅延なネットワーク

このフレッツ網でしか通信ができないIPv6であるが、回線品質は他にないほど高品質であり、網内だけで終結する通信を行った場合、次のようなスペックを誇る。

  • 800Mbpsのようにほぼイーサネットの限界まで速度が出る
  • 新潟(見附) - 東京(浅草)/直線距離約250Kmをpingが往復15ms
  • 山梨(甲府) - 東京(浅草)/直線距離約100Kmをpingが往復8ms
  • 千葉(千葉) - 東京(浅草)/直線距離約30Km をpingが往復7ms
  • 愛媛(松山) - 東京(浅草)/直線距離約800kmをpingが往復20ms (東西間通信はmfeed利用)

広域VPNサービスを契約するより、秘匿性は自力で確保しなければならないものの、通信速品質が高くて快適なネットワークである。

本題: VPNを繋いでみよう

簡単にVPNを試す

VPNを超簡単3に実現する方法としては、フレッツ回線を引いた拠点2箇所とCD-R2枚、NICを2枚搭載した適当なPC 2台だけで超簡単にL2VPN4が実現できてしまう 広域イーサ ネクストという、SoftEtherのサービスを利用すると、次のような手順でとても簡単にL2VPNが構築できる。

  1. 広域イーサネクストページで VPN ネットワークIDを作成する
  2. センター用CD、ブランチ用CDの2つのISOイメージファイルをダウンロードする
  3. 手順2でダウンロードしたISOをCDに焼く
  4. 拠点1/拠点2にNICが2枚刺さっているPCを設置し、片方のNICをフレッツ回線に、もう片方をLANに接続する
  5. Center側 → Branch側の順でPCを起動する(もちろん、Centerを先に起動した状態で、後日Branchを起動することも可能)
  6. L2 VPNが構築される

本格的に運用してみたい

適当なPC 2台でVPNを何も考えずに構築するのも良いが、L2接続しか対応していないVPNでは、冗長構成にしたり、大規模なネットワークを構築するのは少し難しい。

HGWの種類によっては、VPNを利用できないことも…

三菱(400MIなど)

IPv6でIPSecを利用したVPNを構築すると1日に3回ほど再起動が起こる。もちろん、インターネット、ひかり電話などは利用不能になってしまうことがあるため、この機種が割り当てられている場合は、NTTに交換してもらうなどの対応が必要。

NEC(400NEなど)

IPSecでVPNを張ると15Mbps程度の速度しか出ない。IP電話の共有やメールの送受信のような速度を必要としない通信では問題なく利用できる。
IPIPトンネルで利用すると85Mbps程度の速度が出るが、いくら閉域ネットワークといえども、暗号化されていない状態で通信するのは怖い。また、YAMAHA RTXシリーズではFQDNを用いたIPIPトンネルが利用できないため、IPアドレスが変化した場合、接続ができなくなるという問題がある。

沖電気(400KIなど)

特に問題なく利用できる。

単体型ONU

単体型ONUはルーティング機能がないただのブリッジのため、このような心配は一切ない

実際にYAMAHA RTXシリーズでVPNを設定する

i.open.ad.jp でDDNS用のFQDNを取得する

フレッツ網では、外に接続することはできないため利用できるDDNSサービスは限定されている。

NTT公式のDDNS

サービス情報サイトにログインを行い、1契約あたり1つだけ登録できる ◯◯◯.aoi.flets-east.jp 形式のドメインが割り当てられる。
IPアドレスが変更になった際の変更はサービス情報サイトにログインを行い、手動で変更する必要がある。つまり、最悪、IPが変化したら設置先まで「障害対応」を行う必要がある。流石に北海道に行くとかなってしまうと金銭的にも、時間的にもつらいことになるのでおすすめしない。

筑波大学、登先生のiopen.ad.jp

誰にでも、登録無しでサクッといくつでも登録が可能な ◯◯◯.i.open.ad.jp 形式のドメインが割り当てられる。
IPアドレスが変更になった場合、指定されたIPアドレスに ping / ntpdate / wget 等、任意の方法 で更新ができる。
IPアドレスが変化しても自動的に更新が行える。
毎分、指定されたIPアドレスに ntpで同期するように設定しておけば、最大60秒4で接続が復帰する。

https://i.open.ad.jp/ で、希望するサブドメインを指定することによって10秒で取得ができる。
ホストキーを紛失しないために、メールアドレスを登録しておくことを推奨する。

RTXの設定を行う

ここでは、IPv6はあくまでもVPNを通すだけの目的で利用し、クライアントにはIPv6アドレスを配布しない一番かんたんな設定である。
また、インターネット側の設定は一切行っていない。
ルーティングはRIPで自動的に行われるので、双方のIPアドレスはプライベートアドレスならどんなものを設定しても疎通が取れるようになっている。

対向側ルーターはCIDRを 192.168.1.1/24 などの被らない帯域に変更し、[接続相手のFQDN].i.open.ad.jpの部分にこちら側のFQDNを設定すれば良い。

> show config
# RTX1100 Rev.8.03.94 (Thu Dec  5 19:06:16 2013)
console lines infinity
console prompt kyoten1
login timer 900
ipv6 routing on
ip lan1 address 192.168.0.1/24
ipv6 lan2 address ra-prefix@lan2::2525/64
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 keepalive log 1 off
  ipsec ike keepalive use 1 on heartbeat 10 6
  ipsec ike pre-shared-key 1 [IPSec共有キー]
  ipsec ike remote address 1 [接続相手のFQDN].i.open.ad.jp
 ip tunnel rip send on version 2
 ip tunnel rip receive on version 1 2
 ip tunnel tcp mss limit auto
 tunnel enable 1
tunnel select 2
rip use on
rip preference 1000
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.0.101-192.168.0.200
dns server 192.168.0.1
schedule at 1 */* *:00 * ntpdate [i.open.ad.jpで発行された更新用IPアドレス]

実際に接続して色々試してみる

VPN上で 東京 - 新潟 間をpingしてみる

12ms程度。専用線接続より遅いが、有料で提供されるフレッツVPNワイドなどと比べると圧倒的に高速であることがわかる。

$ ping 10.81.0.254
PING 10.81.0.254 (10.81.0.254) 56(84) bytes of data.
64 bytes from 10.81.0.254: icmp_seq=1 ttl=254 time=12.6 ms
64 bytes from 10.81.0.254: icmp_seq=2 ttl=254 time=12.3 ms
64 bytes from 10.81.0.254: icmp_seq=3 ttl=254 time=12.1 ms
64 bytes from 10.81.0.254: icmp_seq=4 ttl=254 time=12.7 ms
64 bytes from 10.81.0.254: icmp_seq=5 ttl=254 time=11.9 ms
^C
--- 10.81.0.254 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4833ms
rtt min/avg/max/mdev = 11.984/12.376/12.723/0.282 ms

Sambaでサーバからファイルをダウンロードしてみる

対向がRTX1100なので、最大速度は100Mbpsの通信となっている。
平均速度80Mbpsである。IPIPトンネルを利用する(IPSecで暗号化しない)場合、85Mbpsくらい出る。
image.png

このくらい速度が出る場合、以下の様なことができる
- 地上放送のTSをストリーミングして新潟や北海道でTOKYO MXを見る
- 巨大なファイルを友人と高速に共有する

HGWを利用して、IPv6 PPPoE接続を行っているの場合の注意事項

接続が不安定になる可能性があるので、HGWの設定ページを開き、以下の画像を参考にIPv6 PPPoEの設定を行ってほしい。
image.png

理由としては、i.open.ad.jpとの通信はプロバイダ経由、対向ルータとの通信は基本的にNGN、まれにPPPoE経由になり接続できたりできなかったりするようにみえる(憶測)。
※筆者の環境で起こった問題です

i.open.ad.jpを利用して様々な場所とVPNをするときの方法

IPv6(インターネット)が利用できる回線

そのまま利用が可能。

NTT西日本の場合

i.open.ad.jpはNTT西日本のNGNからは利用できないため、すべての拠点でIPoEの契約を行う必要がある。
このため、NTT西日本で利用する場合は必ずIPoEの契約が必要である。

NTT東日本

  • v6オプションを契約していない:情報サイトから契約して下さい
  • v6オプションを契約している:NTT東日本同士に限って接続可能
  • IPoEを契約している:対向がIPv6に対応していればどこでも接続可能

あとがき?

L2TPv3やSoftEherはVLANパススルーができたり、DLNA(DTCP-IP)が利用できたりする。
そのためこの環境を利用して、筆者は実家(山梨)に帰省した際に、自宅環境とほぼ同じ環境で自宅に設置しているネットワーク資源を利用することができ、例えば、録り溜めたアニメを視聴したり(※TOKYO MXは山梨県ほぼ全域のCATVで視聴できるため、TSストリーミングのような回線業者の迷惑になるような使い方はしていません)、友人とVPN接続を行うことで、ネットワーク資源の共有(おもに仮想化ホストのリソース共有やActiveDirectory、DBなどのスレーブを配置することによるバックアップ、NASのデータのバックアップ)などを行っている。

2年程度この仕組みを利用してVPNを利用しているが、突然切れてしまったり、混雑時間帯に数Mbpsくらいしか速度が出ないなどと言った問題は発生しておらず、快適なVPN接続が維持されている。


  1. 具体的な型番で示すと、PR-300*/RT-300/RV-340PR-400/RT-400/RV-440/PR-500/RT-500/RS-500で、*の部分にはメーカー名5が入る。 

  2. IPv4の契約台数と同じ数のIPv6がもらえるが、IPv6はNAPTできず、ルータがあっても1台のPCからしか使うことができないため実質未対応という表現をする。ちなみに東急ケーブル(イッツコム)や山梨CATVのように光回線と同じく/64で1セグメント降ってくる場所もあれば、東京ベイネットワークや日本ネットワークサービスのように、そもそも対応していない場合もある。 

  3. 広域イーサネクストが利用できる環境はNTT東日本でv6オプションを契約しているフレッツ光ネクスト回線か、IPv6インターネットに接続可能なインターネット回線である。ただし、NTT東日本に収まらないネットワークを構築する場合は、Centerを設置する場所はIPoEを契約する必要がある。 

  4. L2 VPNとは、ルーティングを行わない、スイッチ同士をLANケーブルで繋いだ状況と同じ接続を提供するVPNである。通常提供されるVPNはL2ではなく、各ルーターでルーティングを行う必要がある。 

  5. メーカー名は KI=沖電気、NE=NEC、 MI=三菱電機、SE=住友電気、HI=日立。100番台の数字によって採用されているメーカが違う(400番台はKI/NE/MIのみ、500番台はMI/KIのみ)。