Example: Configuring an IKE-based IPsec tunnel for IPv4 packets

Network configuration

As shown in Figure 125, establish an IPsec tunnel between Switch A and Switch B to protect data flows between the switches. Configure the IPsec tunnel as follows:

Figure 125: Network diagram

Procedure

  1. Configure Switch A:

    # Configure an IP address for VLAN-interface 1.

    <SwitchA> system-view
    [SwitchA] interface vlan-interface 1
    [SwitchA-Vlan-interface1] ip address 2.2.2.1 255.255.255.0
    [SwitchA-Vlan-interface1] quit
    

    # Configure an IPv4 advanced ACL to identify the data flows from Switch A to Switch B.

    [SwitchA] acl advanced 3101
    [SwitchA-acl-ipv4-adv-3101] rule 0 permit ip source 2.2.2.1 0 destination 2.2.3.1 0
    [SwitchA-acl-ipv4-adv-3101] quit
    

    # Create an IPsec transform set named tran1.

    [SwitchA] ipsec transform-set tran1
    

    # Specify the encapsulation mode as tunnel.

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

    # Specify the security protocol as ESP.

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

    # Specify the ESP encryption and authentication algorithms.

    [SwitchA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-192
    [SwitchA-ipsec-transform-set-tran1] esp authentication-algorithm sha1
    [SwitchA-ipsec-transform-set-tran1] quit
    

    # Create an IKE keychain named keychain1.

    [SwitchA] ike keychain keychain1
    

    # Specify 12345zxcvb!@#$%ZXCVB in plain text as the pre-shared key to be used with the remote peer at 2.2.3.1.

    [SwitchA-ike-keychain-keychain1] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 12345zxcvb!@#$%ZXCVB
    [SwitchA-ike-keychain-keychain1] quit
    

    # Create and configure an IKE profile named profile1.

    [SwitchA] ike profile profile1
    [SwitchA-ike-profile-profile1] keychain keychain1
    [SwitchA-ike-profile-profile1] match remote identity address 2.2.3.1 255.255.255.0
    [SwitchA-ike-profile-profile1] quit
    

    # Create an IKE-based IPsec policy entry. Specify the policy name as map1 and set the sequence number to 10.

    [SwitchA] ipsec policy map1 10 isakmp
    

    # Specify ACL 3101.

    [SwitchA-ipsec-policy-isakmp-map1-10] security acl 3101
    

    # Specify IPsec transform set tran1.

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

    # Specify the local and remote IP addresses of the IPsec tunnel as 2.2.2.1 and 2.2.3.1.

    [SwitchA-ipsec-policy-isakmp-map1-10] local-address 2.2.2.1
    [SwitchA-ipsec-policy-isakmp-map1-10] remote-address 2.2.3.1
    

    # Specify IKE profile profile1.

    [SwitchA-ipsec-policy-isakmp-map1-10] ike-profile profile1
    [SwitchA-ipsec-policy-isakmp-map1-10] quit
    

    # Apply IPsec policy map1 to VLAN-interface 1.

    [SwitchA] interface vlan-interface 1
    [SwitchA-Vlan-interface1] ipsec apply policy map1
    
  2. Configure Switch B:

    # Configure an IP address for VLAN-interface 1.

    <SwitchB> system-view
    [SwitchB] interface vlan-interface 1
    [SwitchB-Vlan-interface1] ip address 2.2.3.1 255.255.255.0
    [SwitchB-Vlan-interface1] quit
    

    # Configure an IPv4 advanced ACL to identify the data flows from Switch B to Switch A.

    [SwitchB] acl advanced 3101
    [SwitchB-acl-ipv4-adv-3101] rule 0 permit ip source 2.2.3.1 0 destination 2.2.2.1 0
    [SwitchB-acl-ipv4-adv-3101] quit
    

    # Create an IPsec transform set named tran1.

    [SwitchB] ipsec transform-set tran1
    

    # Specify the encapsulation mode as tunnel.

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

    # Specify the security protocol as ESP.

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

    # Specify the ESP encryption and authentication algorithms.

    [SwitchB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-192
    [SwitchB-ipsec-transform-set-tran1] esp authentication-algorithm sha1
    [SwitchB-ipsec-transform-set-tran1] quit
    

    # Create an IKE keychain named keychain1.

    [SwitchB] ike keychain keychain1
    

    # Specify 12345zxcvb!@#$%ZXCVB in plain text as the pre-shared key to be used with the remote peer at 2.2.2.1.

    [SwitchB-ike-keychain-keychain1] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 12345zxcvb!@#$%ZXCVB
    [SwitchB-ike-keychain-keychain1] quit
    

    # Create and configure an IKE profile named profile1.

    [SwitchB] ike profile profile1
    [SwitchB-ike-profile-profile1] keychain keychain1
    [SwitchB-ike-profile-profile1] match remote identity address 2.2.2.1 255.255.255.0
    [SwitchB-ike-profile-profile1] quit
    

    # Create an IKE-based IPsec policy entry. Specify the policy name as use1 and set the sequence number to 10.

    [SwitchB] ipsec policy use1 10 isakmp
    

    # Specify ACL 3101.

    [SwitchB-ipsec-policy-isakmp-use1-10] security acl 3101
    

    # Specify IPsec transform set tran1.

    [SwitchB-ipsec-policy-isakmp-use1-10] transform-set tran1
    

    # Specify the local and remote IP addresses of the IPsec tunnel as 2.2.3.1 and 2.2.2.1.

    [SwitchB-ipsec-policy-isakmp-use1-10] local-address 2.2.3.1
    [SwitchB-ipsec-policy-isakmp-use1-10] remote-address 2.2.2.1
    

    # Specify IKE profile profile1.

    [SwitchB-ipsec-policy-isakmp-use1-10] ike-profile profile1
    [SwitchB-ipsec-policy-isakmp-use1-10] quit
    

    # Apply IPsec policy use1 to VLAN-interface 1.

    [SwitchB] interface vlan-interface 1
    [SwitchB-Vlan-interface1] ipsec apply policy use1
    

Verifying the configuration

# Initiate a connection between Switch A and Switch B to trigger IKE negotiation. After IPsec SAs are successfully negotiated by IKE, the traffic between the two switches is IPsec-protected.