<!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>