VPP系统 配置IPSec IKEv2 远端地址any

1、配置拓扑

PS: VPP1主动发起IKEv2协商并建立IPSec隧道,VPP2被动和VPP1建立IPSec隧道。

2、VPP1配置(主动)

2.1、接口配置

1、启用GigabitEthernet2/1/0

set int state GigabitEthernet2/1/0 up

2、GigabitEthernet2/1/0口配置IP

set int ip address GigabitEthernet2/1/0 10.66.0.1/24

3、启用GigabitEthernet2/4/0

set int state GigabitEthernet2/4/0 up

4、GigabitEthernet2/4/0口配置IP

set int ip address GigabitEthernet2/4/0 10.0.0.1/24

2.2、IKEv2配置

1、创建名为pr1的IKEV2配置

ikev2 profile add pr1

配置说明:ikev2 profile [add|del] <id>

2、设置共享密钥认证方法

ikev2 profile set pr1 auth shared-key-mic string Vpp123

配置说明:ikev2 profile set <id> auth [rsa-sig|shared-key-mic] [cert-file|string|hex] <data>

3、设置本地id

ikev2 profile set pr1 id local fqdn vpp1.home

配置说明:ikev2 profile set <id> id <local|remote> <type> <data>

4、设置远端id

ikev2 profile set pr1 id remote fqdn vpp2.home

配置说明:ikev2 profile set <id> id <local|remote> <type> <data>

5、设置远端ip地址和协商是对应的网络接口

ikev2 profile set pr1 responder GigabitEthernet2/1/0 10.66.0.2

配置说明:ikev2 profile set <id> responder <interface> <addr>

6、设置IKE秘钥套件和ESP秘钥套件,可以只在请求秘钥协商方添加秘钥套件

ikev2 profile set pr1 ike-crypto-alg aes-cbc 128 ike-integ-alg sha1-96 ike-dh modp-1024

配置说明:ikev2 profile set <id> ike-crypto-alg <crypto alg> <key size> ike-integ-alg <integ alg> ike-dh <dh type>

ikev2 profile set pr1 esp-crypto-alg aes-cbc 128 esp-integ-alg sha1-96 esp-dh modp-1024

配置说明:ikev2 profile set <id> esp-crypto-alg <crypto alg> <key size> esp-integ-alg <integ alg> esp-dh <dh type>

7、设置IPSec内网IP地址和远端内网IP地址

ikev2 profile set pr1 traffic-selector local ip-range 10.0.0.0 - 10.0.0.254 port-range 0 - 65535 protocol 0

Ikev2 profile set pr1 traffic-selector remote ip-range 11.0.0.0 - 11.0.0.254 port-range 0 - 65535 protocol 0

配置说明:ikev2 profile set <id> traffic-selector <local|remote> ip-range <start-addr> - <end-addr> port-range <start-port> - <end-port> protocol <protocol-number>

8、发起IPSec协商请求

ikev2 initiate sa-init pr1

配置说明:ikev2 initiate sa-init <profile id>

2.3、查看IKEv2配置

show ikev2 profile

profile pr1
  auth-method shared-key-mic auth data Vpp123
  local id-type fqdn data vpp1.home
  remote id-type fqdn data vpp2.home
  local traffic-selector addr 10.0.0.0 - 10.0.0.254 port 0 - 65535 protocol 0
  remote traffic-selector addr 11.0.0.0 - 11.0.0.254 port 0 - 65535 protocol 0

2.4、查看IKEv2协商结果

