フロートリンク
フロートリンクによるVPN自動設定の動作について説明します。
VPNの自動設定をサポートするフロートリンク機能
「フロートリンク」とは、SMFv2におけるVPN自動設定機能の一つです。SMFサービスのサービスホストにフロートリンクのネームサーバが含まれています。
サービスアダプタのフロートリンク機能を使用すると、ネームサーバとの連携によってVPN接続を行う対向ノード(サービスアダプタ)のIPアドレスを自動的に設定し、IPアドレスが変更された際に自動追従することができます。
インターネット接続時のグローバルIPアドレスが固定でないPPPoE接続サービスや、NTTフレッツ光ネクストのNGN網内で半固定的に割り当てられる(固定であることが保証されない)IPv6アドレス間でのVPN構築に利用できます。
- ルーティングベースIPsec(IPsecインタフェース)
- IP-IPトンネル(IP-IPトンネルインタフェース)
- L2TPv3(L2TPv3インタフェース)
- 静的経路
- フロートリンクはSMFモード(SMFv1/SMFv2)でのみ動作します。また、フロートリンクのネームサーバを利用するには各ノードがSMFサービスの管理下にある必要があります。
- フロートリンクを使用しNGN網内での折り返し通信によるVPNを設定する場合でも、サービスホストとの連携のためにインターネット接続の経路も確保する必要があります。
- フロートリンクはSMF独自の仕様に基づきます。他社サービスの類似機能との相互運用はできません。
フロートリンクのネームサーバへの登録と情報取得
フロートリンクを使用するノード(サービスアダプタ)は、起動完了時および、約5分間隔でフロートリンクのネームサーバへアクセスし、自身のノードID、IPアドレス、及びグループキーの登録または更新を行います。また、所属するグループの他のノードのIPアドレスを取得します。
- フロートリンクのネームサーバのURLのホスト名を、リゾルバ機能を用いてDNSサーバに問い合わせる
- DNSサーバからフロートリンクのネームサーバのIPアドレスを得る
- ノード自身の、ノードID、IPアドレス、及び所属グループのグループキーをネームサーバに登録する
- 所属グループのグループキーと対向ノードのノードIDを用いて、対向ノードのIPアドレスをネームサーバに問い合わせる
- ネームサーバから対向ノードのIPアドレスを得る
- 対向ノードのIPアドレスに対してVPN接続を開始する
フロートリンクのネームサーバに登録されたIPアドレスの有効期間は15分です。登録したノードからのアクセス(有効期間の更新)が途絶えた場合には有効期間経過後に削除されます。
フロートリンクのネームサーバへのアクセスは、まずIPv6での通信を試み、失敗した場合にIPv4を使用します。
フロートリンクのネームサーバに登録するIPアドレスの選択
登録するIPアドレスの選択基準は次の通りです。- "interface <interface> floatlink address-family ipv4" の場合
- IPv4プライマリアドレスを登録します。エイリアスアドレスは選択しません。
- "interface <interface> floatlink address-family ipv6" の場合
- 状態がanycast, deprecated, duplicated, detached のいずれでもないグローバルアドレスのうち、最後に付与されたIPv6アドレスを登録します。リンクローカルアドレスは選択しません。
- "interface <interface> floatlink my-address" で指定されたインタフェースに、"interface <interface> floatlink address-family"で指定されたアドレスファミリのIPアドレスが付与されていない場合には、ネームサーバに登録しません。
- 複数のインタフェースを使用する場合には、インタフェースごとに異なるアドレスファミリを指定できます。
フロートリンクのグループ
フロートリンクでは、直接VPN接続を行うノード(VPN拠点となるサービスアダプタ)をグループとして管理します。
一つのグループに複数のノードが所属できます。また、一つのノードが複数のグループに所属できます。
各ノードはフロートリンクのネームサーバから、自身が所属するグループの他のノードのIPアドレスを取得してVPN構成に反映させます。
変更されたIPアドレスの反映
自身のIPアドレスに変更があった場合、フロートリンクのネームサーバへの定期的なアクセス時に更新します。
ネームサーバから取得した情報によって自身または対向装置のIPアドレスの変化を検知すると、VPNのアドレス構成を変更し対向装置と再接続します。
IPアドレスの変化からの復旧見込み時間
フロートリンクのネームサーバへアクセスするタイミングは装置ごとに異なります。IPアドレスが変化した装置がネームサーバへ通知するために0分から5分要し、変更されたIPアドレスを対向装置がネームサーバから取得するために0分から5分要するため、復旧見込み時間は最大で約10分(期待値として5分前後)となります。
パスフィルターの自動設定
フロートリンクによってVPN対向装置のIPアドレスを取得すると、VPN対向間の通信をパスするIPパケットフィルタのフィルタルールが自動的に設定されます。- フロートリンクの設定で指定されたアドレスファミリ(IPv4/IPv6)に応じて、ノードIDに対応するIPv4アドレスまたはIPv6アドレス間の通信をパスするフィルタが設定されます。
- 自動設定されたフィルタルールは、filterおよびfilter6コマンドの設定によるフィルタルールより高い優先度でマッチします。
NAT環境への対応
コマンド | 設定内容 | 備考 |
---|---|---|
floatlink dynamic-local-address | NATによるローカルアドレス書き換えの検知 | 自身のアドレスにNATが適用される装置で有効にする(主に拠点装置) |
floatlink dynamic-remote-address | NATによるリモートアドレス書き換えの検知 | 対向のアドレスにNATが適用される装置で有効にする(主にセンター装置) |
現在は、VPN対向のいずれか一方がNAT配下に設置される構成に対応しています。両方がNAT配下に設置される構成には対応していません。(dynamic-local-address と dynamic-remote-address はいずれか一方のみenableを指定できます)
アドレス書き換えの検知が有効であると、IPsecインタフェースはAggressive modeでIKEの折衝を行い、NAT Traversalを有効化します。
- IPsecインタフェースのみ対応
- IP-IPトンネルインタフェース及びL2TPv3インタフェースでは使用できません。
- IPv6 NATに非対応
- IPsec/IKEのNAT TraversalはIPv6 NATに対応していないため、アドレス書き換えの検知を有効化する場合は "address-family ipv6" を設定できません。
- VPN構成にNAT配下の装置が無い場合の有効化は非推奨
- IKEのAggressive modeかつ事前共有鍵での認証は、Main modeと比較してセキュリティレベルが低くなるため、NAT配下の装置との接続が必要でないのであれば、アドレス書き換えの検知は無効化してご利用ください。
- フロートリンクのネームサーバへプライベートアドレスが登録される
- アドレス書き換えの検知の設定状態、及び実際のNAT適用状況によらず、常にインタフェースの実IPアドレスをフロートリンクのネームサーバへ登録します。NAT配下の装置の場合には、プライベートアドレスが登録されることになります。このため、VPN対向がNAT配下となるセンター装置側では、パスフィルターの自動設定及び静的経路のフロートリンクによる設定が実質的に利用できません。必要に応じてUDP 500及びUDP 4500のポートへの通信をパスするパケットフィルタを設定してください。
IPsec NAT Traversal の強制適用
- 対向機器がNAT Traversalを使用可能でない場合は適用しません。