SEILの新ファームウェア SEIL/X,B1 Ver4.60, SEIL/x86 Ver3.20 をリリースしました。
今 回のリリースではフロートリンク機能(SACMにおけるVPN自動構成機能)がNAT Traversalに対応し、CGN(Carrier Grade NAT)が適用される回線や他のNATルータ配下に設置される拠点もフロートリンクによる自動構成に組み込めるようになりました。現時点ではNATの介在 が許されるのは片側の拠点のみですが、将来は両側にNATが介在する環境にも対応する予定です。
リリースの詳細はリリースノートをご覧ください。
本記事では、そもそもフロートリンク機能とは何か?についてご紹介します。
フロートリンクとは
「フロートリンク」とは、VPN自動設定機能の一つです。SACMのサービスアダプタとして動作するSEILで利用できます(SEIL/X,B1 ver.4.40、SEIL/x86 ver.3.00以降)。
サービスアダプタのフロートリンク機能を使用すると、フロートリンクのネームサーバ(SACMのサービスホストに含まれる)との連携によってVPN接続を行う対向ノード(サービスアダプタ)のIPアドレスを自動的に設定し、IPアドレスが変更された際に自動追従することができます。
フロートリンクを使用しない場合
旧来のIPsec VPNでは次のような構成を取ることがほとんどでした。
いずれの場合にも、IPsec VPNではVPN終端のどちらかのIPアドレスが固定である必要がありました。これは、IPsec/IKEのネゴシエーションを開始する際に、少なくとも一方のIPアドレスが判明していないと接続先が特定できないためです。
フロートリンクは、SACMとの連携によってこの問題を解決しました。
フロートリンクを使用する場合
フロートリンクを使用するサービスアダプタ(SEIL)は、自身のIPアドレスをフロートリンクのネームサーバ(SACMのサービスホストに含まれる)に登録し、定期的に更新します。また、VPNの接続相手となるサービスアダプタのIPアドレスを問い合わせて解決し、VPN設定に反映します。
これによって拠点のIPアドレスが固定である必要が無くなり、回線や接続サービスの選択肢が大きく広がります。
最も多い設定例としては、NGNの網内折り返しを利用したVPNが挙げられます。
NGNの網内で自動的に付与されるIPv6アドレスは固定であることが保障されておらず、現在のところ固定で利用するためのオプションサービスなども提供されていません。これまでのところ頻繁に変更されるようなことはないようですが、不意の変更が発生する可能性がある以上、VPN接続での利用には向きません。
フロートリンクを利用すると、サービスアダプタは相互に接続相手のIPアドレスが変化したことを知ることができ、アドレス変化に追従してIPsec/IKEを張りなおすことができます。
以上が、フロートリンクに関する説明です。
フロートリンクのNAT環境への対応
今回のリリースによって、フロートリンクを利用して構成するIPsecインタフェースのIPv4アドレスがNATによって書き換えられたことを検知できるようになりました。また、NATによる書き換えの検知を有効化すると、IKEの折衝をAggressive modeとし、NAT Traversalを有効化します。
フロートリンクを使用しないIPsec/IKEでは従来からAggressive modeでの折衝やNAT Traversalを利用可能でしたが、フロートリンクによってIPアドレスが固定でない拠点でもIPsecインタフェースが利用可能になり、さらにNATが介在する場合でもVPNを利用可能になりました。
ただし、現在は、VPN の片側にNATが適用される場合にのみ対応しており、両側がNAT配下となる環境の場合には対応できません(将来対応予定です)。
現在はIPv4アドレスの枯渇に対応するため、Carrier Grade NAT という技術の使用を選択しているプロバイダもあります。Carrier Grade NATとは、従来はLANからインターネットに接続するルータなどで利用していたNATを、インターネットプロバイダ側の設備で使用して利用者にIPv4プライベートアドレスを払い出し、IPv4グローバルアドレスの使用量を減らす技術です。Carrier Grade NATは有線接続サービスの比較的安価な品目として提供されていたり、モバイル接続サービスで標準的に適用されている場合があります。
NATは通信経路上でIPアドレスを書き換えることからVPN利用時に問題となることがありますが、NAT Traversal機能によってこの問題を回避することができます。
通信回線によってはVPNプロトコルの使用が制限されている場合があり、NAT Traversalを使用するIPsec/IKEではUDP 500,4500 のポート番号の通信が利用可能である必要があります。