show ikev2 sa

 iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:9d78d097d4fa46dbf4d078b4f940346f312b593c9b368f0cc133de0516b19a6b
        r:9fe1386b1cd18c661ef99783936f7816914f5241c8d1bb0029c0254303fa75be
  SK_d    d2bdb93d225adbea26b71cdfd415029f6baa2bc6497f311c91b06f75f9156287
  SK_a  i:56b8ee31a1caf65540bece8c5aca86165ad76b69
        r:c0cfc2e201c8c8d1f3a86756cfda78a08e1a2a05
  SK_e  i:407c57bc5a82ed6d5f95e2923f724749
        r:b6ba1d40691b0537a0402a6ffb4fffa1
  SK_p  i:be12bb9e22c5d1972d97fca1f29f94d37deeb99c0ff7d005fa4118e95feb3d25
        r:15f2df15daac20fb288055b385996b9ee12b903bb6654c9158a27b8803e9491e
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) c3413186 spi(r) e01f01ea
    SK_e  i:00a6544deb5ddee0ded094a35afab94e
          r:2b018822f1c250c02ff3e29c0351b332
    SK_a  i:9f3f8f2f48a15be2bfa70da238d6086d60ef209c
          r:9e7544bd5f6efb78078e98c66f23274d42b12acf
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 10.0.0.0 - 10.0.0.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 11.0.0.0 - 11.0.0.254 port 0 - 65535
 iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069
 iip 10.66.0.1 ispi 6bdf481a03bb986e rip 10.66.0.2 rspi b3e02e3efe27bce5
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:1a8c9fb1c4190d5c7dc9c754bcbd4c465f713f9638fb1150d4534b4d84b934b4
        r:7ebeb7b7b40c46a90cc3721001f82e623d9c9b8d023543559abe5dcaaf60c97c
  SK_d    9e1a0ee4dd691fb24acb886b1091e194536cccb2a37250a7a22d963bccf72640
  SK_a  i:692e435ddc08978bfbe571281642cb80ac6dc24b
        r:6cd455930a75f57f99ded4d538b985dc0872d4d2
  SK_e  i:fbf52709abd5462cbac89aca1d9113a9
        r:f64ff82494edcb279e66a37f5502c243
  SK_p  i:7d747bde1d24e044b887d9c58403c99f25c0d4e064eb42f060f11bb4bd4d987c
        r:9ea987ed01e0d71ab0fd951b6ee70a1311665ae08703477ba3184ac66e76cc2a
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) d9658ef spi(r) 62c03297
    SK_e  i:35857ab4e8da39ee8fe8fa5f86d174a4
          r:03b51ca07283f338b0c82c3bd53c1870
    SK_a  i:2e671df7741623b0744c1dd6f2836204645c85cb
          r:d99d4ebbaefe66e6eb277f3a075a45a761386a72
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 10.0.0.0 - 10.0.0.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 11.0.0.0 - 11.0.0.254 port 0 - 65535                                                               
 iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069

2.5、启用IPSec接口

set int state ipsec0 up

2.6、路由引到IPSec接口

ip route add 11.0.0.0/24 via ipsec0

2.7、IPSec接口绑定物理接口

set int unnumbered ipsec0 use GigabitEthernet2/1/0

3、VPP2配置(被动)

3.1、接口配置

1、启用GigabitEthernet2/2/0

set int state GigabitEthernet2/2/0 up

2、GigabitEthernet2/2/0接口配置IP

set int ip address GigabitEthernet2/2/0 11.0.0.1/24

3、启用GigabitEthernet2/3/0

set int state GigabitEthernet2/3/0 up

4、GigabitEthernet2/3/0接口配置IP

set int ip address GigabitEthernet2/3/0 10.66.0.2/24

3.2、IKEv2配置

1、创建名为pr1的IKEV2配置

ikev2 profile add pr1

配置说明:ikev2 profile [add|del] <id>

2、设置预共享密钥认证方法

ikev2 profile set pr1 auth shared-key-mic string Vpp123

配置说明:ikev2 profile set <id> auth [rsa-sig|shared-key-mic] [cert-file|string|hex] <data>

3、设置本地id

ikev2 profile set pr1 id local fqdn vpp2.home

配置说明:ikev2 profile set <id> id <local|remote> <type> <data>

4、设置远端id

ikev2 profile set pr1 id remote fqdn vpp1.home

配置说明:ikev2 profile set <id> id <local|remote> <type> <data>

5、设置IPSec内网IP地址和远端内网IP地址

ikev2 profile set pr1 traffic-selector local ip-range 11.0.0.0 - 11.0.0.254 port-range 0 - 65535 protocol 0

ikev2 profile set pr1 traffic-selector remote ip-range 10.0.0.0 - 10.0.0.254 port-range 0 - 65535 protocol 0

配置说明:ikev2 profile set <id> traffic-selector <local|remote> ip-range <start-addr> - <end-addr> port-range <start-port> - <end-port> protocol <protocol-number>

3.3、查看IKEv2配置

show ikev2 profile

profile pr1
  auth-method shared-key-mic auth data Vpp123
  local id-type fqdn data vpp2.home
  remote id-type fqdn data vpp1.home
  local traffic-selector addr 11.0.0.0 - 11.0.0.254 port 0 - 65535 protocol 0
  remote traffic-selector addr 10.0.0.0 - 10.0.0.254 port 0 - 65535 protocol 0

