![]() |
Table Of Contents
L2TP—IPSec Support for NAT and PAT Windows Clients
Prerequisites for L2TP—IPSec Support for NAT and PAT Windows Clients
Restrictions for L2TP—IPSec Support for NAT and PAT Windows Clients
Information About L2TP—IPSec Support for NAT and PAT Windows Clients
How L2TP—IPSec Support for NAT and PAT Windows Clients Works
How to Enable L2TP—IPSec Support for NAT and PAT Windows Clients
Configuration Examples for L2TP—IPSec Support for NAT and PAT Windows Clients
Dynamic Map Configuration: Example
L2TP—IPSec Support for NAT and PAT Windows Clients
The L2TP—IPSec Support for NAT and PAT Windows Clients feature allows more than one Windows client to connect to a Layer 2 Tunneling Protocol (L2TP) Network Server (LNS) at one time with IP Security (IPSec) enabled and a network address translation (NAT) or port address translation (PAT) server between the Windows client and LNS.
Currently, if one Windows client is connected to a Cisco IOS LNS router through a NAT or PAT server with IPSec enabled, and then another Windows client connects to the same Cisco IOS LNS router, the first client's connection is effectively terminated. Enabling L2TP—IPSec Support for NAT and PAT Windows Clients ensures that Windows client connections in this environment are established and maintained until the connection is closed.
History for the L2TP—IPSec Support for NAT and PAT Windows Clients Feature
Release Modification12.3(11)T4
This feature was introduced.
12.4(1)
This feature was integrated into Release 12.4(1).
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
Contents
•
Prerequisites for L2TP—IPSec Support for NAT and PAT Windows Clients
•
Restrictions for L2TP—IPSec Support for NAT and PAT Windows Clients
•
Information About L2TP—IPSec Support for NAT and PAT Windows Clients
•
How to Enable L2TP—IPSec Support for NAT and PAT Windows Clients
•
Configuration Examples for L2TP—IPSec Support for NAT and PAT Windows Clients
Prerequisites for L2TP—IPSec Support for NAT and PAT Windows Clients
•
You have an environment consisting of Windows clients and Cisco IOS LNS routers with IPSec enabled and a NAT or PAT server between the Windows client and LNS router.
•
You must have a version of IPSec that contains the L2TP—IPSec Support for NAT and PAT Windows Clients feature.
•
You must understand Windows 2000 concepts and configuration requirements.
•
You must understand Cisco IOS LNS routers concepts and configuration requirements.
•
You must understand NAT and PAT concepts and configuration requirements.
•
You must understand IPSec concepts and configuration requirements.
•
You must understand L2TP concepts and configuration requirements.
Restrictions for L2TP—IPSec Support for NAT and PAT Windows Clients
•
Tested only with Windows 2000 L2TP/IPsec clients running hotfix 818043.
•
Port translation is not a standard default behavior. Port translation is incompatible with standard IPSec because it changes the LNS header port information.
•
L2TP requires the client to have Microsoft DUN configured. L2TP is supported solely by Windows 2000 MS-DUN (L2TP is not supported by Windows 95, Windows 98, or Windows NT).
Information About L2TP—IPSec Support for NAT and PAT Windows Clients
To use the L2TP—IPSec Support for NAT and PAT Windows Clients feature, the following concept should be understood:
•
How L2TP—IPSec Support for NAT and PAT Windows Clients Works
How L2TP—IPSec Support for NAT and PAT Windows Clients Works
With the L2TP—IPSec Support for NAT and PAT Windows Clients feature not enabled, Windows clients lose connection with the Cisco IOS LNS router when another Windows client establishes an IPSec-protected L2TP tunnel to the Cisco IOS LNS router when IPSec is enabled and there is a NAT or PAT server between the Windows clients and the LNS.
Note
If you do not have IPSec enabled, or you do not have a NAT or PAT server, you can have multiple Windows clients connect to a LNS without this command enabled.
Without L2TP—IPSec Support for NAT and PAT Windows Clients Feature Enabled
For example, Figure 1 shows two Windows 2000 clients that are trying to connect to the end host through the router running NAT or PAT and the same Cisco IOS LNS router. IPSec is enabled.
Figure 1 Multiple Windows 2000 Clients, NAT Router, and Cisco IOS LNS Router with IP Addresses
The Windows 2000 Client #1 establishes an IPSec-protected L2TP tunnel to the Cisco IOS LNS router. The Windows 2000 client and the Cisco IOS LNS router recognize that there is a router running NAT between them and IPSec and NAT-Traversal (NAT-T) are enabled. The Windows 2000 client attempts to establish an IPSec security association (SA) and requests transport mode (which it does by default) with proxies from 10.0.0.2, its local address, to 209.265.200.231, the Cisco IOS LNS router's address.
In transport mode NAT, running on the router, translates all outgoing connections (including 10.0.0.2) to its outside IP address (209.265.200.232),the address the traffic will come in on. However, NAT cannot modify the L2TP port designation (1701), which is protected by the IPSec encrypted area. So now, we have a local address of 209.265.200.231, a remote address of 209.265.200.232 and a remote port of 1701. All traffic is sent to the Windows 2000 Client #1 that matches the tunnel 209.265.200.231, port 1701.
Then Windows 2000 Client #2 establishes an IPSec-protected L2TP tunnel to the Cisco IOS LNS router, again in transport mode. And NAT, again, translates all outgoing connections to its outside IP address (209.265.200.232), but it cannot modify the L2TP port designation (1701). All traffic is now sent to Windows 2000 Client #2 that matches tunnel 209.265.200.231, port 1701. This second Windows client connection has effectively ended Windows Client #1's connection to the Cisco IOS LNS router since it is no longer receiving traffic.
With L2TP—IPSec Support for NAT and PAT Windows Clients Feature Enabled
With the L2TP—IPSec Support for NAT and PAT Windows Clients feature enabled, IPSec can translate the L2TP ports after decryption. This feature allows IPSec to map traffic from different hosts to different source ports. L2TP can now distinguish between traffic destined for multiple Windows 2000 clients.
So now, when an SA is created, a translated port will be assigned to it. This port is client-specific. The same port will be used for any new SA created by that client. When an encrypted request is received and decrypted, the source port is translated from the standard value, 1701, to a client specific value. The request with the translated port is then forwarded to L2TP.
As shown in Figure 1 with port translation enabled, the Windows 2000 Client #1 would have a translated port number of 1024 assigned and Windows 2000 Client #2 would have a translated port number of 1025 assigned.
When L2TP sends the reply packet, it uses the translated port number and creates a packet to that destination port. IPSec uses the destination port number to select the SA with which to encrypt the packet. Before encrypting the packet, IPSec translates the destination port back to the standard port number, 1701, which the Windows 2000 client expects. IPSec encrypts the packet, either with the SA to Windows 2000 Client #1 if the destination port was 1024 or with the SA to Windows 2000 Client #2 if the destination port was 1025. And now, all traffic is sent to the appropriate client and multiple Windows clients can be connected to a Cisco IOS LNS router through a NAT server at the same time.
The connection is maintained until one of the following actions occurs:
•
The IPSec connection is closed.
•
The NAT or PAT device ends the session.
•
The LNS closes the session.
•
The Windows client closes the session.
How to Enable L2TP—IPSec Support for NAT and PAT Windows Clients
This section contains the following procedure that allows you to enable NAT/PAT port translation:
Enabling L2TP—IPSec Support
Use the following task to enable L2TP—IPSec Support for NAT and PAT Windows Clients for environments that have IPSec enabled and include multiple windows clients, a NAT or PAT server, L2TP, and a Cisco IOS LNS router.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
crypto map map-name seq-num [ipsec-isakmp]
or
crypto dynamic-map dynamic-map-name dynamic-seq-num
4.
set nat demux
5.
exit
6.
exit
7.
show crypto map [interface interface | tag map-name]
or
show crypto dynamic-map [tag map-name]
8.
show crypto ipsec sa
DETAILED STEPS
Configuration Examples for L2TP—IPSec Support for NAT and PAT Windows Clients
This section provides the following configuration example:
•
Dynamic Map Configuration: Example
Dynamic Map Configuration: Example
The following example shows how to enable the L2TP—IPSec Support for NAT and PAT Windows Clients feature for a dynamic crypto map:
!version 12.3service timestamps debug datetime msecservice timestamps log datetime msecno service password-encryption!hostname 72_LNS!boot-start-markerboot-end-marker!aaa new-model!!aaa authentication ppp default localaaa session-id commonip subnet-zero!!no ip cefno ip domain lookupip domain name cisco.comip dhcp excluded-address 20.0.0.8ip dhcp excluded-address 20.0.0.10!!ip vrf VPNrd 1:1!!Enable virtual private networking.vpdn enablevpdn ip udp ignore checksum!! Default L2TP VPDN groupvpdn-group L2TP!!Enables the LNS to accept dial in requests; specifies L2TP as the tunneling !protocol; specifies the number of the virtual templates used to clone !virtual-access interfacesaccept-dialinprotocol l2tpvirtual-template 1!Disables L2TP tunnel authentication.no l2tp tunnel authentication!!crypto keyring L2TPpre-shared-key address 0.0.0.0 0.0.0.0 key *****!!Defines an Internet Key Exchange (IKE) policy and assigns priority 1.crypto isakmp policy 1encr 3desauthentication pre-sharegroup 2lifetime 3600!crypto isakmp key cisco hostname w2k01crypto isakmp keepalive 3600!crypto ipsec security-association lifetime seconds 600!!Defines a transform set.crypto ipsec transform-set TS1 esp-3des esp-sha-hmacmode transport!!Names the dynamic crypto map entry and enters crypto map configuration mode; Enables !L2TP—IPSec support; Specifies which transform sets can be used with the crypto map !entrycrypto dynamic-map DYN_MAP 10set nat demuxset transform-set TS1!!crypto map CRYP_MAP 6000 ipsec-isakmp dynamic DYN_MAP!interface Loopback0ip address 12.0.0.8 255.255.255.255!interface FastEthernet0/0ip address 11.0.0.8 255.255.255.0no ip route-cacheduplex fullspeed 100crypto map CRYP_MAP!interface FastEthernet0/1ip address 20.0.0.8 255.255.255.0duplex fullspeed 100!interface FastEthernet2/0ip address 172.19.192.138 255.255.255.0duplex full!interface Virtual-Template1ip unnumbered Loopback0peer default ip address pool POOLppp mtu adaptiveppp authentication chap ms-chap!router ospf 1log-adjacency-changesredistribute static subnetsnetwork 11.0.0.0 0.0.0.255 area 0!ip local pool POOL 20.0.0.100 20.0.0.110ip classlessip route 171.0.0.0 255.0.0.0 172.19.192.1!no ip http serverno ip http secure-server!!control-plane!gatekeepershutdown!!line con 0exec-timeout 0 0logging synchronousstopbits 1line aux 0stopbits 1line vty 0 4!endAdditional References
The following sections provide references related to L2TP—IPSec Support for NAT and PAT Windows Clients.
Related Documents
Related Topic Document TitleIP Security and Encryption Overview
Cisco IOS Security Configuration Guide, Release 12.3
Configuring IPSec Network Security
Cisco IOS Security Configuration Guide, Release 12.3
Standards
MIBs
MIB MIBs LinkNone
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
RFCs
Technical Assistance
Command Reference
This section documents the following command only.
set nat demux
To enable L2TP—IPSec support for NAT or PAT Windows clients, use the set nat demux command in crypto map configuration mode. To disable L2TP—IPSec support, use the no form of this command.
set nat demux
no set nat demux
Syntax Description
This command has no arguments or keywords.
Command Default
With this command disabled, Windows clients lose connection when another Windows client establishes an IP Security (IPSec) protected Cisco IOS Layer 2 Tunneling Protocol (L2TP) tunnel to the same Cisco IOS L2TP Network Server (LNS) when there is a network address translation (NAT) or port address translation (PAT) server between the Windows clients and the LNS.
Command Modes
Crypto map configuration
Command History
Release Modification12.3(11)T4
This command was introduced.
12.4(1)
This command was integrated into Release 12.4(1).
Usage Guidelines
Use this command if you have an environment with IPSec enabled and consisting of an LNS, and a network address translation (NAT) or port address translation (PAT) server between the Windows clients and the LNS.
This command has been tested only with Windows 2000 L2TP/IPsec clients running hotfix 818043.
You must enter the crypto map command if you are using static crypto maps or the crypto dynamic-map command if you are using dynamic crypto maps before issuing the set nat demux command.
Note
If you do not have IPSec enabled, or you do not have a NAT or PAT server, you can have multiple Windows clients connect to a LNS without this command enabled.
Examples
The following example shows how to enable L2TP—IPSec support for NAT or PAT Windows clients for a dynamic crypto map:
...!Enable virtual private networking.vpdn enable! Default L2TP VPDN groupvpdn-group 1!!Enables the LNS to accept dial in requests; specifies L2TP as the tunneling protocol; specifies the number of the virtual templates used to clone virtual-access interfaces; specifies an alternate IP address for a VPDN tunnelaccept-dialin.protocol l2tpvirtual-template 1source-ip 10.0.0.1!!Disables Layer 2 Tunneling Protocol (L2TP) tunnel authentication.no l2tp tunnel authentication!!Defines an Internet Key Exchange (IKE) policy and assigns priority 1.crypto isakmp policy 1encr 3desgroup 2!crypto isakmp policy 2encr 3desauthentication pre-sharegroup 2!!Defines a transform set.crypto ipsec transform-set vpn esp-3des esp-md5-hmacmode transportcrypto mib ipsec flowmib history tunnel size 2crypto mib ipsec flowmib history failure size 2!!Names the dynamic crypto map entry to create (or modify) and enters crypto map configuration mode.crypto dynamic-map dyn_map 1!Specifies which transform sets can be used with the crypto map entryset transform-set vpn!Enables L2TP—IPSec support.set nat demux...Related Commands
Copyright © 2005 Cisco Systems, Inc. All rights reserved