<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
This one is missing from Shrew's cookbooks, and definitely is not
well documented on Cisco web site.<br>
<br>
This set-up has been tested with a device running Cisco IOS
Software, ADVIPSERVICESK9-M, Version 12.4(15)T13<br>
<br>
Configuring the Cisco is tricky to say the least ...<br>
<h2 id="GatewayConfiguration">Gateway Configuration</h2>
<p>
This example assumes you have knowledge of the Cisco IOS command
line configuration interface. For more information, please consult
your Cisco product documentation.
</p>
<br>
<h3 id="UserAuthentication">User Authentication</h3>
<p>
User authentication must be configured to support IKE extended
authentication ( XAuth ). In this example, we use define user
accounts locally on the router. It is possible to pass this
authentication to a radius or an LDAP account server using the
Cisco AAA authentication mechanism. For more information, please
consult your cisco product documentation.
</p>
<pre>aaa new-model
aaa authentication login vpn_xauth local
aaa authorization network vpn_group local
username vpnuser secret vpnpassword</pre>
<h3 id="GroupPolicy">Group Policy</h3>
<p>
A group policy must be configured to provide the client with
dynamic configuration information.
</p>
<pre>crypto isakmp client configuration group vpngroup
key vpntunnelkey
dns <your internal DNS server(s)>
domain <your domain name>
pool vpnclientspool
netmask 255.255.255.0
</pre>
<h3 id="ISAKMPParameters">ISAKMP Profile</h3>
<p>An ISAKMP profile must be configured as well.
</p>
<pre>crypto isakmp profile ike-profile-1
match identity group vpngroup
client authentication list vpn_xauth
isakmp authorization list vpn_group
client configuration address respond
virtual-template 1</pre>
Now the config above contains some forward looking stuff<br>
- vpngroup is the name of our group, which will be used in the
Shrew VPN client config<br>
- the virtual-template 1 refers to a virtual interface template
defined below<br>
<h3 id="IPsecParameters">IPsec Parameters</h3>
<pre>crypto ipsec transform-set ESP-3DES-SHA1 esp-3des esp-sha-hmac
crypto ipsec profile Profile1
set security-association idle-time 1800
set transform-set ESP-3DES-SHA1
set isakmp-profile ike-profile-1</pre>
<h3 id="AddressPool">Address Pool</h3>
<p>
The IP address pool must be configured. Clients will be assigned
private network addresses from a pool of
192.168.21.33-192.168.21.126.</p>
<pre>ip local pool vpnclientspool 192.168.21.33 192.168.21.126
</pre>
<h3>Virtual interface template</h3>
<p>One solution to implement the tunnels is with a static local
endpoint (a Loopback address) and interfaces that are instanciated
from a template for each VPN connection.</p>
<p>Start with the loopback interface :<br>
</p>
<pre>interface Loopback0
ip address 192.168.21.1 255.255.255.0</pre>
And now, the virtual template, note that it is refered-to by the ike
profile above, and that it refers to the ipsec profile. Actually, it
glues everything together :<br>
<pre>interface Virtual-Template1 type tunnel
ip unnumbered Loopback0
ip virtual-reassembly
tunnel mode ipsec ipv4
tunnel protection ipsec profile Profile1</pre>
That's all. Remember that if you are doing NAT from the router,
you'll need to add "ip nat inside" to the virtual interface template
and add the IPSEC IP range to your NAT access-list.<br>
<h2 id="ClientConfiguration">Client Configuration</h2>
<p>
The client configuration in this example is straight forward. Open
the Access Manager application and create a new site
configuration. Configure the settings listed below in the
following tabs.
</p>
<h3 id="GeneralTab">General Tab</h3>
<p>
The Remote Host section must be configured. The <i>Host Name or
IP Address</i> is defined as the router outside ( public )
interface address. The <i>Auto Configuration</i> mode should be
set to <i>ike config pull</i>.
</p>
<h3 id="Phase1Tab">Phase 1 Tab</h3>
<p>
The Proposal section must be configured. The <i>Exchange Type</i>
is set to <i>aggressive</i> and the <i>DH Exchange</i> is set to
<i>group 2</i> to match the Router ISAKMP policy definition.
</p>
<h3 id="AuthenticationTab">Authentication Tab</h3>
<p>
The client authentication settings must be configured. The
Authentication Method is defined as <i>Mutual PSK + XAuth</i>.
</p>
<h4 id="LocalIdentityTab">Local Identity Tab</h4>
<p>
The Local Identity parameters are defined as <i>Key Identifier</i>
with a <i>Key ID String</i> of "vpngroup" to match the router
tunnel group name defined in the "match identity" configuration
line.
</p>
<h4 id="RemoteIdentityTab">Remote Identity Tab</h4>
<p>
The Remote Identity parameters are set to <i>IP Address</i> with
the <i>Use a discovered remote host address</i> option checked. </p>
<h4 id="CredentialsTab">Credentials Tab</h4>
<p>
The Credentials <i>Pre Shared Key</i> is defined as "vpntunnelkey"
to match the router tunnel group pre-shared-key defined in the
"key ..." configuration line.<br>
<br>
</p>
<br>
<br>
<br>
</body>
</html>