概要

FVRFを利用するVRF-awareなIPSec VTIの設定例です。「IPSecの通信は、FVRF(アンダーレイネットワーク)で行う」ことをきちんと把握して設定してください。

ネットワーク構成

次のネットワーク構成を考えます。「[FVRFの仕組み] ポイントツーポイントGREトンネル : FVRFあり(tunnel vrfコマンド)」と同じネットワーク構成です。このネットワーク構成のアンダーレイネットワークはインターネットではありませんが、インターネットだと想定します。

図 IPSec VTI with FVRF ネットワーク構成
図 IPSec VTI with FVRF ネットワーク構成

設定条件

R11-R12間でポイントツーポイントIPSec VTIのオーバーレイネットワークを構築します。そして、オーバーレイネットワークとアンダーレイネットワークをVRFで分離します。VRFとして、以下のような設定を行います。

ルータVRF名RDインタフェース
R11FVRF65001:100Lo0
Eth0/0
 IVRF65001:200Tunnel0
Eth0/1
R21FVRF65001:100Lo0
Eth0/0
 IVRF65001:200Tunnel0
Eth0/1
表 VRF

また、オーバーレイネットワークのIVRFとアンダーレイネットワークのFVRFのアドレス範囲は、重複しないようにしています。IVRFは、172.16.x.xおよび172.17.x.x、172.18.x.xといったクラスBのプライベートアドレスでアドレッシングしています。そして、FVRFは、10.x.x.xのクラスAのプライベートアドレスでアドレッシングしています。

ルーティングプロトコルとして、IVRFはEIGRPを利用し、FVRFではOSPFを利用します。

アドレス範囲ルーティングプロトコル
オーバーレイネットワーク(IVRF)172.16.0.0/16 172.17.0.0/16 172.18.0.0/16EIGRP
アンダーレイネットワーク(FVRF)10.0.0.0/8OSPF
表 VRFごとのアドレスとルーティング
図 VRFごとのルーティング

オーバーレイネットワークのデータをIPSecで暗号化して、アンダーレイネットワーク上を転送します。IPSecの各種パラメータは、以下の通りとします。

暗号化アルゴリズム3DES
ハッシュアルゴリズムMD5
ピア認証PSK
DHグループ2
表 IKE Phase1 ISAKMP SA

セキュリティプロトコルESP
暗号化アルゴリズム3DES
ハッシュアルゴリズムMD5
表 IKE Phase2 IPSec SA

初期設定

R11-R21間でポイントツーポイントGREトンネルによるオーバーレイネットワークを構築して、VRFを分離している状態から開始します。これは、 「[FVRFの仕組み] ポイントツーポイントGREトンネル : FVRFあり(tunnel vrfコマンド)」 の完了段階です。ポイントツーポイントGREトンネルから、IPSec VTIに変更する設定にフォーカスします。

R11 設定抜粋(Click)

hostname R11
!
ip vrf FVRF
 rd 65001:100
!
ip vrf IVRF
 rd 65001:200
!
interface Loopback0
 ip vrf forwarding FVRF
 ip address 10.0.0.11 255.255.255.255
!
interface Tunnel0
 ip vrf forwarding IVRF
 ip address 172.16.0.11 255.255.255.0
 tunnel vrf FVRF
!
interface Ethernet0/0
 ip vrf forwarding FVRF
 ip address 10.0.11.11 255.255.255.0
!
interface Ethernet0/1
 ip vrf forwarding IVRF
 ip address 172.17.0.11 255.255.255.0
!
router eigrp 1
 !
 address-family ipv4 vrf IVRF autonomous-system 1
  network 172.16.0.0
  network 172.17.0.0
 exit-address-family
 eigrp router-id 11.11.11.11
!
router ospf 1 vrf FVRF
 router-id 11.11.11.11
 network 10.0.0.11 0.0.0.0 area 0
 network 10.0.11.11 0.0.0.0 area 0

R21 設定抜粋(Click)

hostname R21
!
ip vrf FVRF
 rd 65100:100
!
ip vrf IVRF
 rd 65100:200
!
interface Loopback0
 ip vrf forwarding FVRF
 ip address 10.0.0.21 255.255.255.255
!
interface Tunnel0
 ip vrf forwarding IVRF
 ip address 172.16.0.21 255.255.255.0
 tunnel vrf FVRF
!
interface Ethernet0/0
 ip vrf forwarding FVRF
 ip address 10.0.21.21 255.255.255.0
!
interface Ethernet0/1
 ip vrf forwarding IVRF
 ip address 172.18.0.21 255.255.255.0
!
router eigrp 1
 !
 address-family ipv4 vrf IVRF autonomous-system 1
  network 172.16.0.0
  network 172.18.0.0
 exit-address-family
 eigrp router-id 21.21.21.21
