VPP配置gre or IPSec IKEv2远端any

 ̄綄美尐妖づ 提交于 2020-02-25 12:33:41

1、配置拓扑图

2、FW1配置(主动)

2.1、配置接口IP

set int state GigabitEthernet2/1/0 up

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

set int state GigabitEthernet2/2/0 up

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

2.2、配置IPSec 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 20.20.20.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 40.40.40.0 - 40.40.40.254 port-range 0 - 65535 protocol 0

ikev2 profile set pr1 traffic-selector remote ip-range 40.40.40.0 - 40.40.40.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>

PS:Ikev2感兴趣流是ike协商时候的必选项,实际流量必须引路由到IPSec口,流量不会匹配感兴趣流到IPSec接口

8、发起IPSec协商请求

ikev2 initiate sa-init pr1

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

PS:主动端必须手动发起IPSec协商

2.3、查看IKEv2 sa

show ikev2 sa

iip 20.20.20.1 ispi ad981dd6f3680601 rip 20.20.20.2 rspi cea2684dc017581e
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:b43f85f9e7b4b98a314d42931d1b1db7c97a7ae83a6f828f4a95c2cc96b9ff4e
        r:58213ddc27da8b2e54a7cac8f1beee95a4d2354f37f30e7217e02c18605d8689
  SK_d    2d9efeacab094d150723eb6f08ef68c876a27b428d9ed483a9ba3a89886990d4
  SK_a  i:bea08006860ea77fa73ae5bb37fa71caa13e4dce
        r:f0f776c668b5b6dbd4264f35e9b5200b93bf96f9
  SK_e  i:dc3c57b1b9e4aa6013805cf632e0ea70
        r:d21037f2904e4c1c46671e587d9a7e11
  SK_p  i:a836debbd009f69a4af5f5d159ebeceb960e23f98cfb5e8d4c400b6d5560df28
        r:943eebb758913c8876c6ead8dc2cabf03cb68b827fad7e2d386624f2a7c3b624
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) 18c7f7b spi(r) 363b88a8
    SK_e  i:45b674cfd333f65081a64bad970be404
          r:054435bd38f68758d91bbe13a44c57ec
    SK_a  i:3a612a2ed4edf9b2de8c5fa5f1d3fdd9846faebe
          r:6669c2481d360dc6ca85e981f792924ebd4ceaa7
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 40.40.40.0 - 40.40.40.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 40.40.40.0 - 40.40.40.254 port 0 - 65535
 iip 20.20.20.1 ispi ad981dd6f3680601 rip 20.20.20.2 rspi cea2684dc017581e

2.4、IPSec口配置IP

set int state ipsec0 up

set int ip address ipsec0 40.40.40.1/24

2.5、使用IPSec接口IP创建gre

create gre tunnel src 40.40.40.1 dst 40.40.40.2 instance 0

​​​​​​​2.6、gre口配置IP

set int state gre0 up

set int ip address gre0 50.50.50.1/24

​​​​​​​2.7、​​​​​​​配置静态路由

ip route 10.10.10.0/24 via gre0

3、FW2配置(被动)

3.1、配置接口IP

set int state GigabitEthernet2/1/0 up

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

set int state GigabitEthernet2/2/0 up

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

​​​​​​​3.2、配置IPSec 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、设置IPSec内网IP地址和远端内网IP地址

ikev2 profile set pr1 traffic-selector local ip-range 40.40.40.0 - 40.40.40.254 port-range 0 - 65535 protocol 0

ikev2 profile set pr1 traffic-selector remote ip-range 40.40.40.0 - 40.40.40.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>

PS:Ikev2感兴趣流是ike协商时候的必选项,实际流量必须引路由到IPSec口,流量不会匹配感兴趣流到IPSec接口

3.3、查看IKEv2 sa

show ikev2 sa

iip 20.20.20.1 ispi ad981dd6f3680601 rip 20.20.20.2 rspi cea2684dc017581e
 encr:aes-cbc-128 prf:hmac-sha2-256 integ:sha1-96 dh-group:modp-1024 
  nonce i:b43f85f9e7b4b98a314d42931d1b1db7c97a7ae83a6f828f4a95c2cc96b9ff4e
        r:58213ddc27da8b2e54a7cac8f1beee95a4d2354f37f30e7217e02c18605d8689
  SK_d    2d9efeacab094d150723eb6f08ef68c876a27b428d9ed483a9ba3a89886990d4
  SK_a  i:bea08006860ea77fa73ae5bb37fa71caa13e4dce
        r:f0f776c668b5b6dbd4264f35e9b5200b93bf96f9
  SK_e  i:dc3c57b1b9e4aa6013805cf632e0ea70
        r:d21037f2904e4c1c46671e587d9a7e11
  SK_p  i:a836debbd009f69a4af5f5d159ebeceb960e23f98cfb5e8d4c400b6d5560df28
        r:943eebb758913c8876c6ead8dc2cabf03cb68b827fad7e2d386624f2a7c3b624
  identifier (i) fqdn vpp1.home
  identifier (r) fqdn vpp2.home
  child sa 0:
    encr:aes-cbc-128 integ:sha1-96 esn:yes 
    spi(i) 18c7f7b spi(r) 363b88a8
    SK_e  i:45b674cfd333f65081a64bad970be404
          r:054435bd38f68758d91bbe13a44c57ec
    SK_a  i:3a612a2ed4edf9b2de8c5fa5f1d3fdd9846faebe
          r:6669c2481d360dc6ca85e981f792924ebd4ceaa7
    traffic selectors (i):
      0 type 7 protocol_id 0 addr 40.40.40.0 - 40.40.40.254 port 0 - 65535
    traffic selectors (r):
      0 type 7 protocol_id 0 addr 40.40.40.0 - 40.40.40.254 port 0 - 65535
 iip 20.20.20.1 ispi ad981dd6f3680601 rip 20.20.20.2 rspi cea2684dc017581e

 

