概要

FVRFでアンダーレイネットワークとオーバーレイネットワークを分離します。インターネットをアンダーレイネットワークとして利用する(インターネットVPN)ときに、オーバーレイネットワークのデータを暗号化します。そのとき、IPSecの暗号化は、アンダーレイネットワーク(FVRF)上のVPNゲートウェイ間で行うことになります。

VRF-awareなIPSec VTIを利用するには、アンダーレイネットワーク(FVRF)上のVPNゲートウェイとIPSecの通信を行うことをきちんと考慮した設定が必要です。

インターネットVPN(IPSec VPN)

オーバーレイネットワークとアンダーレイネットワークという観点から、インターネットVPNを考えてみましょう。

オーバーレイネットワーク : プライベートネットワーク(社内ネットワーク)
アンダーレイネットワーク : インターネット

インターネットVPNとは、インターネットを仮想的なプライベートネットワークとして扱う技術です。そして、オーバーレイネットワークとは、物理的にデータを転送するアンダーレイネットワーク上に構築する論理的なネットワークです。なので、インターネットVPNにおいては、オーバーレイネットワークはプライベートネットワーク(社内ネットワーク)です。また、実際にデータを転送することになるインターネットがアンダーレイネットワークです。

図 インターネットVPNの概要
図 インターネットVPNの概要

ここで気をつけなくてはいけないことが、インターネットには悪意を持つユーザが存在することです。インターネット経由でオーバーレイネットワークのデータを転送するときに、盗聴されたり改ざんされたりするリスクがあります。そこで、オーバーレイネットワークのデータを暗号化します。IPSecを利用して暗号化するインターネットVPNが、IPSec VPNです。

アンダーレイネットワーク上でIPSecの暗号化を行う

IPSecの暗号化は、基本的にはインターネットへ直接通信できるVPNゲートウェイで行います。つまり、IPSecの暗号化はアンダーレイネットワークで行うことをきちんと意識しましょう。FVRF/IVRFで、プライベートネットワーク(IVRF)とインターネット(FVRF)を分離しているとき、IPSecの暗号化はFVRFで行います。

図 アンダーレイネットワークでIPSecを利用する
図 アンダーレイネットワークでIPSecを利用する

IPSec VTI(VRF-aware)の設定のポイント

crypto keyring

FVRFでIPSecの通信をするための設定のポイントは、IKE Phase1のISAKMPについての設定です。ISAKMPの設定で対向のIPSecピアを指定しますが、デフォルトはグローバルルーティングテーブルに基づきます。デフォルトのグローバルルーティングテーブルには、FVRFのルートがないのでIPSecの通信を開始できません。

IPSecピアは、FVRFのルーティングテーブルに基づいて設定します。そのために、KeyringでIPSecピアのアドレスを指定するときに、VRFを指定してください。

crypto keyring VRFの指定

(config)#crypto keyring <name> vrf <vrf-name>
(config-keyring)#pre-shared-key address <ip-address> [<mask>] key <key>

<name> : キーリング名
<vrf-name> : VRF名
<ip-address> [<mask>] : 対向のIPSecピア
<key> : 事前共有鍵

図 crypto keyring VRFの指定
図 crypto keyring VRFの指定

その他のISAKMPポリシーやIPSecトランスフォームセットおよびIPSecプロファイルの設定は、通常のIPSecの設定と同じです。なお、話を簡単にするために、PSK認証のみでISAKMPプロファイルの設定は考慮しません。

IPSec VTI(Vitual Tunnel Interface)

ポイントツーポイントでVPNゲートウェイ間を接続して、IPv4の通信を行うためにはGREヘッダは特に必要ありません。IPSec VTIによって、GREヘッダのオーバーヘッドを削減します。tunnel mode ipsec ipv4コマンドによって、IPv4パケットを暗号化したうえで、直接IPSecのESPヘッダと新しいIPヘッダのカプセル化を行います。

IPSec VTIの設定コマンドは、次の通りです。

IPSec VTI(Virtual Tunnel Interface)

(config)#interface Tunnel <interface-number>
(config-if)#tunnel mode ipsec ipv4
(config-if)#tunnel destination <destination-address>
(config-if)#tunnel source {<source-address>|<source-interface>}
(config-if)#ip vrf forwarding <IVRF>
(config-if)#ip address <address> <subnetmask>
(config-if)#tunnel vrf <FVRF>
(config-if)#tunnel protection ipsec profile <IPSec-profile>

<interface-number> : インタフェース番号
<destination-address> : 新IPヘッダの宛先IPアドレス
<source-address>|<source-interface> : 新IPヘッダの送信元アドレス|インタフェース
<IVRF> : IVRF名
<address> <subnetmask> : オーバーレイネットワークのIPアドレス
<FVRF> : FVRF名
<IPSec-profile> : IPSecプロファイル名

tunnel destinationおよびtunnel sourceは、アンダーレイネットワーク(FVRF)のIPアドレスまたはインタフェースを指定します。アンダーレイネットワークを転送するために付加する新しいIPヘッダの宛先/送信元IPアドレスになります。

VTI自体は、オーバーレイネットワーク(IVRF)に割り当てて、オーバーレイネットワークのIPアドレスを設定します。VTIはオーバーレイネットワークのインタフェースということをしっかりと意識しておきましょう。

VTI経由のパケットは、実際には、アンダーレイネットワークのFVRFで転送することになるので、tunnel vrfコマンドでFVRFに対応づけます。そして、Tunnel上のパケットをすべてIPSecで暗号化するためにtunnel protectionコマンドでIPSecプロファイルを関連付けます。

図 IPSec VTI VRF-aware
図 IPSec VTI VRF-aware

まとめ

ポイント

  • FVRFを利用するVRF-aware IPSec VPNは、アンダーレイネットワークでIPSecの通信を行います。
  • IKE Phase1の対向のVPNゲートウェイは、crypto keyringコマンドによってFVRFのルーティングテーブルに基づいて設定します。
  • IPSec VTIは、オーバーレイネットワークのインタフェースです。

IPルーティング応用