フレッツ網は、次世代の公共ネットワークとして設計されました。
その為、低遅延・高スループットという WAN 側のネットワークとしては理想的な性能にかかわらず、付与される IPv6 アドレスが固定ではない(半固定?)、その IPv6 アドレスでは直接インターネットへ接続できない。しかも、NTT から提供されるダイナミック DNS の使い勝手が悪いことも手伝い、フレッツ網本来の実力が生かされていないと感じていました。

しかし、2016年6月に画期的なサービスが発表されました。
https://i.open.ad.jp/news-160614/
NTT東日本のフレッツ回線で利用できるダイナミック DNS をソフトイーサ社が無償で提供を開始し、このサービスによってフレッツ網を利用した閉域網接続による LAN間 VPN がとても簡単に構築できるようになりました。

このフレッツ閉域網接続を使った LAN間 VPN は、企業で利用することを想定した場合において、現時点では 最強 と言って良いと私は思います。コスト・安定性・性能・セキュリティ…等々、どの項目をとっても死角はありません。強いて上げるとすれば、SIer や ISP には全くメリットが無いというのが欠点かもしれません。

この「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスについては、ソフトイーサ社の Webサイトをご覧ください。とても丁寧に、しかも詳細に説明があります。
https://i.open.ad.jp/howto/

ここでは、ソフトイーサ社からの情報に加えて、実際に運用していく際のちょっとした Tips をご紹介致します。
※今回はヤマハルータを利用した場合の Tips です。

 DNS 設定について

https://i.open.ad.jp/config/yamaha.aspx
ソフトイーサ社のヤマハルータを利用した設定例では、たしかに LAN間 VPN を構築することが可能です。ただし、この設定において、ルータは NTT東日本が提供する IPv6用の DNS だけを参照します。しかも、この DNS はインターネット利用を想定したサービスではないので、当然ながらインターネットに存在するホストのゾーン情報を参照することはできません。
※そもそもフレッツ網から付与される IPv6アドレスでは、インターネットへ出て行けませんので…

企業が利用する VPN 網の場合、一般的にはノードのどこか(本社 or データセンタ)で、ISP 経由でインターネットへ接続できるようになっている筈です。ですから、この閉域網接続を使っていても、IPv4 のルーティングを工夫する事で、インターネットへの接続が可能となります。

これは、閉域網接続用に設定されているヤマハルータからも、インターネットに存在するホストに対して、名前解決さえできれば、接続(到達)出来る事を意味します。

もちろん、LAN内に接続されている PC や各種情報機器は、適切な DNS を指定(固定もしくは DHCP 経由)する事によって、IPv4 を使ったインターネット接続が可能となりますが、ソフトイーサ社の設定例だと、ルータがインターネット側の名前解決ができないので、ファームウェアのバージョンアップや、インターネット側にある NTP サーバの利用とか、LAN内の名前解決等、いろいろ問題が発生してしまいます。

この問題を解決する為に、IPv6 の名前解決は NTT東日本の DNS(フレッツ網の DHCP サーバから指定される)を使い、IPv4 については、自前の DNS もしくは ISP 指定の DNS(もしくは汎用 DNS)を利用すると、ヤマハルータ自身も IPv4 を使ってインターネットに存在するノードへアクセスすることが出来るようになります。

# WAN ポートから取得したフレッツ・光ネクストの DNS サーバー情報を利用
dns server dhcp lan2          ※これはソフトイーサ社の設定例

# IPv6 と IPv4 で利用する DNS を別々に指定する。
dns server select 1 dhcp lan2 aaaa .
dns server select 2 192.168.1.1 192.168.10.1 any .

# 外部の汎用 DNS を利用する場合であれば
dns server select 1 dhcp lan2 aaaa .
dns server select 2 8.8.8.8 8.8.4.4 any .