3.4、IPSec口配置IP

set int state ipsec0 up

set int ip address ipsec0 40.40.40.2/24

3.5、使用IPSec接口IP创建gre

create gre tunnel src 40.40.40.2 dst 40.40.40.1 instance 0

3.6、gre口配置IP

set int state gre0 up

set int ip address gre0 50.50.50.2/24

3.7、配置静态路由

ip route 30.30.30.0/24 via gre0

4、结果验证

PC1 ping PC2,add dpdk-input 100抓包查看报文封装流程如下:

00:05:44:114105: dpdk-input
  GigabitEthernet2/2/0 rx queue 0
  buffer 0xba35: 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 1, nb_segs 1, pkt_len 74
    buf_len 2176, data_len 74, ol_flags 0x0, data_off 128, phys_addr 0x26e8dc0
    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:50:56:ac:06:c9 -> 00:50:56:ac:46:ae
  ICMP: 10.10.10.2 -> 30.30.30.2
    tos 0x00, ttl 64, length 60, checksum 0xeee8
    fragment id 0x3bad
  ICMP echo_request checksum 0x574
00:05:44:114134: ethernet-input
  frame: flags 0x3, hw-if-index 2, sw-if-index 2
  IP4: 00:50:56:ac:06:c9 -> 00:50:56:ac:46:ae
00:05:44:114149: ip4-input-no-checksum
  ICMP: 10.10.10.2 -> 30.30.30.2
    tos 0x00, ttl 64, length 60, checksum 0xeee8
    fragment id 0x3bad
  ICMP echo_request checksum 0x574
00:05:44:114160: ip4-lookup
  fib 0 dpo-idx 5 flow hash: 0x00000000
  ICMP: 10.10.10.2 -> 30.30.30.2
    tos 0x00, ttl 64, length 60, checksum 0xeee8
    fragment id 0x3bad
  ICMP echo_request checksum 0x574
00:05:44:114170: ip4-midchain
    GRE: 40.40.40.2 -> 40.40.40.1
      tos 0x00, ttl 254, length 84, checksum 0x1c28
      fragment id 0x0000
    GRE ip4
00:05:44:114183: adj-midchain-tx
  adj-midchain:[5]:ipv4 via 0.0.0.0 gre0: mtu:9000 4500000000000000fe2f1c7c282828022828280100000800
  stacked-on entry:21:                                                               
    [@3]: ipv4 via 0.0.0.0 ipsec0: mtu:9000                                          
00:05:44:114189: ip4-rewrite                                                         
  tx_sw_if_index 3 dpo-idx 4 : ipv4 via 0.0.0.0 ipsec0: mtu:9000 flow hash: 0x00000000
  00000000: 4500005400000000fd2f1d282828280228282801000008004500003c3bad0000         
  00000020: 3f01efe80a0a0a021e1e1e0208000574000247e66162636465666768                 
00:05:44:114197: ipsec0-output                                                       
  ipsec0                                                                             
  00000000: 4500005400000000fd2f1d282828280228282801000008004500003c3bad0000         
  00000020: 3f01efe80a0a0a021e1e1e0208000574000247e66162636465666768696a6b6c         
  00000040: 6d6e6f7071727374757677616263646566676869000000000000000000000000         
  00000060: 00000000000000000000000000000000000000000000000000000000                 
00:05:44:114205: ipsec0-tx                                                           
  IPSec: spi 25984891 seq 14                                                         
00:05:44:114210: esp4-encrypt                                                        
  esp: spi 25984891 seq 14 crypto aes-cbc-128 integrity sha1-96                      
00:05:44:114248: ip4-lookup                                                          
  fib 0 dpo-idx 3 flow hash: 0x00000000                                              
  IPSEC_ESP: 20.20.20.2 -> 20.20.20.1                                                
    tos 0x00, ttl 254, length 152, checksum 0x6c09                                   
    fragment id 0x0000                                                               
00:05:44:114252: ip4-rewrite                                                         
  tx_sw_if_index 1 dpo-idx 3 : ipv4 via 20.20.20.1 GigabitEthernet2/1/0: mtu:9000 000c
298185d0005056ac9f1a0800 flow hash: 0x00000000                                       
  00000000: 000c298185d0005056ac9f1a08004500009800000000fd326d09141414021414         
  00000020: 1401018c7f7b0000000f870dbdc2abf702a7e33e3ca1ef1ff89d073a                 
00:05:44:114255: GigabitEthernet2/1/0-output                                         
  GigabitEthernet2/1/0                                                               
  IP4: 00:50:56:ac:9f:1a -> 00:0c:29:81:85:d0                                        
  IPSEC_ESP: 20.20.20.2 -> 20.20.20.1                                                
    tos 0x00, ttl 253, length 152, checksum 0x6d09                                   
    fragment id 0x0000                                                               
00:05:44:114263: GigabitEthernet2/1/0-tx                                             
  GigabitEthernet2/1/0 tx queue 1                                                    
  buffer 0x1d073: current data 0, length 166, free-list 0, clone-count 0, totlen-nifb 
0, trace 0x2                                                                         
  PKT MBUF: port 65535, nb_segs 1, pkt_len 166                                       
    buf_len 2176, data_len 166, ol_flags 0x0, data_off 128, phys_addr 0x2b41d40      
    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:50:56:ac:9f:1a -> 00:0c:29:81:85:d0                                        
  IPSEC_ESP: 20.20.20.2 -> 20.20.20.1                                                
    tos 0x00, ttl 253, length 152, checksum 0x6d09                                   
    fragment id 0x0000 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!