Ipsec Feature Overview Guide
Ipsec Feature Overview Guide
This guide describes Internet Protocol Security (IPsec) and its configuration. IPsec is a
protocol suite for securing IP networks by authenticating and encrypting IP packets.
IPsec protects one or more paths between a pair of hosts, a pair of security gateways,
or a security gateway and a host. A security gateway is an intermediate device, such as
a router or firewall that implements IPsec. The connection between two devices using
IPsec to protect data is called a VPN (Virtual Private Network).
These documents are available from the above links on our website at
Version 5.4.9-2.1 and later lets you disable rekeying of unused IPsec SAs
Version 5.4.9-0.1 and later support IPv4 traffic selectors on IPsec IPv6 tunnels.
Version 5.4.7-2.1 and later support index range for interface tunnels from 0-255 to 0-
65535.
Content
Introduction..................................................................................................................... 1
Products and software version that apply to this guide.............................................1
Related documents.................................................................................................... 2
IPsec introduction............................................................................................................ 4
What does IPsec do?.................................................................................................. 4
Default profiles.......................................................................................................... 6
Custom profiles.......................................................................................................... 8
Working with dynamically assigned IP addresses....................................................10
Disabling rekeying of unused IPsec SAs...................................................................11
Traffic selectors........................................................................................................ 11
Main mode or Aggressive mode...............................................................................12
Step-by-step configuration............................................................................................13
Basic IPsec protection.............................................................................................. 13
How to use custom profiles......................................................................................14
How to use traffic selectors.....................................................................................17
How to identify a peer by name rather than IP address...........................................18
Configuration examples................................................................................................. 19
Example 1: IPsec tunnel between two AlliedWare Plus firewalls..............................19
Example 2: ISAKMP and IPsec profiles......................................................................22
Example 3: A custom profile with a PFS option........................................................23
Example 4: Traffic selectors.....................................................................................24
Example 5: IPsec over GRE......................................................................................27
Example 6: Dynamically assigned IP addresses.......................................................29
Example 7: IPsec with NAT-Traversal........................................................................31
Example 8: IPv4 over IPv6 tunnel............................................................................34
Example 9: A VPN connecting over either a 3G or 4G/LTE cellular interface............36
Example 10: IPsec pairing to legacy device with firewall and dynamic IP................39
Example 11: VPN via 4G with NAT traversal between main and remote sites..........41
Example 12: VPN redundancy between main and remote sites...............................45
Example 13: VPN with firewall, DPI, and Malware Protection...................................50
Example 14: IPsec certificate-based authentication.................................................55
Diagnostics.................................................................................................................... 72
Checking the state of ISAKMP and IPsec security associations.................................72
Debug...................................................................................................................... 76
IPsec introduction
This section describes IPsec functionality and operation. It provides an explanation
about default and custom profiles, how to work with dynamically assigned IP addresses,
and how traffic is routed via the Virtual Tunnel Interface (VTI) and automatically
encrypted.
Confidentiality (encryption)—Ensuring that the data has not been read en route
The operation of IPsec is based upon negotiated connections between peer devices.
These connections are called Security Associations.
An IP destination address
You can choose IPsec in tunnel mode to implement a site-to-site VPN. A site-to-site VPN
connects two sites together, for example a branch office to a head office, by providing
a communication channel over the Internet. This saves a company having to pay for
expensive leased lines.
Employees gain full access to all company resources as if they were physically in the
office connected to the corporate LAN.
IPsec provides secure protection of IPv4, IPv6, GRE, L2TP/PPP traffic (by using IPsec in
transport mode) that traverses the VTI. AlliedWare Plus firewalls and routers support
the following IPsec features:
IKEv2 (Internet Key Exchange version 2) The default profile is now exclusively IKEv2
and it will not respond to IKEv1 requests. Custom ISAKMP profiles for IKEv1 peers
need to be explicitly created.
Configurable phase 1 local and remote IDs using IP address or Fully Qualified
Domain Name (FQDN)
Protection of GRE IPv6 based VTI traffic using IPsec in transport mode
Protection of L2TPv3 Ethernet Pseudowires based VTI traffic using IPsec in transport
mode
Protection of L2TPv2 PPP based VTI traffic using IPsec in transport mode
Default profiles
The processes that bring up and operate secure VPNs involve a number of different
algorithms. These are encryption algorithms, key-exchange methods, anti-tamper
checking algorithms, and so on. When two ends of a VPN are establishing their secure
connection, they need to go through a negotiation, in which they agree which
algorithms they will use for each of the component processes. This is a matter of them
proposing options, choosing their preference from the proposed options, and
confirming each other’s choices.
The default profile used by AlliedWare Plus includes only the more secure FIPs 140-2
compliant algorithms to protect VPN traffic, and so does not support weaker non-
compliant algorithms that may still be used by some legacy VPN devices.
The default profile contains a large set of pre-defined IPsec and ISAKMP transforms
containing a wide variety of options that it can offer when negotiating an SA to a peer.
This enables AlliedWare Plus firewalls and routers to inter-operate easily with a broad
range of other vendors VPN equipment. No specific configuration is required to enable
them to offer this large collection of options, it simply happens by default.
The negotiation process works down from the most secure cryptographic options through
progressively less strong FIPs 140-2 compliant options until a match is agreed to. This
process ensures the flexibility to inter-operate with all manner of modern peers with
minimal configuration effort.
Encryption: Symmetric key ciphers used for bulk data encryption. The Data
Encryption Standard (DES) algorithm is no longer considered secure and was
replaced by 3DES and now the Advanced Encryption Standard (AES). Encryption
algorithms are used in order of preference: AES256, AES128, 3DES.
Integrity: Secure Hash Algorithm (SHA) is used to check data integrity. Hash
algorithms are used in order of preference: SHA256 then SHA1.
Group: Diffie-Hellman (DH) groups determine the strength of the key used in the
key exchange process. The DH groups are used in order of preference: 14 then 16.
Encryption: Symmetric key ciphers used for bulk data encryption. The Data
Encryption Standard (DES) algorithm is no longer considered secure and was
replaced by 3DES and now the AES (Advanced Encryption Standard). Encryption
algorithms are used in order of preference: AES256, AES128, 3DES.
Integrity (all HMAC): Secure Hash Algorithm (SHA) is used to check data
integrity. Hash algorithms are used in order of preference: SHA256,
Galois/Counter Mode (GCM), SHA1.
Mode: Protection of GRE- and L2TP/PPP based VTI traffic using IPsec in transport
mode. Transport mode encapsulates the upper layer payload (such as Transmission
Control Protocol (TCP) or User Datagram Protocol (UDP) of the original IP datagram.
AH and ESP intercept packets from the Transport Layer that are intended for the
Network Layer, protect the Transport header, and provide a configured security.
Transport mode provides end-to-end security where the communications endpoint is
also the cryptographic endpoint. The alternative to Transport mode is Tunnel mode.
When Tunnel mode is used, IPsec encrypts the IP header and the payload, whereas
Transport mode only encrypts the IP payload. All the transforms offered in the
default profiles use Transport mode.
Custom profiles
There are cases where it is necessary for a VPN to use something other than the default
profile.
IKEv1 Main mode, or alternatively IKEv1 Aggressive mode (for key exchange
with peers with dynamic IP addresses)
older Secure Hash Algorithms, such as SHA-1 for checking data integrity
If a business has a security policy that requires the negotiation of only a narrow
set of cryptographic options - the default profile may offer too many options, and
the set of offered options needs to be reduced to just the options that comply with
the business security policy.
To set up VPNs in these non-default situations, AlliedWare Plus firewalls and routers
provide Custom Profiles for the configuration of the VPNs. These are profiles that inform
the software to offer a non-default set of options for the processing of the packets
passing through the VPN.
Custom profiles are configured for both IPsec and ISAKMP. Each profile can be configured
to contain a specific set of cryptographic options to offer to the peer. Each profile can
be configured with multiple encryption algorithms. This can include weaker
C613-22020-00 REV IPsec introduction | Page
U 8
Internet Protocol Security
cryptographic options that are not FIPs 140-2 compliant, to allow (IPsec)
inter-operation with
legacy devices.
When a custom profile is being used, the AlliedWare Plus firewalls and routers will offer
the specific ISAKMP and IPsec transform options that are included in that profile. The
custom profile replaces the default profile, rather than adding options to the default
profile.
These custom profiles also support additional options, such as specific SA lifetimes, and
PFS.
Mode:
DPD interval (time between messages) is configurable for the profile as a whole
(default 30 seconds)
ISAKMPv1 DPD timeout (after which all peer SAs are deleted) is configurable for the
profile as a whole (default 150 seconds)
Lifetime in seconds for each profile. This should be two-three times longer than the
IPsec profile lifetime to ensure a stable network.
An ISAKMP profile may be specified per peer IP address, and another ISAKMP profile
may be specified for all dynamic peers. The default ISAKMP profile is used for all
ISAKMP peers not otherwise specified.
SA lifetime in seconds
GCM8, GCM12, or GCM16 integrity algorithms. These are well-suited for hardware
optimization, thereby improving throughput.
Encryption algorithm
Perfect Forward Secrecy (PFS) ensures generated keys, e.g. IPsec SA keys, are not
compromised if any other keys, such as ISAKMP SA keys, are compromised. This
configurable option is disabled by default but can be configured with the groups above.
In this situation, the remote site devices will initiate the formation of the IPsec VPN. The
remote sites know the main office’s fixed IP to which they can initiate the connection,
once the remote site WAN interface becomes operational, and the WAN IP is
dynamically allocated.
On the remote site, the destination address of the virtual tunnel is the static WAN IP
address of the main office router. The main office VPN firewall is configured with the
command tunnel destination dynamic, since the destination IP address is dynamically
allocated to the remote site peer is unknown.
The main office device will identify the incoming peer with the local name that the
incoming peer provides. On the main office device, this will be configured as the tunnel
remote name. On the remote office device this will be configured as the tunnel local
name. The main office device will then learn the dynamic IP address of the remote
office.
The options are always, never, and on-demand. The on-demand option makes its
decision based on whether the link has seen any traffic since the SA's last rekey. Note
that the default behavior remains unchanged and is to always rekey.
The new options may be useful if you have a hub and spoke VPN topology and need
to provision more than the maximum number of concurrent active VPNs supported by
your AR-Series device. The new options age out unused VPNs more quickly, making
more efficient use of the number of available VPNs.
To specify the rekey policy, use the following command in IPsec Profile Configuration
mode:
For example, to only rekey when traffic is detected over the interface, in the profile
named ‘myprofile’, use the commands:
Traffic selectors
By default AlliedWare Plus uses a route based VPN, where the VPN is terminated via a
VTI and any traffic that is routed via the VTI is automatically encrypted. This means
that a single IPsec SA will be negotiated with the device at the other end of the tunnel
and that all traffic being sent down this tunnel will be encrypted by this SA.
The latter case is necessitated by connections with some legacy devices that may not
support route based VPNs. It may instead attempt to negotiate the use of IP address
traffic selectors to match, filter, and transport only a specific range of local and remote
IP addresses in each SA.
To deal with these requirements, AlliedWare Plus VTI tunnel interfaces can be
configured to negotiate one or more pairs of local and remote network traffic selectors.
This enables the negotiation of different SAs for different streams of traffic. When using
IKEv1 a single IPsec SA is created for each negotiated pair. With IKEv2 multiple pairs of
traffic selectors can be negotiated on a single IPsec SA.
In Aggressive mode, the Phase 1 parameters are instead exchanged within a single
message, including with unencrypted authentication information, such as the IDs. This is
at the cost of slightly lower security—because additional information, such as
hostname IDs are shared to the peer in unencrypted clear text. The advantage,
however, is that this mode reduces negotiation of the IKE security association to three
messages, allowing for faster formation of the encrypted VPN.
Therefore, if one end of the VPN link is assigned a dynamic IP address, and VPNs are
matched on hostname ID <fqdn> instead of a statically-configured peer IP address,
then it is appropriate to ensure the peer is configured to use Aggressive mode instead
of Main mode, if using IKEv1.
This is necessary especially when there are multiple remote sites within a hub-and-
spoke VPN topology whose WAN IP addresses are all dynamically assigned. Using
Aggressive mode ensures that the peer supplies the ISAKMP ID (hostname) within the
initial (unencrypted) offer to the peer, to allow the peer to be identified and
authenticated. AlliedWare Plus firewalls and routers use IKEv2 as their default profile,
and will not respond to incoming IKEv1 requests. If a peer device does not support
IKEv2, then in order to configure the device to support IKEv1, you need to configure a
custom ISAKMP profile with those specific options selected. You can use either the Main
mode or Aggressive mode option as required to ensure interoperability with legacy
devices.
Step-by-step configuration
This section describes how to configure IPsec.
Configure the pre-shared key for ISAKMP and associate the key with a peer address
Configure one or more routes to the IP subnets on the network at the far end of
the tunnel Follow these steps to enable IPsec protection for traffic:
Enter the pre-shared key and peer IP address. The key is associated with:
hostname or UFQDN
Enter Interface mode and specify a tunnel name (e.g. tunnel1) and IP address
for the tunnel interface.
IPsec IPv4, IPsec IPv6, L2TP v3, L2TP v3 IPv6, GRE, GRE IPv6
Step 4: Configure routes to the IP subnets at the receiving end of the tunnel
awplus(config)# ip route <far-end-subnet> <tunnel-name>
ISAKMP profiles
Follow these steps to configure your custom profiles for ISAKMP:
Enter the lifetime in seconds.This is optional and the default is 86400 seconds (24
hours). Lifetime measures how long the IPsec SA can be maintained before it
expires. Lifetime prevents a connection from being used too long.
To set the ISAKMP protocol version specify the version and mode:
version 1 (IKEv1) or version 2 (IKEv2). This is optional and the default is version 2.
The interval parameter specifies the amount of time the device waits for traffic from
its peer before sending a DPD acknowledgment message.
Diffie-Hellman group
awplus(config-isakmp-profile)# transform <1-255> integrity [sha1|sha256|
sha512] encryption [3des|aes128|aes192|aes256] group [2|5|14|15|16|18]
profile name.
IPsec profiles
Follow these steps to configure your custom profiles for IPsec:
Enter the lifetime in seconds.This is optional and the default is 28800 seconds (8
hours).
Enter Interface mode and specify a tunnel name. For example, tunnel1.
Selectors operate in pairs – one matching the source address and one matching the
destination address. ID numbers indicate which selectors are paired with each other.
For example, a local and remote selector that both have the same ID are a pair.
Step 2: Enter Interface mode and specify a tunnel name. For example tunnel1
awplus(config)# interface tunnel <0-65535>
Enter the local address range for this selector pair ID. The local and remote
selectors must use the same ID. This identifies the range of source addresses on
outgoing traffic (or destination addresses on incoming traffic) to which the selector
applies.
Version 5.4.8-1.1 adds a new optional command tunnel selector paired. This command
forces ISAKMP to create individual Phase 2 IPsec SAs for each pair of source and
destination selectors that have the same selector ID. Only traffic that matches a
selector pair is permitted to flow via the associated SA.
For example, when creating a tunnel between 172.16.1.0/24 and 172.16.2.0/24, and
also between 172.16.1.0/24 and any other destination, you can use the following
tunnel selector commands:
The commands to do this are entered in Interface mode for the tunnel being
protected. Use these commands to configure a local tunnel name for the peer:
A peer receiving the connection configures a remote name, to identify the name it
expects to see in connections from the remote peer:
Configuration examples
DEVICE A DEVICE B
IP address of Ethernet interface eth1 128.0.0.1/30 129.0.0.1/30
tunnel source IP address 128.0.0.1/30 129.0.0.1/30
tunnel destination IP address 129.0.0.1/30 128.0.0.1/30
IP address of tunnel interface 192.168.0.1/24 192.168.0.2/24
Figure 1: Example for an IPsec tunnel between two AlliedWare Plus firewalls
Hos
Serve t
r
Router
A
IPv4 or IPv6
Private
network
eth1: 128.0.0.2/
128.0.0.1/30 30
tunnel
interface:
129.0.0.2/
Intern 30
et
IPsec Tunnel
Hos
t
Serve
r
Router
B
eth1:
129.0.0.1/30
IPv4 or IPv6
tunnel
Private
interface:
network
awplus(config-if)# exit
Create a virtual tunnel called tunnel1
To securely route packets through the tunnel, you need to use the tunnel protection
ipsec command to encrypt and authenticate its packets. This is required for IPsec
mode tunnels. It is optional for other tunnel modes.
awplus(config-if)# exit
Create a virtual tunnel called tunnel1
To securely route packets through the tunnel, you need to use the tunnel protection
ipsec
command to encrypt and authenticate its packets.
You can use the ping command to verify that the tunnel is established. Log into
Device A and ping the interface IP address of Device B.
Note: Be aware that at least one echo request will not succeed because it is dropped.
Whether any other echo requests are dropped depends on how quickly ISAKMP
finishes the negotiation and the ISAKMP and IPsec SAs are set. Normal ping, with
a one second delay between echo requests, is expected to have the next four
echo requests all responded to.
awplus#ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
From 192.168.0.1 icmp_seq=1 Destination Host Unreachable
64 bytes from 192.168.0.2: icmp_req=2 ttl=64 time=0.590 ms
64 bytes from 192.168.0.2: icmp_req=3 ttl=64 time=0.462 ms
64 bytes from 192.168.0.2: icmp_req=4 ttl=64 time=0.452 ms
64 bytes from 192.168.0.2: icmp_req=5 ttl=64 time=0.452 ms
!
crypto ipsec profile remote-office-phase2
lifetime seconds 3600
transform 1 protocol esp integrity SHA1 encryption AES128
transform 2 protocol esp integrity SHA1 encryption 3DES
!
crypto isakmp profile remote-office-phase1
version 1 mode aggressive
transform 1 integrity SHA1 encryption AES128 group 2
transform 2 integrity SHA1 encryption 3DES group 2
lifetime 10800
!
crypto isakmp key SAMPLEKEY address 16.1.0.2
!
crypto isakmp peer address 16.1.0.2 profile remote-office-phase1
!
interface eth1
ip address 16.0.0.1/30
!
interface vlan1
ip address 192.168.1.0/24
!
interface tunnel1
tunnel source eth1
tunnel destination 16.1.0.2
tunnel protection ipsec profile remote-office-phase2
tunnel mode ipsec ipv4
ip address 192.168.3.1/30
!
ip route 192.168.2.0/24 tunnel1
!
The PFS group option ensures a new Diffie-Hellman key exchange occurs whenever an
SA is re- negotiated (for example, when an SA lifetime expires) to offer an addition
layer of protection in the case where a private key has been compromised. Perfect
Forward Secrecy (PFS) ensures generated keys (e.g. IPsec SA keys) are not
compromised if any other keys (e.g. ISAKMP SA keys) are compromised. This comes at
the cost of additional processing overhead, so most vendors disable this option by
default. Similarly, this option is not enabled in the AlliedWare Plus default profile.
Therefore, if you wish to use PFS, you do need to configure a custom profile that has PFS
enabled.
VLAN1
VTI1
192.168.1.0/2
4
Main
Office 10.0.0.
1
eth1:
130.16.0.1
Interne
t
VLAN1
VTI1
192.168.2.0/2
Tunnel 1 4
eth1:
130.16.1.2
10.0.0.
2
Remote
Office
Example Main Office configuration for a custom profile with a PFS option
!
crypto ipsec profile phase2
transform 1 protocol esp integrity SHA256 encryption AES256
pfs 5
!
crypto isakmp profile phase1
transform 1 integrity SHA256 encryption AES256 group 5
version 1 mode main
!
crypto isakmp key SAMPLEKEY address 130.16.1.2
!
crypto isakmp peer address 130.16.1.2 profile phase1
!
interface vlan1
ip address 192.168.1.254/24
!
interface eth1
ip address 130.16.0.1/24
!
interface tunnel1
tunnel source eth1
tunnel destination 130.16.1.2
tunnel protection ipsec profile phase2
tunnel mode ipsec ipv4
ip address 10.0.0.1/30
!
ip route 192.168.2.0/24 tunnel1
!
An IPsec SA is formed for each individual set of local and remote traffic selectors
that are configured.
Traffic routed over the VTI, that does not also match the optional local and remote
address selectors, is discarded. Only traffic that matches one of the traffic selectors is
permitted through the associated SA:
VLAN1
192.168.1.0/2
4
VTI1
Main
Office 192.168.3.
1
eth1:
16.0.0.1
Interne
t
VLAN1
VLAN2
192.168.2.0/2
192.168.2.128/
5
Tunnel 1 25
eth1:
16.1.0.2 VTI1
192.168.3.
2
Remote
Office
!
crypto ipsec profile remote-office-phase2
lifetime seconds 28800
transform 1 protocol esp integrity SHA1 encryption AES128
transform 2 protocol esp integrity SHA1 encryption 3DES
!
crypto isakmp profile remote-office-phase1
version 1 mode aggressive
transform 1 integrity SHA1 encryption AES128 group 2
transform 2 integrity SHA1 encryption 3DES group 2
lifetime 86400
!
crypto isakmp key SAMPLEKEY address 16.1.0.2
!
crypto isakmp peer address 16.1.0.2 profile remote-office-phase1
!
interface eth1
ip address 16.0.0.1/30
!
interface vlan1
ip address 192.168.1.0/24
!
interface tunnel1
tunnel source eth1
tunnel destination 16.1.0.2
tunnel local selector 10 192.168.1.0/24
tunnel remote selector 10 192.168.2.0/26
tunnel local selector 20 192.168.1.0/24
tunnel remote selector 20 192.168.2.128/26
tunnel selector paired
tunnel protection ipsec profile remote-office-phase2
tunnel mode ipsec ipv4
ip address 192.168.3.1/30
!
ip route 192.168.2.0/26 tunnel1
ip route 192.168.2.128/26 tunnel1
!
VLAN1
192.168.1.0/2
4 GRE mode
VTI1
Main
Office 10.0.0.
1
eth1
130.16.0.
1 Interne
t
VLAN1
192.168.2.0/2
Tunnel 1 4
GRE mode
VTI1
eth1
130.16.0.
2
10.0.0.
2
Remote
Office
VLAN1
192.168.1.0/2
4
VTI1
Main
Office 10.0.0.
1
eth1: Fixed
IP
130.16.0.1 Interne
t
VLAN1
192.168.2.0/2
Tunnel 1 4
eth1:
assigned VTI1
by DHCP 10.0.0.
2
Remote
Office
In this configuration, the remote office WAN interface address is dynamically allocated
via DHCP.
Therefore, the remote office VTI is configured to supply the text string Remote_Site_1
as its local identifier, which allows the main office to match and identify the incoming
VPN traffic from the remote office.
Similarly, the main office VTI is configured with the command tunnel destination
dynamic, and the pre-shared crypto ISAKMP key is matched, based on the local
hostname identifier text string Remote_Site_1 (supplied by the remote office).
This example also uses custom IPsec profiles, although there is no requirement to use
custom profiles when remote site WAN addresses are dynamically allocated. The
custom profile is used purely to show how to configure an alternative set of non-default
crypto options, such as IKEv2, DH group 5, and PFS.
!
crypto ipsec profile phase2
pfs 5
transform 1 protocol esp integrity SHA256 encryption AES256
!
crypto isakmp profile phase1
version 2
transform 1 integrity SHA256 encryption AES256 group 5
!
crypto isakmp key SAMPLEKEY hostname Remote_Site_1
!
crypto isakmp peer dynamic profile phase1
!
interface eth1
ip address 130.16.0.1/24
!
interface vlan1
ip address 192.168.1.254/24
!
interface tunnel1
tunnel source eth1
tunnel destination dynamic
tunnel remote name Remote_Site_1
tunnel protection ipsec profile phase2
tunnel mode ipsec ipv4
ip address 10.0.0.1/30
!
ip route 192.168.2.0/24 tunnel1
!
Subsequently, an IPsec SA is formed between the two peers, this time using ESP as the
mechanism to protect the private inter-office IP data streams. The entire IP datagram
headers of the private data streams are encrypted and encapsulated inside the ESP
headers. This includes the private source IP/destination IP, and TCP/UDP port numbers.
ESP uses IP protocol number 50, and does not contain additional information, such as
source and destination port numbers used commonly by other IP protocols, such as TCP
or UDP.
This lack of port numbers makes it difficult to pass ESP data through any intermediate
devices performing Network Address Port Translation (NAPT), on the path between the
VPN peers. This is because the intermediate NAPT devices may not support session
tracking based on alternative fields that are contained in the ESP datagram VPN
headers, such as the SPI (Security Parameter Index).
To resolve this issue, the NAT-Traversal (NAT-T) option can be negotiated between the
two VPN peers. The first step in NAT-T negotiation occurs during the initial ISAKMP SA
negotiation, whereby the two peers automatically detect that each other supports the
NAT-T option. If both devices support NAT-T, then the two peers perform NAT-Discovery
(NAT-D) to detect the presence (or not) of an intermediate device performing IP
address and/or port translation.
NAT-D works by each peer internally calculating a unique hash value based on the
source and destination IP, and port numbers used for IKE. NAT-D messages are then
sent between the two peers containing the unique hash value payload. Each peer
extracts the hash values from the received NAT-D messages, and compares them to
the hash values that were previously calculated. If the internally calculated and
received HASH values differ, then the two peers know there is an intermediate device
performing some form of network address and/or port translation. If the two compared
hash values are the same, then the two peers know that there is no intermediate
device performing IP address and/or port translation.
If an intermediate NAPT device is detected, NAT-T will change the UDP port numbers
used by ISAKMP from UDP 500, to become UDP 4500, for all subsequent ISAKMP
communications, and the ISAKMP SA is then formed.
The ESP messages used by IPsec are also encapsulated inside NAT-T, allowing them to
pass seamlessly through the intermediate NAPT device as part of the existing UDP
4500 session.
The ESP traffic is only encapsulated inside NAT-T (UDP 4500) if the two NAT-T capable
peers detect the presence of an intermediate NAPT device. Otherwise ISAKMP will
continue to use default UDP 500, and IPsec will continue to use IP protocol 50.
C613-22020-00 REV Configuration examples | Page
U 33
Internet Protocol Security
(IPsec)
The intermediate NAPT device will need to be configured with rules to allow UDP
500/UDP 4500 to pass through.
VLAN1
192.168.1.0/2
4
VTI1
Main
Office 10.0.0.
1
.........................................................................................................
Interne Public Privat
eth1 e
t
130.16.0.1/3
0
NAPT
130.16.0.2/3
0
Tunnel 1 VLAN1
192.168.2.0/2
NAPT: Firewall allow Rule for UDP 4
500 192.168.100.2/2
4
NAPT: Firewall allow Rule for UDP
4500 eth1
192.168.100.1/2 VTI1
4
10.0.0.
2
Remote
Office
In this configuration, the remote office WAN uses a private IP address, as the remote
office router is located on the private side of the intermediate NAPT device. Traffic
originating from the remote office has its source IP (and source port) translated by the
intermediate NAPT device as the data is routed to the Internet. VPN traffic arriving at
the main office therefore appears to have originated from the public Internet IP address
of the NAPT device, not the private IP address of the remote office WAN.
The main office VPN tunnel destination IP configured on the peer is therefore the public
IP address of the NAPT device, not the remote office eth1 private WAN IP address.
The intermediate NAPT device needs to be configured with firewall NAT port forwarding
rules for ISAKMP traffic (UDP port 500), and NAT-T traffic (UDP port 4500) to allow the
VPN traffic arriving from the main office to be forwarded to the private side WAN IP
address of the remote office (eth1).
In this configuration, the remote office VTI is configured to point to the WAN IP address
of the main office directly.
The main office VTI is configured to supply the text string office1 as its local identifier,
which allows the remote office to match and identify the incoming VPN traffic from the
main office.
Similarly, the remote office VTI is configured to supply the text string office2 as its local
The main office and remote office pre-shared crypto ISAKMP keys are matched based
on the local hostname identifier configured in each remote peer (instead of peer IP
address).
!
crypto isakmp key SAMPLEKEY hostname office2
!
interface eth1
ip address 130.16.0.1/30
!
interface vlan1
ip address 192.168.1.254/24
!
interface tunnel1
tunnel source 130.16.0.1
tunnel destination 130.16.0.2
tunnel local name office1
tunnel remote name office2
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 10.0.0.1/30
!
ip route 192.168.2.0/24 10.0.0.2
!
!
crypto isakmp key SAMPLEKEY hostname office1
!
interface eth1
ip address 192.168.100.1/24
!
interface vlan1
ip address 192.168.2.254/24
!
interface tunnel1
tunnel source 192.168.100.1
tunnel destination 130.16.0.1
tunnel local name office2
tunnel remote name office1
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 10.0.0.2/30
!
ip route 192.168.1.0/24 10.0.0.1
ip route 130.16.0.0/30 192.168.100.2
!
It is possible to optionally configure IPv4 traffic selectors on IPsec IPv6 tunnels (from
version 5.4.9- 0.1 onwards). In this example tunnel selectors are configured to match
IPv4 traffic to be encrypted and transported via the IPv6 IPsec VPN. The default
selectors for this tunnel type will only match IPv6 traffic if selectors are not configured.
VLAN1
192.168.1.0/2
4
VTI1
Main
Office 10.0.0.
1
eth1:
2001:db8:1::1/64
Intern
et
VLAN1
192.168.2.0/2
Tunnel 1 4
VTI1
eth1:
2001:db8:2::1/64
10.0.0.
2
Remote
Office
Example Remote Office configuration for ipv4 over ipv6 IPsec tunnel
!
crypto isakmp key SAMPLEKEY address 2001:db8:1::1
!
interface eth1
ipv6 address 2001:db8:2::1/64
!
interface vlan1
ip address 192.168.2.254/24
!
interface tunnel1
description VPN_to_Office
tunnel source eth1
tunnel destination 2001:db8:1::1
tunnel local selector 1 192.168.2.0/24
tunnel remote selector 1 192.168.1.0/24
tunnel protection ipsec
tunnel mode ipsec ipv6
ip address 10.0.0.2/30
!
ip route 192.168.1.0/24 10.0.0.1
!
ipv6 route ::/0 2001:db8:2::2
!
Example Main Office configuration for ipv4 over ipv6 IPsec tunnel
!
crypto isakmp key SAMPLEKEY address 2001:db8:2::1
!
interface eth1
ipv6 address 2001:db8:1::1/64
!
interface vlan1
ip address 192.168.1.254/24
!
interface tunnel1
description VPN_to_Office
tunnel source eth1
tunnel destination 2001:db8:2::1
tunnel local selector 1 192.168.1.0/24
tunnel remote selector 1 192.168.2.0/24
tunnel protection ipsec
tunnel mode ipsec ipv6
ip address 10.0.0.1/30
!
ip route 192.168.2.0/24 10.0.0.2
!
ipv6 route ::/0 2001:db8:1::2
!
Figure 8: Example remote office configuration for VPN with a 3G cellular/PPP interface
VLAN1
VTI1
Main
Office 10.0.0.
1
Intern IP
eth1 et PPP0
130.16.0. dynamically
1 assigned
ISP
Gatewa
Tunnel 1
cellula
r
carrie
VTI1 VLAN1
USB cellular0
Remote
Office
The main site router identifies the incoming VPN based on the tunnel name instead of
the peer destination IP address. An Access Point Name (APN) is configured as part of
the cellular interface. The APN information is supplied by the carrier that the cellular
modem (with its inserted SIM card) connects to. This information is used by the carrier
to form a valid Internet connection via its cellular network and the public Internet. The
APN allows the cellular carrier to ensure the correct WAN IP address is assigned to the
serial PPP interface over the USB 3G Modem, and thereby enabling Internet
connectivity via that cellular connection.
!
crypto ipsec profile remote
pfs 5
transform 1 protocol esp integrity SHA256 encryption AES256
!
crypto isakmp profile remote1
version 2
transform 1 integrity SHA256 encryption AES256 group 5
!
crypto isakmp key SAMPLEKEY address 130.16.0.1
!
crypto isakmp peer address 130.16.0.1 profile remote1
!
interface tunnel1
description VPN_to_Office
tunnel source ppp0
tunnel destination 130.16.0.1
tunnel local name Remote
tunnel protection ipsec profile remote
tunnel mode ipsec ipv4
ip address 10.0.0.2/30
!
interface cellular0
encapsulation ppp 0
apn <value>
!
interface ppp0
ppp ipcp dns request
keepalive
ip address negotiated
ip tcp adjust-mss pmtu
!
!
crypto ipsec profile remote
pfs 5
transform 1 protocol esp integrity SHA256 encryption AES256
!
crypto isakmp profile remote1
version 2
transform 1 integrity SHA256 encryption AES256 group 5
!
crypto isakmp key SAMPLEKEY hostname Remote
!
crypto isakmp peer dynamic profile remote1
!
interface eth1
ip address 130.16.0.1/30
!
interface tunnel1
tunnel source eth1
tunnel destination dynamic
tunnel remote name Remote
tunnel protection ipsec profile remote
tunnel mode ipsec ipv4
ip address 10.0.0.1/30
!
Part 2 In this second part, a 4G/LTE USB cellular MODEM is plugged into the device.
A private IP address is dynamically allocated via DHCP from the 4G cellular MODEM to
the 4G cellular wireless wide area network (WWAN) interface.
The remote office router operates as the IPsec VPN initiator, and the main office
operates as the IPsec responder to the incoming VPN.
The IPsec VPN connection will automatically negotiate to use NAT-T, allowing the VPN
to traverse any intermediate routing equipment that may performing NAT, such as the
4G MODEM itself, or intermediate carrier equipment performing carrier grade NAT
(CGNAT).
VPN traffic initiated from the remote office WWAN interface (sent via the 4G cellular
MODEM towards the main office), and subsequent and associated VPN responder traffic
(sent from the main office towards the remote office) is automatically passed-through
the 4G MODEM to reach the WWAN interface.
!
crypto ipsec profile remote
pfs 5
transform 1 protocol esp integrity SHA256 encryption AES256
!
crypto isakmp profile remote1
version 2
transform 1 integrity SHA256 encryption AES256 group 5
!
crypto isakmp key SAMPLEKEY address 130.16.0.1
!
crypto isakmp peer address 130.16.0.1 profile remote1
!
interface wwan0
ip address dhcp
!
interface tunnel1
description VPN_to_Office
tunnel source wwan0
tunnel destination 130.16.0.1
tunnel local name Remote
tunnel protection ipsec profile remote
tunnel mode ipsec ipv4
ip address 10.0.0.2/30
!
Note: The 3G PPP interface and the 4G WWAN interface types, both have dynamically
assigned addresses. Also, both types of cellular interface can be optionally
configured as host entities used by associated NAT and/or firewall rules.
Customized IPsec and ISAKMP profiles using legacy crypto transform options, as well as
IPsec traffic selectors are configured. This is to allow the firewall to successfully
negotiate a VPN using legacy crypto options with the Main Office.
The firewall is connected to the Internet via a PPPoE client WAN link to an ISP PPPoE
Access concentrator, in this example using PPPoE service name any.
The PPPoE client WAN interface IP address is dynamically assigned. The Main Office
router has fixed IP address on its WAN interface.
The PPPoE WAN interface is located in the firewall Public zone. The Main and Remote
Office LAN networks, and also VPN traffic terminated at the VTI are located within the
firewall private zone.
Traffic flows from private to public zones have NAT masquerade applied, so that the
source IP address of traffic sent to the Internet uses the dynamically assigned PPP WAN
IP address.
Firewall application rules are configured to allow the IPsec ESP, and ISAKMP traffic to be
sent towards the Main office device through the firewall.
VTI1
VLAN1
192.168.1.0/2
4
Public
Main
Office 10.0.0.
1
Interne
eth1 t
130.16.0.
Tunnel 1
PPP VTI1
ISP PPPoE
Access VLAN1
192.168.2.0/2
4
PPPoE client
IP
dynamically
assigned
10.0.0.
2
Remote
Office
Example: Remote Office configuration for VPN inter-operation with legacy Main Office
!
zone private
network local
ip subnet 192.168.2.0/24
network remote
ip subnet 192.168.1.0/24
network tun1
ip subnet 10.0.0.0/30
!
zone public
network wan
ip subnet 0.0.0.0/0 interface ppp1
host router
ip address dynamic interface ppp1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.router to public
rule 40 permit esp from public.wan.router to public
protect
!
nat
rule 10 masq any from private to public
enable
!
crypto ipsec profile legacy-phase2
transform 1 protocol esp integrity SHA1 encryption 3DES
!
crypto isakmp profile legacy-phase1
version 1 mode main
transform 1 integrity SHA1 encryption 3DES group 2
!
crypto isakmp key samplekey address 130.16.0.1
!
crypto isakmp peer address 130.16.0.1 profile legacy-phase1
!
interface eth1
encapsulation ppp 1
!
interface vlan1
ip address 192.168.2.254/24
!
interface tunnel1
tunnel source ppp1
tunnel destination 130.16.0.1
tunnel local name remote_site
tunnel local selector 192.168.2.0/24
tunnel remote selector 192.168.1.0/24
tunnel protection ipsec profile legacy-phase2
tunnel mode ipsec ipv4
ip address 10.0.0.2/30
!
interface ppp1
ip address negotiated
ppp service-name <any>
ppp username <username>
ppp password <password>
!
ip route 0.0.0.0/0 ppp1
ip route 192.168.1.0/24 tunnel1
!
Example 11: VPN via 4G with NAT traversal between main and
remote sites
In this example a 4G USB modem is plugged into the remote office AlliedWare Plus
device, acting as the IPsec VPN initiator.
IPSec VPN
Fixed
WAN
AR-Series 1.1.1. AR-Series
Firewall Cellular Firewall
4G Intern 1 eth1
Provider
et 192.168.100.0/
NAT 24
USB Gateway
WWAN0
DHCP
vlan1 vlan1
192.168.2.0/24 192.168.1.0/24
The remote office router wireless WAN interface (WWAN0) operates as a DHCPv4 client,
and is dynamically assigned a private 192.168.x.x/x IPv4 address from the RFC 1918
reserved range from an inserted and compatible 4G/LTE USB modem. Via DHCPv4, the
4G USB modem allocates the private inside address and default route (gateway IP) to
the cellular WWAN interface of the remote office router.
The IPsec responder is the AlliedWare Plus device and is attached to the internal
network of the intermediate NAT gateway device, located at the main office. The main
office firewall is configured with fixed IP addresses.
NAT is applied at multiple locations. Both devices are configured with firewall and NAT
rules for:
NAT-Traversal (NAT-T) encapsulates ESP packets inside UDP and assigns both the
source and destination ports as UDP 4500. Therefore, firewall/NAT rules for ESP
(protocol 50) are unnecessary.
The remote office firewall is configured with rules to allow outbound VPN traffic
originating from its WWAN WAN to the Internet. The main office firewall is configured
with rules to allow inbound VPN traffic from the Internet to reach its eth WAN.
Note:
The 4G modem performs NAT between its inside (private IPv4 subnet), and its outside
address
Large scale NAT (Carrier Grade NAT) is performed by the cellular provider for
traffic from the cellular network to the Internet
There is also an intermediate third-party NAT gateway device, located at the main
office.
IPsec NAT-T is used to allow the VPN security VPN to negotiate between the two
AlliedWare Plus firewalls, despite intermediate address translations.
VPN traffic initiated from the remote office firewall is destined to the known fixed public
WAN IP address of the intermediate NAT gateway device.
The intermediate third party NAT gateway must be configured with firewall/NAT port
forwarding rules for ISAKMP traffic (UDP port 500), and NAT-T traffic (UDP port 4500).
This is required to allow the incoming VPN traffic initiated from the remote office
arriving on its public WAN to be forwarded to the internal fixed (eth1 WAN) address of
the main office firewall. The main office firewall virtual tunnel interface is configured
with ‘destination dynamic’, since the remote initiator private address is assigned via
DHCP and operates behind NAT.
Both main office and remote office firewall tunnel interfaces and pre-shared ISAKMP
keys are configured to use local/remote hostnames to identify and match VPN traffic
and pre-shared keys. This allows the ISAKMP and associated IPsec VPN security
associations to form.
Example Remote office site configuration for VPN via 4G with NAT
!
zone private
network local
ip subnet 192.168.2.0/24
network remote
ip subnet 192.168.1.0/24
network tunnel
ip subnet 10.0.0.0/30
!
zone public
network wan
ip subnet 0.0.0.0/0 interface wwan0
host router
ip address dynamic interface wwan0
!
application isakmp
protocol udp
sport 500
dport 500
!
application natt
protocol udp
sport 4500
dport 4500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public.wan.router to public
rule 40 permit natt from public.wan.router to public
protect
!
nat
rule 10 masq any from private to public
enable
!
crypto isakmp key SAMPLEKEY hostname office1
!
interface wwan0
ip address dhcp
!
interface vlan1
ip address 192.168.2.254/24
!
interface tunnel2
tunnel source wwan0
tunnel destination 1.1.1.1
tunnel local name office2
tunnel remote name office1
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 10.0.0.2/30
!
ip route 192.168.1.0/24 tunnel2
!
Example Main office site configuration for VPN via 4G with NAT
!
zone private
network local
ip subnet 192.168.1.0/24
network remote
ip subnet 192.168.2.0/24
network tunnel
ip subnet 10.0.0.0/30
!
zone public
network wan
ip subnet 0.0.0.0/0 interface eth1
host router
ip address 192.168.100.1/24
!
application isakmp
protocol udp
sport 500
dport 500
!
application natt
protocol udp
sport 4500
dport 4500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit isakmp from public to public.wan.router
rule 40 permit natt from public to public.wan.router
protect
!
nat
rule 10 masq any from private to public
enable
!
crypto isakmp key SAMPLEKEY hostname office2
!
interface eth1
ip address 192.168.100.1/24
!
interface vlan1
ip address 192.168.1.254/24
!
interface tunnel2
tunnel source eth1
tunnel destination dynamic
tunnel local name office1
tunnel remote name office2
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 10.0.0.1/30
!
ip route 0.0.0.0/0 192.168.100.254
ip route 192.168.2.0/24 tunnel2
!
The main and remote site AlliedWare Plus firewalls each have two VPNs configured, a
primary VPN and a backup VPN. Each VPN is terminated by a VTI. In AlliedWare Plus, by
default, VPNs are ‘persistent’ and so will automatically attempt to re-establish
connectivity should the VPN to the peer go down. Traffic traverses the primary IPsec
VPN via eth1. When the Internet connection via eth1 fails, traffic traverses the backup
VPN routing path via eth2.
To achieve VPN redundancy, the solution uses a combination of OSPF and static routing
via the VPNs between the two offices.
OSPF routing is used via the VTI (tunnel10, sourced via eth1) terminating the primary
IPsec VPN.
A static route is configured via the VTI (tunnel20, sourced via eth2) terminating the
backup IPsec VPN. The static route (via tunnel20) is configured with a high metric,
so the route learned by OSPF will be selected as the preferred route for traffic
between the private LANs.
If the primary VPN link fails (for example, when there is a failure of the primary Internet
connection via eth1), then this results in the OSPF neighbor relationship via the primary
VPN going down, and automatic removal of the route to the remote site LAN, learned
by OSPF over the VPN. The static routing path via the backup IPsec VPN is then
automatically selected, allowing traffic to flow between the office private LANs.
When the primary VPN is re-established, OSPF routes are then re-learned, allowing the
traffic to flow via the primary VPN again.
In this example, the full device configurations are included for both AlliedWare Plus
firewalls. This includes multi-zone firewall and associated NAT configuration, static
and dynamic (OSPF) routing configuration, and VPN configuration.
Figure 11: Example of a VPN redundancy between a Main Office and a Remote Office
50.50.50.1/2
4
VTI1
1.1.1.1/3
VTI2 0 OSPF route
Tunnel 1 over
Main Office 60.60.60.1/2 Tunnel 1
192.168.1.0/2 4 50.50.50.25
4 4
2.2.2.1/3 ISP
0
ISP 16.10.10.254/
Interne 24
60.60.60.1/2 t ISP 1.1.1.2/3
4 0
ISP
16.10.10.1/2
Static route 4
20.20.20.254/24
over
VTI1
Tunnel 2 Tunnel 2 VTI2
Remote
Office
192.168.2.0/2
2.2.2.2/3
0
20.20.20.2/2
4
!
hostname main-office
!
zone private
network remote
ip subnet 192.168.2.0/24
network local
ip subnet 192.168.1.0/24 interface vlan1
network tunnel1
ip subnet 1.1.1.0/30
network tunnel2
ip subnet 2.2.2.0/30
network ospf_mcast
ip subnet 224.0.0.5/32
ip subnet 224.0.0.6/32
!
zone public
network all
ip subnet 0.0.0.0/0
network intf
ip subnet 50.50.50.0/24 interface eth1
ip subnet 60.60.60.0/24 interface eth2
host router
ip address 50.50.50.1
ip address 60.60.60.1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
hostname remote-office
!
aaa authentication enable default local
aaa authentication login default local
!
zone private
network remote
ip subnet 192.168.1.0/24
network local
ip subnet 192.168.2.0/24 interface vlan1
network tunnel1
ip subnet 1.1.1.0/30
network tunnel2
ip subnet 2.2.2.0/30
network ospf_mcast
ip subnet 224.0.0.5/32
ip subnet 224.0.0.6/32
!
zone public
network all
ip subnet 0.0.0.0/0
network intf
ip subnet 16.10.10.0/24 interface eth1
ip subnet 20.20.20.0/24 interface eth2
host router
ip address 16.10.10.1
ip address 20.20.20.1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private.local to public
rule 30 permit esp from public.intf.router to public
rule 40 permit isakmp from public.intf.router to public
rule 50 permit esp from public to public.intf.router
rule 60 permit isakmp from public to public.intf.router
protect
!
nat
rule 10 masq any from private.local to public
enable
!
crypto isakmp key SAMPLEKEY1 address 50.50.50.1
crypto isakmp key SAMPLEKEY2 address 60.60.60.1
!
vlan1
192.168.2.0/2
4
VTI1
172.16.1.0/3
Hub
0
eth1:
10.1.2.1/30
10.1.2.2/3 Interne
0 t
10.1.1.2/3
0 vlan1
192.168.1.0/2
4
Tunnel 1
eth1:
10.1.1.1/30 VTI1
Spok
e
By default, the firewall performs DPI on ingress when DPI is enabled. So the encrypted
VPN traffic from the peer will be identified by DPI as IPsec traffic on ingress, based on
the outer VPN headers.
Tunnel inline-processing
From version 5.5.2-1.1 onwards, you can use tunnel inline-processing to improve the
forwarding performance of incoming application traffic. Use this feature when traffic is
encapsulated within an encrypted VPN and subsequently processed and identified via
Deep Packet Inspection (DPI).
Tunnel inline-processing is useful because it means packets are decrypted before being
analyzed and processed via the DPI engine. This is especially important for VPN traffic,
where you actually want to identify application traffic transported within the IPSEC VPN,
rather than the outer encrypted IPsec VPN headers.
Tunnel inline-processing:
detects and processes ESP headers in NAT-T UDP (port 4500) encapsulated packets
Configuration
Use the following commands to configure tunnel inline-processing:
Note: The tunnel inline-processing feature is not supported on GRE tunnels with IPsec
protection, nor L2TPv2/L2TPv3 tunnels with IPsec protection. You can continue to
use the global tunnel security-reprocessing command and simultaneously
configure tunnel inline-processing for individual IPsec mode VTI’s.
When tunnel security reprocessing is enabled, the data-stream that was transported
within the VPN is passed through the DPI engine a second time. This allows DPI to
inspect traffic that arrives from the VPN (that is terminated on the device) a second
time after decryption and decapsulation.
This allows DPI to inspect the contents of those decrypted packets, and identify the
embedded application traffic correctly. This ensures any application-based rules, such
as PBR rules and firewall rules, can be applied properly to bi-directional application
traffic.
This can be a problem for some applications—particularly for applications which use a
separate control channel and a dynamically negotiated data channel. For example,
consider an application control channel initiated in the direction from local LAN to site
remote LAN (via the VPN), with an associated dynamic data channel proposed in the
opposite direction (from the remote site device arriving via the VPN). DPI will not be
able to associate the outbound control channel data flow that it knows about, with the
application data channel because it was proposed within a VPN packet, particularly if
the traffic is encrypted.
Tunnel security reprocessing ensures application data can be matched on the bi-
directional traffic flows. This ensures any subsequent application-based rules can be
properly applied and better match all bi-directional application traffic flows when DPI is
also in use.
Caution: Tunnel security reprocessing increases the load on your device and reduces
throughput. This is because traffic is processed twice through the DPI engine.
Therefore, it should only be enabled if your solution requires it.
Tunnel reprocessing is supported for all VTI tunnel modes, such as GRE, IPSEC, OpenVPN
and
DS-Lite. The principles described above also apply to all AlliedWare Plus firewall stream-
based UTM security features: IPS, IP Reputation, Malware Protection and URL Filtering.
Example The following configuration uses tunnel security reprocessing with licensed feature
Procera DPI. A firewall rule is configured to block the application RTSP at the Spoke
device, which would otherwise flow via the VPN. Also, licensed UTM feature Malware
Protection is enabled to scan for Malware threats for all traffic flows via the device. This
includes bi-directional data streams transported within the VPN.
Spoke
Spoke firewall configuration
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 5 deny RTSP from private to private
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit any from public.internet.wan_local to public
rule 40 permit esp from public.internet.wan_remote to public.internet.wan_local
rule 50 permit isakmp from public.internet.wan_remote to
public.internet.wan_local
protect
!
nat
rule 10 masq any from private to public
enable
!
malware-protection
provider Kaspersky
protect
!
dpi
provider procera
enable
!
crypto isakmp key <samplekey> address 10.1.2.1
!
tunnel security-reprocessing
!
interface eth1
ip address 10.1.1.1/30
!
interface vlan1
ip address 192.168.1.0/24
!
interface tunnel1
tunnel source 10.1.1.1
tunnel destination 10.1.2.1
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 172.16.1.1/30
!
ip route 0.0.0.0/0 10.1.1.2
ip route 192.168.2.0/24 172.16.1.2
!
Hub
Hub firewall configuration
!
hostname HUB
!
zone private
network local
ip subnet 192.168.2.0/24
network remote
ip subnet 192.168.1.0/24
network tun1
ip subnet 172.16.1.0/30
!
zone public
network internet
ip subnet 0.0.0.0/0 interface eth1
host wan_local
ip address 10.1.2.1
host wan_remote
ip address 10.1.1.1
!
application esp
protocol 50
!
application isakmp
protocol udp
sport 500
dport 500
!
firewall
rule 10 permit any from private to private
rule 20 permit any from private to public
rule 30 permit any from public.internet.wan_local to public
rule 40 permit esp from public.internet.wan_remote to public.internet.wan_local
rule 50 permit isakmp from public.internet.wan_remote to
public.internet.wan_local
protect
!
nat
rule 10 masq any from private to public
enable
!
dpi
provider procera
enable
!
crypto isakmp key <samplekey> address 10.1.1.1
!
interface eth1
ip address 10.1.2.1/30
!
interface vlan1
ip address 192.168.2.0/24
!
interface tunnel1
tunnel source 10.1.2.1
tunnel destination 10.1.1.1
tunnel protection ipsec
tunnel mode ipsec ipv4
ip address 172.16.1.2/30
!
ip route 0.0.0.0/0 10.1.2.2
ip route 192.168.1.0/24 172.16.1.1
!
There are several reasons why you might use Internet Protocol Security (IPsec)
certificate-based authentication:
Compliance: Some regulatory requirements, such as HIPAA, may require the use of
certificate- based authentication for secure communications.
VTI
Main Office
Tunnel
Internet
VTI
Remote Office
Important concepts
Recognizing a number of terms is useful when implementing IPsec on your systems. Some
of these terms and their description are listed in the following table:
Term Description
VPN Virtual Private Networks provide secure communication over an untrusted network.
IPsec Internet Protocol Security defines the protection of IP packets using encryption and
authentication.
PKI A Public Key Infrastructure is the mechanism that a device uses to manage and
authenticate its trusted hierarchy of digital certificates. A PKI can range from a
manually distributed scheme in a small company, to automated distribution
with public Certification Authorities (CA) as is used in web browsers for
SSL/TLS.
DES/3DES/AES Symmetric key ciphers used for bulk data encryption. The Data Encryption
Standard algorithm is no longer considered secure and was replaced by Triple
DES and now the AES (Advanced Encryption Standard).
RSA/DSA Asymmetric key algorithms used for authentication and a major component of a
PKI.
Public/Private KeyParts of an RSA/DSA key; the private component is kept secret and the public
component is freely distributed (usually in the form of a certificate).
Certificate A combination of an entities identity and public key that has been signed by a
third party proving its authenticity.
CA Certificate Authority is an entity with the ability to sign certificates.
Self-signed CA CA that signs their own certificate.
Intermediate CA CA whose certificate is signed by another CA.
CSR Certificate Signing Requests are sent to CAs to obtain a signed certificate. A
CSR should contain all information needed for the signed certificate.
PEM Privacy Enhanced Mail is the most common format for certificates, CSRs, and
public/ private keys. PEM is used by AlliedWare Plus to manage certificates,
including importing and exporting.
Scenarios
For information on creating and managing certificates, see "Certificate management" on
page 68.
1. Create R1's server certificate signed by a self-signed CA, see "Server certificate
signed by local self-signed CA" on page 68.
-----BEGIN CERTIFICATE-----
MIIDdjCCAl6gAwIBAgIJAMLO9mdPucoIMA0GCSqGSIb3DQEBCwUAMEsxHTAbBgNV
...
...
-----END CERTIFICATE-----
3. Configure R2 to trust R1’s self-signed CA, see "Trust CA certificate" on page 71,
using the exported certificate from above.
Example configuration
For the following configurations, ensure that R1's tunnel0 local name and R2's tunnel0
remote name match the subject alternative name in R1's generated certificate.
R1
crypto pki trustpoint ATL-Corporate
enrollment selfsigned
subject-alt-name atl.corporate.com
subject-name /CN=atl.corporate.com
!
crypto isakmp profile cert_psk
local authentication certificate
pki trustpoint ATL-Corporate
...
!
crypto isakmp key friend hostname atl.sales.com
!
crypto isakmp peer hostname atl.sales.com profile cert_psk
!
interface tunnel0
tunnel local name atl.corporate.com
tunnel remote name atl.sales.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R2
crypto pki trustpoint ATL-Corporate
enrollment terminal
!
crypto isakmp profile psk_cert
remote authentication certificate
pki trustpoint ATL-Corporate
...
!
crypto isakmp key friend hostname atl.corporate.com
!
crypto isakmp peer hostname atl.corporate.com profile psk_cert
!
interface tunnel0
tunnel local name atl.sales.com
tunnel remote name atl.corporate.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R1
awplus# show crypto pki certificates
Server certificate
Subject : /CN=atl.corporate.com
Issuer : /O=Allied Telesis, Inc./CN=AlliedWarePlusCAV108ACD2CFB74D7E
Valid From : Nov 23 01:05:01 2022 GMT
Valid To : Nov 22 01:05:01 2027 GMT
Fingerprint : D8B6A788 CA1F069D 65FF8D68 42625052 12DDD8D1
Trustpoint "ATL-Corporate"
Type : Self-signed certificate authority
Root Certificate: 97051FCF 7ABBC61F 5C149757 4F7994E8 96F10594
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
R2
R2# show crypto pki certificates
Trustpoint "ATL-Corporate"
Type : External certificate authority
Root Certificate: 97051FCF 7ABBC61F 5C149757 4F7994E8 96F10594
Local Server : The server is not enrolled to this trustpoint.
Generate certificates
This scenario involves the authentication of R1 via a server certificate signed by a self-
signed CA.
This example requires a self-signed CA, see "AlliedWare Plus server certificate
signed by external self-signed CA" on page 69.
Example configuration
R1
crypto pki trustpoint ATL-Corporate
enrollment terminal
subject-alt-name atl.corporate.com
subject-name /CN=atl.corporate.com
!
crypto isakmp profile cert_psk
local authentication certificate
pki trustpoint ATL-Corporate
...
!
crypto isakmp key friend hostname atl.sales.com
!
crypto isakmp peer hostname atl.sales.com profile cert_psk
!
interface tunnel0
tunnel local name atl.corporate.com
tunnel remote name atl.sales.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R2
crypto pki trustpoint CA
enrollment terminal
!
crypto isakmp profile psk_cert
remote authentication certificate
pki trustpoint CA
...
!
crypto isakmp key 8 hrk/vsst437i5m9EnxhSMuWQU7fPx5mQEq7Ta1Jz+Qc= hostname
atl.corporate.com
!
crypto isakmp peer hostname atl.corporate.com profile psk_cert
!
interface tunnel0
tunnel local name atl.sales.com
tunnel remote name atl.corporate.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R1
R1# show crypto pki certificates
Server certificate
Subject : /CN=atl.corporate.com
Issuer : /C=NZ/ST=CA-aes128-None/O=CA-aes128-None/OU=CA-aes128-None
/CN=CA-aes128-None/[email protected]
Valid From : Nov 23 00:05:29 2022 GMT
Valid To : Nov 24 01:05:29 2022 GMT
Fingerprint : E1CCF52D 7A9231BA FD1F31BC B1FD5DF7 C056F3C6
Trustpoint "ATL-Corporate"
Type : External certificate authority
Root Certificate: 3E6977E0 9AA9CCDF AE8F457C 1E837AED 627F698F
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
R2
R2# show crypto pki certificates
Trustpoint "CA"
Type : External certificate authority
Root Certificate: 3E6977E0 9AA9CCDF AE8F457C 1E837AED 627F698F
Local Server : The server is not enrolled to this trustpoint.
Generate certificates
This scenario involves the authentication of R1 and R2 via a server, with both
certificates signed by a self-signed CA.
Example configuration
R1
crypto pki trustpoint ATL-Corporate
enrollment terminal
subject-alt-name atl.corporate.com
subject-name /CN=atl.corporate.com
!
crypto isakmp profile isakmp0
local authentication certificate
remote authentication certificate
pki trustpoint ATL-Corporate
...
!
crypto isakmp peer hostname atl.sales.com profile isakmp0
!
interface tunnel0
tunnel local name atl.corporate.com
tunnel remote name atl.sales.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R2
crypto pki trustpoint ATL-Sales
enrollment terminal
subject-alt-name atl.sales.com
subject-name /CN=atl.sales.com
!
crypto isakmp profile isakmp0
local authentication certificate
remote authentication certificate
pki trustpoint ATL-Sales
...
!
crypto isakmp peer hostname atl.corporate.com profile isakmp0
!
interface tunnel0
tunnel local name atl.sales.com
tunnel remote name atl.corporate.com
tunnel protection ipsec
tunnel mode ipsec ipv4
...
R1
R1# show crypto pki certificates
Server certificate
Subject : /CN=atl.corporate.com
Issuer : /C=NZ/ST=CA-aes128-None/O=CA-aes128-None/OU=CA-aes128-None
/CN=CA-aes128-None/[email protected]
Valid From : Nov 23 00:05:59 2022 GMT
Valid To : Nov 24 01:05:58 2022 GMT
Fingerprint : 99C113CA E1DB43C0 D65161D6 D0877952 425D88AF
Trustpoint "ATL-Corporate"
Type : External certificate authority
Root Certificate: 5063A500 951400C2 5F793CF4 3201C0D2 312012B1
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
R2
awplus# show crypto pki certificates
Server certificate
Subject : /CN=atl.sales.com
Issuer : /C=NZ/ST=CA-aes128-None/O=CA-aes128-None/OU=CA-aes128-None
/CN=CA-aes128-None/[email protected]
Valid From : Nov 23 00:06:02 2022 GMT
Valid To : Nov 24 01:06:02 2022 GMT
Fingerprint : 3BA9BF7F 3B01F32B DF5DD520 3FBB817B 349646D5
Trustpoint "ATL-Sales"
Type : External certificate authority
Root Certificate: 5063A500 951400C2 5F793CF4 3201C0D2 312012B1
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
Generate certificates
This scenario involves the authentication of R1 and R2 via server certificates signed
by different intermediate CAs. R1's server certificate is signed by the intermediate
CA INT-CA1. R2's server certificate is signed by the intermediate CA INT-CA2.
Create an intermediate CA, INT-CA2. INT-CA2 should be signed by the same self-
signed CA
Example configuration
R1
crypto pki trustpoint ATL-Corporate
enrollment terminal
subject-alt-name atl.corporate.com
subject-name /CN=atl.corporate.com
!
crypto isakmp profile cert_cert
local authentication certificate
remote authentication certificate
pki trustpoint ATL-Corporate
...
!
crypto isakmp peer hostname atl.sales.com profile cert_cert
!
interface tunnel0
tunnel local name atl.corporate.com
tunnel remote name atl.sales.com
tunnel protection ipsec
tunnel mode ipsec ipv4
R2
crypto pki trustpoint ATL-Sales
enrollment terminal
subject-alt-name atl.sales.com
subject-name /CN=atl.sales.com
!
crypto isakmp profile cert_cert
local authentication certificate
remote authentication certificate
pki trustpoint ATL-Sales
...
!
crypto isakmp peer hostname atl.corporate.com profile cert_cert
!
interface tunnel0
tunnel local name atl.sales.com
tunnel remote name atl.corporate.com
tunnel protection ipsec
tunnel mode ipsec ipv4
R1
R1# show crypto pki certificates
Server certificate
Subject : /CN=atl.corporate.com
Issuer : /C=NZ/ST=INT-CA1-aes128-None/O=INT-CA1-aes128-None
/OU=INT-CA1-aes128-None/CN=INT-CA1-aes128-None
/[email protected]
Valid From : Nov 23 00:06:57 2022 GMT
Valid To : Nov 24 01:06:56 2022 GMT
Fingerprint : 31308059 C74478DD ABE451A9 1E79BDF5 6320B593
Intermediate CA certificate
Subject : /C=NZ/ST=INT-CA1-aes128-None/O=INT-CA1-aes128-None
/OU=INT-CA1-aes128-None/CN=INT-CA1-aes128-None
/[email protected]
Issuer : /C=NZ/ST=CA-aes128-None/O=CA-aes128-None/OU=CA-aes128-None
/CN=CA-aes128-None/[email protected]
Valid From : Nov 23 00:06:53 2022 GMT
Valid To : Nov 24 01:06:52 2022 GMT
Fingerprint : 4FAF5343 5C9F8795 C9157763 EA061EC2 CBC7BC81
Trustpoint "ATL-Corporate"
Type : External certificate authority
Root Certificate: EF0AB610 5FD209FF 5D748DE1 9AE5B2DD C9FCB5E7
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
R2
R2# show crypto pki certificates
Server certificate
Subject : /CN=atl.sales.com
Issuer : /C=NZ/ST=INT-CA2-aes128-None/O=INT-CA2-aes128-None
/OU=INT-CA2-aes128-None/CN=INT-CA2-aes128-None
/[email protected]
Valid From : Nov 23 00:07:02 2022 GMT
Valid To : Nov 24 01:07:01 2022 GMT
Fingerprint : 657EABFD 77EBAD4E 724A1AFF FB092B38 7A4A4EF0
Intermediate CA certificate
Subject : /C=NZ/ST=INT-CA2-aes128-None/O=INT-CA2-aes128-None
/OU=INT-CA2-aes128-None/CN=INT-CA2-aes128-None
/[email protected]
Issuer : /C=NZ/ST=CA-aes128-None/O=CA-aes128-None/OU=CA-aes128-None
/CN=CA-aes128-None/[email protected]
Valid From : Nov 23 00:06:58 2022 GMT
Valid To : Nov 24 01:06:58 2022 GMT
Fingerprint : E9A25CFB FB4C3645 78B73161 42C67F2B 84475E56
Trustpoint "ATL-Sales"
Type : External certificate authority
Root Certificate: EF0AB610 5FD209FF 5D748DE1 9AE5B2DD C9FCB5E7
Local Server : The server is enrolled to this trustpoint.
Server Key : server-default
Certificate management
Keep in mind that the certificate examples serve only as a demonstration, and specifics
such as the subject and expiry date will vary each time you generate a certificate.
2. Create a server certificate for authentication of R1, and sign it using R1's self-signed
CA. In this step, enter R1-specific parameters such as the subject and subject-alt-
name.
3. Export R1's self-signed certificate to copy to any device that should trust R1.
-----BEGIN CERTIFICATE-----
MIIDdDCCAlygAwIBAgIJANlqDnzc04psMA0GCSqGSIb3DQEBCwUAMEoxHTAbBgNV
...
-----END CERTIFICATE-----
In this example, we will create a server certificate for an AlliedWare Plus router named
R1, which will be signed by an external self-signed CA. This example requires a self-
signed CA, managed externally from the AlliedWare Plus router.
1. Create a trustpoint and set R1 specific certificate details, such as subject and subject-
alt-name.
Paste in the self-signed CA's public certificate, the following uses the PEM format.
-----BEGIN CERTIFICATE-----
MIIDvzCCAqegAwIBAgIBATANBgkqhkiG9w0BAQsFADCBmTELMAkGA1UEBhMCTlox
...
...
...
-----END CERTIFICATE-----
5. Import the server certificate generated by the self-signed CA from R1’s CSR.
Trust CA certificate
In this example, we configure the AlliedWare Plus router, R1, to trust a CA and all
certificates signed by the CA including past, present, and future. Please note that when
creating a server certificate for R1 (as described in "AlliedWare Plus server certificate
signed by external self-signed CA" on
page 69), the CA will be trusted too.
-----BEGIN CERTIFICATE-----
MIIDdjCCAl6gAwIBAgIJAMLO9mdPucoIMA0GCSqGSIb3DQEBCwUAMEsxHTAbBgNV
...
...
...
-----END CERTIFICATE-----
For more information about certificate usage, see the Public Key Infrastructure (PKI)
Feature Overview and Configuration Guide.
Diagnostics
show isakmp sa
Use the command show isakmp sa to check the state of the ISAKMP security association
formed between two IPsec peers:
awplus#show isakmp sa
show ipsec sa
Use the command show ipsec sa to show the state of the IPsec security association
formed between two IPsec peers:
awplus#show ipsec sa
AES128 SHA1 2
1 SHA256 AES256 14
2 SHA256 AES256 16
3 SHA1 AES256 14
4 SHA1 AES256 16
5 SHA256 AES128 14
6 SHA256 AES128 16
7 SHA1 AES128 14
8 SHA1 AES128 16
9 SHA256 3DES 14
10 SHA256 3DES 16
11 SHA1 3DES 14
12 SHA1 3DES 16
ISAKMP Profile: my_profile
Version: IKEv2
Authentication: PSK
Expiry: 24h
DPD Interval: 30s
Transforms:
Integrity Encryption DH Group
2 SHA1 3DES 5
ikeInitRekey 0
ikeRspRekey 0
ikeChildSaRekey 0
ikeInInvalid 0
ikeInInvalidSpi 0
ikeInInitReq 0
ikeInInitRsp 0
ikeOutInitReq 0
ikeOutInitRsp 0
ikeInAuthReq 0
ikeInAuthRsp 0
ikeOutAuthReq 0
ikeOutAuthRsp 0
ikeInCrChildReq 0
ikeInCrChildRsp 0
ikeOutCrChildReq 0
ikeOutCrChildRsp 0
ikeInInfoReq 0
ikeInInfoRsp 0
ikeOutInfoReq 0
ikeOutInfoRsp 0
InError 0
InBufferError 0
InHdrError 0
InNoStates 0
InStateProtoError 0
InStateModeError 0
InStateSeqError 0
InStateExpired 0
InStateMismatch 0
InStateInvalid 0
InTmplMismatch 0
InNoPols 0
InPolBlock 0
InPolError 0
OutError 0
OutBundleGenError 0
OutBundleCheckError 0
OutNoStates 0
OutStateProtoError 0
OutStateModeError 0
OutStateSeqError 0
OutStateExpired 0
OutPolBlock 0
OutPolDead 0
OutPolError 0
FwdHdrError 0
Debug
The debug feature is a very powerful and flexible tool for troubleshooting issues.
Comprehensive debugging is available, and multiple options can be used to enable
debug for different aspects of IPsec and ISAKMP. All of the message types can be
individually enabled or disabled with the debug isakmp command.
In this example all debug is enabled at the basic level, and CFG messages are enabled
at the detailed level, then the tunnel is initiated with a ping from the remove device.
This command shows the ISAKMP profile and key status for any configured ISAKMP peers.
To display the interface and counter information for a specific virtual tunnel interface,
use the following command:
C613-22020-00 REV U
NETWORK SMARTER
North America Headquarters | 19800 North Creek Parkway | Suite 100 | Bothell | WA 98011 | USA | T: +1 800 424 4284 | F: +1 425
481 3895
Asia-Pacific Headquarters | 11 Tai Seng Link | Singapore | 534182 | T: +65 6383 3832 | F: +65 6383 3830
EMEA & CSA Operations | Incheonweg 7 | 1437 EK Rozenburg | The Netherlands | T: +31 20 7950020 | F: +31 20 7950021
alliedtelesis.com
© 2024 Allied Telesis, Inc. All rights reserved. Information in this document is subject to change without notice. All company names, logos, and product designs that are trademarks or registered trademarks are the property of
their respective owners.