【IPSec】サイト間IPSec(Crypto-Map)

 図のルータ間で、1.1.1.1/32から2.2.2.2/32間を接続するサイト間IPSecVPN設定をステップを踏みながら、確認していきます。

スポンサーリンク

サイト間VPN設定

ネットワーク設定

 各Loopbackアドレスへ到達できるようルーティング設定をします。

R1(config)# ip route 0.0.0.0 0.0.0.0 192.168.12.2
R2(config)# ip route 0.0.0.0 0.0.0.0 192.168.12.1

フェーズ1設定

 まず、最初にこのフェーズの設定でISAKMP SAを確立します。ここで必要なパラメータは最低以下4つです。

  • 暗号化アルゴリズム
  • ハッシュアルゴリズム
  • Diffie-Hellman グループ
  • 認証方法

 今回は、以下のパラメータ値とします。

  • 暗号化アルゴリズム:AES256
  • ハッシュアルゴリズム:SHA512
  • Diffie-Hellman グループ:14(2048 ビット )
  • 認証方法 :事前共有鍵 キーは CISCO 

 設定は以下です。

R1(config)# crypto isakmp policy 10
R1(config-isakmp)# encr aes 256
R1(config-isakmp)# hash sha512
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# group 14
R2(config)# crypto isakmp policy 10
R2(config-isakmp)# encr aes 256
R2(config-isakmp)# hash sha512
R2(config-isakmp)# authentication pre-share
R2(config-isakmp)# group 14

 次に、ISAKMPトンネルを確立するために使用するISAKMPピアと鍵を設定します。

R1(config)# crypto isakmp key CISCO address 192.168.12.2
R2(config)# crypto isakmp key CISCO address 192.168.12.1

 フェーズ1に必要な基本的な設定は完了です。次は、フェーズ2に進みます。

フェーズ2設定

 このフェーズでは、データを安全に送信できるように、ピア間のIPSecSAを確立することです。 このフェーズの設定では、以下、4つのパラメータが最低必要です。

  • 暗号化アルゴリズム
  • ハッシュアルゴリズム
  • 暗号化モード(トンネル、トランスポート)
  • ProxyID(どことどこのトラフィックを暗号化しないといけないのか)

 今回は、以下のパラメータ値とします。

  • 暗号化アルゴリズム:AES192
  • ハッシュアルゴリズム:SHA384
  • 暗号化モード:トンネル
  • ProxyID:1.1.1.1/32と2.2.2.2/32間の双方向

 最初にIPSec変換セット(transform set)を作成し、暗号化、およびハッシュアルゴリズムを設定します。

R1(config)# crypto ipsec transform-set R1-R2-Phase2 esp-aes 192 esp-sha384-hmac
R2(config)# crypto ipsec transform-set R1-R2-Phase2 esp-aes 192 esp-sha384-hmac

 IPSec 変換セット(transform set)設定時に暗号化モードが設定できます。Ciscoのデフォルトはトンネルモードです。設定は以下です。

R1(config)# crypto ipsec transform-set R1-R2-Phase2 esp-aes 192 esp-sha384-hmac
R1(cfg-crypto-trans)# mode tunnel
R2(config)# crypto ipsec transform-set R1-R2-Phase2 esp-aes 192 esp-sha384-hmac
R2(cfg-crypto-trans)# mode tunnel

 次にProxy-IDを指定するため、暗号化対象のローカルサブネットとリモートサブネットをアクセスリストとして設定します。 送信元はローカルサブネット、宛先はリモートサブネットとなるため、ルータ間では、送信元と宛先が逆になります。

R1(config)# access-list 100 permit ip host 1.1.1.1 host 2.2.2.2
R2(config)# access-list 100 permit ip host 2.2.2.2 host 1.1.1.1

 crypto mapを作成し、今まで設定してきたパラメータとIPSecトンネルの接続先を定義します。

R1(config)# crypto map R1_TO_R2 10 ipsec-isakmp 
R1(config-crypto-map)# set peer 192.168.12.2
R1(config-crypto-map)# set transform-set R1-R2-Phase2
R1(config-crypto-map)# match address 100
R2(config)# crypto map R2_TO_R1 10 ipsec-isakmp 
R2(config-crypto-map)# set peer 192.168.12.1
R2(config-crypto-map)# set transform-set R1-R2-Phase2
R2(config-crypto-map)# match address 100

インタフェース設定

 設定したcrypto mapをインタフェースに割り当てます。

R1(config)# interface fastEthernet 0/0.12
R1(config-subif)# crypto map R1_TO_R2
R2(config)# interface fastEthernet 0/0.12
R2(config-subif)# crypto map R2_TO_R1

 設定すると、以下のようなログが出力されます。

*Jun 12 12:43:11.731: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
スポンサーリンク

確認

疎通確認

 R1からR2へPingを実行します。

R1#ping 2.2.2.2 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1 
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 20/23/28 ms

ISAKMP SAの確認

 ISAKMP SAのステータスを確認します。

R1#show crypto isakmp sa 
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
192.168.12.2    192.168.12.1    QM_IDLE           1001 ACTIVE


IPv6 Crypto ISAKMP SA

 IKEフェーズ1が正常に完了すると、StateがQM_IDLEになります。

IPSecSAの確認

 以下のコマンドで、#pkts encaps/encrypt/decap/decryptのカウンタが上がることで、暗号化、復号化されていること確認できます。

R1#show crypto ipsec sa 


interface: FastEthernet0/0.12
    Crypto map tag: R1_TO_R2, local addr 192.168.12.1


   protected vrf: (none)
   local  ident (addr/mask/prot/port): (1.1.1.1/255.255.255.255/0/0)
   remote ident (addr/mask/prot/port): (2.2.2.2/255.255.255.255/0/0)
   current_peer 192.168.12.2 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 9, #pkts encrypt: 9, #pkts digest: 9
    #pkts decaps: 9, #pkts decrypt: 9, #pkts verify: 9
    #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.: 192.168.12.1, remote crypto endpt.: 192.168.12.2
     path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0.12
     current outbound spi: 0x4B9CEBB2(1268575154)
     PFS (Y/N): N, DH group: none


     inbound esp sas:
      spi: 0x1C4AF696(474674838)
        transform: esp-192-aes esp-sha384-hmac ,
        in use settings ={Tunnel, }
        conn id: 1, flow_id: SW:1, sibling_flags 80000040, crypto map: R1_TO_R2
        sa timing: remaining key lifetime (k/sec): (4263399/2797)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)


     inbound ah sas:


     inbound pcp sas:


     outbound esp sas:
      spi: 0x4B9CEBB2(1268575154)
        transform: esp-192-aes esp-sha384-hmac ,
        in use settings ={Tunnel, }
        conn id: 2, flow_id: SW:2, sibling_flags 80000040, crypto map: R1_TO_R2
        sa timing: remaining key lifetime (k/sec): (4263399/2797)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)


     outbound ah sas:
          
     outbound pcp sas:

 また、以下のコマンドで簡単にSAの状態を確認できます。

R1#show crypto session 
Crypto session current status


Interface: FastEthernet0/0.12
Session status: UP-ACTIVE     
Peer: 192.168.12.2 port 500 
  IKEv1 SA: local 192.168.12.1/500 remote 192.168.12.2/500 Active 
  IPSEC FLOW: permit ip host 1.1.1.1 host 2.2.2.2 
        Active SAs: 2, origin: crypto map

 Session statusがUP-ACTIVEとは、IPSecSAがアップしていて、正常な状態を表します。

コメント