CLI方式:配置IPsec反向路由注入典型配置

使用版本

本举例是在M9000-AI-E8R9071版本上进行配置和验证的。

组网需求

如下图所示,企业分支通过IPsec VPN接入企业总部,有如下具体需求:

图-1 配置IPsec反向路由注入功能配置组网图

配置步骤

配置DeviceA

  1. 配置接口IP地址

# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。

<DeviceA> system-view

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.255.0

[DeviceA-GigabitEthernet1/0/1] quit

请参考以上步骤配置其他接口的IP地址,具体配置步骤略。

  1. 配置静态路由

本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。

# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为1.1.1.2,实际使用中请以具体组网情况为准,具体配置步骤如下。

[DeviceA] ip route-static 2.2.2.2 24 1.1.1.2

  1. 配置接口加入安全域。

# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。

[DeviceA] security-zone name untrust

[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1

[DeviceA-security-zone-Untrust] quit

[DeviceA] security-zone name trust

[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2

[DeviceA-security-zone-Trust] quit

  1. 配置安全策略

  1. 配置安全策略放行UntrustLocal安全域之间的流量,用于设备之间可以建立IPsec隧道。

# 配置名称为ipseclocalout的安全策规则,使Device A可以向Device B发送IPsec隧道协商报文,具体配置步骤如下。

[DeviceA] security-policy ip

[DeviceA-security-policy-ip] rule name ipseclocalout

[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local

[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust

[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1

[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2

[DeviceA-security-policy-ip-1-ipseclocalout] action pass

[DeviceA-security-policy-ip-1-ipseclocalout] quit

# 配置名称为ipseclocalin的安全策略规则,使Device A可以接收和处理来自Device BIPsec隧道协商报文,具体配置步骤如下。

[DeviceA-security-policy-ip] rule name ipseclocalin

[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust

[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local

[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2

[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1

[DeviceA-security-policy-ip-2-ipseclocalin] action pass

[DeviceA-security-policy-ip-2-ipseclocalin] quit

  1. 配置安全策略放行Host AHost B之间的流量

# 配置名称为trust-untrust的安全策略规则,使Host A访问Host B的报文可通,具体配置步骤如下。

[DeviceA-security-policy-ip] rule name trust-untrust

[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust

[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust

[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 4.4.4.0 24

[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 5.5.5.0 24

[DeviceA-security-policy-ip-3-trust-untrust] action pass

[DeviceA-security-policy-ip-3-trust-untrust] quit

# 配置名称为untrust-trust的安全策略规则,使Host B访问Host A的报文可通,具体配置步骤如下。

[DeviceA-security-policy-ip] rule name untrust-trust

[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust

[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust

[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 5.5.5.0 24

[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 4.4.4.0 24

[DeviceA-security-policy-ip-4-untrust-trust] action pass

[DeviceA-security-policy-ip-4-untrust-trust] quit

[DeviceA-security-policy-ip] quit

  1. 配置IPsec安全提议,协商封装报文使用的各种安全协议

# 创建IPsec安全提议,两端配置的安全提议参数需要完全相同,具体配置步骤如下。

[DeviceA] ipsec transform-set tran1

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

[DeviceA-ipsec-transform-set-tran1] protocol esp

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm des

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

  1. 配置IKE keychain,约定通信双方使用的密钥信息

# 创建并配置名为key1IKE keychain,指定与地址为2.2.2.2的对端使用的预共享密钥为明文123

[DeviceA] ike keychain key1

[DeviceA-ike-keychain-key1] pre-shared-key address 2.2.2.2 key simple 123

[DeviceA-ike-keychain-key1] quit

  1. 配置IKE profile,约定建立IKE SA所需的安全参数

[DeviceA] ike profile profile1

[DeviceA-ike-profile-profile1] keychain key1

[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.0

[DeviceA-ike-profile-profile1] quit

  1. 配置IPsec安全策略模板,用于创建IPsec安全策略

# 创建并配置名为temp1IPsec安全策略模板,引用安全提议tran1

[DeviceA] ipsec policy-template temp1 1

[DeviceA-ipsec-policy-template-temp1-1] transform-set tran1

[DeviceA-ipsec-policy-template-temp1-1] ike-profile profile1

  1. 配置RRI参数,用于实现反向路由注入功能

# 开启RRI功能,指定生成的静态路由的优先级为100Tag值为1000

[DeviceA-ipsec-policy-template-temp1-1] reverse-route dynamic

[DeviceA-ipsec-policy-template-temp1-1] reverse-route preference 100

[DeviceA-ipsec-policy-template-temp1-1] reverse-route tag 1000

[DeviceA-ipsec-policy-template-temp1-1] quit

  1. 引用安全策略模板temp1创建一条IKE协商方式的安全策略policy1,建立IPsec隧道,保护需要防护的数据流

[DeviceA] ipsec  policy map1 10 isakmp template temp1

  1. 配置IKE提议,定义双方进行IKE协商所需的安全参数

# 创建并配置IKE提议1,指定使用预共享密钥认证方式、3DES加密算法、HMAC-SHA1认证算法。

[DeviceA] ike proposal 1

[DeviceA-ike-proposal-1] encryption-algorithm 3des-cbc

[DeviceA-ike-proposal-1] authentication-algorithm sha

[DeviceA-ike-proposal-1] authentication-method pre-share

[DeviceA-ike-proposal-1] quit

  1. 在接口下引用IPsec安全策略,对接口上的流量进行保护

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

配置Device B

  1. 配置接口IP地址

# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。

<DeviceB> system-view

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.255.0

[DeviceB-GigabitEthernet1/0/1] quit

请参考以上步骤配置其他接口的IP地址,具体配置步骤略。

  1. 配置静态路由

本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。

# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2.2.2.3,实际使用中请以具体组网情况为准,具体配置步骤如下。

[DeviceB] ip route-static 4.4.4.0 24 2.2.2.3

[DeviceB] ip route-static 1.1.1.1 24 2.2.2.3

  1. 配置接口加入安全域。

# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。

[DeviceB] security-zone name untrust

[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1

[DeviceB-security-zone-Untrust] quit

[DeviceB] security-zone name trust

[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2

[DeviceB-security-zone-Trust] quit

  1. 配置安全策略

  1. 配置安全策略放行UntrustLocal安全域之间的流量,用于设备之间可以建立IPsec隧道。

# 配置名称为ipseclocalout的安全策规则,使Device B可以向Device A发送IPsec隧道协商报文,具体配置步骤如下。

[DeviceB] security-policy ip

[DeviceB-security-policy-ip] rule name ipseclocalout

[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local

[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust

[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1

[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2

[DeviceB-security-policy-ip-1-ipseclocalout] action pass

[DeviceB-security-policy-ip-1-ipseclocalout] quit

# 配置名称为ipseclocalin的安全策略规则,使Device B可以接收和处理来自Device AIPsec隧道协商报文,具体配置步骤如下。

[DeviceB-security-policy-ip] rule name ipseclocalin

[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust

[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local

[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2

[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1

[DeviceB-security-policy-ip-2-ipseclocalin] action pass

[DeviceB-security-policy-ip-2-ipseclocalin] quit

  1. 配置安全策略放行Host BHost A之间的流量

# 配置名称为trust-untrust的安全策略规则,使Host B访问Host A的报文可通,具体配置步骤如下。

[DeviceB-security-policy-ip] rule name trust-untrust

[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust

[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust

[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 5.5.5.0 24

[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 4.4.4.0 24

[DeviceB-security-policy-ip-3-trust-untrust] action pass

[DeviceB-security-policy-ip-3-trust-untrust] quit

# 配置名称为untrust-trust的安全策略规则,使Host A访问Host B的报文可通,具体配置步骤如下。

[DeviceB-security-policy-ip] rule name untrust-trust

[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust

[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust

[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 4.4.4.0 24

[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 5.5.5.0 24

[DeviceB-security-policy-ip-4-untrust-trust] action pass

[DeviceB-security-policy-ip-4-untrust-trust] quit

[DeviceB-security-policy-ip] quit

  1. 配置ACL,定义需要保护的数据流,同时反向路由注入功能会根据此ACL生成路由

# 配置IPv4高级ACL 3000,定义要保护由子网5.5.5.0/24去往子网4.4.4.0/24的数据流。

[DeviceB] acl advanced 3000

[DeviceB-acl-ipv4-adv-3000] rule permit ip source 5.5.5.0 0.0.0.255 destination 4.4.4.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3000] quit

  1. 配置IPsec安全提议,协商封装报文使用的各种安全协议

# 创建IPsec安全提议,两端配置的安全提议参数需要完全相同,具体配置步骤如下。

[DeviceB] ipsec transform-set tran1

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

[DeviceB-ipsec-transform-set-tran1] protocol esp

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm des

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

  1. 配置IKE keychain,约定通信双方使用的密钥信息

# 创建并配置名为key1IKE keychain,指定与地址为1.1.1.1的对端使用的预共享密钥为明文123

[DeviceB] ike keychain key1

[DeviceB-ike-keychain-key1] pre-shared-key address 1.1.1.1 key simple 123

[DeviceB-ike-keychain-key1] quit

  1. 配置IKE profile,约定建立IKE SA所需的安全参数

[DeviceB] ike profile profile1

[DeviceB-ike-profile-profile1] keychain key1

[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.0

[DeviceB-ike-profile-profile1] quit

  1. 配置ISAKMP方式的安全策略,建立IPsec隧道,保护需要防护的数据流

# 创建并配置名为map1IPsec安全策略,引用安全提议tran1,引用ACL 3000,并指定IPsec隧道的对端地址为1.1.1.1

[DeviceB] ipsec policy map1 10 isakmp

[DeviceB-ipsec-policy-isakmp-map1-10] transform-set tran1

[DeviceB-ipsec-policy-isakmp-map1-10] security acl 3000

[DeviceB-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1

[DeviceB-ipsec-policy-isakmp-map1-10] ike-profile profile1

[DeviceB-ipsec-policy-isakmp-map1-10] quit

  1. 配置IKE提议,定义双方进行IKE协商所需的安全参数

# 创建并配置IKE提议1,指定预共享密钥认证方式、3DES加密算法、HMAC-SHA1认证算法。

[DeviceB] ike proposal 1

[DeviceB-ike-proposal-1] encryption-algorithm 3des-cbc

[DeviceB-ike-proposal-1] authentication-algorithm sha

[DeviceB-ike-proposal-1] authentication-method pre-share

[DeviceB-ike-proposal-1] quit

  1. 在接口上应用IPsec安全策略,对接口上的流量进行保护

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceB-GigabitEthernet1/0/1] quit

保证DeviceB上存在到达对端私网网段的路由,出接口为GigabitEthernet1/0/1

配置Device CDevice D

配置步骤与Device B类似,请参考Device B的配置。

验证配置

# 以上配置完成后,当分支子网5.5.5.0/24向总部网络4.4.4.0/24发起数据连接时,将触发Device BDevice A之间进行IKE协商。IKE成功协商出IPsec SA后,企业总部与分支子网之间的数据流传输将受到IPsec SA的保护。在Device A上可通过以下显示查看到协商生成的IPsec SA

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: Template

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1463

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

    sour addr: 4.4.4.0/255.255.255.0  port: 0  protocol: ip

    dest addr: 5.5.5.0/255.255.255.0  port: 0  protocol: ip

    [Inbound ESP SAs]

      SPI: 1014286405 (0x3c74c845)

      Connection ID: 1

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843199/3590

      Max received sequence-number: 4

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

    [Outbound ESP SAs]

      SPI: 4011716027 (0xef1dedbb)

      Connection ID: 2

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843199/3590

      Max sent sequence-number: 4

      UDP encapsulation used for NAT traversal: N

      Status: Active

# IPsec SA成功建立后,在Device A上可以通过display ip routing-table verbose命令查看到IPsec反向路由注入生成的静态路由,目的地址为分支子网地址5.5.5.0/24,下一跳为IPsec隧道对端地址2.2.2.2,优先级为100Tag值为1000Device ADevice CDevice D之间的IPsec隧道建立成功后,Device A上也会产生到达各分支子网的相应静态路由,此处显示略。

配置文件

DeviceA

#

interface GigabitEthernet1/0/1

 ip address 1.1.1.1 255.255.255.0

 ipsec apply policy map1

#

interface GigabitEthernet1/0/2

 ip address 4.4.4.1 255.255.255.0

#

security-zone name Trust

 import interface GigabitEthernet1/0/2

#

security-zone name Untrust

 import interface GigabitEthernet1/0/1

#

 ip route-static 2.2.2.0 24 1.1.1.2

#

ipsec transform-set tran1

 encapsulation-mode tunnel

 protocol esp

 esp encryption-algorithm des-cbc

 esp authentication-algorithm sha1

#

ipsec policy-template temp1 1

 transform-set tran1

 ike-profile profile1

 reverse-route dynamic

 reverse-route preference 100

 reverse-route tag 1000

#

ipsec policy map1 10 isakmp template temp1

#

ike profile profile1

 keychain key1

 match remote identity address 2.2.2.2 255.255.255.0

#

ike proposal 1

 encryption-algorithm 3des-cbc

#

ike keychain key1

 pre-shared-key address 2.2.2.2 255.255.255.255 key simple 123

#

security-policy ip

 rule 0 name ipseclocalout

  action pass

  source-zone local

  destination-zone untrust

  source-ip-host 1.1.1.1

  destination-ip-host 2.2.2.2

 rule 1 name ipseclocalin

  action pass

  source-zone untrust

  destination-zone local

  source-ip-host 2.2.2.2

  destination-ip-host 1.1.1.1

 rule 2 name trust-untrust

  action pass

  source-zone trust

  destination-zone untrust

  source-ip-subnet 4.4.4.0 255.255.255.0

  destination-ip-subnet 5.5.5.0 255.255.255.0

 rule 3 name untrust-trust

  action pass

  source-zone untrust

  destination-zone trust

  source-ip-subnet 5.5.5.0 255.255.255.0

  destination-ip-subnet 4.4.4.0 255.255.255.0

#

Device B

#

interface GigabitEthernet1/0/1

 ip address 2.2.2.2 255.255.255.0

 ipsec apply policy map1

#

interface GigabitEthernet1/0/2

 ip address 5.5.5.1 255.255.255.0

#

security-zone name Trust

 import interface GigabitEthernet1/0/2

#

security-zone name Untrust

 import interface GigabitEthernet1/0/1

#

 ip route-static 1.1.1.0 24 2.2.2.3

 ip route-static 4.4.4.0 24 2.2.2.3

#

acl advanced 3000

 rule 0 permit ip source 5.5.5.0 0.0.0.255 destination 4.4.4.0 0.0.0.255

#

ipsec transform-set tran1

 encapsulation-mode tunnel

 protocol esp

 esp encryption-algorithm des-cbc

 esp authentication-algorithm sha1

#

ipsec policy map1 10 isakmp

 transform-set tran1

 security acl 3000

 remote-address 1.1.1.1

 ike-profile profile1

#

ike profile profile1

 keychain key1

 match remote identity address 1.1.1.1 255.255.255.0

#

ike proposal 1

 encryption-algorithm 3des-cbc

#

ike keychain key1

 pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123

#

security-policy ip

 rule 0 name ipseclocalout

  action pass

  source-zone local

  destination-zone untrust

  source-ip-host 1.1.1.1

  destination-ip-host 2.2.2.2

 rule 1 name ipseclocalin

  action pass

  source-zone untrust

  destination-zone local

  source-ip-host 2.2.2.2

  destination-ip-host 1.1.1.1

 rule 2 name trust-untrust

  action pass

  source-zone trust

  destination-zone untrust

  source-ip-subnet 5.5.5.0 255.255.255.0

  destination-ip-subnet 4.4.4.0 255.255.255.0

 rule 3 name untrust-trust

  action pass

  source-zone untrust

  destination-zone trust

  source-ip-subnet 4.4.4.0 255.255.255.0

  destination-ip-subnet 5.5.5.0 255.255.255.0

#