以上の設定で、閉域網接続用に設定されたヤマハルータから Ipv4 を使ってインターネットへアクセスすることが可能となります。
※もちろん、IPv4 パケットがインターネットへ到達できる環境であることが前提で、名前解決だけが出来ない場合の対処方法です。

設定例では、ダイナミック DNS に対しての IPv6アドレスの登録の為に、一定時間毎に ping を lua スクリプトを使って動作するように設定してあります。このスケジュールコマンドに、NTP サーバを利用した時刻合わせを追加すると、ログを取る場合に安心です。

 ルーティング

小規模なネットワークであれば、スタティックルートを利用することが多いのですが、この閉域網接続ではダイナミック・ルーティング・プロトコルを利用すると、管理や運用がとても楽になります。今回は OSPF を利用する場合の設定例です。

以上の設定を VPN で接続するルータ全てに設定しておくと、相手側のネットワークアドレスがわからなくても、自動的にルーティンがテーブルが作成されます。
※OSPF 関連のコマンドを変更・追加した場合には、ルータを再起動するか、ospf configure refresh を実行します。

 注 意

ヤマハルータで OSPF を使用する場合、LAN側のポートがリンクダウンしていると、その LAN側に設定されているネットワークアドレスへのルーティングが無効(ルーティングテーブルから消える)になります。すると、IPsec で経路が維持されているのに、相手側のルータが見えない状況( ping も飛ばない)になります。知らないと嵌まりますので<私、LAN側にはスイッチ等を接続して常にリンクアップしている状態にしておく事をお勧めします。

 設定の確認

1.IPv6 のアドレス確認
このように LAN2 にグローバル IPv6アドレスが表示されれば正常に取得できています。

2.他拠点へ IPv6アドレスで疎通確認
# ping6 sample01.i.open.ad.jp

3.IPsec の接続確認

4.Local IPv4アドレスへの疎通確認 例)192.168.1.1, 192.168.1.254

5.グローバル側への疎通確認 例)google.com, yahoo.co.jp

 おまけ

ネットワークのスループットを計測するために iperf3 を使いました。
深夜0時頃に、稲城市と東京都中央区間で計測しました。どちらの拠点も、フレッツ光ネクスト・ファミリーギガラインです。

このように、サーバとクライアントを入替えて二度計測しましたが、安定して 200Mbps 程度出ていて、正直驚きました。
※今回は RTX810 を両拠点で使っているので、IPsec におけるルータの理論値(最大値!?)いっぱいです。同時間帯、ISP 経由のインターネットVPN では 10Mbps 程度、レイテンシも 30msec を超えていました。
https://network.yamaha.com/products/routers/rtx810/spec

次に、同じ時間帯に flood Ping を打ってみました。
※これはネットワークへとても負荷を掛けるので、測定はなるべく短い時間で行ってください。

Mon Mar 25 00:18:58 JST 2019
PING 192.168.10.62 (192.168.10.62) 56(84) bytes of data.

--- 192.168.10.62 ping statistics ---
1000 packets transmitted, 1000 received, 0% packet loss, time 4191ms
rtt min/avg/max/mdev = 3.566/4.118/9.098/0.374 ms, ipg/ewma 4.195/4.236 ms

1,000発打って、約4秒で計測が完了です。

mdev はデータのばらつきを表わします。また、ewma は Exponentially Weighted Moving Average の略で、指数加重移動平均を表わし、より実環境に近い平均値です。単純平均・移動平均ともに レイテンシが 4msec 台(=ちょっと遅いLAN内程度)ですので、VPN/IPsec を使った LAN 間接続としては極めて優秀だと思います。

フレッツ閉域網接続の場合、これらレイテンシやスループットは、時間帯による影響を全く受けません。どの時間帯でも低遅延・高スループットが維持されています。ここからもフレッツ網の実力というか NTT の底力が見えてきます。

■以上、ヤマハルータを利用したフレッツ閉域網接続による LAN 間 VPN の Tips を書いてみました。NTT 西日本との接続やバックアップ回線については、検証中なのでまとまり次第別項でアップします。