IT備忘録

Cisco
サイト間IPsec設定例

構成図

構成図


IPsec+PPPoE+NAT+ACLのコンフィグからRT-2のIPsecの設定箇所をピックアップします。




IPsecの設定例

crypto isakmp policy 110						← ISAKMPの設定。数字はプライオリティ(小さい値が優先)です。
 encr aes										← ISAKMPの暗号アルゴリズムにAESを設定しています。…(1)
 hash sha256									← ISAKMPの認証アルゴリズムにSHA-256を設定しています。…(2)
 authentication pre-share						← 共通鍵方式を設定しています。…(3)
 group 2										← オプション設定。ISAKMPのDHグループを変更したい場合に設定します。…(4)
 lifetime 1800									← オプション設定。ISAKMPライフタイムを変更したい場合に設定します。…(5)
crypto isakmp key PS-key address 11.11.11.11	← 共通鍵とIPsec対向機器のIPアドレスを設定します。
crypto isakmp keepalive 30 periodic				← オプション設定。DPDを変更したい場合に設定します。…(6)
!
!
crypto ipsec transform-set TS-name esp-aes esp-sha256-hmac		← トランスフォームセットでIPsecの暗号と認証アルゴリズムを設定します。…(7)
 mode tunnel													← トンネルモードかトランスポートモードを設定します。
!
!
!
crypto map MAP-name 160 ipsec-isakmp				← ISAKMPの設定。数字はシーケンス番号(小さい値が優先)です。
 set peer 11.11.11.11								← IPsec対向機器のIPアドレスを設定します。
 set security-association lifetime seconds 1200		← オプション設定。IPsecライフタイムを変更したい場合に設定します。…(8)
 set transform-set TS-name
 set pfs group14									← オプション設定。PFSを有効にしたい場合に設定します。…(9)
 match address IPsec



interface Vlan1
 ip address 10.2.1.22 255.255.255.0
 ip nat inside
 ip tcp adjust-mss 1350								← MSSをIPsecパケットに合わせて変更します。…(10)



interface Dialer1
 ip access-group Internet-ACL in
 ip mtu 1492
 ip nat outside
 crypto map MAP-name								← IPsecをインターフェースにマッピングします。…(11)



ip access-list extended IPsec										← IPsec対象通信をアクセスリストで設定します。
 permit ip 10.2.1.0 0.0.0.255 10.1.1.0 0.0.0.255
ip access-list extended Internet-ACL
 permit udp host 9.9.9.1 eq ntp host 22.22.22.22 eq ntp
 permit icmp any host 22.22.22.22
 permit tcp any host 22.22.22.22 eq www
 permit udp host 11.11.11.11 eq isakmp host 22.22.22.22 eq isakmp	← IPsec対向機器からのISAKMP(UDP500)を許可します。
 permit esp host 11.11.11.11 host 22.22.22.22						← IPsec対向機器からのIPsec(ESPパケット)を許可します。
ip access-list extended Internet-PAT
 deny   ip 10.2.1.0 0.0.0.255 10.1.1.0 0.0.0.255					← IPsec対象通信をPATから除外します。
 permit ip 10.2.1.0 0.0.0.255 any



(1) ISAKMPで設定できる暗号アルゴリズム

RT-1(config-isakmp)#encryption ?
  3des  Three key triple DES
  aes   AES - Advanced Encryption Standard.
  des   DES - Data Encryption Standard (56 bit keys).


(2) ISAKMPで設定できる認証アルゴリズム

RT-1(config-isakmp)#hash ?
  md5     Message Digest 5
  sha     Secure Hash Standard
  sha256  Secure Hash Standard 2 (256 bit)
  sha384  Secure Hash Standard 2 (384 bit)
  sha512  Secure Hash Standard 2 (512 bit)


(3) 設定できる認証方式

RT-1(config-isakmp)#authentication ?
  pre-share  Pre-Shared Key
  rsa-encr   Rivest-Shamir-Adleman Encryption
  rsa-sig    Rivest-Shamir-Adleman Signature


(4) ISAKMPで設定できるDHグループ

RT-1(config-isakmp)#group ?
  1   Diffie-Hellman group 1 (768 bit)
  14  Diffie-Hellman group 14 (2048 bit)
  15  Diffie-Hellman group 15 (3072 bit)
  16  Diffie-Hellman group 16 (4096 bit)
  19  Diffie-Hellman group 19 (256 bit ecp)
  2   Diffie-Hellman group 2 (1024 bit)
  20  Diffie-Hellman group 20 (384 bit ecp)
  21  Diffie-Hellman group 21 (521 bit ecp)
  24  Diffie-Hellman group 24 (2048 bit, 256 bit subgroup)
  5   Diffie-Hellman group 5 (1536 bit)


(5) 設定できるISAKMPライフタイム(デフォルトは86400)

RT-1(config-isakmp)#lifetime ?
  <60-86400>  lifetime in seconds


(6) DPDについて

Dead Peer Detectionの略です。使用されなくなったピアを検知し削除する機能です。

periodicに設定すると、タイマー毎にピアの生存を確認し、使用されなくなったピアがあれば早い段階で検知し削除します。

デフォルト設定はon-demandです。タイマーではなく、ピアの応答がない場合に削除します。



(7) IPsecで設定できる暗号アルゴリズム