!
router ospf 1 vrf FVRF
 router-id 21.21.21.21
 network 10.0.0.21 0.0.0.0 area 0
 network 10.0.21.21 0.0.0.0 area 0

R12 設定抜粋(Click)

hostname R12
!
interface Loopback0
 ip address 172.17.12.12 255.255.255.0
 ip ospf network point-to-point
!
interface Ethernet0/0
 ip address 172.17.0.12 255.255.255.0
!
router eigrp 1
 network 172.17.0.0
 eigrp router-id 12.12.12.12

R22 設定抜粋(Click)

hostname R22
!
interface Loopback0
 ip address 172.18.22.22 255.255.255.0
 ip ospf network point-to-point
!
interface Ethernet0/0
 ip address 172.18.0.22 255.255.255.0
!
router eigrp 1
 network 172.18.0.0
 eigrp router-id 22.22.22.22

UL1 設定抜粋(Click)

hostname UL1
!
interface Ethernet0/0
 ip address 10.0.11.1 255.255.255.0
!
interface Ethernet0/1
 ip address 10.0.0.1 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 network 10.0.0.0 0.255.255.255 area 0

UL2 設定抜粋(Click)

hostname UL2
!
interface Ethernet0/0
 ip address 10.0.21.2 255.255.255.0
!
interface Ethernet0/1
 ip address 10.0.0.2 255.255.255.0
!
router ospf 1
 router-id 2.2.2.2
 network 10.0.0.0 0.255.255.255 area 0

設定と確認

Step1: ISAKMPポリシーの設定

前述のIKE Phase1のパラメータでR11/R21で共通のISAKMPポリシーを設定します。

R11/R21 ISAKMPポリシー

crypto isakmp policy 10
 encr 3des
 hash md5
 authentication pre-share
 group 2

Step2: crypto keyringの設定

R11/R21でIPSecの通信を行うVPNゲートウェイピアの設定を行います。IPSecの通信は、アンダーレイネットワークのFVRF上で行います。crypto keyring vrfコマンドでFVRFを指定します。

R11 crypto keyring

crypto keyring KEY vrf FVRF
  pre-shared-key address 10.0.0.21 key cisco

R21 crypto keyring

crypto keyring KEY vrf FVRF
  pre-shared-key address 10.0.0.11 key cisco
図 crypto keyringの設定
図 crypto keyringの設定

Step3: IPSecトランスフォームセットの設定

IKE Phase2のIPSecで利用するトランスフォームセットを設定します。R11/R21で、前述のパラメータの共通のIPSecトランスフォームセットを設定します。

R11/R21 IPSecトランスフォームセット

crypto ipsec transform-set TS esp-3des esp-md5-hmac 
 mode tunnel

Step4: IPSecプロファイルの設定

R11/R21で共通のIPSecプロファイルを設定します。IPSecプロファイルでは、IPSecトランスフォームセットを関連付けます。

R11/R21 IPSecプロファイル

crypto ipsec profile IPSEC
 set transform-set TS

Step5: IPSec VTIの設定

Tunnel0インタフェースをポイントツーポイントGREトンネルからIPSec VTIに変更します。R11の現在のTunnel0インタフェースの設定は以下です。

R11 show running-config interface tunnel0

R11#show running-config interface tunnel 0
Building configuration...

Current configuration : 159 bytes
!
interface Tunnel0
 ip vrf forwarding IVRF
 ip address 172.16.0.11 255.255.255.0
 tunnel source Loopback0
 tunnel destination 10.0.0.21
 tunnel vrf FVRF
end

GREヘッダのオーバーヘッドを少なくするために、tunnel mode ipsec ipv4コマンドでIPSec VTIとします。そして、Tunnel0で扱うパケットをすべてIPSecで暗号化するためにtunnel protectionコマンドでIPSecプロファイルを適用します。

R11 IPSec VTI

interface Tunnel0
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC

R21もIPSec VTIの設定コマンドは、R11とまったく同じです。

R21 IPSec VTI

interface Tunnel0
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC
図 R11 IPSec VTIの設定
図 R11 IPSec VTIの設定

Step6: IPSec VTIの確認

以下のshowコマンドでIPSec VTIが正常に動作していることを確認します。

  • show crypto isakmp sa
  • show crypto ipsec sa
  • show interface tunnel 0

R11での出力例です。

R11 IPSec VTIの確認

R11#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
10.0.0.21       10.0.0.11       QM_IDLE           1001 ACTIVE

IPv6 Crypto ISAKMP SA

R11#show crypto ipsec sa