3.4、查看IKEv2协商结果

show ikev2 sa

iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:9d78d097d4fa46dbf4d078b4f940346f312b593c9b368f0cc133de0516b19a6b
        r:9fe1386b1cd18c661ef99783936f7816914f5241c8d1bb0029c0254303fa75be
  SK_d    d2bdb93d225adbea26b71cdfd415029f6baa2bc6497f311c91b06f75f9156287
  SK_a  i:56b8ee31a1caf65540bece8c5aca86165ad76b69
        r:c0cfc2e201c8c8d1f3a86756cfda78a08e1a2a05
  SK_e  i:407c57bc5a82ed6d5f95e2923f724749
        r:b6ba1d40691b0537a0402a6ffb4fffa1
  SK_p  i:be12bb9e22c5d1972d97fca1f29f94d37deeb99c0ff7d005fa4118e95feb3d25
        r:15f2df15daac20fb288055b385996b9ee12b903bb6654c9158a27b8803e9491e
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) c3413186 spi(r) e01f01ea
    SK_e  i:00a6544deb5ddee0ded094a35afab94e
          r:2b018822f1c250c02ff3e29c0351b332
    SK_a  i:9f3f8f2f48a15be2bfa70da238d6086d60ef209c
          r:9e7544bd5f6efb78078e98c66f23274d42b12acf
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 10.0.0.0 - 10.0.0.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 11.0.0.0 - 11.0.0.254 port 0 - 65535
 iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069
 iip 10.66.0.1 ispi 6bdf481a03bb986e rip 10.66.0.2 rspi b3e02e3efe27bce5
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:1a8c9fb1c4190d5c7dc9c754bcbd4c465f713f9638fb1150d4534b4d84b934b4
        r:7ebeb7b7b40c46a90cc3721001f82e623d9c9b8d023543559abe5dcaaf60c97c
  SK_d    9e1a0ee4dd691fb24acb886b1091e194536cccb2a37250a7a22d963bccf72640
  SK_a  i:692e435ddc08978bfbe571281642cb80ac6dc24b
        r:6cd455930a75f57f99ded4d538b985dc0872d4d2
  SK_e  i:fbf52709abd5462cbac89aca1d9113a9
        r:f64ff82494edcb279e66a37f5502c243
  SK_p  i:7d747bde1d24e044b887d9c58403c99f25c0d4e064eb42f060f11bb4bd4d987c
        r:9ea987ed01e0d71ab0fd951b6ee70a1311665ae08703477ba3184ac66e76cc2a
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) d9658ef spi(r) 62c03297
    SK_e  i:35857ab4e8da39ee8fe8fa5f86d174a4
          r:03b51ca07283f338b0c82c3bd53c1870
    SK_a  i:2e671df7741623b0744c1dd6f2836204645c85cb
          r:d99d4ebbaefe66e6eb277f3a075a45a761386a72
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 10.0.0.0 - 10.0.0.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 11.0.0.0 - 11.0.0.254 port 0 - 65535                                                                
 iip 10.66.0.1 ispi e1bd965df0be49d rip 10.66.0.2 rspi 2c503a83ce480069

3.5、启用IPSec接口

set int state ipsec0 up

3.6、路由引到IPSec接口

ip route add 10.0.0.0/24 via ipsec0

3.7、IPSec接口绑定物理接口

set int unnumbered ipsec0 use GigabitEthernet2/3/0

4、结果验证

PC1 ping PC2,可以ping通,抓包可以看到报文进行封装发送。

封装报文如下:

16:15:22:373238: dpdk-input
  GigabitEthernet2/2/0 rx queue 0
  buffer 0x6663: current data 0, length 74, free-list 0, clone-count 0, totlen-nifb 0, trace 0x2
                 ext-hdr-valid 
                 l4-cksum-computed l4-cksum-correct 
  PKT MBUF: port 0, nb_segs 1, pkt_len 74
    buf_len 2176, data_len 74, ol_flags 0x0, data_off 128, phys_addr 0xc1799940
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    rss 0x0 fdir.hi 0x0 fdir.lo 0x0
  IP4: 00:0c:29:37:da:f3 -> 00:0c:29:2a:f6:9f
  ICMP: 11.0.0.2 -> 10.0.0.2
    tos 0x00, ttl 64, length 60, checksum 0xff20
    fragment id 0x669d
  ICMP echo_request checksum 0xb0da