RT-1(config)#crypto ipsec transform-set TS-name ?
  ah-md5-hmac      AH-HMAC-MD5 transform
  ah-sha-hmac      AH-HMAC-SHA transform
  ah-sha256-hmac   AH-HMAC-SHA256 transform
  ah-sha384-hmac   AH-HMAC-SHA384 transform
  ah-sha512-hmac   AH-HMAC-SHA512 transform
  comp-lzs         IP Compression using the LZS compression algorithm
  esp-3des         ESP transform using 3DES(EDE) cipher (168 bits)
  esp-aes          ESP transform using AES cipher
  esp-des          ESP transform using DES cipher (56 bits)
  esp-gcm          ESP transform using GCM cipher
  esp-gmac         ESP transform using GMAC cipher
  esp-md5-hmac     ESP transform using HMAC-MD5 auth
  esp-null         ESP transform w/o cipher
  esp-seal         ESP transform using SEAL cipher (160 bits)
  esp-sha-hmac     ESP transform using HMAC-SHA auth
  esp-sha256-hmac  ESP transform using HMAC-SHA256 auth
  esp-sha384-hmac  ESP transform using HMAC-SHA384 auth
  esp-sha512-hmac  ESP transform using HMAC-SHA512 auth


(7) IPsecで設定できる認証アルゴリズム

RT-1(config)#crypto ipsec transform-set TS-name esp-aes ?
  128              128 bit keys.
  192              192 bit keys.
  256              256 bit keys.
  ah-md5-hmac      AH-HMAC-MD5 transform
  ah-sha-hmac      AH-HMAC-SHA transform
  ah-sha256-hmac   AH-HMAC-SHA256 transform
  ah-sha384-hmac   AH-HMAC-SHA384 transform
  ah-sha512-hmac   AH-HMAC-SHA512 transform
  comp-lzs         IP Compression using the LZS compression algorithm
  esp-md5-hmac     ESP transform using HMAC-MD5 auth
  esp-sha-hmac     ESP transform using HMAC-SHA auth
  esp-sha256-hmac  ESP transform using HMAC-SHA256 auth
  esp-sha384-hmac  ESP transform using HMAC-SHA384 auth
  esp-sha512-hmac  ESP transform using HMAC-SHA512 auth


(8) 設定できるIPsecライフタイム(デフォルトは3600)

RT-1(config-crypto-map)#set security-association lifetime seconds ?
  <120-2592000>  Security association duration in seconds


(9) IPsecで設定できるDHグループ

RT-1(config-crypto-map)#set pfs ?
  group1   D-H Group1 (768-bit modp)
  group14  D-H Group14 (2048-bit modp)
  group15  D-H Group15 (3072-bit modp)
  group16  D-H Group16 (4096-bit modp)
  group19  D-H Group19 (256-bit ecp)
  group2   D-H Group2 (1024-bit modp)
  group20  D-H Group20 (384-bit ecp)
  group21  D-H Group21 (521-bit ecp)
  group24  D-H Group24 (2048-bit modp, 256 bit subgroup)
  group5   D-H Group5 (1536-bit modp)


(10) MSSは余裕を持たせた値にしています。

ちなみに、この環境でのMSSの最大値は以下です。


IPsecパケットフォーマット図

ヘッダについてはMTU/MSS確認用フレームフォーマット図に記載しています。



(11) このコマンドを設定するとISAKMPが動作します。

RT-1(config-if)#crypto map MAP-name
000039: *Nov  9 00:52:00.123: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON



IPsecの状態確認

RT-2#show crypto engine connections active
Crypto Engine Connections

   ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address
    1  IPsec   AES+SHA256                0       18       18 22.22.22.22
    2  IPsec   AES+SHA256               23        0        0 22.22.22.22
 2001  IKE     SHA256+AES                0        0        0 22.22.22.22

RT-2#
RT-2#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
22.22.22.22     11.11.11.11     QM_IDLE           2001 ACTIVE

IPv6 Crypto ISAKMP SA

RT-2#
RT-2#show crypto ipsec sa

interface: Dialer1
    Crypto map tag: MAP-name, local addr 22.22.22.22

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (10.2.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
   current_peer 11.11.11.11 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 23, #pkts encrypt: 23, #pkts digest: 23
    #pkts decaps: 18, #pkts decrypt: 18, #pkts verify: 18
    #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.: 22.22.22.22, remote crypto endpt.: 11.11.11.11
     plaintext mtu 1422, path mtu 1492, ip mtu 1492, ip mtu idb Dialer1
     current outbound spi: 0x3C27C1A1(1009238433)
     PFS (Y/N): Y, DH group: group14

     inbound esp sas:
      spi: 0xAC6FE00C(2893013004)
        transform: esp-aes esp-sha256-hmac ,
        in use settings ={Tunnel, }
        conn id: 1, flow_id: Onboard VPN:1, sibling_flags 80000040, crypto map: MAP-name
        sa timing: remaining key lifetime (k/sec): (4308057/1059)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x3C27C1A1(1009238433)
        transform: esp-aes esp-sha256-hmac ,
        in use settings ={Tunnel, }
        conn id: 2, flow_id: Onboard VPN:2, sibling_flags 80000040, crypto map: MAP-name
        sa timing: remaining key lifetime (k/sec): (4308055/1059)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE(ACTIVE)

     outbound ah sas:

     outbound pcp sas:
RT-2#



SAの削除コマンド

RT-2#show crypto engine connections active
Crypto Engine Connections

   ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address
   11  IPsec   AES+SHA256                0        0        0 22.22.22.22
   12  IPsec   AES+SHA256                0        0        0 22.22.22.22
 2005  IKE     SHA256+AES                0        0        0 22.22.22.22

RT-2#
RT-2#clear crypto sa							← IPsec SAの削除コマンド
RT-2#
RT-2#show crypto engine connections active
Crypto Engine Connections

   ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address
 2005  IKE     SHA256+AES                0        0        0 22.22.22.22

RT-2#
RT-2#clear crypto isakmp						← ISAKMP SAの削除コマンド
RT-2#
RT-2#show crypto engine connections active
Crypto Engine Connections

   ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address

RT-2#