interface: Tunnel0
    Crypto map tag: Tunnel0-head-0, local addr 10.0.0.11

   protected vrf: IVRF
   local  ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
   remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
   current_peer 10.0.0.21 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 95, #pkts encrypt: 95, #pkts digest: 95
    #pkts decaps: 101, #pkts decrypt: 101, #pkts verify: 101
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 0, #recv errors 0

     local crypto endpt.: 10.0.0.11, remote crypto endpt.: 10.0.0.21
     plaintext mtu 1446, path mtu 1500, ip mtu 1500, ip mtu idb Ethernet0/0
     current outbound spi: 0x8378E9A7(2205739431)
     PFS (Y/N): N, DH group: none

     inbound esp sas:
      spi: 0x9ED7F06A(2664951914)
        transform: esp-3des esp-md5-hmac ,
        in use settings ={Tunnel, }
        conn id: 1, flow_id: SW:1, sibling_flags 80004040, crypto map: Tunnel0-head-0
        sa timing: remaining key lifetime (k/sec): (4263551/3167)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x8378E9A7(2205739431)
        transform: esp-3des esp-md5-hmac ,
        in use settings ={Tunnel, }
        conn id: 2, flow_id: SW:2, sibling_flags 80004040, crypto map: Tunnel0-head-0
        sa timing: remaining key lifetime (k/sec): (4263552/3167)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)

     outbound ah sas:

     outbound pcp sas:
R11#show interfaces tunnel 0
Tunnel0 is up, line protocol is up
  Hardware is Tunnel
  Internet address is 172.16.0.11/24
  MTU 17886 bytes, BW 100 Kbit/sec, DLY 50000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel linestate evaluation up
  Tunnel source 10.0.0.11 (Loopback0), destination 10.0.0.21
   Tunnel Subblocks:
      src-track:
         Tunnel0 source tracking subblock associated with Loopback0
          Set of tunnels with source Loopback0, 1 member (includes iterators), on interface 
  Tunnel protocol/transport IPSEC/IP
  Tunnel TTL 255
  Tunnel transport MTU 1446 bytes
  Tunnel transmit bandwidth 8000 (kbps)
  Tunnel receive bandwidth 8000 (kbps)
  Tunnel protection via IPSec (profile "IPSEC")
~省略~

R11のIPSec VTIのTunnel0が機能しています。そのため、Tunnel0上でR21とEIGRPネイバーになり、IVRFのルーティングテーブルが正常に作られています。

R11 IVRFのルーティングの確認

R11#show ip eigrp vrf IVRF neighbors
EIGRP-IPv4 Neighbors for AS(1) VRF(IVRF)
H   Address                 Interface              Hold Uptime   SRTT   RTO  Q  Seq
                                                   (sec)         (ms)       Cnt Num
1   172.16.0.21             Tu0                      14 00:11:31   13  1494  0  14
0   172.17.0.12             Et0/1                    11 00:11:48    8   100  0  10
R11#show ip route vrf IVRF

Routing Table: IVRF
~省略~

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.16.0.0/24 is directly connected, Tunnel0
L        172.16.0.11/32 is directly connected, Tunnel0
      172.17.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        172.17.0.0/24 is directly connected, Ethernet0/1
L        172.17.0.11/32 is directly connected, Ethernet0/1
D        172.17.12.0/24 [90/409600] via 172.17.0.12, 00:11:51, Ethernet0/1
      172.18.0.0/24 is subnetted, 2 subnets
D        172.18.0.0 [90/26905600] via 172.16.0.21, 00:11:21, Tunnel0
D        172.18.22.0 [90/27033600] via 172.16.0.21, 00:11:21, Tunnel0

Step7: 通信確認

オーバーレイネットワークの通信が正常にできることを確認します。R12からR22へPingを実行します。

R12からR22へPing

R12#ping 172.18.22.22 source 172.17.12.12
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.18.22.22, timeout is 2 seconds:
Packet sent with a source address of 172.17.12.12
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

オーバーレイネットワークの通信が正常にできていることがわかります。R12からR22宛てのPingをR11 E0/1でキャプチャすると、次のような内容です。

オーバーレイネットワークのデータは、IPSec(ESP)で暗号化されていることがわかります。

設定コマンドのまとめ

初期設定の状態からR11/R21に設定した設定コマンドのまとめです。

R11 設定コマンドのまとめ

crypto keyring KEY vrf FVRF 
  pre-shared-key address 10.0.0.21 key cisco
!
crypto isakmp policy 10
 encr 3des
 hash md5
 authentication pre-share
 group 2
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac 
 mode tunnel
!
crypto ipsec profile IPSEC
 set transform-set TS 
!
interface Tunnel0
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC

R21 設定コマンドのまとめ

crypto keyring KEY vrf FVRF 
  pre-shared-key address 10.0.0.11 key cisco
!
crypto isakmp policy 10
 encr 3des
 hash md5
 authentication pre-share
 group 2
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac 
 mode tunnel
!
crypto ipsec profile IPSEC
 set transform-set TS 
!
interface Tunnel0
 ip vrf forwarding IVRF
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC

IPルーティング応用