16:15:22:373253: ethernet-input
  frame: flags 0x3, hw-if-index 1, sw-if-index 1
  IP4: 00:0c:29:37:da:f3 -> 00:0c:29:2a:f6:9f
16:15:22:373259: ip4-input-no-checksum
  ICMP: 11.0.0.2 -> 10.0.0.2
    tos 0x00, ttl 64, length 60, checksum 0xff20
    fragment id 0x669d
  ICMP echo_request checksum 0xb0da
16:15:22:373263: ip4-lookup
  fib 0 dpo-idx 3 flow hash: 0x00000000
  ICMP: 11.0.0.2 -> 10.0.0.2
    tos 0x00, ttl 64, length 60, checksum 0xff20
    fragment id 0x669d
  ICMP echo_request checksum 0xb0da                                                  
16:15:22:373283: ip4-rewrite                                                         
  tx_sw_if_index 3 dpo-idx 3 : ipv4 via 0.0.0.0 ipsec0: mtu:9000 flow hash: 0x00000000
  00000000: 4500003c669d00003f0100210b0000020a0000020800b0da00029c7f61626364         
  00000020: 65666768696a6b6c6d6e6f7071727374757677616263646566676869                 
16:15:22:373285: ipsec0-output                                                       
  ipsec0                                                                             
  00000000: 4500003c669d00003f0100210b0000020a0000020800b0da00029c7f61626364         
  00000020: 65666768696a6b6c6d6e6f707172737475767761626364656667686900000000         
  00000040: 0ce642bc972f6cf16dfbbf0ea77da6cbc561db707d4e81b1827e8a0334db5be5         
  00000060: 4b876874e85c1534895d6f7b73d94f811c6c9b987d39ef10bb504546                 
16:15:22:373289: ipsec0-tx                                                           
  IPSec: spi 3275829638 seq 1237                                                     
16:15:22:373290: esp4-encrypt                                                        
  esp: spi 3275829638 seq 1237 crypto aes-cbc-128 integrity sha1-96                  
16:15:22:373313: ip4-lookup                                                          
  fib 0 dpo-idx 4 flow hash: 0x00000000                                              
  IPSEC_ESP: 10.66.0.2 -> 10.66.0.1                                                  
    tos 0x00, ttl 254, length 120, checksum 0xa7cd                                   
    fragment id 0x0000                                                               
16:15:22:373313: ip4-rewrite                                                         
  tx_sw_if_index 2 dpo-idx 4 : ipv4 via 10.66.0.1 GigabitEthernet2/3/0: mtu:9000 000c2
9c85fdb000c292af6a90800 flow hash: 0x00000000                                        
  00000000: 000c29c85fdb000c292af6a908004500007800000000fd32a8cd0a4200020a42         
  00000020: 0001c3413186000004d6e3f0e921da3bc3191a1bcdf8aa86e0a76d66                 
16:15:22:373314: GigabitEthernet2/3/0-output                                         
  GigabitEthernet2/3/0                                                               
  IP4: 00:0c:29:2a:f6:a9 -> 00:0c:29:c8:5f:db                                        
  IPSEC_ESP: 10.66.0.2 -> 10.66.0.1                                                  
    tos 0x00, ttl 253, length 120, checksum 0xa8cd                                   
    fragment id 0x0000                                                               
16:15:22:373315: GigabitEthernet2/3/0-tx                                             
  GigabitEthernet2/3/0 tx queue 1                                                    
  buffer 0xa778: current data 0, length 134, free-list 0, clone-count 0, totlen-nifb 0
, trace 0x2                                                                          
  PKT MBUF: port 65535, nb_segs 1, pkt_len 134                                       
    buf_len 2176, data_len 134, ol_flags 0x0, data_off 128, phys_addr 0xc149de80     
    packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0                  
    rss 0x0 fdir.hi 0x0 fdir.lo 0x0                                                  
  IP4: 00:0c:29:2a:f6:a9 -> 00:0c:29:c8:5f:db                                        
  IPSEC_ESP: 10.66.0.2 -> 10.66.0.1                                                  
    tos 0x00, ttl 253, length 120, checksum 0xa8cd                                   
    fragment id 0x0000
原文地址:https://www.cnblogs.com/APeng2019/p/10719304.html