Asa General
Asa General
Asa General
Configuration Guide
Software Version 9.4
For the ASA 5506-X, ASA 5506H-X, ASA 5506W-X, ASA 5508-X, ASA 5512-X,
ASA 5515-X, ASA 5516-X, ASA 5525-X, ASA 5545-X, ASA 5555-X,
ASA 5585-X, ASA Services Module, and the
Adaptive Security Virtual Appliance
First Published: March 23, 2015
Last Updated: April 7, 2015
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT
TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS
MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY
PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCBs public
domain version of the UNIX operating system. All rights reserved. Copyright 1981, Regents of the University of California.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED AS IS WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this
URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display
output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in
illustrative content is unintentional and coincidental.
Cisco ASA Series General Operations CLI Configuration Guide
Copyright 2015 Cisco Systems, Inc. All rights reserved.
Document Objectives
The purpose of this guide is to help you configure general operations for the Cisco ASA series using the
command-line interface. This guide does not cover every feature, but describes only the most common
configuration scenarios.
You can also configure and monitor the ASA by using the Adaptive Security Device Manager (ASDM),
a web-based GUI application. ASDM includes configuration wizards to guide you through some
common configuration scenarios, and online help for less common scenarios.
Throughout this guide, the term ASA applies generically to supported models, unless specified
otherwise.
Related Documentation
For more information, see Navigating the Cisco ASA Series Documentation at
http://www.cisco.com/go/asadocs.
Conventions
This document uses the following conventions:
Convention
Indication
bold font
italic font
Document titles, new or emphasized terms, and arguments for which you supply
values are in italic font.
[ ]
iii
{x | y | z }
[x|y|z]
string
A nonquoted set of characters. Do not use quotation marks around the string or
the string will include the quotation marks.
courier
font
courier bold
Terminal sessions and information the system displays appear in courier font.
font
courier italic
Commands and keywords and user-entered text appear in bold courier font.
font Arguments for which you supply values are in courier italic font.
< >
[ ]
!, #
An exclamation point (!) or a pound sign (#) at the beginning of a line of code
indicates a comment line.
Note
Tip
Caution
Means reader be careful. In this situation, you might perform an action that could result in equipment
damage or loss of data.
iv
PART
CH AP TE R
The Cisco ASA provides advanced stateful firewall and VPN concentrator functionality in one device,
and for some models, integrated services modules such as IPS. The ASA includes many advanced
features, such as multiple security contexts (similar to virtualized firewalls), clustering (combining
multiple firewalls into a single firewall), transparent (Layer 2) firewall or routed (Layer 3) firewall
operation, advanced inspection engines, IPsec VPN, SSL VPN, and clientless SSL VPN support, and
many more features.
VPN Compatibility
See Supported VPN Platforms, Cisco ASA Series.
New Features
Released: March 23, 2015
The following table lists the new features for ASA Version 9.4(1).
1-1
Chapter 1
New Features
Table 1-1
Feature
Description
Platform Features
ASA 5506W-X, ASA 5506H-X,
ASA 5508-X, ASA 5516-X
We introduced the following models: ASA 5506W-X with wireless access point,
hardened ASA 5506H-X, ASA 5508-X, ASA 5516-X.
We introduced the following command: hw-module module wlan recover image,
hw-module module wlan recover image.
Certification Features
Department of Defense Unified
The ASA was updated to comply with the DoD UCR 2013 requirements. See the rows in
Capabilities Requirements (UCR) this table for the following features that were added for this certification:
2013 Certification
Periodic certificate authentication
When you enable FIPS mode on the ASA, additional restrictions are put in place for the
ASA to be FIPS 140-2 compliant. Restrictions include:
RSA and DH Key Size RestrictionsOnly RSA and DH keys 2K (2048 bits) or
larger are allowed. For DH, this means groups 1 (768 bit), 2 (1024 bit), and 5 (1536
bit) are not allowed.
Note: The key size restrictions disable use of IKEv1 with FIPS.
If you have multiple SIP signaling flows going through an ASA with multiple cores, SIP
inspection performance has been improved. However, you will not see improved
performance if you are using a TLS, phone, or IME proxy.
We did not modify any commands.
1-2
Chapter 1
Table 1-1
Feature
Description
You can no longer use Phone Proxy or UC-IME Proxy when configuring SIP inspection.
Use TLS Proxy to inspect encrypted traffic.
The ASA started supporting non-EPM DCERPC messages in release 8.3, supporting the
ISystemMapper UUID message RemoteCreateInstance opnum4. This change extends
support to the RemoteGetClassObject opnum3 message.
The ASA can inspect the VXLAN header to enforce compliance with the standard
format.
We introduced the following command: inspect vxlan.
You can now monitor DHCP statistics and DHCP bindings for IPv6.
You can now block specific syslogs from being generated on a standby unit.
You can now enable or disable health monitoring per interface. Health monitoring is
enabled by default on all port-channel, redundant, and single physical interfaces. Health
monitoring is not performed on VLAN subinterfaces or virtual interfaces such as VNIs
or BVIs. You cannot configure monitoring for the cluster control link; it is always
monitored. You might want to disable health monitoring of non-essential interfaces, for
example, the management interface.
1-3
Chapter 1
New Features
Table 1-1
Feature
Description
You can now configure SIP inspection on the ASA cluster. A control flow can be created
on any unit (due to load balancing), but its child data flows must reside on the same unit.
TLS Proxy configuration is not supported.
We introduced the following command: show cluster service-policy
Routing Features
Policy Based Routing
Policy Based Routing (PBR) is a mechanism by which traffic is routed through specific
paths with a specified QoS using ACLs. ACLs let traffic be classified based on the
content of the packets Layer 3 and Layer 4 headers. This solution lets administrators
provide QoS to differentiated traffic, distribute interactive and batch traffic among
low-bandwidth, low-cost permanent paths and high-bandwidth, high-cost switched paths,
and allows Internet service providers and other organizations to route traffic originating
from various sets of users through well-defined Internet connections.
We introduced the following commands: set ip next-hop verify-availability, set ip
next-hop, set ip next-hop recursive, set interface, set ip default next-hop, set default
interface, set ip df, set ip dscp, policy-route route-map, show policy-route, debug
policy-route
Interface Features
VXLAN support
VXLAN support was added, including VXLAN tunnel endpoint (VTEP) support. You
can define one VTEP source interface per ASA or security context.
We introduced the following commands: debug vxlan, default-mcast-group,
encapsulation vxlan, inspect vxlan, interface vni, mcast-group, nve, nve-only, peer
ip, segment-id, show arp vtep-mapping, show interface vni, show mac-address-table
vtep-mapping, show nve, show vni vlan-mapping, source-interface, vtep-nve, vxlan
port
Monitoring Features
Memory tracking for the EEM
We have added a new debugging feature to log memory allocations and memory usage,
and to respond to memory logging wrap events.
We introduced or modified the following commands: memory logging, show memory
logging, show memory logging include, event memory-logging-wrap.
Troubleshooting crashes
The show tech-support command output and show crashinfo command output includes
the most recent 50 lines of generated syslogs. Note that you must enable the logging
buffer command to enable these results to appear.
1-4
Chapter 1
Table 1-1
Feature
Description
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256
You can now prevent a Clientless SSL VPN session cookie from being accessed by a third
party through a client-side script such as Javascript.
Note: Use this feature only if Cisco TAC advises you to do so. Enabling this command
presents a security risk because the following Clientless SSL VPN features will not work
without any warning.
Java plug-ins
Java rewriter
Port forwarding
File browser
1-5
Chapter 1
New Features
Table 1-1
Feature
Description
The ASA now supports security group tagging-based policy control for Clientless SSL
remote access to internal applications and websites. This feature uses Citrixs virtual
desktop infrastructure (VDI) with XenDesktop as the delivery controller and the ASAs
content transformation engine.
See the following Citrix product documentation for more information:
Clientless SSL VPN supports the new features in OWA 2013 except for the following:
Offline mode
Active Directory Federation Services (AD FS) 2.0. The ASA and AD FS 2.0 can't
negotiate encryption protocols.
1-6
Chapter 1
Table 1-1
Feature
Description
Clientless SSL VPN supports the access of XenDesktop 7.5 and StoreFront 2.5.
See
http://support.citrix.com/proddocs/topic/xenapp-xendesktop-75/cds-75-about-whats-ne
w.html for the full list of XenDesktop 7.5 features, and for more details.
See http://support.citrix.com/proddocs/topic/dws-storefront-25/dws-about.html for the
full list of StoreFront 2.5 features, and for more details.
We did not modify any commands.
Periodic certificate authentication When you enable periodic certificate authentication, the ASA stores certificate chains
received from VPN clients and re-authenticates them periodically.
We introduced or modified the following commands: periodic-authentication
certificate, revocation-check, show vpn-sessiondb
Certificate expiration alerts
The ASA checks all CA and ID certificates in the trust points for expiration once every
24 hours. If a certificate is nearing expiration, a syslog will be issued as an alert. You can
configure the reminder and recurrence intervals. By default, reminders will start at 60
days prior to expiration and recur every 7 days.
We introduced or modified the following commands: crypto ca alerts expiration
Certificates without the CA flag now cannot be installed on the ASA as CA certificates
by default. The basic constraints extension identifies whether the subject of the certificate
is a CA and the maximum depth of valid certification paths that include this certificate.
You can configure the ASA to allow installation of these certificates if desired.
We introduced the following command: ca-check
Currently, if the ASA receives an inbound packet on an SA, and the packets header fields
are not consistent with the selectors for the SA, then the ASA discards the packet. You
can now enable or disable sending an IKEv2 notification to the peer. Sending this
notification is disabled by default.
Note: This feature is supported with AnyConnect 3.1.06060 and later.
We introduced the following command: crypto ikev2 notify invalid-selectors
Administrative Features
1-7
Chapter 1
Table 1-1
Feature
Description
This feature introduces the ability to authorize ASDM users by extracting the username
from the certificate along with using the username provided by the user.
We introduced the following commands: aaa authorization http console, http
username-from-certificate
terminal interactive command to Normally, when you enter ? at the ASA CLI, you see command help. To be able to enter
enable or disable help when you ? as text within a command (for example, to include a ? as part of a URL), you can disable
enter ? at the CLI
interactive help using the no terminal interactive command.
We introduced the following command: terminal interactive
REST API Version 1.1
1-8
Chapter 1
Applying NAT
Some of the benefits of NAT include the following:
You can use private addresses on your inside networks. Private addresses are not routable on the
Internet.
NAT hides the local addresses from other networks, so attackers cannot learn the real address of a
host.
1-9
Chapter 1
Routed
Transparent
1-10
Chapter 1
In transparent mode, the ASA acts like a bump in the wire, or a stealth firewall, and is not considered
a router hop. The ASA connects to the same network on its inside and outside interfaces.
You might use a transparent firewall to simplify your network configuration. Transparent mode is also
useful if you want the firewall to be invisible to attackers. You can also use a transparent firewall for
traffic that would otherwise be blocked in routed mode. For example, a transparent firewall can allow
multicast streams using an EtherType access list.
Note
The TCP state bypass feature allows you to customize the packet flow.
A stateful firewall like the ASA, however, takes into consideration the state of a packet:
The ASA creates forward and reverse flows in the fast path for TCP traffic; the ASA also creates
connection state information for connectionless protocols like UDP, ICMP (when you enable ICMP
inspection), so that they can also use the fast path.
Note
For other IP protocols, like SCTP, the ASA does not create reverse path flows. As a result,
ICMP error packets that refer to these connections are dropped.
Some packets that require Layer 7 inspection (the packet payload must be inspected or altered) are
passed on to the control plane path. Layer 7 inspection engines are required for protocols that have
two or more channels: a data channel, which uses well-known port numbers, and a control channel,
which uses different port numbers for each session. These protocols include FTP, H.323, and SNMP.
1-11
Chapter 1
Data packets for protocols that require Layer 7 inspection can also go through the fast path.
Some established session packets must continue to go through the session management path or the
control plane path. Packets that go through the session management path include HTTP packets that
require inspection or content filtering. Packets that go through the control plane path include the
control packets for protocols that require Layer 7 inspection.
Establishes tunnels
Authenticates users
1-12
Chapter 1
settings for the ASA. The system configuration does not include any network interfaces or network
settings for itself; rather, when the system needs to access network resources (such as downloading the
contexts from the server), it uses one of the contexts that is designated as the admin context.
The admin context is just like any other context, except that when a user logs into the admin context,
then that user has system administrator rights and can access the system and all other contexts.
1-13
Chapter 1
Special and Legacy Services
1-14
CH AP TE R
Getting Started
This chapter describes how to get started with your Cisco ASA.
Note
For ASAv console access, see the ASAv quick start guide.
Access the ASA 5506W-X Wireless Access Point Console, page 2-7
Connect a computer to the console port using the provided console cable, and connect to the console
using a terminal emulator set for 9600 baud, 8 data bits, no parity, 1 stop bit, no flow control.
2-1
Chapter 2
Getting Started
See the hardware guide for your ASA for more information about the console cable.
Step 2
Step 3
All non-configuration commands are available in privileged EXEC mode. You can also enter
configuration mode from privileged EXEC mode.
Step 4
You can begin to configure the ASA from global configuration mode. To exit global configuration mode,
enter the exit, quit, or end command.
2-2
Chapter 2
Getting Started
Access the Console for Command-Line Interface
Virtual console connectionUsing the service-module session command, you create a virtual
console connection to the ASASM, with all the benefits and limitations of an actual console
connection.
Benefits include:
The connection is persistent across reloads and does not time out.
You can stay connected through ASASM reloads and view startup messages.
You can access ROMMON if the ASASM cannot load the image.
No initial password configuration is required.
Limitations include:
The connection is slow (9600 baud).
You can only have one console connection active at a time.
You cannot use this command in conjunction with a terminal server where Ctrl-Shift-6, x is the
escape sequence to return to the terminal server prompt. Ctrl-Shift-6, x is also the sequence to
escape the ASASM console and return to the switch prompt. Therefore, if you try to exit the
ASASM console in this situation, you instead exit all the way to the terminal server prompt. If
you reconnect the terminal server to the switch, the ASASM console session is still active; you
can never exit to the switch prompt. You must use a direct serial connection to return the console
to the switch prompt. In this case, either change the terminal server or switch escape character
in Cisco IOS software, or use the Telnet session command instead.
Note
Because of the persistence of the console connection, if you do not properly log out of
the ASASM, the connection may exist longer than intended. If someone else wants to
log in, they will need to kill the existing connection.
Telnet connectionUsing the session command, you create a Telnet connection to the ASASM.
Note
You cannot connect using this method for a new ASASM; this method requires you to
configure a Telnet login password on the ASASM (there is no default password). After you
set a password using the passwd command, you can use this method.
Benefits include:
You can have multiple sessions to the ASASM at the same time.
The Telnet session is a fast connection.
Limitations include:
The Telnet session is terminated when the ASASM reloads, and can time out.
You cannot access the ASASM until it completely loads; you cannot access ROMMON.
You must first set a Telnet login password; there is no default password.
2-3
Chapter 2
Getting Started
Later, you can configure remote access directly to the ASASM using Telnet or SSH.
Procedure
Step 1
Available for initial accessFrom the switch CLI, enter this command to gain console access to the
ASASM:
service-module session [switch {1 | 2}] slot number
Example:
Router# service-module session slot 3
ciscoasa>
Available after you configure a login passwordFrom the switch CLI, enter this command to Telnet
to the ASASM over the backplane:
session [switch {1 |2}] slot number processor 1
Example:
Router# session slot 3 processor 1
ciscoasa passwd: cisco
ciscoasa>
Example:
ciscoasa> enable
Password:
ciscoasa#
Enter the enable password at the prompt. By default, the password is blank.
To exit privileged EXEC mode, enter the disable, exit, or quit command.
Step 3
2-4
Chapter 2
Getting Started
Access the Console for Command-Line Interface
To exit global configuration mode, enter the disable, exit, or quit command.
Related Topics
Set the Hostname, Domain Name, and the Enable and Telnet Passwords, page 16-1
Note
Shift-6 on US and UK keyboards issues the caret (^) character. If you have a different keyboard
and cannot issue the caret (^) character as a standalone character, you can temporarily or
permanently change the escape character to a different character. Use the terminal
escape-character ascii_number command (to change for this session) or the default
escape-character ascii_number command (to change permanently). For example, to change the
sequence for the current session to Ctrl-w, x, enter terminal escape-character 23.
From the switch CLI, show the connected users using the show users command. A console user is called
con. The Host address shown is 127.0.0.slot0, where slot is the slot number of the module.
Router# show users
For example, the following command output shows a user con on line 0 on a module in slot 2:
Router# show users
Line
User
Host(s)
Idle
Location
2-5
Chapter 2
Getting Started
Step 2
con 0
127.0.0.20
00:00:02
To clear the line with the console connection, enter the following command:
Router# clear line number
For example:
Router# clear line 0
To return to the switch CLI, type exit from the ASASM privileged or user EXEC mode. If you are in a
configuration mode, enter exit repeatedly until you exit the Telnet session.
You return to the switch prompt:
asasm# exit
Router#
Note
You can alternatively escape the Telnet session using the escape sequence Ctrl-Shift-6, x; this
escape sequence lets you resume the Telnet session by pressing the Enter key at the switch
prompt. To disconnect your Telnet session from the switch, enter disconnect at the switch CLI.
If you do not disconnect the session, it will eventually time out according to the ASASM
configuration.
Note
You cannot access the hardware module CLI over the ASA backplane using the session command.
Procedure
Step 1
Example:
ciscoasa# session sfr console
Opening console session with module sfr.
Connected to module sfr. Escape character sequence is 'CTRL-^X'.
2-6
Chapter 2
Getting Started
Configure ASDM Access
Example:
ciscoasa# session wlan console
opening console session with module wlan
connected to module wlan. Escape character sequence is CTRL-^X
ap>
Step 2
See the Cisco IOS Configuration Guide for Autonomous Aironet Access Points for information about
the access point CLI.
Use the Factory Default Configuration for ASDM Access (Appliances, ASAv), page 2-7
Customize ASDM Access for Appliances and the ASAv, page 2-8
Configure ASDM Access for the ASA Services Module, page 2-10
Use the Factory Default Configuration for ASDM Access (Appliances, ASAv)
With a factory default configuration, ASDM connectivity is pre-configured with default network
settings.
Procedure
Step 1
is GigabitEthernet 1/2.
2-7
Chapter 2
Getting Started
ASA 5512-X and higherThe interface to which you connect to ASDM is Management 0/0.
ASAvThe interface to which you connect to ASDM is Management 0/0.
enables DHCP so that your management station can be assigned an IP address in this range.
ASAvYou set the management client IP address during deployment. The ASAv does not act
Note
If you change to multiple context mode, you can access ASDM from the admin context using the network
settings above.
Related Topics
For routed, single mode, for quick and easy ASDM access, we recommend applying the factory default
configuration with the option to set your own management IP address. Use the procedure in this section
only if you have special needs such as setting transparent or multiple context mode, or if you have other
configuration that you need to preserve.
Note
For the ASAv, you can configure transparent mode when you deploy, so this procedure is primarily
useful after you deploy if you need to clear your configuration, for example.
Procedure
Step 1
Step 2
2-8
Chapter 2
Getting Started
Configure ASDM Access
firewall transparent
Step 3
Example:
ciscoasa(config)# interface management 0/0
ciscoasa(config-if)# nameif management
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0
The security-level is a number between 1 and 100, where 100 is the most secure.
Step 4
(For directly-connected management hosts) Set the DHCP pool for the management network:
dhcpd address ip_address-ip_address
interface_name
dhcpd enable interface_name
Example:
ciscoasa(config)# dhcpd address 192.168.1.2-192.168.1.254 management
ciscoasa(config)# dhcpd enable management
Make sure you do not include the interface address in the range.
Step 5
Example:
ciscoasa(config)# route management 10.1.1.0 255.255.255.0 192.168.1.50 1
Step 6
Step 7
Example:
ciscoasa(config)# http 192.168.1.0 255.255.255.0 management
Step 8
Step 9
When prompted, confirm that you want to convert the existing configuration to be the admin context.
You are then prompted to reload the ASA.
2-9
Chapter 2
Getting Started
Examples
The following configuration converts the firewall mode to transparent mode, configures the
Management 0/0 interface, and enables ASDM for a management host:
firewall transparent
interface management 0/0
ip address 192.168.1.1 255.255.255.0
nameif management
security-level 100
no shutdown
dhcpd address 192.168.1.2-192.168.1.254 management
dhcpd enable management
http server enable
http 192.168.1.0 255.255.255.0 management
Related Topics
Assign a VLAN interface to the ASASM according to ASASM quick start guide.
Procedure
Step 1
Step 2
Example:
ciscoasa(config)# interface vlan 1
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0
ciscoasa(config-if)# nameif inside
2-10
Chapter 2
Getting Started
Configure ASDM Access
The security-level is a number between 1 and 100, where 100 is the most secure.
Transparent modeConfigure a bridge virtual interface and assigns a management VLAN to the
bridge group:
interface bvi number
ip address ip_address [mask]
interface vlan number
bridge-group bvi_number
nameif name
security-level level
Example:
ciscoasa(config)# interface bvi 1
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0
ciscoasa(config)# interface vlan 1
ciscoasa(config-if)# bridge-group 1
ciscoasa(config-if)# nameif inside
ciscoasa(config-if)# security-level 100
The security-level is a number between 1 and 100, where 100 is the most secure.
Step 4
(For directly-connected management hosts) Enable DHCP for the management host on the management
interface network:
dhcpd address ip_address-ip_address
interface_name
dhcpd enable interface_name
Example:
ciscoasa(config)# dhcpd address 192.168.1.2-192.168.1.254 inside
ciscoasa(config)# dhcpd enable inside
Make sure you do not include the management address in the range.
Step 5
Example:
ciscoasa(config)# route management 10.1.1.0 255.255.255.0 192.168.1.50
Step 6
Step 7
Example:
ciscoasa(config)# http 192.168.1.0 255.255.255.0 management
Step 8
Step 9
2-11
Chapter 2
Getting Started
Start ASDM
mode multiple
When prompted, confirm that you want to convert the existing configuration to be the admin context.
You are then prompted to reload the ASASM.
Examples
The following routed mode configuration configures the VLAN 1 interface and enables ASDM for a
management host:
interface vlan 1
nameif inside
ip address 192.168.1.1 255.255.255.0
security-level 100
dhcpd address 192.168.1.3-192.168.1.254 inside
dhcpd enable inside
http server enable
http 192.168.1.0 255.255.255.0 inside
The following configuration converts the firewall mode to transparent mode, configures the VLAN 1
interface and assigns it to BVI 1, and enables ASDM for a management host:
firewall transparent
interface bvi 1
ip address 192.168.1.1 255.255.255.0
interface vlan 1
bridge-group 1
nameif inside
security-level 100
dhcpd address 192.168.1.3-192.168.1.254 inside
dhcpd enable inside
http server enable
http 192.168.1.0 255.255.255.0 inside
Related Topics
Start ASDM
You can start ASDM using two methods:
ASDM-IDM LauncherThe Launcher is an application downloaded from the ASA using a web
browser that you can use to connect to any ASA IP address. You do not need to re-download the
launcher if you want to connect to other ASAs. The Launcher also lets you run a virtual ASDM in
Demo mode using files downloaded locally.
Java Web StartFor each ASA that you manage, you need to connect with a web browser and then
save or launch the Java Web Start application. You can optionally save the shortcut to your
computer; however you need separate shortcuts for each ASA IP address.
Within ASDM, you can choose a different ASA IP address to manage; the difference between the
Launcher and Java Web Start functionality rests primarily in how you initially connect to the ASA and
launch ASDM.
2-12
Chapter 2
Getting Started
Factory Default Configurations
This section describes how to connect to ASDM initially, and then launch ASDM using the Launcher or
the Java Web Start.
Procedure
Step 1
On the computer that you specified as the ASDM client, enter the following URL:
https://asa_ip_address/admin
Step 2
Step 3
Run ASDM
b.
Leave the username and password fields empty (for a new installation), and click OK. With no
HTTPS authentication configured, you can gain access to ASDM with no username and the enable
password, which is blank by default. Note: If you enabled HTTPS authentication, enter your
username and associated password.
c.
Save the installer to your computer, and then start the installer. The ASDM-IDM Launcher opens
automatically after installation is complete.
d.
Enter the management IP address, leave the username and password blank (for a new installation),
and then click OK. Note: If you enabled HTTPS authentication, enter your username and associated
password.
b.
Save the shortcut to your computer when prompted. You can optionally open it instead of saving it.
c.
d.
Accept any certificates according to the dialog boxes that appear. The Cisco ASDM-IDM Launcher
appears.
e.
Leave the username and password blank (for a new installation), and then click OK. Note: If you
enabled HTTPS authentication, enter your username and associated password.
ASA appliancesThe factory default configuration configures an interface for management so that
you can connect to it using ASDM, with which you can then complete your configuration.
2-13
Chapter 2
Getting Started
ASASMNo default configuration. See Access the ASA Services Module Console, page 2-2 to
start configuration.
For appliances, the factory default configuration is available only for routed firewall mode and single
context mode. For the ASAv, you can choose transparent or routed mode at deployment.
Note
In addition to the image files and the (hidden) default configuration, the following folders and files are
standard in flash memory: log/, crypto_archive/, and coredumpinfo/coredump.cfg. The date on these
files may not match the date of the image files in flash memory. These files aid in potential
troubleshooting; they do not indicate that a failure has occurred.
ASA 5512-X, 5515-X, 5525-X and Above Default Configuration, page 2-16
Note
On the ASASM, restoring the factory default configuration simply erases the configuration; there is no
factory default configuration.
Before You Begin
This feature is available only in routed firewall mode; transparent mode does not support IP addresses
for interfaces. In addition, this feature is available only in single context mode; an ASA with a cleared
configuration does not have any defined contexts to configure automatically using this feature.
Procedure
Step 1
Example:
ciscoasa(config)# configure factory-default 10.1.1.1 255.255.255.0
If you specify the ip_address, then you set the inside or management interface IP address, depending on
your model, instead of using the default IP address of 192.168.1.1. The http command uses the subnet
you specify. Similarly, the dhcpd address command range consists of addresses within the subnet that
you specify.
2-14
Chapter 2
Getting Started
Factory Default Configurations
This command also clears the boot system command, if present, along with the rest of the configuration.
The boot system command lets you boot from a specific image, including an image on the external flash
memory card. The next time you reload the ASA after restoring the factory configuration, it boots from
the first image in internal flash memory; if you do not have an image in internal flash memory, the ASA
does not boot.
Step 2
This command saves the running configuration to the default location for the startup configuration, even
if you previously configured the boot config command to set a different location; when the configuration
was cleared, this path was also cleared.
Step 2
Restore the deployment configuration after you reload. For failover, enter this command on the active
unit:
write erase
Note
The ASAv boots the current running image, so you are not reverted to the original boot image. To use
the original boot image, see the boot image command.
Do not save the configuration.
Step 3
Step 4
2-15
Chapter 2
Getting Started
inside --> outside traffic flowGigabitEthernet 1/1 (outside), GigabitEthernet 1/2 (inside)
(ASA 5506W-X) wifi <--> inside, wifi --> outside traffic flowGigabitEthernet 1/9 (wifi)
DHCP for clients on inside and wifi. The access point itself and all its clients use the ASA as the
DHCP server.
Management 1/1 interface is Up, but otherwise unconfigured. The ASA FirePOWER module can
then use this interface to access the ASA inside network and use the inside interface as the gateway
to the Internet.
NATInterface PAT for all traffic from inside, wfi, and management to outside.
For the ASA 5506W-X, the following commands are also included:
same-security-traffic permit inter-interface
interface GigabitEthernet 1/9
security-level 100
nameif wifi
ip address 192.168.10.1 255.255.255.0
no shutdown
http 192.168.10.0 255.255.255.0 wifi
dhcpd address 192.168.10.2-192.168.10.254 wifi
dhcpd enable wifi
2-16
Chapter 2
Getting Started
Factory Default Configurations
DHCP serverEnabled for management hosts so that a computer connecting to the management
interface receives an address between 192.168.1.2 and 192.168.1.254.
Static route for the management host IP address (if it is not on the management subnet)
(Optional) Failover link IP addresses for GigabitEthernet 0/8, and the Management 0/0 standby IP
address
DNS server
2-17
Chapter 2
Getting Started
Note
To successfully register the ASAv with the Cisco Licensing Authority, the ASAv requires Internet
access. You might need to perform additional configuration after deployment to achieve Internet access
and successful license registration.
See the following sample configuration for a standalone unit:
interface Management0/0
nameif management
security-level 0
ip address ip_address
management-only
no shutdown
http server enable
http managemment_host_IP mask management
route management management_host_IP mask gateway_ip 1
dns server-group DefaultDNS
name-server ip_address
call-home
http-proxy ip_address port port
license smart
feature tier standard
throughput level {100M | 1G | 2G}
license smart register idtoken id_token
aaa authentication ssh console LOCAL
username username password password
ssh source_IP_address mask management
rest-api image boot:/path
rest-api agent
See the following sample configuration for a primary unit in a failover pair:
interface Management0/0
nameif management
security-level 0
ip address ip_address standby standby_ip
management-only
no shutdown
route management management_host_IP mask gateway_ip 1
http server enable
http managemment_host_IP mask management
dns server-group DefaultDNS
name-server ip_address
call-home
http-proxy ip_address port port
license smart
feature tier standard
throughput level {100M | 1G | 2G}
license smart register idtoken id_token
aaa authentication ssh console LOCAL
username username password password
ssh source_IP_address mask management
rest-api image boot:/path
rest-api agent
failover
failover lan unit primary
failover lan interface fover gigabitethernet0/8
failover link fover gigabitethernet0/8
failover interface ip fover primary_ip mask standby standby_ip
2-18
Chapter 2
Getting Started
Work with the Configuration
Note
The copy running-config startup-config command is equivalent to the write memory command.
2-19
Chapter 2
Getting Started
From within the context or the system, save the running configuration to the startup configuration:
write memory
For multiple context mode, context startup configurations can reside on external servers. In this case, the
ASA saves the configuration back to the server you identified in the context URL, except for an HTTP
or HTTPS URL, which do not let you save the configuration to the server.
Note
The copy running-config startup-config command is equivalent to the write memory command.
From the system execution space, save the running configuration to the startup configuration for all
contexts and the system configuration:
write memory all [/noconfirm]
If you do not enter the /noconfirm keyword, you see the following prompt:
Are you sure [Y/N]:
After you enter Y, the ASA saves the system configuration and each context. Context startup
configurations can reside on external servers. In this case, the ASA saves the configuration back to the
server you identified in the context URL, except for an HTTP or HTTPS URL, which do not let you save
the configuration to the server.
After the ASA saves each context, the following message appears:
Saving context b ... ( 1/3 contexts saved )
Sometimes, a context is not saved because of an error. See the following information for errors:
For contexts that are not saved because of low memory, the following message appears:
The context 'context a' could not be saved due to Unavailability of resources
For contexts that are not saved because the remote destination is unreachable, the following message
appears:
The context 'context a' could not be saved due to non-reachability of destination
For contexts that are not saved because the context is locked, the following message appears:
Unable to save the configuration for the following contexts as these contexts are
locked.
context a , context x , context z .
2-20
Chapter 2
Getting Started
Work with the Configuration
A context is only locked if another user is already saving the configuration or in the process of
deleting the context.
For contexts that are not saved because the startup configuration is read-only (for example, on an
HTTP server), the following message report is printed at the end of all other messages:
Unable to save the configuration for the following contexts as these contexts have
read-only config-urls:
context a , context b , context c .
For contexts that are not saved because of bad sectors in the flash memory, the following message
appears:
The context 'context a' could not be saved due to Unknown errors
reload
Reloads the ASA, which loads the startup configuration and discards the running configuration.
show running-config
Views the running configuration.
show startup-config
Views the startup configuration.
2-21
Chapter 2
Getting Started
Clears all the configuration for a specified command. If you only want to clear the configuration for
a specific version of the command, you can enter a value for level2configurationcommand.
For example, to clear the configuration for all aaa commands, enter the following command:
ciscoasa(config)# clear configure aaa
To clear the configuration for only aaa authentication commands, enter the following command:
ciscoasa(config)# clear configure aaa authentication
write erase
Erases the startup configuration.
Note
For the ASAv, this command restores the deployment configuration after a reload. To erase the
configuration completely, use the clear configure all command.
clear configure all
Erases the running configuration.
Note
In multiple context mode, if you enter clear configure all from the system configuration, you
also remove all contexts and stop them from running. The context configuration files are not
erased, and remain in their original location.
This command also clears the boot system command, if present, along with the rest of the
configuration. The boot system command lets you boot from a specific image, including an
image on the external flash memory card. The next time you reload the ASA, it boots from the
first image in internal flash memory; if you do not have an image in internal flash memory, the
ASA does not boot.
2-22
Chapter 2
Getting Started
Apply Configuration Changes to Connections
ciscoasa(config)# context a
In the text configuration file you are not prompted to enter commands, so the prompt is omitted as
follows:
context a
For additional information about formatting the file, see Appendix 39, Using the Command-Line
Interface.
clear conn [all] [protocol {tcp | udp}] [address src_ip[-src_ip] [netmask mask]] [port
src_port[-src_port]] [address dest_ip[-dest_ip] [netmask mask]] [port dest_port[-dest_port]]
This command terminates connections in any state. See the show conn command to view all current
connections.
With no arguments, this command clears all through-the-box connections. To also clear to-the-box
connections (including your current management session), use the all keyword. To clear specific
connections based on the source IP address, destination IP address, port, and/or protocol, you can
specify the desired options.
2-23
Chapter 2
Reload the ASA
reload
Note
In multiple context mode, you can only reload from the system execution space.
2-24
Getting Started
CH AP TE R
3-1
Chapter 3
Items that are in italics are separate, optional licenses that can replace the Base (or Security Plus, and so
on) license version. You can mix and match licenses; for example, the 24 Unified Communications
license plus the Strong Encryption license; or the 500 AnyConnect Premium license plus the GTP/GPRS
license; or all four licenses together.
Note
Some features are incompatible with each other. See the individual feature chapters for compatibility
information.
If you have a No Payload Encryption model, then some of the features below are not supported. See No
Payload Encryption Models, page 3-26 for a list of unsupported features.
For detailed information about licenses, see License Notes, page 3-15.
3-2
Chapter 3
Licenses
Base License
No support
Enabled
Firewall Licenses
50,000
GTP/GPRS
No Support
No Support
160
160
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
50
Shared licenses: No Support
Enabled
Enabled
Enabled
AnyConnect Essentials
No support
No support
Enabled
Enabled
50
10
50
No support
No support
General Licenses
Encryption
Base (DES)
Failover
No support
Base (DES)
Active/Standby
636
Security Contexts
No support
No support
Clustering
No Support
No Support
VLANs, Maximum
30
ASA 5508-X
Table 3-2
Licenses
Base License
Firewall Licenses
Enabled
No Support
320
3-3
Chapter 3
Table 3-2
Licenses
Base License
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
No support
Enabled
100
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
No Support
VLANs, Maximum
50
Optional licenses:
ASA 5512-X
Table 3-3
Licenses
Base License
Firewall Licenses
Disabled
Disabled
250,000
GTP/GPRS
No support
Disabled
Optional licenses:
24
50
100
250
500
Optional licenses:
24
50
100
250
500
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-4
Chapter 3
Table 3-3
Licenses
Base License
250
Optional Shared licenses: We recommend
upgrading to the AnyConnect Plus or Apex
licensing, which replaces shared server
functionality.
Enabled
Enabled
Enabled
AnyConnect Essentials
Disabled
Disabled
Enabled
Enabled
250
250
250
No support
Enabled
General Licenses
Encryption
Base (DES)
Failover
No support
Base (DES)
Active/Standby or Active/Active
916
Security Contexts
No support
Clustering
No Support
IPS Module
Disabled
VLANs, Maximum
50
Optional licenses:
Disabled
100
ASA 5515-X
Table 3-4
Licenses
Base License
Firewall Licenses
Disabled
250,000
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
3-5
Chapter 3
Table 3-4
Licenses
Base License
Disabled
Enabled
250
250
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
IPS Module
Disabled
VLANs, Maximum
100
Optional licenses:
ASA 5516-X
Table 3-5
Licenses
Base License
Firewall Licenses
Enabled
Disabled
1000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
No Support
Enabled
3-6
Chapter 3
Table 3-5
Licenses
Base License
300
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
No Support
VLANs, Maximum
150
Optional licenses:
3-7
Chapter 3
ASA 5525-X
Table 3-6
Licenses
Base License
Firewall Licenses
Disabled
500,000
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
750
1000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
Disabled
Enabled
750
750
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
IPS Module
Disabled
VLANs, Maximum
200
Optional licenses:
10
20
ASA 5545-X
Table 3-7
Licenses
Base License
Firewall Licenses
Disabled
750,000
GTP/GPRS
Disabled
3-8
Chapter 3
Table 3-7
Licenses
Base License
Optional licenses:
24
50
100
250
500
750
1000
2000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
Disabled
Enabled
2500
2500
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
IPS Module
Disabled
VLANs, Maximum
300
Optional licenses:
10
20
50
ASA 5555-X
Table 3-8
Licenses
Base License
Firewall Licenses
Disabled
1,000,000
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
750
1000
2000
3000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-9
Chapter 3
Table 3-8
Licenses
Base License
Enabled
Disabled
Enabled
5000
5000
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
IPS Module
Disabled
VLANs, Maximum
500
Optional licenses:
10
20
50
100
You can use two SSPs of the same level in the same chassis. Mixed-level SSPs are not supported (for
example, an SSP-10 with an SSP-20 is not supported). Each SSP acts as an independent device, with
separate configurations and management. You can use the two SSPs as a failover pair if desired.
Table 3-9
Licenses
Firewall Licenses
Disabled
1,000,000
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
750
1000
2000
3000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-10
Chapter 3
Table 3-9
Licenses
Enabled
Disabled
Enabled
5000
5000
Enabled
General Licenses
10 GE I/O
Base License: Disabled; fiber ifcs run at 1 GE Security Plus License: Enabled; fiber ifcs run at
10 GE
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
Disabled
VLANs, Maximum
1024
Optional licenses:
10
20
50
100
You can use two SSPs of the same level in the same chassis. Mixed-level SSPs are not supported (for
example, an SSP-20 with an SSP-40 is not supported). Each SSP acts as an independent device, with
separate configurations and management. You can use the two SSPs as a failover pair if desired.
Table 3-10
Licenses
Firewall Licenses
Disabled
2,000,000
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
750
1000
2000
3000
5000
10,0001
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-11
Chapter 3
Table 3-10
Licenses
Enabled
Disabled
Enabled
10,000
10,000
Enabled
General Licenses
10 GE I/O
Base License: Disabled; fiber ifcs run at 1 GE Security Plus License: Enabled; fiber ifcs run at
10 GE
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
Disabled
VLANs, Maximum
1024
Optional licenses:
10
20
50
100
250
1. With the 10,000-session UC license, the total combined sessions can be 10,000, but the maximum number of Phone Proxy sessions is 5000.
You can use two SSPs of the same level in the same chassis. Mixed-level SSPs are not supported (for
example, an SSP-40 with an SSP-60 is not supported). Each SSP acts as an independent device, with
separate configurations and management. You can use the two SSPs as a failover pair if desired.
Table 3-11
Licenses
Base License
Firewall Licenses
Disabled
GTP/GPRS
Disabled
Optional licenses:
24
50
100
250
500
750
1000
2000
3000
5000
10,0001
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-12
Chapter 3
Table 3-11
Licenses
Base License
Enabled
Disabled
Enabled
10,000
10,000
Enabled
General Licenses
10 GE I/O
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Clustering
Disabled
VLANs, Maximum
1024
Optional licenses:
10
20
50
100
250
1. With the 10,000-session UC license, the total combined sessions can be 10,000, but the maximum number of Phone Proxy sessions is 5000.
Licenses
Base License
Firewall Licenses
Disabled
Disabled
Optional licenses:
24
50
100
250
500
750
1000
2000
3000
5000
10,0001
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
3-13
Chapter 3
Table 3-12
Licenses
Base License
Enabled
Disabled
Enabled
10,000
Enabled
General Licenses
Encryption
Base (DES)
Failover
Active/Standby or Active/Active
Security Contexts
Optional licenses:
5
Clustering
No support
VLANs, Maximum
1000
10
20
50
100
250
1. With the 10,000-session UC license, the total combined sessions can be 10,000, but the maximum number of Phone Proxy sessions is 5000.
3-14
Chapter 3
License Notes
The following table includes additional information about licenses.
Table 3-13
License Notes
License
Notes
AnyConnect Essentials
Note
This license is a legacy license. We recommend that you upgrade to the AnyConnect Plus
or Apex license.
SSL VPN
This license does not support browser-based (clientless) SSL VPN access or Cisco Secure
Desktop. For these features, activate an AnyConnect Premium license instead of the AnyConnect
Essentials license.
Note
With the AnyConnect Essentials license, VPN users can use a web browser to log in, and
download and start (WebLaunch) the AnyConnect client.
The AnyConnect client software offers the same set of client features, whether it is enabled by
this license or an AnyConnect Premium license.
The AnyConnect Essentials license cannot be active at the same time as the following licenses on
a given ASA: AnyConnect Premium license (all types) or the Advanced Endpoint Assessment
license. You can, however, run AnyConnect Essentials and AnyConnect Premium licenses on
different ASAs in the same network.
By default, the ASA uses the AnyConnect Essentials license, but you can disable it to use other
licenses by using the webvpn, and then the no anyconnect-essentials command or in ASDM,
using the Configuration > Remote Access VPN > Network (Client) Access > Advanced >
AnyConnect Essentials pane.
AnyConnect for Cisco
VPN Phone
Note
This license is a legacy license. We recommend that you upgrade to the AnyConnect Plus
or Apex license, which includes this license.
In conjunction with an AnyConnect Premium license, this license enables access from hardware
IP phones that have built in AnyConnect compatibility.
3-15
Chapter 3
Table 3-13
License
Notes
Note
This license is a legacy license. We recommend that you upgrade to the AnyConnect Plus
or Apex license, which includes this license.
This license provides access to the AnyConnect Client for touch-screen mobile devices running
Windows Mobile 5.0, 6.0, and 6.1. We recommend using this license if you want to support
mobile access to AnyConnect 2.3 and later versions. This license requires activation of one of the
following licenses to specify the total number of SSL VPN sessions permitted: AnyConnect
Essentials or AnyConnect Premium.
Mobile Posture Support
Enforcing remote access controls and gathering posture data from mobile devices requires an
AnyConnect Mobile license and either an AnyConnect Essentials or AnyConnect Premium
license to be installed on the ASA. Here is the functionality you receive based on the license you
install.
other existing endpoint attributes. This includes allowing or denying remote access from
a mobile device.
using ASDM.
Display information about connected mobile devices via CLI or ASDM without having
the ability to enforce DAP policies or deny or allow remote access to those mobile
devices.
AnyConnect Premium
Note
This license is a legacy license. We recommend that you upgrade to the AnyConnect Plus
or Apex license, which includes this license.
AnyConnect Premium
Shared
SSL VPN
Note
This license is a legacy license. We recommend that you upgrade to the AnyConnect Plus
or Apex license, which replaces the shared license function.
A shared license lets the ASA act as a shared license server for multiple client ASAs. The shared
license pool is large, but the maximum number of sessions used by each individual ASA cannot
exceed the maximum number listed for permanent licenses.
Botnet Traffic Filter
Encryption
The DES license cannot be disabled. If you have the 3DES license installed, DES is still available.
To prevent the use of DES when you want to only use strong encryption, be sure to configure any
relevant commands to use only strong encryption.
3-16
Chapter 3
Table 3-13
License
Notes
The maximum number of combined interfaces; for example, VLANs, physical, redundant, bridge
group, and EtherChannel interfaces. Every interface command defined in the configuration
counts against this limit. For example, both of the following interfaces count even if the
GigabitEthernet 0/0 interface is defined as part of port-channel 1:
interface gigabitethernet 0/0
and
interface port-channel 1
IPS module
The IPS module license lets you run the IPS software module on the ASA. You also need the IPS
signature subscription on the IPS side.
See the following guidelines:
Other VPN
To buy the IPS signature subscription you need to have the ASA with IPS pre-installed (the
part number must include IPS, for example ASA5515-IPS-K9); you cannot buy the IPS
signature subscription for a non-IPS part number ASA.
For failover, you need the IPS signature subscription on both units; this subscription is not
shared in failover, because it is not an ASA license.
For failover, the IPS signature subscription requires a unique IPS module license per unit.
Like other ASA licenses, the IPS module license is technically shared in the failover cluster
license. However, because of the IPS signature subscription requirements, you must buy a
separate IPS module license for each unit in failover.
Although the maximum VPN sessions add up to more than the maximum VPN AnyConnect
and Other VPN sessions, the combined sessions should not exceed the VPN session limit. If
you exceed the maximum VPN sessions, you can overload the ASA, so be sure to size your
network appropriately.
If you start a clientless SSL VPN session and then start an AnyConnect client session from
the portal, 1 session is used in total. However, if you start the AnyConnect client first (from
a standalone client, for example) and then log into the clientless SSL VPN portal, then
2 sessions are used.
3-17
Chapter 3
Table 3-13
License
Notes
Each TLS proxy session for Encrypted Voice Inspection is counted against the UC license limit.
Other applications that use TLS proxy sessions do not count toward the UC limit, for example,
Mobility Advantage Proxy (which does not require a license.
Some UC applications might use multiple sessions for a connection. For example, if you
configure a phone with a primary and backup Cisco Unified Communications Manager, there are
2 TLS proxy connections, so 2 UC Proxy sessions are used.
You independently set the TLS proxy limit using the tls-proxy maximum-sessions command or
in ASDM, using the Configuration > Firewall > Unified Communications > TLS Proxy pane.
To view the limits of your model, enter the tls-proxy maximum-sessions ? command. When you
apply a UC license that is higher than the default TLS proxy limit, the ASA automatically sets the
TLS proxy limit to match the UC limit. The TLS proxy limit takes precedence over the UC license
limit; if you set the TLS proxy limit to be less than the UC license, then you cannot use all of the
sessions in your UC license.
Note
For license part numbers ending in K8 (for example, licenses under 250 users), TLS
proxy sessions are limited to 1000. For license part numbers ending in K9 (for example,
licenses 250 users or larger), the TLS proxy limit depends on the configuration, up to the
model limit. K8 and K9 refer to whether the license is restricted for export: K8 is
unrestricted, and K9 is restricted.
If you clear the configuration (using the clear configure all command, for example), then
the TLS proxy limit is set to the default for your model; if this default is lower than the
UC license limit, then you see an error message to use the tls-proxy maximum-sessions
command to raise the limit again (in ASDM, use the TLS Proxy pane). If you use failover
and enter the write standby command or in ASDM, use File > Save Running
Configuration to Standby Unit on the primary unit to force a configuration
synchronization, the clear configure all command is generated on the secondary unit
automatically, so you may see the warning message on the secondary unit. Because the
configuration synchronization restores the TLS proxy limit set on the primary unit, you
can ignore the warning.
You might also use SRTP encryption sessions for your connections:
Note
Only calls that require encryption/decryption for media are counted toward the SRTP
limit; if passthrough is set for the call, even if both legs are SRTP, they do not count toward
the limit.
Virtual CPU
You must install a model license on the ASAv that sets the appropriate number of vCPUs. Until
you install a license, throughput is limited to 100 Kbps so that you can perform preliminary
connectivity tests. A model license is required for regular operation.
VLANs, Maximum
For an interface to count against the VLAN limit, you must assign a VLAN to it. For example:
interface gigabitethernet 0/0.100
vlan 100
3-18
Chapter 3
Preinstalled License
By default, your ASA ships with a license already installed. This license might be the Base License, to
which you want to add more licenses, or it might already have all of your licenses installed, depending
on what you ordered and what your vendor installed for you.
Related Topics
Permanent License
You can have one permanent activation key installed. The permanent activation key includes all licensed
features in a single key. If you also install time-based licenses, the ASA combines the permanent and
time-based licenses into a running license.
Related Topics
Time-Based Licenses
In addition to permanent licenses, you can purchase time-based licenses or receive an evaluation license
that has a time-limit. For example, you might order a Botnet Traffic Filter time-based license that is valid
for 1 year.
3-19
Chapter 3
You can install multiple time-based licenses, including multiple licenses for the same feature.
However, only one time-based license per feature can be active at a time. The inactive license
remains installed, and ready for use. For example, if you install a 3000-session Unified
Communications license, and a 2000-session Unified Communications license, then only one of
these licenses can be active.
If you activate an evaluation license that has multiple features in the key, then you cannot also
activate another time-based license for one of the included features. For example, if an evaluation
license includes the Botnet Traffic Filter and a 1000-session Unified Communications license, you
cannot also activate a standalone time-based 2000-session Unified Communications license.
The timer for the time-based license starts counting down when you activate it on the ASA.
If you stop using the time-based license before it times out, then the timer halts. The timer only starts
again when you reactivate the time-based license.
If the time-based license is active, and you shut down the ASA, then the timer stops counting down.
The time-based license only counts down when the ASA is running. The system clock setting does
not affect the license; only ASA uptime counts towards the license duration.
Note
Even when the permanent license is used, if the time-based license is active, it continues to count down.
Table 3-14
Time-Based Feature
AnyConnect Premium
Sessions
Unified Communications
Proxy Sessions
Security Contexts
3-20
Chapter 3
Table 3-14
Time-Based Feature
All Others
Related Topics
You install a 52-week Botnet Traffic Filter license, and use the license for 25 weeks (27 weeks
remain).
2.
You then purchase another 52-week Botnet Traffic Filter license. When you install the second
license, the licenses combine to have a duration of 79 weeks (52 weeks plus 27 weeks).
Similarly:
1.
You install an 8-week 1000-session Unified Communications license, and use it for 2 weeks (6
weeks remain).
2.
You then install another 8-week 1000-session license, and the licenses combine to be 1000-sessions
for 14 weeks (8 weeks plus 6 weeks).
If the licenses are not identical (for example, a 1000-session Unified Communications license vs. a
2000-session license), then the licenses are not combined. Because only one time-based license per
feature can be active, only one of the licenses can be active.
Although non-identical licenses do not combine, when the current license expires, the ASA
automatically activates an installed license of the same feature if available.
Related Topics
3-21
Chapter 3
The shared license feature on the ASA is not supported with AnyConnect 4 and later licensing.
AnyConnect licenses are shared and no longer require a shared server or participant license.
A shared license lets you purchase a large number of AnyConnect Premium sessions and share the
sessions as needed among a group of ASAs by configuring one of the ASAs as a shared licensing server,
and the rest as shared licensing participants.
3-22
Chapter 3
Model
License Requirement
Active/ActiveNo Support.
Note
Note
Each unit must have the same encryption license; each unit must have the same IPS module
license. You also need the IPS signature subscription on the IPS side for both units. See the
following guidelines:
To buy the IPS signature subscription you need to have the ASA with IPS pre-installed (the
part number must include IPS, for example ASA5515-IPS-K9); you cannot buy the IPS
signature subscription for a non-IPS part number ASA.
You need the IPS signature subscription on both units; this subscription is not shared in
licenses, the IPS module license is technically shared in the failover cluster license. However,
because of the IPS signature subscription requirements, you must buy a separate IPS module
license for each unit in.
ASAv
Active/ActiveNo Support.
Note
Base License.
Note
Note
The standby unit requires the same model license as the primary unit; Each unit must have the
same encryption license.
Each unit must have the same encryption license.
A valid permanent key is required; in rare instances, your authentication key can be removed. If your
key consists of all 0s, then you need to reinstall a valid authentication key before failover can be
enabled.
3-23
Chapter 3
Model
License Requirement
ASA 5585-X
Cluster License.
Note
ASA 5512-X
Each unit must have the same encryption license; each unit must have the same 10 GE
I/O/Security Plus license (ASA 5585-X with SSP-10 and -20).
Base License.
ASA 5515-X,
ASA 5525-X,
ASA 5545-X,
ASA 5555-X
Note
No support.
For licenses that have numerical tiers, such as the number of sessions, the values from each units
licenses are combined up to the platform limit. If all licenses in use are time-based, then the licenses
count down simultaneously.
For example, for failover:
You have two ASAs with 10 AnyConnect Premium sessions installed on each; the licenses will
platform limit is 750, the combined license allows 750 AnyConnect Premium sessions.
Note
In the above example, if the AnyConnect Premium licenses are time-based, you might want
to disable one of the licenses so that you do not waste a 500 session license from which
you can only use 250 sessions because of the platform limit.
You have two ASA 5545-X ASAs, one with 20 contexts and the other with 10 contexts; the
combined license allows 30 contexts. For Active/Active failover, the contexts are divided
between the two units. One unit can use 18 contexts and the other unit can use 12 contexts, for
example, for a total of 30.
For example, for ASA clustering:
You have four ASA 5585-X ASAs with SSP-10, three units with 50 contexts each, and one unit
with the default 2 contexts. Because the platform limit is 100, the combined license allows a
maximum of 100 contexts. Therefore, you can configure up to 100 contexts on the master unit;
each slave unit will also have 100 contexts through configuration replication.
You have four ASA 5585-X ASAs with SSP-60, three units with 50 contexts each, and one unit
with the default 2 contexts. Because the platform limit is 250, the licenses will be combined for
a total of 152 contexts. Therefore, you can configure up to 152 contexts on the master unit; each
slave unit will also have 152 contexts through configuration replication.
For licenses that have a status of enabled or disabled, then the license with the enabled status is used.
3-24
Chapter 3
For time-based licenses that are enabled or disabled (and do not have numerical tiers), the duration
is the combined duration of all licenses. The primary/master unit counts down its license first, and
when it expires, the secondary/slave unit(s) start counting down its license, and so on. This rule also
applies to Active/Active failover and ASA clustering, even though all units are actively operating.
For example, if you have 48 weeks left on the Botnet Traffic Filter license on two units, then the
combined duration is 96 weeks.
Related Topics
You have a 52-week Botnet Traffic Filter license installed on two units. The combined running
license allows a total duration of 104 weeks.
2.
The units operate as a failover unit/ASA cluster for 10 weeks, leaving 94 weeks on the combined
license (42 weeks on the primary/master, and 52 weeks on the secondary/slave).
3.
If the units lose communication (for example the primary/master unit fails), the secondary/slave unit
continues to use the combined license, and continues to count down from 94 weeks.
4.
Within 30 daysThe time elapsed is subtracted from the primary/master unit license. In this case,
communication is restored after 4 weeks. Therefore, 4 weeks are subtracted from the primary/master
license leaving 90 weeks combined (38 weeks on the primary, and 52 weeks on the secondary).
After 30 daysThe time elapsed is subtracted from both units. In this case, communication is
restored after 6 weeks. Therefore, 6 weeks are subtracted from both the primary/master and
secondary/slave licenses, leaving 84 weeks combined (36 weeks on the primary/master, and 46
weeks on the secondary/slave).
3-25
Chapter 3
Unified Communications
VPN
You can still install the Strong Encryption (3DES/AES) license for use with management connections.
For example, you can use ASDM HTTPS/SSL, SSHv2, Telnet and SNMPv3. You can also download the
dynamic database for the Botnet Traffic Filter (which uses SSL).
When you view the license, VPN and Unified Communications licenses will not be listed.
Related Topics
Licenses FAQ
Q. Can I activate multiple time-based licenses, for example, AnyConnect Premium and Botnet Traffic
Filter?
A. Yes. You can use one time-based license per feature at a time.
Q. Can I stack time-based licenses so that when the time limit runs out, it will automatically use the
next license?
A. Yes. For identical licenses, the time limit is combined when you install multiple time-based licenses.
For non-identical licenses (for example, a 1000-session AnyConnect Premium license and a
2500-session license), the ASA automatically activates the next time-based license it finds for the
feature.
Q. Can I install a new permanent license while maintaining an active time-based license?
A. Yes. Activating a permanent license does not affect time-based licenses.
Q. For failover, can I use a shared licensing server as the primary unit, and the shared licensing backup
licensing server, they require a server license. The backup server requires a participant license. The
backup server can be in a separate failover pair of two backup servers.
Q. Do I need to buy the same licenses for the secondary unit in a failover pair?
A. No. Starting with Version 8.3(1), you do not have to have matching licenses on both units. Typically,
you buy a license only for the primary unit; the secondary unit inherits the primary license when it
becomes active. In the case where you also have a separate license on the secondary unit (for
example, if you purchased matching licenses for pre-8.3 software), the licenses are combined into a
running failover cluster license, up to the model limits.
Q. Can I use a time-based or permanent AnyConnect Premium license in addition to a shared
3-26
Chapter 3
A. Yes. The shared license is used only after the sessions from the locally installed license (time-based
or permanent) are used up. Note: On the shared licensing server, the permanent AnyConnect
Premium license is not used; you can however use a time-based license at the same time as the
shared licensing server license. In this case, the time-based license sessions are available for local
AnyConnect Premium sessions only; they cannot be added to the shared licensing pool for use by
participants.
In multiple context mode, apply the activation key in the system execution space.
Failover Guidelines
Shared licenses are not supported on the ASAv, ASA 5506-X, ASA 5508-X, and ASA 5516-X.
Your activation key remains compatible if you upgrade to the latest version from any previous version.
However, you might have issues if you want to maintain downgrade capability:
Downgrading to Version 8.1 or earlierAfter you upgrade, if you activate additional feature
licenses that were introduced before 8.2, then the activation key continues to be compatible with
earlier versions if you downgrade. However if you activate feature licenses that were introduced in
8.2 or later, then the activation key is not backwards compatible. If you have an incompatible license
key, then see the following guidelines:
If you previously entered an activation key in an earlier version, then the ASA uses that key
(without any of the new licenses you activated in Version 8.2 or later).
If you have a new system and do not have an earlier activation key, then you need to request a
Downgrading to Version 8.2 or earlierVersion 8.3 introduced more robust time-based key usage
as well as failover license changes:
If you have more than one time-based activation key active, when you downgrade, only the most
recently activated time-based key can be active. Any other keys are made inactive. If the last
time-based license is for a feature introduced in 8.3, then that license still remains the active
license even though it cannot be used in earlier versions. Reenter the permanent key or a valid
time-based key.
If you have mismatched licenses on a failover pair, then downgrading will disable failover. Even
if the keys are matching, the license used will no longer be a combined license.
If you have one time-based license installed, but it is for a feature introduced in 8.3, then after
you downgrade, that time-based license remains active. You need to reenter the permanent key
to disable the time-based license.
3-27
Chapter 3
Additional Guidelines
The activation key is not stored in your configuration file; it is stored as a hidden file in flash
memory.
The activation key is tied to the serial number of the device. Feature licenses cannot be transferred
between devices (except in the case of a hardware failure). If you have to replace your device due
to a hardware failure, and it is covered by Cisco TAC, contact the Cisco Licensing Team to have your
existing license transferred to the new serial number. The Cisco Licensing Team will ask for the
Product Authorization Key reference number and existing serial number.
Once purchased, you cannot return a license for a refund or for an upgraded license.
On a single unit, you cannot add two separate licenses for the same feature together; for example, if
you purchase a 25-session SSL VPN license, and later purchase a 50-session license, you cannot use
75 sessions; you can use a maximum of 50 sessions. (You may be able to purchase a larger license
at an upgrade price, for example from 25 sessions to 75 sessions; this kind of upgrade should be
distinguished from adding two separate licenses together).
Although you can activate all license types, some features are incompatible with each other. In the
case of the AnyConnect Essentials license, the license is incompatible with the following licenses:
AnyConnect Premium license, shared AnyConnect Premium license, and Advanced Endpoint
Assessment license. By default, if you install the AnyConnect Essentials license (if it is available
for your model), it is used instead of the above licenses. You can disable the AnyConnect Essentials
license in the configuration to restore use of the other licenses using the webvpn, and then the no
anyconnect-essentials command.
Obtain the serial number for your ASA by entering the following command.
ciscoasa# show version | grep Serial
Step 2
Step 3
3-28
Chapter 3
Step 4
Product Authorization Key (if you have multiple keys, enter one of the keys first. You have to enter
each key as a separate process.)
An activation key is automatically generated and sent to the e-mail address that you provide. This key
includes all features you have registered so far for permanent licenses. For time-based licenses, each
license has a separate activation key.
Step 5
If you have additional Product Authorization Keys, repeat Step 4 for each Product Authorization Key.
After you enter all of the Product Authorization Keys, the final activation key provided includes all of
the permanent features you registered.
If you are already in multiple context mode, enter the activation key in the system execution space.
Some permanent licenses require you to reload the ASA after you activate them. The following table
lists the licenses that require reloading.
Table 3-15
Model
All models
ASAv
Procedure
Step 1
Example:
ciscoasa# activation-key 0xd11b3d48 0xa80a4c0a 0x48e0fd1c 0xb0443480 0x843fc490
The key is a five-element hexadecimal string with one space between each element. The leading 0x
specifier is optional; all values are assumed to be hexadecimal.
You can install one permanent key, and multiple time-based keys. If you enter a new permanent key, it
overwrites the already installed one.
The activate and deactivate keywords are available for time-based keys only. If you do not enter any
value, activate is the default. The last time-based key that you activate for a given feature is the active
one. To deactivate any active time-based key, enter the deactivate keyword. If you enter a key for the
first time, and specify deactivate, then the key is installed on the ASA in an inactive state.
3-29
Chapter 3
Step 2
Some permanent licenses require you to reload the ASA after entering the new activation key. If you need
to reload, you will see the following message:
WARNING: The running activation key was not updated with the requested key. The flash
activation key was updated with the requested key, and will become active after the next
reload.
Related Topics
The shared license feature on the ASA is not supported with AnyConnect 4 and later licensing.
AnyConnect licenses are shared and no longer require a shared server or participant license.
This section describes how to configure the shared licensing server and participants.
3-30
Chapter 3
Decide which ASA should be the shared licensing server, and purchase the shared licensing server
license using that device serial number.
2.
Decide which ASAs should be shared licensing participants, including the shared licensing backup
server, and obtain a shared licensing participant license for each device, using each device serial
number.
3.
(Optional) Designate a second ASA as a shared licensing backup server. You can only specify one
backup server.
Note
4.
Configure a shared secret on the shared licensing server; any participants with the shared secret can
use the shared license.
5.
When you configure the ASA as a participant, it registers with the shared licensing server by sending
information about itself, including the local license and model information.
Note
The participant needs to be able to communicate with the server over the IP network; it does
not have to be on the same subnet.
6.
The shared licensing server responds with information about how often the participant should poll
the server.
7.
When a participant uses up the sessions of the local license, it sends a request to the shared licensing
server for additional sessions in 50-session increments.
8.
The shared licensing server responds with a shared license. The total sessions used by a participant
cannot exceed the maximum sessions for the platform model.
Note
The shared licensing server can also participate in the shared license pool. It does not need
a participant license as well as the server license to participate.
a. If there are not enough sessions left in the shared license pool for the participant, then the server
Note
When the load is reduced on a participant, it sends a message to the server to release the shared
sessions.
The ASA uses SSL between the server and participant to encrypt all communications.
3-31
Chapter 3
If a participant fails to send a refresh after 3 times the refresh interval, then the server releases the
sessions back into the shared license pool.
If the participant cannot reach the license server to send the refresh, then the participant can continue
to use the shared license it received from the server for up to 24 hours.
If the participant is still not able to communicate with a license server after 24 hours, then the
participant releases the shared license, even if it still needs the sessions. The participant leaves
existing connections established, but cannot accept new connections beyond the license limit.
If a participant reconnects with the server before 24 hours expires, but after the server expired the
participant sessions, then the participant needs to send a new request for the sessions; the server
responds with as many sessions as can be reassigned to that participant.
Note
When you first launch the main shared licensing server, the backup server can only operate
independently for 5 days. The operational limit increases day-by-day, until 30 days is reached. Also, if
the main server later goes down for any length of time, the backup server operational limit decrements
day-by-day. When the main server comes back up, the backup server starts to increment again
day-by-day. For example, if the main server is down for 20 days, with the backup server active during
that time, then the backup server will only have a 10-day limit left over. The backup server recharges
up to the maximum 30 days after 20 more days as an inactive backup. This recharging function is
implemented to discourage misuse of the shared license.
3-32
Chapter 3
Note
The backup server mechanism is separate from, but compatible with, failover.
Shared licenses are supported only in single context mode, so Active/Active failover is not supported.
For Active/Standby failover, the primary unit acts as the main shared licensing server, and the standby
unit acts as the main shared licensing server after failover. The standby unit does not act as the backup
shared licensing server. Instead, you can have a second pair of units acting as the backup server, if
desired.
For example, you have a network with 2 failover pairs. Pair #1 includes the main licensing server. Pair
#2 includes the backup server. When the primary unit from Pair #1 goes down, the standby unit
immediately becomes the new main licensing server. The backup server from Pair #2 never gets used.
Only if both units in Pair #1 go down does the backup server in Pair #2 come into use as the shared
licensing server. If Pair #1 remains down, and the primary unit in Pair #2 goes down, then the standby
unit in Pair #2 comes into use as the shared licensing server (see Figure 3-1).
3-33
Chapter 3
Figure 3-1
Key
Blue=Shared license
server in use
Failover Pair #1
Failover Pair #2
(Active)=Active
failover unit
Main (Standby)
Failover Pair #1
Main (Active)
Failover Pair #1
Main (Failed)
Failover Pair #1
Main (Failed)
Backup (Active)
Backup (Standby)
Failover Pair #2
Backup (Active)
Backup (Standby)
Failover Pair #2
Backup (Active)
Backup (Standby)
Failover Pair #2
Backup (Failed)
Backup (Active)
251356
The standby backup server shares the same operating limits as the primary backup server; if the standby
unit becomes active, it continues counting down where the primary unit left off.
Related Topics
3-34
Chapter 3
Example:
ciscoasa(config)# license-server secret farscape
The secret is a string between 4 and 128 ASCII characters. Any participant with this secret can use the
licensing server.
Step 2
Example:
ciscoasa(config)# license-server refresh-interval 100
The interval is between 10 and 300 seconds; this value is provided to participants to set how often they
should communicate with the server. The default is 30 seconds.
Step 3
(Optional) Set the port on which the server listens for SSL connections from participants:
license-server port port
Example:
ciscoasa(config)# license-server port 40000
The port is between 1 and 65535. The default is TCP port 50554.
Step 4
Example:
ciscoasa(config)# license-server backup 10.1.1.2 backup-id JMX0916L0Z4 ha-backup-id
JMX1378N0W3
If the backup server is part of a failover pair, identify the standby unit serial number as well. You can
only identify 1 backup server and its optional standby unit.
Step 5
Example:
ciscoasa(config)# license-server enable inside
3-35
Chapter 3
Specify the interface on which participants contact the server. You can repeat this command for as many
interfaces as desired.
Examples
The following example sets the shared secret, changes the refresh interval and port, configures a backup
server, and enables this unit as the shared licensing server on the inside interface and dmz interface:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
JMX1378N0W3
ciscoasa(config)#
ciscoasa(config)#
license-server
license-server
license-server
license-server
secret farscape
refresh-interval 100
port 40000
backup 10.1.1.2 backup-id JMX0916L0Z4 ha-backup-id
Example:
ciscoasa(config)# license-server address 10.1.1.1 secret farscape
If you changed the default port in the server configuration, set the port for the backup server to match.
Step 2
Example:
ciscoasa(config)# license-server backup enable inside
Specify the interface on which participants contact the server. You can repeat this command for as many
interfaces as desired.
Examples
The following example identifies the license server and shared secret, and enables this unit as the backup
shared license server on the inside interface and dmz interface:
ciscoasa(config)# license-server address 10.1.1.1 secret farscape
ciscoasa(config)# license-server backup enable inside
ciscoasa(config)# license-server backup enable dmz
3-36
Chapter 3
Example:
ciscoasa(config)# license-server address 10.1.1.1 secret farscape
If you changed the default port in the server configuration, set the port for the participant to match.
Step 2
(Optional) If you configured a backup server, enter the backup server address:
license-server backup address address
Example:
ciscoasa(config)# license-server backup address 10.1.1.2
Examples
The following example sets the license server IP address and shared secret, as well as the backup license
server IP address:
ciscoasa(config)# license-server address 10.1.1.1 secret farscape
ciscoasa(config)# license-server backup address 10.1.1.2
If you have a No Payload Encryption model, then you view the license, VPN and Unified
Communications licenses will not be listed. See No Payload Encryption Models, page 3-26 for more
information.
3-37
Chapter 3
Procedure
Step 1
Show the permanent license, active time-based licenses, and the running license, which is a combination
of the permanent license and active time-based licenses:
show activation-key [detail]
Examples
Example 3-1
The following is sample output from the show activation-key command for a standalone unit that shows
the running license (the combined permanent license and time-based licenses), as well as each active
time-based license:
ciscoasa# show activation-key
Serial Number: JMX1232L11M
Running Permanent Activation Key: 0xce06dc6b 0x8a7b5ab7 0xa1e21dd4 0xd2c4b8b8 0xc4594f9c
Running Timebased Activation Key: 0xa821d549 0x35725fe4 0xc918b97b 0xce0b987b 0x47c7c285
Running Timebased Activation Key: 0xyadayad2 0xyadayad2 0xyadayad2 0xyadayad2 0xyadayad2
Licensed features for this platform:
Maximum Physical Interfaces
: Unlimited
Maximum VLANs
: 150
Inside Hosts
: Unlimited
Failover
: Active/Active
VPN-DES
: Enabled
VPN-3DES-AES
: Enabled
Security Contexts
: 10
GTP/GPRS
: Enabled
AnyConnect Premium Peers
: 2
AnyConnect Essentials
: Disabled
Other VPN Peers
: 750
Total VPN Peers
: 750
Shared License
: Enabled
Shared AnyConnect Premium Peers : 12000
AnyConnect for Mobile
: Disabled
AnyConnect for Cisco VPN Phone
: Disabled
Advanced Endpoint Assessment
: Disabled
UC Phone Proxy Sessions
: 12
Total UC Proxy Sessions
: 12
Botnet Traffic Filter
: Enabled
Intercompany Media Engine
: Disabled
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
62 days
62 days
646 days
perpetual
3-38
Chapter 3
Example 3-2
The following is sample output from the show activation-key detail command for a standalone unit that
shows the running license (the combined permanent license and time-based licenses), as well as the
permanent license and each installed time-based license (active and inactive):
ciscoasa# show activation-key detail
Serial Number: 88810093382
Running Permanent Activation Key: 0xce06dc6b 0x8a7b5ab7 0xa1e21dd4 0xd2c4b8b8 0xc4594f9c
Running Timebased Activation Key: 0xa821d549 0x35725fe4 0xc918b97b 0xce0b987b 0x47c7c285
Licensed features for this platform:
Maximum Physical Interfaces
: 8
VLANs
: 20
Dual ISPs
: Enabled
VLAN Trunk Ports
: 8
Inside Hosts
: Unlimited
Failover
: Active/Standby
VPN-DES
: Enabled
VPN-3DES-AES
: Enabled
AnyConnect Premium Peers
: 2
AnyConnect Essentials
: Disabled
Other VPN Peers
: 25
Total VPN Peers
: 25
AnyConnect for Mobile
: Disabled
AnyConnect for Cisco VPN Phone
: Disabled
Advanced Endpoint Assessment
: Disabled
UC Phone Proxy Sessions
: 2
Total UC Proxy Sessions
: 2
Botnet Traffic Filter
: Enabled
Intercompany Media Engine
: Disabled
perpetual
DMZ Unrestricted
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
39 days
perpetual
perpetual
DMZ Unrestricted
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
39 days
perpetual
The flash permanent activation key is the SAME as the running permanent key.
Active Timebased Activation Key:
3-39
Chapter 3
Example 3-3
The following is sample output from the show activation-key detail command for the primary failover
unit that shows:
The primary unit license (the combined permanent license and time-based licenses).
The Failover Cluster license, which is the combined licenses from the primary and secondary
units. This is the license that is actually running on the ASA. The values in this license that reflect
the combination of the primary and secondary licenses are in bold.
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
33 days
perpetual
3-40
Chapter 3
:
:
:
:
: 750
: 750
: Disabled
: Disabled
: Disabled
: Disabled
4
4
Enabled
Disabled
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
33 days
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
The flash permanent activation key is the SAME as the running permanent key.
Active Timebased Activation Key:
0xa821d549 0x35725fe4 0xc918b97b 0xce0b987b 0x47c7c285
Botnet Traffic Filter
: Enabled
33 days
Inactive Timebased Activation Key:
0xyadayad3 0xyadayad3 0xyadayad3 0xyadayad3 0xyadayad3
Security Contexts
: 2
7 days
AnyConnect Premium Peers
: 100
7 days
Example 3-4
The following is sample output from the show activation-key detail command for the secondary
failover unit that shows:
The secondary unit license (the combined permanent license and time-based licenses).
The Failover Cluster license, which is the combined licenses from the primary and secondary
units. This is the license that is actually running on the ASA. The values in this license that reflect
the combination of the primary and secondary licenses are in bold.
3-41
Chapter 3
The secondary installed time-based licenses (active and inactive). This unit does not have any
time-based licenses, so none display in this sample output.
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
3-42
perpetual
perpetual
perpetual
Chapter 3
Failover
VPN-DES
VPN-3DES-AES
Security Contexts
GTP/GPRS
AnyConnect Premium Peers
AnyConnect Essentials
Other VPN Peers
Total VPN Peers
Shared License
AnyConnect for Mobile
AnyConnect for Cisco VPN Phone
Advanced Endpoint Assessment
UC Phone Proxy Sessions
Total UC Proxy Sessions
Botnet Traffic Filter
Intercompany Media Engine
:
:
:
:
:
:
:
:
:
Active/Active
Enabled
Disabled
2
Disabled
: 2
: Disabled
: 750
: 750
: Disabled
: Disabled
: Disabled
: Disabled
2
2
Disabled
Disabled
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
The flash permanent activation key is the SAME as the running permanent key.
Example 3-5
Standalone Unit Output for the ASAv without a License for show activation-key
The following output for a deployed 1 vCPU ASAv shows a blank activation key, an Unlicensed status,
and a message to install a 1 vCPU license.
Note
The command output shows, This platform has an ASAv VPN Premium license. This message
specifies that the ASAv can perform payload encryption; it does not refer to the ASAv Standard vs.
Premium licenses.
ciscoasa# show activation-key
Serial Number: 9APM1G4RV41
Running Permanent Activation Key: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
ASAv Platform License State: Unlicensed
*Install 1 vCPU ASAv platform license for full functionality.
The Running Activation Key is not valid, using default settings:
Licensed features for this platform:
Virtual CPUs
: 0
Maximum Physical Interfaces
: 10
Maximum VLANs
: 50
Inside Hosts
: Unlimited
Failover
: Active/Standby
Encryption-DES
: Enabled
Encryption-3DES-AES
: Enabled
Security Contexts
: 0
GTP/GPRS
: Disabled
AnyConnect Premium Peers
: 2
AnyConnect Essentials
: Disabled
Other VPN Peers
: 250
Total VPN Peers
: 250
Shared License
: Disabled
AnyConnect for Mobile
: Disabled
AnyConnect for Cisco VPN Phone
: Disabled
Advanced Endpoint Assessment
: Disabled
UC Phone Proxy Sessions
: 2
Total UC Proxy Sessions
: 2
Botnet Traffic Filter
: Enabled
Intercompany Media Engine
: Disabled
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
3-43
Chapter 3
Cluster
: Disabled
perpetual
Example 3-6
Note
Standalone Unit Output for the ASAv with a 4 vCPU Standard License for show
activation-key
The command output shows, This platform has an ASAv VPN Premium license. This message
specifies that the ASAv can perform payload encryption; it does not refer to the ASAv Standard vs.
Premium licenses.
ciscoasa# show activation-key
Serial Number: 9ALQ8W1XCJ7
Running Permanent Activation Key: 0x0013e945 0x685a232c 0x1153fdac 0xeae8b068 0x4413f4ae
ASAv Platform License State: Compliant
Licensed features for this platform:
Virtual CPUs
: 4
Maximum Physical Interfaces
: 10
Maximum VLANs
: 200
Inside Hosts
: Unlimited
Failover
: Active/Standby
Encryption-DES
: Enabled
Encryption-3DES-AES
: Enabled
Security Contexts
: 0
GTP/GPRS
: Enabled
AnyConnect Premium Peers
: 2
AnyConnect Essentials
: Disabled
Other VPN Peers
: 750
Total VPN Peers
: 750
Shared License
: Disabled
AnyConnect for Mobile
: Disabled
AnyConnect for Cisco VPN Phone
: Disabled
Advanced Endpoint Assessment
: Disabled
UC Phone Proxy Sessions
: 1000
Total UC Proxy Sessions
: 1000
Botnet Traffic Filter
: Enabled
Intercompany Media Engine
: Enabled
Cluster
: Disabled
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
Example 3-7
Note
Standalone Unit Output for the ASAv with a 4 vCPU Premium License for show
activation-key
The command output shows, This platform has an ASAv VPN Premium license. This message
specifies that the ASAv can perform payload encryption; it does not refer to the ASAv Standard vs.
Premium licenses.
ciscoasa# show activation-key
Serial Number: 9ALQ8W1XCJ7
3-44
Chapter 3
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
Example 3-8
Primary Unit Output for the ASA Services Module in a Failover Pair for show
activation-key
The following is sample output from the show activation-key command for the primary failover unit
that shows:
The primary unit license (the combined permanent license and time-based licenses).
The Failover Cluster license, which is the combined licenses from the primary and secondary
units. This is the license that is actually running on the ASA. The values in this license that reflect
the combination of the primary and secondary licenses are in bold.
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
330 days
3-45
Chapter 3
Example 3-9
Secondary Unit Output for the ASA Services Module in a Failover Pair for show
activation-key
The following is sample output from the show activation-key command for the secondary failover unit
that shows:
The secondary unit license (the combined permanent license and time-based licenses).
The Failover Cluster license, which is the combined licenses from the primary and secondary
units. This is the license that is actually running on the ASA. The values in this license that reflect
the combination of the primary and secondary licenses are in bold.
The secondary installed time-based licenses (active and inactive). This unit does not have any
time-based licenses, so none display in this sample output.
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
3-46
Chapter 3
GTP/GPRS
Botnet Traffic Filter
: Enabled
: Enabled
perpetual
330 days
3-47
Chapter 3
The flash permanent activation key is the SAME as the running permanent key.
5000
5000
0
250
0
0
/
/
/
/
0
0
0
0
The following is sample output from the show shared license detail command on the license server:
ciscoasa> show shared license detail
Backup License Server Info:
Device ID
: ABCD
Address
: 10.1.1.2
Registered
: NO
HA peer ID
: EFGH
Registered
: NO
Messages Tx/Rx/Error:
Hello
: 0 / 0 / 0
Sync
: 0 / 0 / 0
Update
: 0 / 0 / 0
Shared license utilization:
SSLVPN:
Total for network :
500
Available
:
500
Utilized
:
0
This device:
Platform limit
:
250
Current usage
:
0
High usage
:
0
Messages Tx/Rx/Error:
Registration
: 0 / 0 / 0
3-48
Chapter 3
Get
Release
Transfer
: 0 / 0 / 0
: 0 / 0 / 0
: 0 / 0 / 0
Client Info:
Hostname
: 5540-A
Device ID
: XXXXXXXXXXX
SSLVPN:
Current usage
: 0
High
: 0
Messages Tx/Rx/Error:
Registration
: 1 / 1 / 0
Get
: 0 / 0 / 0
Release
: 0 / 0 / 0
Transfer
: 0 / 0 / 0
...
show activation-key
Shows the licenses installed on the ASA. The show version command also shows license
information.
show vpn-sessiondb
Shows license information about VPN sessions.
Platform
Releases
Description
7.0(5)
7.1(1)
7.2(1)
3-49
Chapter 3
Feature Name
Platform
Releases
Increased VLANs
7.2(2)
Description
The maximum number of VLANs for the Security Plus
license on the ASA 5505 was increased from 5 (3 fully
functional; 1 failover; one restricted to a backup interface)
to 20 fully functional interfaces. In addition, the number of
trunk ports was increased from 1 to 8. Now there are 20
fully functional interfaces, you do not need to use the
backup interface command to cripple a backup ISP
interface; you can use a fully functional interface for it. The
backup interface command is still useful for an Easy VPN
configuration.
VLAN limits were also increased for the ASA 5510 (from
10 to 50 for the Base license, and from 25 to 100 for the
Security Plus license), the ASA 5520 (from 100 to 150), the
ASA 5550 (from 200 to 250).
7.2(3)
8.0(2)
8.0(2)
8.0(3)
Time-based Licenses
8.0(4)/8.1(2)
3-50
Chapter 3
Feature Name
Platform
Releases
8.1(2)
8.0(4)
Description
8.2(1)
8.2(1)
8.2(1)
8.2(1)
8.2(2)
3-51
Chapter 3
Feature Name
10 GE I/O license for the ASA 5585-X with
SSP-20
Platform
Releases
8.2(3)
Description
We introduced the 10 GE I/O license for the ASA 5585-X
with SSP-20 to enable 10-Gigabit Ethernet speeds for the
fiber ports. The SSP-60 supports 10-Gigabit Ethernet
speeds by default.
Note
8.2(4)
8.3(1)
8.3(1)
8.3(1)
8.3(1)
8.3(1)
3-52
Chapter 3
Feature Name
Platform
Releases
8.3(2)
Description
If you install the No Payload Encryption software on the
ASA 5505 through 5550, then you disable Unified
Communications, strong encryption VPN, and strong
encryption management protocols.
Note
For the ASA 5550 and ASA 5585-X with SSP-10, the
maximum contexts was increased from 50 to 100. For the
ASA 5580 and 5585-X with SSP-20 and higher, the
maximum was increased from 50 to 250.
8.4(1)
For the ASA 5580 and 5585-X, the maximum VLANs was
increased from 250 to 1024.
8.4(1)
8.4(1)
8.4(1)
8.4(1)
8.4(1)
8.4(1)
3-53
Chapter 3
Feature Name
Platform
Releases
8.4(2)
For SSP-40 and SSP-60, you can use two SSPs of the same
level in the same chassis. Mixed-level SSPs are not
supported (for example, an SSP-40 with an SSP-60 is not
supported). Each SSP acts as an independent device, with
separate configurations and management. You can use the
two SSPs as a failover pair if desired. When using two SSPs
in the chassis, VPN is not supported; note, however, that
VPN has not been disabled.
8.6(1)
9.0(1)
A clustering license was added for the ASA 5580 and ASA
5585-X.
9.0(1)
9.0(1)
Description
The ASA 5585-X now supports dual SSPs using all SSP
models (you can use two SSPs of the same level in the same
chassis). VPN is now supported when using dual SSPs.
9.1(4)
9.2(1)
9.2(1)
3-54
CH AP TE R
Supported Licenses
This section lists the license entitlements available for the ASAv.
4-1
Chapter 4
Supported Licenses
Licenses
Standard License
Firewall Licenses
Supported
100,000
GTP/GPRS
Supported
Supported
500
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
Disabled
Enabled
250
250
Enabled
General Licenses
Throughput Level
Encryption
Strong (3DES/AES)
Failover
Active/Standby
No support
Clustering
No support
VLANs, Maximum
50
4-2
Chapter 4
ASAv30
Table 4-2
Licenses
Standard License
Firewall Licenses
Supported
500,000
GTP/GPRS
Supported
Supported
1000
VPN Licenses require an AnyConnect Plus or Apex license, available separately. See the following maximum values when you purchase an
AnyConnect license.
Enabled
Disabled
Enabled
750
750
Enabled
General Licenses
Throughput Level
2 Gbps
Encryption
Strong (3DES/AES)
Failover
Active/Standby
No support
Clustering
No support
VLANs, Maximum
200
4-3
Chapter 4
License Notes
License Notes
License
Notes
AnyConnect Premium
SSL VPN
Encryption
The DES license cannot be disabled. Although the 3DES license is installed, DES is still
available. To prevent the use of DES when you want to only use strong encryption, be sure to
configure any relevant commands to use only strong encryption.
The maximum number of combined interfaces; for example, VLANs, physical, redundant, bridge
group, and EtherChannel interfaces. Every interface command defined in the configuration
counts against this limit. For example, both of the following interfaces count even if the
GigabitEthernet 0/0 interface is defined as part of port-channel 1:
interface gigabitethernet 0/0
and
interface port-channel 1
Other VPN
VLANs, Maximum
Although the maximum VPN sessions add up to more than the maximum VPN AnyConnect
and Other VPN sessions, the combined sessions should not exceed the VPN session limit. If
you exceed the maximum VPN sessions, you can overload the ASA, so be sure to size your
network appropriately.
If you start a clientless SSL VPN session and then start an AnyConnect client session from
the portal, 1 session is used in total. However, if you start the AnyConnect client first (from
a standalone client, for example) and then log into the clientless SSL VPN portal, then
2 sessions are used.
For an interface to count against the VLAN limit, you must assign a VLAN to it. For example:
interface gigabitethernet 0/0.100
vlan 100
4-4
Chapter 4
Note
4-5
Chapter 4
Out-of-Compliance State
The ASAv can become out of compliance in the following situations:
Lack of communicationWhen the ASAv cannot reach the Licensing Authority for
re-authorization.
After 90 days of reauthorization attempts, the ASAv will be severely rate-limited until you are able to
successfully reauthorize.
Ensure Internet access or HTTP proxy access from the ASAv, so the ASAv can contact the Licensing
Authority. Offline licensing is not supported.
Configure a DNS server so the ASA can resolve the name of the licensing authority server. See
Configure the DNS Server, page 16-14.
You must deploy both units with the same model license.
Additional Guidelines
You cannot use PAK-based licensing with the ASAv. Only Smart Software Licensing is supported. If you
upgrade an existing PAK-licensed ASAv, then the previously installed activation key will be ignored, but
retained on the device. If you downgrade the ASAv, the activation key will be reinstated.
4-6
Chapter 4
The ASAv default configuration includes a Smart Call Home profile called License that specifies
the URL for the Licensing Authority.
call-home
profile License
destination address http
https://tools.cisco.com/its/service/oddce/services/DDCEService
When you deploy the ASAv, you set the feature tier and throughput level. Only the standard level is
available at this time.
license smart
feature tier standard
throughput level {100M | 1G | 2G}
Step 2
Step 3
Example:
ciscoasa(config)# call-home
ciscoasa(cfg-call-home)# http-proxy 10.1.1.1 port 443
4-7
Chapter 4
Example:
ciscoasa(config)# license smart
ciscoasa(config-smart-lic)#
Step 2
Example:
ciscoasa(config-smart-lic)# throughput level 2G
Step 4
Example:
ciscoasa(config-smart-lic)# exit
ciscoasa(config)#
Your changes do not take effect until you exit the license smart configuration mode, either by explicitly
exiting the mode (exit or end) or by entering any command that takes you to a different mode.
In the Smart Software Manager, request and copy a registration token for the virtual account to which
you want to add this ASAv.
Step 2
4-8
Chapter 4
Example:
ciscoasa# license smart register idtoken
YjE3Njc5MzYtMGQzMi00OTA4LWJhODItNzBhMGQ5NGRlYjUxLTE0MTQ5NDAy%0AODQzNzl8NXk2bzV3SDE0ZkgwQkd
YRmZ1NTNCNGlvRnBHUFpjcm02WTB4TU4w%0Ac2NnMD0%3D%0A
Use the force keyword to register an ASAv that is already registered, but that might be out of sync with
the License Authority. For example, use force if the ASAv was accidentally removed from the Smart
Software Manager.
The ASAv attempts to register with the License Authority and request authorization for the configured
license entitlements.
Step 3
4-9
Chapter 4
Step 2
9AAHGX8514R
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
perpetual
4-10
Chapter 4
4-11
Chapter 4
Platform
Releases
9.3(2)
Description
Smart Software Licensing lets you purchase and manage a
pool of licenses. Unlike PAK licenses, smart licenses are not
tied to a specific serial number. You can easily deploy or
retire ASAvs without having to manage each units license
key. Smart Software Licensing also lets you see your license
usage and needs at a glance.
We introduced the following commands: clear configure
license, debug license agent, feature tier, http-proxy,
license smart, license smart deregister, license smart
register, license smart renew, show license, show
running-config license, throughput level
4-12
CH AP TE R
Customize the MAC Address Table for the Transparent Firewall, page 5-11
5-1
Chapter 5
5-2
Chapter 5
Figure 5-1 shows a typical transparent firewall network where the outside devices are on the same subnet
as the inside devices. The inside router and hosts appear to be directly connected to the outside router.
Figure 5-1
Internet
10.1.1.1
Network A
Management IP
10.1.1.2
10.1.1.3
Network B
92411
192.168.1.2
Bridge Groups
If you do not want the overhead of security contexts, or want to maximize your use of security contexts,
you can group interfaces together in a bridge group, and then configure multiple bridge groups, one for
each network. Bridge group traffic is isolated from other bridge groups; traffic is not routed to another
bridge group within the ASA, and traffic must exit the ASA before it is routed by an external router back
to another bridge group in the ASA. Although the bridging functions are separate for each bridge group,
many other functions are shared between all bridge groups. For example, all bridge groups share a syslog
server or AAA server configuration. For complete security policy separation, use security contexts with
one bridge group in each context.
5-3
Chapter 5
Figure 5-2 shows two networks connected to the ASA, which has two bridge groups.
Figure 5-2
10.1.1.1
10.2.1.1
Management IP
Bridge Group 1
10.1.1.2
10.2.1.3
254279
10.1.1.3
Management IP
Bridge Group 2
10.2.1.2
Note
Each bridge group requires a management IP address. The ASA uses this IP address as the source address
for packets originating from the bridge group. The management IP address must be on the same subnet
as the connected network. For another method of management, see Management Interface, page 5-4.
The ASA does not support traffic on secondary networks; only traffic on the same network as the
management IP address is supported.
Management Interface
In addition to each bridge group management IP address, you can add a separate Management slot/port
interface that is not part of any bridge group, and that allows only management traffic to the ASA. For
more information, see Management Interface, page 9-2.
Unicast IPv4 and IPv6 traffic is allowed through the transparent firewall automatically from a higher
security interface to a lower security interface, without an ACL.
Note
Broadcast and multicast traffic can be passed using access rules. See the firewall
configuration guidefor more information.
ARPs are allowed through the transparent firewall in both directions without an ACL. ARP traffic
can be controlled by ARP inspection.
5-4
Chapter 5
IPv6 neighbor discovery and router solicitation packets are allowed through the transparent firewall
in both directions without an ACL.
For Layer 3 traffic traveling from a low to a high security interface, an extended ACL is required on
the low security interface. See the firewall configuration guide for more information.
Note
The transparent mode ASA does not pass CDP packets packets, or any packets that do not have a valid
EtherType greater than or equal to 0x600. An exception is made for BPDUs and IS-IS, which are
supported.
BPDU Handling
To prevent loops using the Spanning Tree Protocol, BPDUs are passed by default. To block BPDUs, you
need to configure an EtherType ACL to deny them. If you are using failover, you might want to block
BPDUs to prevent the switch port from going into a blocking state when the topology changes. See
Transparent Firewall Mode Requirements for Failover, page 7-14 for more information.
5-5
Chapter 5
Traffic originating on the ASAFor example, if your syslog server is located on a remote network,
you must use a static route so the ASA can reach that subnet.
Traffic that is at least one hop away from the ASA with NAT enabledThe ASA needs to perform
a route lookup to find the next hop gateway; you need to add a static route on the ASA for the real
host address.
Voice over IP (VoIP) and DNS traffic with inspection enabled, and the endpoint is at least one hop
away from the ASAFor example, if you use the transparent firewall between a CCM and an H.323
gateway, and there is a router between the transparent firewall and the H.323 gateway, then you need
to add a static route on the ASA for the H.323 gateway for successful call completion. If you enable
NAT for the inspected traffic, a static route is required to determine the egress interface for the real
host address that is embedded in the packet. Affected applications include:
CTIQBE
DNS
GTP
H.323
MGCP
RTSP
SIP
Skinny (SCCP)
ARP Inspection
By default, all ARP packets are allowed through the ASA. You can control the flow of ARP packets by
enabling ARP inspection.
When you enable ARP inspection, the ASA compares the MAC address, IP address, and source interface
in all ARP packets to static entries in the ARP table, and takes the following actions:
If the IP address, MAC address, and source interface match an ARP entry, the packet is passed
through.
If there is a mismatch between the MAC address, the IP address, or the interface, then the ASA drops
the packet.
If the ARP packet does not match any entries in the static ARP table, then you can set the ASA to
either forward the packet out all interfaces (flood), or to drop the packet.
Note
The dedicated management interface, if present, never floods packets even if this parameter
is set to flood.
ARP inspection prevents malicious users from impersonating other hosts or routers (known as ARP
spoofing). ARP spoofing can enable a man-in-the-middle attack. For example, a host sends an
ARP request to the gateway router; the gateway router responds with the gateway router MAC address.
5-6
Chapter 5
The attacker, however, sends another ARP response to the host with the attacker MAC address instead
of the router MAC address. The attacker can now intercept all the host traffic before forwarding it on to
the router.
ARP inspection ensures that an attacker cannot send an ARP response with the attacker MAC address,
so long as the correct MAC address and the associated IP address are in the static ARP table.
Packets for directly connected devicesThe ASA generates an ARP request for the destination IP
address, so that the ASA can learn which interface receives the ARP response.
Packets for remote devicesThe ASA generates a ping to the destination IP address so that the ASA
can learn which interface receives the ping reply.
Default Settings
The default mode is routed mode.
Transparent Mode Defaults
If you enable ARP inspection, the default setting is to flood non-matching packets.
The default timeout value for dynamic MAC address table entries is 5 minutes.
By default, each interface automatically learns the MAC addresses of entering traffic, and the ASA
adds corresponding entries to the MAC address table.
In transparent firewall mode, the management interface updates the MAC address table in the same
manner as a data interface; therefore you should not connect both a management and a data interface
to the same switch unless you configure one of the switch ports as a routed port (by default Catalyst
switches share a MAC address for all VLAN switch ports). Otherwise, if traffic arrives on the
management interface from the physically-connected switch, then the ASA updates the
MAC address table to use the management interface to access the switch, instead of the data
5-7
Chapter 5
interface. This action causes a temporary traffic interruption; the ASA will not re-update the MAC
address table for packets from the switch to the data interface for at least 30 seconds for security
reasons.
Do not specify the bridge group management IP address as the default gateway for connected
devices; devices need to specify the router on the other side of the ASA as the default gateway.
The default route for the transparent firewall, which is required to provide a return path for
management traffic, is only applied to management traffic from one bridge group network. This is
because the default route specifies an interface in the bridge group as well as the router IP address
on the bridge group network, and you can only define one default route. If you have management
traffic from more than one bridge group network, you need to specify a static route that identifies
the network from which you expect management traffic.
See Guidelines for Routed and Transparent Mode Interfaces, page 13-4 for more guidelines.
IPv6 Guidelines
Supports IPv6.
Additional Guidelines and Limitations
When you change firewall modes, the ASA clears the running configuration because many
commands are not supported for both modes. The startup configuration remains unchanged. If you
reload without saving, then the startup configuration is loaded, and the mode reverts back to the
original setting. See Set the Firewall Mode, page 5-9 for information about backing up your
configuration file.
If you download a text configuration to the ASA that changes the mode with the
firewall transparent command, be sure to put the command at the top of the configuration; the ASA
changes the mode as soon as it reads the command and then continues reading the configuration you
downloaded. If the command appears later in the configuration, the ASA clears all the preceding
lines in the configuration. See Set the ASA Image, ASDM, and Startup Configuration, page 33-18
for information about downloading text files.
Table 5-1 lists the features are not supported in transparent mode.
Table 5-1
Feature
Description
Dynamic DNS
DHCP relay
The transparent firewall can act as a DHCP server, but it does not
support the DHCP relay commands. DHCP relay is not required
because you can allow DHCP traffic to pass through using two
extended ACLs: one that allows DCHP requests from the inside
interface to the outside, and one that allows the replies from the server
in the other direction.
You can, however, add static routes for traffic originating on the ASA.
You can also allow dynamic routing protocols through the ASA using
an extended ACL.
Multicast IP routing
5-8
Chapter 5
Table 5-1
Feature
Description
QoS
Unified Communications
This section describes how to change the firewall mode.We recommend that you set the firewall mode
before you perform any other configuration because changing the firewall mode clears the running
configuration.
Prerequisites
When you change modes, the ASA clears the running configuration (see Guidelines for Firewall Mode,
page 5-7 for more information).
If you already have a populated configuration, be sure to back up your configuration before changing
the mode; you can use this backup for reference when creating your new configuration. See Back
Up and Restore Configurations or Other Files, page 33-23.
Use the CLI at the console port to change the mode. If you use any other type of session, including
the ASDM Command Line Interface tool or SSH, you will be disconnected when the configuration
is cleared, and you will have to reconnect to the ASA using the console port in any case.
Procedure
Note
Step 1
To set the firewall mode to transparent and also configure ASDM management access after the
configuration is cleared, see Configure ASDM Access, page 2-7.
Set the firewall mode to transparent:
firewall transparent
Example:
ciscoasa(config)# firewall transparent
5-9
Chapter 5
Note
You are not prompted to confirm the firewall mode change; the change occurs immediately.
Add static ARP entries according to Add a Static ARP Entry, page 5-10. ARP inspection compares ARP
packets with static ARP entries in the ARP table, so static ARP entries are required for this feature.
Step 2
Note
The transparent firewall uses dynamic ARP entries in the ARP table for traffic to and from the ASA,
such as management traffic.
Procedure
Step 1
Example:
ciscoasa(config)# arp outside 10.1.1.1 0009.7cbe.2100
This allows ARP responses from the router at 10.1.1.1 with the MAC address 0009.7cbe.2100 on the
outside interface.
5-10
Chapter 5
Step 1
Example:
ciscoasa(config)# arp-inspection outside enable no-flood
The flood keyword forwards non-matching ARP packets out all interfaces, and no-flood drops
non-matching packets.
The default setting is to flood non-matching packets. To restrict ARP through the ASA to only static
entries, then set this command to no-flood.
Step 1
Example:
5-11
Chapter 5
Step 1
Example:
ciscoasa(config)# mac-address-table aging-time 10
The timeout_value (in minutes) is between 5 and 720 (12 hours). 5 minutes is the default.
Step 1
Example:
ciscoasa(config)# mac-learn inside disable
5-12
Chapter 5
Purpose
show arp-inspection
Monitors ARP Inspection. Shows the current settings for ARP inspection
on all interfaces.
Monitors the MAC address table. You can view the entire MAC address
table (including static and dynamic entries for both interfaces), or you can
view the MAC address table for an interface.
Examples
The following is sample output from the show mac-address-table command that shows the entire table:
ciscoasa# show mac-address-table
interface
mac address
type
Time Left
----------------------------------------------------------------------outside
0009.7cbe.2100
static
inside
0010.7cbe.6101
static
inside
0009.7cbe.5101
dynamic
10
The following is sample output from the show mac-address-table command that shows the table for the
inside interface:
ciscoasa# show mac-address-table inside
interface
mac address
type
Time Left
----------------------------------------------------------------------inside
0010.7cbe.6101
static
inside
0009.7cbe.5101
dynamic
10
How Data Moves Through the ASA in Routed Firewall Mode, page 5-13
5-13
Chapter 5
Inside to Outside
www.example.com
Outside
209.165.201.2
Source Addr Translation
10.1.2.27
209.165.201.10
10.1.2.1
10.1.1.1
DMZ
User
10.1.2.27
Web Server
10.1.1.3
92404
Inside
The following steps describe how data moves through the ASA (see Figure 5-3):
1.
The user on the inside network requests a web page from www.example.com.
2.
The ASA receives the packet and because it is a new session, the ASA verifies that the packet is
allowed according to the terms of the security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
3.
The ASA translates the local source address (10.1.2.27) to the global address 209.165.201.10, which
is on the outside interface subnet.
The global address could be on any subnet, but routing is simplified when it is on the outside
interface subnet.
4.
The ASA then records that a session is established and forwards the packet from the outside
interface.
5.
When www.example.com responds to the request, the packet goes through the ASA, and because
the session is already established, the packet bypasses the many lookups associated with a new
connection. The ASA performs NAT by untranslating the global destination address to the local user
address, 10.1.2.27.
6.
5-14
Chapter 5
Outside to DMZ
User
Outside
209.165.201.2
Inside
10.1.1.1
DMZ
92406
10.1.2.1
Web Server
10.1.1.3
The following steps describe how data moves through the ASA (see Figure 5-4):
1.
A user on the outside network requests a web page from the DMZ web server using the global
destination address of 209.165.201.3, which is on the outside interface subnet.
2.
The ASA receives the packet and untranslates the destination address to the local address 10.1.1.3.
3.
Because it is a new session, the ASA verifies that the packet is allowed according to the terms of the
security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
4.
The ASA then adds a session entry to the fast path and forwards the packet from the DMZ interface.
5.
When the DMZ web server responds to the request, the packet goes through the ASA and because
the session is already established, the packet bypasses the many lookups associated with a new
connection. The ASA performs NAT by translating the local source address to 209.165.201.3.
6.
5-15
Chapter 5
Inside to DMZ
Outside
209.165.201.2
10.1.2.1
DMZ
92403
Inside
10.1.1.1
User
10.1.2.27
Web Server
10.1.1.3
The following steps describe how data moves through the ASA (see Figure 5-5):
1.
A user on the inside network requests a web page from the DMZ web server using the destination
address of 10.1.1.3.
2.
The ASA receives the packet and because it is a new session, the ASA verifies that the packet is
allowed according to the terms of the security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
3.
The ASA then records that a session is established and forwards the packet out of the DMZ interface.
4.
When the DMZ web server responds to the request, the packet goes through the fast path, which lets
the packet bypass the many lookups associated with a new connection.
5.
5-16
Figure 5-6
Outside to Inside
www.example.com
Outside
209.165.201.2
10.1.2.1
Inside
User
10.1.2.27
10.1.1.1
DMZ
92407
Chapter 5
The following steps describe how data moves through the ASA (see Figure 5-6):
1.
A user on the outside network attempts to reach an inside host (assuming the host has a routable
IP address).
If the inside network uses private addresses, no outside user can reach the inside network without
NAT. The outside user might attempt to reach an inside user by using an existing NAT session.
2.
The ASA receives the packet and because it is a new session, the ASA verifies if the packet is
allowed according to the security policy (access lists, filters, AAA).
3.
The packet is denied, and the ASA drops the packet and logs the connection attempt.
If the outside user is attempting to attack the inside network, the ASA employs many technologies
to determine if a packet is valid for an already established session.
5-17
Chapter 5
DMZ to Inside
Outside
209.165.201.2
10.1.2.1
10.1.1.1
DMZ
User
10.1.2.27
Web Server
10.1.1.3
92402
Inside
The following steps describe how data moves through the ASA (see Figure 5-7):
1.
A user on the DMZ network attempts to reach an inside host. Because the DMZ does not have to
route the traffic on the Internet, the private addressing scheme does not prevent routing.
2.
The ASA receives the packet and because it is a new session, the ASA verifies if the packet is
allowed according to the security policy (access lists, filters, AAA).
The packet is denied, and the ASA drops the packet and logs the connection attempt.
5-18
Chapter 5
www.example.com
Internet
209.165.201.2
Management IP
209.165.201.6
Host
209.165.201.3
92412
209.165.200.230
Web Server
209.165.200.225
An Outside User Visits a Web Server on the Inside Network, page 5-22
5-19
Chapter 5
Inside to Outside
www.example.com
Internet
209.165.201.2
Host
209.165.201.3
92408
Management IP
209.165.201.6
The following steps describe how data moves through the ASA (see Figure 5-9):
1.
The user on the inside network requests a web page from www.example.com.
2.
The ASA receives the packet and adds the source MAC address to the MAC address table, if
required. Because it is a new session, it verifies that the packet is allowed according to the terms of
the security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
3.
4.
If the destination MAC address is in its table, the ASA forwards the packet out of the outside
interface. The destination MAC address is that of the upstream router, 209.165.201.2.
If the destination MAC address is not in the ASA table, the ASA attempts to discover the MAC
address by sending an ARP request or a ping. The first packet is dropped.
5.
The web server responds to the request; because the session is already established, the packet
bypasses the many lookups associated with a new connection.
6.
5-20
Chapter 5
www.example.com
Internet
Static route on router
to 209.165.201.0/27
through security appliance
Host
10.1.2.27
191243
Security
appliance
The following steps describe how data moves through the ASA (see Figure 5-10):
1.
The user on the inside network requests a web page from www.example.com.
2.
The ASA receives the packet and adds the source MAC address to the MAC address table, if
required. Because it is a new session, it verifies that the packet is allowed according to the terms of
the security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet according to a unique interface.
3.
The ASA translates the real address (10.1.2.27) to the mapped address 209.165.201.10.
Because the mapped address is not on the same network as the outside interface, then be sure the
upstream router has a static route to the mapped network that points to the ASA.
4.
The ASA then records that a session is established and forwards the packet from the outside
interface.
5.
If the destination MAC address is in its table, the ASA forwards the packet out of the outside
interface. The destination MAC address is that of the upstream router, 10.1.2.1.
If the destination MAC address is not in the ASA table, the ASA attempts to discover the MAC
address by sending an ARP request and a ping. The first packet is dropped.
6.
The web server responds to the request; because the session is already established, the packet
bypasses the many lookups associated with a new connection.
7.
The ASA performs NAT by untranslating the mapped address to the real address, 10.1.2.27.
5-21
Chapter 5
Outside to Inside
Host
Internet
209.165.201.2
Management IP
209.165.201.6
209.165.201.1
Web Server
209.165.200.225
92409
209.165.200.230
The following steps describe how data moves through the ASA (see Figure 5-11):
1.
A user on the outside network requests a web page from the inside web server.
2.
The ASA receives the packet and adds the source MAC address to the MAC address table, if
required. Because it is a new session, it verifies that the packet is allowed according to the terms of
the security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
3.
4.
If the destination MAC address is in its table, the ASA forwards the packet out of the inside
interface. The destination MAC address is that of the downstream router, 209.165.201.1.
If the destination MAC address is not in the ASA table, the ASA attempts to discover the MAC
address by sending an ARP request and a ping. The first packet is dropped.
5.
The web server responds to the request; because the session is already established, the packet
bypasses the many lookups associated with a new connection.
6.
5-22
Chapter 5
Outside to Inside
Host
Internet
209.165.201.2
92410
Management IP
209.165.201.6
Host
209.165.201.3
The following steps describe how data moves through the ASA (see Figure 5-12):
1.
2.
The ASA receives the packet and adds the source MAC address to the MAC address table, if
required. Because it is a new session, it verifies if the packet is allowed according to the terms of the
security policy (access lists, filters, AAA).
For multiple context mode, the ASA first classifies the packet to a context.
3.
The packet is denied because there is no access list permitting the outside host, and the ASA drops
the packet.
4.
If the outside user is attempting to attack the inside network, the ASA employs many technologies
to determine if a packet is valid for an already established session.
5-23
Chapter 5
Feature Name
Platform
Releases
7.0(1)
Feature Information
A transparent firewall is a Layer 2 firewall that acts like a
bump in the wire, or a stealth firewall, and is not seen as
a router hop to connected devices.
We introduced the following commands: firewall
transparent, show firewall.
ARP inspection
7.0(1)
7.0(1)
8.4(1)
5-24
Chapter 5
Table 5-2
Feature Name
Platform
Releases
Feature Information
The ASA ARP cache only contains entries from
directly-connected subnets by default. You can now enable
the ARP cache to also include non-directly-connected
subnets. We do not recommend enabling this feature unless
you know the security risks. This feature could facilitate
denial of service (DoS) attack against the ASA; a user on
any interface could send out many ARP replies and overload
the ASA ARP table with false entries.
You may want to use this feature if you use:
Secondary subnets.
8.5(1)/9.0(1)
9.3(1)
5-25
Chapter 5
History for the Firewall Mode
5-26
PART
CH AP TE R
Change Between Contexts and the System Execution Space, page 6-23
6-1
Chapter 6
You are a service provider and want to sell security services to many customers. By enabling
multiple security contexts on the ASA, you can implement a cost-effective, space-saving solution
that keeps all customer traffic separate and secure, and also eases configuration.
You are a large enterprise or a college campus and want to keep departments completely separate.
You are an enterprise that wants to provide distinct security policies to different departments.
You have any network that requires more than one ASA.
Context Configurations
For each context, the ASA includes a configuration that identifies the security policy, interfaces, and all
the options you can configure on a standalone device. You can store context configurations in flash
memory, or you can download them from a TFTP, FTP, or HTTP(S) server.
System Configuration
The system administrator adds and manages contexts by configuring each context configuration
location, allocated interfaces, and other context operating parameters in the system configuration, which,
like a single mode configuration, is the startup configuration. The system configuration identifies basic
settings for the ASA. The system configuration does not include any network interfaces or network
settings for itself; rather, when the system needs to access network resources (such as downloading the
contexts from the server), it uses one of the contexts that is designated as the admin context. The system
configuration does include a specialized failover interface for failover traffic only.
6-2
Chapter 6
Note
If the destination MAC address is a multicast or broadcast MAC address, the packet is duplicated and
delivered to each context.
Note
For management traffic destined for an interface, the interface IP address is used for classification.
The routing table is not used for packet classification.
Unique Interfaces
If only one context is associated with the ingress interface, the ASA classifies the packet into that
context. In transparent firewall mode, unique interfaces for contexts are required, so this method is used
to classify packets at all times.
NAT Configuration
If you disable use of unique MAC addresses, then the ASA uses the mapped addresses in your NAT
configuration to classify packets. We recommend using MAC addresses instead of NAT, so that traffic
classification can occur regardless of the completeness of the NAT configuration.
6-3
Chapter 6
Classification Examples
Figure 6-1 shows multiple contexts sharing an outside interface. The classifier assigns the packet to
Context B because Context B includes the MAC address to which the router sends the packet.
Figure 6-1
Internet
Packet Destination:
209.165.201.1 via MAC 000C.F142.4CDC
GE 0/0.1 (Shared Interface)
Classifier
Admin
Context
MAC 000C.F142.4CDB
Context A
GE 0/1.3
Admin
Network
Inside
Customer A
Inside
Customer B
Host
209.165.202.129
Host
209.165.200.225
Host
209.165.201.1
6-4
Context B
GE 0/1.2
GE 0/1.1
MAC 000C.F142.4CDC
153367
MAC 000C.F142.4CDA
Note that all new incoming traffic must be classified, even from inside networks. Figure 6-2 shows a host
on the Context B inside network accessing the Internet. The classifier assigns the packet to Context B
because the ingress interface is Gigabit Ethernet 0/1.3, which is assigned to Context B.
Figure 6-2
Internet
GE 0/0.1
Admin
Context
Context A
Context B
Classifier
GE 0/1.1
GE 0/1.2
GE 0/1.3
Admin
Network
Inside
Customer A
Inside
Customer B
Host
10.1.1.13
Host
10.1.1.13
Host
10.1.1.13
92395
Chapter 6
6-5
Chapter 6
For transparent firewalls, you must use unique interfaces. Figure 6-3 shows a packet destined to a host
on the Context B inside network from the Internet. The classifier assigns the packet to Context B because
the ingress interface is Gigabit Ethernet 1/0.3, which is assigned to Context B.
Figure 6-3
Internet
Classifier
GE 0/0.2
GE 0/0.1
GE 0/0.3
Admin
Context
Context A
Context B
GE 1/0.1
GE 1/0.2
GE 1/0.3
Inside
Customer A
Inside
Customer B
Host
10.1.1.13
Host
10.1.2.13
Host
10.1.3.13
92401
Admin
Network
Note
Cascading contexts requires unique MAC addresses for each context interface (the default setting).
Because of the limitations of classifying packets on shared interfaces without MAC addresses, we do not
recommend using cascading contexts without unique MAC addresses.
6-6
Chapter 6
Figure 6-4 shows a gateway context with two contexts behind the gateway.
Figure 6-4
Cascading Contexts
Internet
GE 0/0.2
Outside
Gateway
Context
Inside
GE 0/0.1
(Shared Interface)
Outside
Outside
Admin
Context
Context A
Inside
GE 1/1.43
Inside
153366
GE 1/1.8
6-7
Chapter 6
example, you log in to the admin context with the username admin. The admin context does not have
any command authorization configuration, but all other contexts include command authorization. For
convenience, each context configuration includes a user admin with maximum privileges. When you
change from the admin context to context A, your username is altered to enable_15, so you must log in
again as admin by entering the login command. When you change to context B, you must again enter
the login command to log in as admin.
The system execution space does not support any AAA commands, but you can configure its own enable
password, as well as usernames in the local database to provide individual logins.
Resource Classes
The ASA manages resources by assigning contexts to resource classes. Each context uses the resource
limits set by the class. To use the settings of a class, assign the context to the class when you define the
context. All contexts belong to the default class if they are not assigned to another class; you do not have
to actively assign a context to default. You can only assign a context to one resource class. The exception
to this rule is that limits that are undefined in the member class are inherited from the default class; so
in effect, a context could be a member of default plus another class.
Resource Limits
You can set the limit for individual resources as a percentage (if there is a hard system limit) or as an
absolute value.
For most resources, the ASA does not set aside a portion of the resources for each context assigned to
the class; rather, the ASA sets the maximum limit for a context. If you oversubscribe resources, or allow
some resources to be unlimited, a few contexts can use up those resources, potentially affecting service
6-8
Chapter 6
to other contexts. The exception is VPN resource types, which you cannot oversubscribe, so the
resources assigned to each context are guaranteed. To accommodate temporary bursts of VPN sessions
beyond the amount assigned, the ASA supports a burst VPN resource type, which is equal to the
remaining unassigned VPN sessions. The burst sessions can be oversubscribed, and are available to
contexts on a first-come, first-served basis.
Default Class
All contexts belong to the default class if they are not assigned to another class; you do not have to
actively assign a context to the default class.
If a context belongs to a class other than the default class, those class settings always override the default
class settings. However, if the other class has any settings that are not defined, then the member context
uses the default class for those limits. For example, if you create a class with a 2 percent limit for all
concurrent connections, but no other limits, then all other limits are inherited from the default class.
Conversely, if you create a class with a limit for all resources, the class uses no settings from the default
class.
For most resources, the default class provides unlimited access to resources for all contexts, except for
the following limits:
VPN site-to-site tunnels0 sessions. (You must manually configure the class to allow any VPN
sessions.)
6-9
Chapter 6
Figure 6-5 shows the relationship between the default class and other classes. Contexts A and C belong
to classes with some limits set; other limits are inherited from the default class. Context B inherits no
limits from default because all limits are set in its class, the Gold class. Context D was not assigned to
a class, and is by default a member of the default class.
Figure 6-5
Resource Classes
Default Class
Class
Bronze
(Some
Limits
Set)
Context D
Class Silver
(Some Limits
Set)
Class Gold
(All Limits
Set)
Context A
104689
Context C
Context B
Resource Oversubscription
Maximum connections
allowed.
16%
(159,984)
Connections in use.
12%
(119,988)
4%
(39,996)
1
4
5
6
Contexts in Class
6-10
10
104895
Connections denied
because system limit
was reached.
8%
(79,992)
Chapter 6
Unlimited Resources
50% 43%
5%
Maximum connections
allowed.
4%
Connections in use.
3%
Connections denied
because system limit
was reached.
2%
A
B
C
Contexts Silver Class
1
2
3
Contexts Gold Class
153211
1%
6-11
Chapter 6
For the ASA 5500-X series appliancesThe physical interface uses the burned-in MAC address,
and all subinterfaces of a physical interface use the same burned-in MAC address.
For the ASASMAll VLAN interfaces use the same MAC address, derived from the backplane
MAC address.
Note
(8.5(1.6) and earlier) To maintain hitless upgrade for failover pairs, the ASA does not convert an existing
legacy auto-generation configuration upon a reload if failover is enabled. However, we strongly
recommend that you manually change to the prefix method of generation when using failover, especially
for the ASASM. Without the prefix method, ASASMs installed in different slot numbers experience a
MAC address change upon failover, and can experience traffic interruption. After upgrading, to use the
prefix method of MAC address generation, reenable MAC address autogeneration to use a prefix. For
more information about the legacy method, see the mac-address auto command in the command
reference.
6-12
Chapter 6
A24D.00zz.zzzz
For a prefix of 1009 (03F1), the MAC address is:
A2F1.03zz.zzzz
Note
The MAC address format without a prefix is a legacy version not supported on newer ASA versions. See
the mac-address auto command in the command reference for more information about the legacy
format.
License Requirement
ASA 5506-X
No support.
ASA 5508-X
ASA 5512-X
ASA 5515-X
ASA 5516-X
ASA 5525-X
ASA 5545-X
ASA 5555-X
ASASM
ASAv
No support.
6-13
Chapter 6
Prerequisites
Prerequisites
After you are in multiple context mode, connect to the system or the admin context to access the system
configuration. You cannot configure the system from a non-admin context. By default, after you enable
multiple context mode, you can connect to the admin context by using the default management IP
address. See Chapter 2, Getting Started, for more information about connecting to the ASA.
Supports IPv6.
Note
RIP
Multicast routing
Threat Detection
Unified Communications
QoS
Additional Guidelines
The context mode (single or multiple) is not stored in the configuration file, even though it does
endure reboots. If you need to copy your configuration to another device, set the mode on the new
device to match.
If you store context configurations in the root directory of flash memory, on some models you might
run out of room in that directory, even though there is available memory. In this case, create a
subdirectory for your configuration files. Background: some models, such as the ASA 5585-X, use
the FAT 16 file system for internal flash memory, and if you do not use 8.3-compliant short names,
or use uppercase characters, then fewer than 512 files and folders can be stored because the file
system uses up slots to store long file names (see http://support.microsoft.com/kb/120138/en-us).
6-14
Chapter 6
Enable multiple context mode. See Enable or Disable Multiple Context Mode, page 6-15.
Step 2
(Optional) Configure classes for resource management. See Configure a Class for Resource
Management, page 6-16. Note: For VPN support, you must configure VPN resources in a resource class;
the default class does not allow VPN.
Step 3
Step 4
Step 5
(Optional) Customize MAC address assignments. See Assign MAC Addresses to Context Interfaces
Automatically, page 6-22.
Step 6
Complete interface configuration in the context. See Chapter 13, Routed and Transparent Mode
Interfaces.
Prerequisites
Back up your startup configuration. When you convert from single mode to multiple mode, the ASA
converts the running configuration into two files. The original startup configuration is not saved. See
Back Up and Restore Configurations or Other Files, page 33-23.
Procedure
6-15
Chapter 6
Step 1
Example:
ciscoasa(config)# mode multiple
Copy the backup version of your original running configuration to the current startup configuration:
copy disk0:old_running.cfg startup-config
Example:
ciscoasa(config)# copy disk0:old_running.cfg startup-config
Step 2
Example:
ciscoasa(config)# mode single
Table 6-1 lists the resource types and the limits. See also the show resource types command.
6-16
Chapter 6
Table 6-1
Rate or
Resource Name Concurrent
Minimum and
Maximum Number
per Context
System Limit1
Description
asdm
1 minimum
Concurrent
32
5 maximum
conns2
Concurrent
or Rate
N/A
Note
hosts
Concurrent
N/A
N/A
inspects
Rate
N/A
N/A
mac-addresses
Concurrent
N/A
65,535
routes
Concurrent
N/A
N/A
Dynamic routes.
Concurrent
N/A
vpn other
Concurrent
N/A
ssh
Concurrent
1 minimum
100
SSH sessions.
N/A
5 maximum
syslogs
Rate
N/A
6-17
Chapter 6
Table 6-1
Rate or
Resource Name Concurrent
Minimum and
Maximum Number
per Context
System Limit1
Description
telnet
1 minimum
100
Telnet sessions.
N/A
Concurrent
5 maximum
xlates
Concurrent
N/A
1. If this column value is N/A, then you cannot set a percentage of the resource because there is no hard system limit for the resource.
2. Syslog messages are generated for whichever limit is lower xlates or conns. For example, if you set the xlates limit to 7 and the conns to 9, then the ASA
only generates syslog message 321001 (Resource 'xlates' limit of 7 reached for context 'ctx1') and not 321002 (Resource 'conn rate' limit of 5 reached
for context 'ctx1').
Procedure
Step 1
Specify the class name and enter the class configuration mode:
class name
Example:
ciscoasa(config)# class gold
The name is a string up to 20 characters long. To set the limits for the default class, enter default for the
name.
Step 2
Example:
ciscoasa(config-class)# limit-resource rate inspects 10
See Table 6-1 for a list of resource types. If you specify all, then all resources are configured with
the same value. If you also specify a value for a particular resource, the limit overrides the limit set
for all.
Enter the rate argument to set the rate per second for certain resources.
For most resources, specify 0 for the number to set the resource to be unlimited or to be the system
limit, if available. For VPN resources, 0 sets the limit to none.
For resources that do not have a system limit, you cannot set the percentage (%); you can only set
an absolute value.
Examples
For example, to set the default class limit for conns to 10 percent instead of unlimited, and to allow 5
site-to-site VPN tunnels with 2 tunnels allowed for VPN burst, enter the following commands:
ciscoasa(config)# class
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
default
limit-resource conns 10%
limit-resource vpn other 5
limit-resource vpn burst other 2
6-18
Chapter 6
gold
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
mac-addresses 10000
conns 15%
rate conns 1000
rate inspects 500
hosts 9000
asdm 5
ssh 5
rate syslogs 5000
telnet 5
xlates 36000
routes 5000
vpn other 10
vpn burst other 5
For the ASASM, assign VLANs to the ASASM on the switch according to the ASASM quick start
guide.
For the ASA 5500-X, configure physical interface parameters, VLAN subinterfaces, EtherChannels,
and redundant interfaces according to Chapter 9, Basic Interface Configuration.
If you do not have an admin context (for example, if you clear the configuration) then you must first
specify the admin context name by entering the following command:
ciscoasa(config)# admin-context name
Although this context does not exist yet in your configuration, you can subsequently enter the
context name command to continue the admin context configuration.
Procedure
Step 1
Example:
ciscoasa(config)# context administrator
The name is a string up to 32 characters long. This name is case sensitive, so you can have two contexts
named customerA and CustomerA, for example. You can use letters, digits, or hyphens, but you
cannot start or end the name with a hyphen.
Note
System or Null (in upper or lower case letters) are reserved names, and cannot be used.
6-19
Chapter 6
Step 2
Example:
ciscoasa(config-ctx)# description Administrator Context
Step 3
Example:
ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.100 int1
ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.200 int2
ciscoasa(config-ctx)# allocate-interface gigabitethernet0/2.300-gigabitethernet0/2.305
int3-int8
Note
Do not include a space between the interface type and the port number.
Enter these commands multiple times to specify different ranges. If you remove an allocation with
the no form of this command, then any context commands that include this interface are removed
from the running configuration.
Transparent firewall mode allows a limited number of interfaces to pass through traffic; however,
you can use a dedicated management interface, Management slot/port (physical, subinterface,
redundant, or EtherChannel), as an additional interface for management traffic. A separate
management interface is not available for the ASASM.
You can assign the same interfaces to multiple contexts in routed mode, if desired. Transparent mode
does not allow shared interfaces.
The mapped_name is an alphanumeric alias for the interface that can be used within the context
instead of the interface ID. If you do not specify a mapped name, the interface ID is used within the
context. For security purposes, you might not want the context administrator to know which
interfaces the context is using. A mapped name must start with a letter, end with a letter or digit, and
have as interior characters only letters, digits, or an underscore. For example, you can use the
following names:int0, inta, int_0
If you specify a range of subinterfaces, you can specify a matching range of mapped names. Follow
these guidelines for ranges:
The mapped name must consist of an alphabetic portion followed by a numeric portion. The
alphabetic portion of the mapped name must match for both ends of the range. For example,
enter the following range:int0-int10. If you enter gig0/1.1-gig0/1.5 happy1-sad5, for
example, the command fails.
The numeric portion of the mapped name must include the same quantity of numbers as the
Specify visible to see the real interface ID in the show interface command if you set a mapped
name. The default invisible keyword shows only the mapped name.
6-20
Chapter 6
Step 4
Identify the URL from which the system downloads the context configuration:
config-url url
Example:
ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg
Step 5
Example:
ciscoasa(config-ctx)# member gold
Step 6
(Optional) Assign an IPS virtual sensor to this context if you have the IPS module installed:
allocate-ips sensor_name [mapped_name] [default]
Example:
ciscoasa(config-ctx)# allocate-ips sensor1 highsec
See the firewall configuration guide for detailed information about virtual sensors.
When you add a context URL, the system immediately loads the context so that it is running, if the
configuration is available.
Enter the allocate-interface command(s) before you enter the config-url command. If you enter the
config-url command first, the ASA loads the context configuration immediately. If the context
contains any commands that refer to (not yet configured) interfaces, those commands fail.
The filename does not require a file extension, although we recommend using .cfg. The server
must be accessible from the admin context. If the configuration file is not available, you see the
following warning message:
WARNING: Could not fetch the URL url
INFO: Creating context with default config
Step 7
For non-HTTP(S) URL locations, after you specify the URL, you can then change to the context,
configure it at the CLI, and enter the write memory command to write the file to the URL location.
(HTTP(S) is read only).
The admin context file must be stored on the internal flash memory.
Available URL types include: disknumber (for flash memory), ftp, http, https, or tftp.
To change the URL, reenter the config-url command with a new URL. See Change the Security
Context URL, page 6-25 for more information about changing the URL.
Example:
ciscoasa(config-ctx)# join-failover-group 2
By default, contexts are in group 1. The admin context must always be in group 1.
See Configure Optional Failover Parameters, page 7-35 for detailed information about failover groups.
Step 8
6-21
Chapter 6
Example:
ciscoasa(config-ctx)# scansafe
If you do not specify a license, the context uses the license configured in the system configuration. The
ASA sends the authentication key to the Cloud Web Security proxy servers to indicate from which
organization the request comes. The authentication key is a 16-byte hexidecimal number.
See the firewall configuration guide for detailed information about ScanSafe.
Examples
The following example sets the admin context to be administrator, creates a context called
administrator on the internal flash memory, and then adds two contexts from an FTP server:
ciscoasa(config)# admin-context administrator
ciscoasa(config)# context administrator
ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.1
ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.1
ciscoasa(config-ctx)# config-url disk0:/admin.cfg
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
int3-int8
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
context test
allocate-interface gigabitethernet0/0.100 int1
allocate-interface gigabitethernet0/0.102 int2
allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
int3-int8
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
context sample
allocate-interface gigabitethernet0/1.200 int1
allocate-interface gigabitethernet0/1.212 int2
allocate-interface gigabitethernet0/1.230-gigabitethernet0/1.235
config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg
member gold
config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg
member silver
When you configure a nameif command for the interface in a context, the new MAC address is
generated immediately. If you enable this feature after you configure context interfaces, then MAC
addresses are generated for all interfaces immediately after you enable it. If you disable this feature,
the MAC address for each interface reverts to the default MAC address. For example, subinterfaces
of GigabitEthernet 0/1 revert to using the MAC address of GigabitEthernet 0/1.
6-22
Chapter 6
In the rare circumstance that the generated MAC address conflicts with another private MAC
address in your network, you can manually set the MAC address for the interface within the context.
See Configure the MTU and TCP MSS, page 14-6 to manually set the MAC address.
Procedure
Step 1
Example:
ciscoasa(config)# mac-address auto prefix 19
If you do not enter a prefix, then the ASA autogenerates the prefix based on the last two bytes of the
interface (ASA 5500-X) or backplane (ASASM) MAC address.
If you manually enter a prefix, then the prefix is a decimal value between 0 and 65535. This prefix is
converted to a four-digit hexadecimal number, and used as part of the MAC address. See MAC Address
Format, page 6-12 section for more information about how the prefix is used.
Change to a context:
changeto context name
6-23
Chapter 6
Note
If you use failover, there is a delay between when you remove the context on the active unit and when
the context is removed on the standby unit. You might see an error message indicating that the number
of interfaces on the active and standby units are not consistent; this error is temporary and can be
ignored.
Before You Begin
All context commands are also removed. The context configuration file is not removed from the config
URL location.
Step 2
The context configuration files are not removed from the config URL locations.
You can set any context to be the admin context, as long as the configuration file is stored in the
internal flash memory.
6-24
Chapter 6
Procedure
Step 1
Example:
ciscoasa(config)# admin-context administrator
Any remote management sessions, such as Telnet, SSH, or HTTPS, that are connected to the admin
context are terminated. You must reconnect to the new admin context.
A few system configuration commands, including ntp server, identify an interface name that belongs to
the admin context. If you change the admin context, and that interface name does not exist in the new
admin context, be sure to update any system commands that refer to the interface.
You cannot change the security context URL without reloading the configuration from the new URL.
The ASA merges the new configuration with the current running configuration.
Reentering the same URL also merges the saved configuration with the running configuration.
A merge adds any new commands from the new configuration to the running configuration.
If the configurations are the same, no changes occur.
If commands conflict or if commands affect the running of the context, then the effect of the
merge depends on the command. You might get errors, or you might have unexpected results. If
the running configuration is blank (for example, if the server was unavailable and the
configuration was never downloaded), then the new configuration is used.
If you do not want to merge the configurations, you can clear the running configuration, which
disrupts any communications through the context, and then reload the configuration from the new
URL.
Procedure
Step 1
(Optional, if you do not want to perform a merge) Change to the context and clears configuration:
changeto context name
clear configure all
Example:
ciscoasa(config)# changeto context ctx1
ciscoasa/ctx1(config)# clear configure all
6-25
Chapter 6
changeto system
Example:
ciscoasa/ctx1(config)# changeto system
ciscoasa(config)#
Step 3
Enters the context configuration mode for the context you want to change.
context name
Example:
ciscoasa(config)# context ctx1
Step 4
Enters the new URL. The system immediately loads the context so that it is running.
config-url new_url
Example:
ciscoasa(config)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/ctx1.cfg
Clear the running configuration and then import the startup configuration.
This action clears most attributes associated with the context, such as connections and NAT tables.
Example:
ciscoasa(config)# changeto context ctx1
ciscoasa/ctx1(comfig)#
Step 2
6-26
Chapter 6
Example:
ciscoasa/ctx1(config)# copy startup-config running-config
The ASA copies the configuration from the URL specified in the system configuration. You cannot
change the URL from within a context.
2.
If you want to show information for a particular context, specify the name.
The detail option shows additional information. See the following sample outputs below for more
information.
The count option shows the total number of contexts.
6-27
Chapter 6
The following is sample output from the show context command. The following sample output shows
three contexts:
ciscoasa# show context
Context Name
*admin
Interfaces
GigabitEthernet0/1.100
GigabitEthernet0/1.101
contexta
GigabitEthernet0/1.200
GigabitEthernet0/1.201
contextb
GigabitEthernet0/1.300
GigabitEthernet0/1.301
Total active Security Contexts: 3
URL
disk0:/admin.cfg
disk0:/contexta.cfg
disk0:/contextb.cfg
Field
Description
Context Name
Lists all context names. The context name with the asterisk (*) is the admin context.
Interfaces
URL
The URL from which the ASA loads the context configuration.
The following is sample output from the show context detail command:
ciscoasa# show context detail
Context "admin", has been created, but initial ACL rules not complete
Config URL: disk0:/admin.cfg
Real Interfaces: Management0/0
Mapped Interfaces: Management0/0
Flags: 0x00000013, ID: 1
Context "ctx", has been created, but initial ACL rules not complete
Config URL: ctx.cfg
Real Interfaces: GigabitEthernet0/0.10, GigabitEthernet0/1.20,
GigabitEthernet0/2.30
Mapped Interfaces: int1, int2, int3
Flags: 0x00000011, ID: 2
Context "system", is a system resource
Config URL: startup-config
Real Interfaces:
Mapped Interfaces: Control0/0, GigabitEthernet0/0,
GigabitEthernet0/0.10, GigabitEthernet0/1, GigabitEthernet0/1.10,
GigabitEthernet0/1.20, GigabitEthernet0/2, GigabitEthernet0/2.30,
GigabitEthernet0/3, Management0/0, Management0/0.1
Flags: 0x00000019, ID: 257
Context "null", is a system resource
Config URL: ... null ...
Real Interfaces:
Mapped Interfaces:
Flags: 0x00000009, ID: 258
See the command reference for more information about the detail output.
The following is sample output from the show context count command:
ciscoasa# show context count
Total active contexts: 2
6-28
Chapter 6
This command shows the resource allocation, but does not show the actual resources being used. See
View Resource Usage, page 6-31 for more information about actual resource usage.
The detail argument shows additional information. See the following sample outputs for more
information.
The following sample output shows the total allocation of each resource as an absolute value and as a
percentage of the available system resources:
ciscoasa# show resource allocation
Resource
Total
Conns [rate]
35000
Inspects [rate]
35000
Syslogs [rate]
10500
Conns
305000
Hosts
78842
SSH
35
Routes
5000
Telnet
35
Xlates
91749
Other VPN Sessions
20
Other VPN Burst
20
All
unlimited
% of Avail
N/A
N/A
N/A
30.50%
N/A
35.00%
N/A
35.00%
N/A
2.66%
2.66%
Field
Description
Resource
Total
The total amount of the resource that is allocated across all contexts. The amount
is an absolute number of concurrent instances or instances per second. If you
specified a percentage in the class definition, the ASA converts the percentage to
an absolute number for this display.
% of Avail
The percentage of the total system resources that is allocated across all contexts, if
the resource has a hard system limit. If a resource does not have a system limit, this
column shows N/A.
6-29
Chapter 6
The following is sample output from the show resource allocation detail command:
ciscoasa# show resource allocation detail
Resource Origin:
A
Value was derived from the resource 'all'
C
Value set in the definition of this class
D
Value set in default class
Resource
Class
Mmbrs Origin
Limit
Conns [rate]
default
all
CA unlimited
gold
1
C
34000
silver
1
CA
17000
bronze
0
CA
8500
All Contexts:
3
Inspects [rate]
Syslogs [rate]
Conns
Hosts
SSH
Telnet
Routes
Xlates
mac-addresses
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
CA
DA
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
CA
C
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
CA
C
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
CA
DA
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
C
D
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
C
D
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
C
D
CA
CA
default
gold
silver
bronze
All Contexts:
all
1
1
0
3
CA
DA
CA
CA
default
gold
all
1
C
D
6-30
unlimited
unlimited
10000
5000
unlimited
6000
3000
1500
unlimited
200000
100000
50000
unlimited
unlimited
26214
13107
5
5
10
5
5
5
10
5
unlimited
unlimited
10
5
Total
34000
17000
N/A
N/A
51000
N/A
10000
N/A
10000
N/A
6000
3000
N/A
N/A
9000
N/A
200000
100000
20.00%
10.00%
300000
30.00%
26214
N/A
26214
N/A
5
10
5.00%
10.00%
20
20.00%
5
10
5.00%
10.00%
20
20.00%
5
10
20
unlimited
unlimited
23040
11520
65535
65535
Total %
N/A
N/A
N/A
N/A
N/A
23040
N/A
23040
N/A
65535
100.00%
Chapter 6
silver
bronze
All Contexts:
1
0
3
CA
CA
6553
3276
6553
9.99%
137623
209.99%
Field
Description
Resource
Class
Mmbrs
Origin
AYou set this limit with the all option, instead of as an individual resource.
DThis limit was not defined in the member class, but was derived from the
default class. For a context assigned to the default class, the value will be C
instead of D.
The limit of the resource per context, as an absolute number. If you specified a
percentage in the class definition, the ASA converts the percentage to an absolute
number for this display.
Total
The total amount of the resource that is allocated across all contexts in the class.
The amount is an absolute number of concurrent instances or instances per second.
If the resource is unlimited, this display is blank.
% of Avail
The percentage of the total system resources that is allocated across all contexts in
the class. If the resource is unlimited, this display is blank. If the resource does not
have a system limit, then this column shows N/A.
Enter the top n keyword to show the contexts that are the top n users of the specified resource. You
must specify a single resource type, and not resource all, with this option.
6-31
Chapter 6
The system option shows all context usage combined, but shows the system limits for resources
instead of the combined context limits.
For the resource resource_name, see Table 6-1 for available resource names. See also the show
resource type command. Specify all (the default) for all types.
The detail option shows the resource usage of all resources, including those you cannot manage. For
example, you can view the number of TCP intercepts.
were last cleared, either using the clear resource usage command or because the device
rebooted.
all(Default) Shows all statistics.
The count_threshold sets the number above which resources are shown. The default is 1. If the usage
of the resource is below the number you set, then the resource is not shown. If you specify all for
the counter name, then the count_threshold applies to the current usage.
The following is sample output from the show resource usage context command, which shows the
resource usage for the admin context:
ciscoasa# show resource usage context admin
Resource
Telnet
Conns
Hosts
Current
1
44
45
Peak
1
55
56
Limit
5
N/A
N/A
Denied
0
0
0
Context
admin
admin
admin
The following is sample output from the show resource usage summary command, which shows the
resource usage for all contexts and all resources. This sample shows the limits for six contexts.
ciscoasa# show resource usage summary
Resource
Syslogs [rate]
Conns
Xlates
Hosts
Conns [rate]
Inspects [rate]
Other VPN Sessions
Other VPN Burst
Current
1743
584
8526
254
270
270
0
0
Peak
2132
763
8966
254
535
535
10
10
Limit
Denied Context
N/A
0 Summary
280000(S)
0 Summary
N/A
0 Summary
N/A
0 Summary
N/A
1704 Summary
N/A
0 Summary
10
740 Summary
10
730 Summary
S = System: Combined context limits exceed the system limit; the system limit is shown.
The following is sample output from the show resource usage summary command, which shows the
limits for 25 contexts. Because the context limit for Telnet and SSH connections is 5 per context, then
the combined limit is 125. The system limit is only 100, so the system limit is shown.
ciscoasa# show resource usage summary
Resource
Telnet
Current
1
6-32
Peak
1
Limit
Denied
100[S]
0
Context
Summary
Chapter 6
SSH
2
2
100[S]
0
Summary
Conns
56
90
130000(S)
0
Summary
Hosts
89
102
N/A
0
Summary
S = System: Combined context limits exceed the system limit; the system limit is shown.
The following is sample output from the show resource usage system command, which shows the
resource usage for all contexts, but it shows the system limit instead of the combined context limits. The
counter all 0 option is used to show resources that are not currently in use. The Denied statistics indicate
how many times the resource was denied due to the system limit, if available.
ciscoasa# show resource usage system counter all 0
Resource
Telnet
SSH
ASDM
Routes
IPSec
Syslogs [rate]
Conns
Xlates
Hosts
Conns [rate]
Inspects [rate]
Other VPN Sessions
Other VPN Burst
Current
0
0
0
0
0
1
0
0
0
1
0
0
0
Peak
0
0
0
0
0
18
1
0
2
1
0
10
10
Limit
100
100
32
N/A
5
N/A
280000
N/A
N/A
N/A
N/A
750
750
Denied
0
0
0
0
0
0
0
0
0
0
0
740
730
Context
System
System
System
System
System
System
System
System
System
System
System
System
System
Step 2
Monitor the amount of resources being used by TCP intercept for individual contexts:
show resource usage detail
Step 3
Monitor the resources being used by TCP intercept for the entire system:
show resource usage summary detail
The following is sample output from the show perfmon command that shows the rate of TCP intercepts
for a context called admin.
6-33
Chapter 6
Current
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
322779/s
Average
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
0/s
322779/s
The following is sample output from the show resource usage detail command that shows the amount
of resources being used by TCP Intercept for individual contexts. (Sample text in bold shows the TCP
intercept information.)
ciscoasa(config)# show resource usage detail
Resource
Current
Peak
Limit
memory
843732
847288 unlimited
chunk:channels
14
15 unlimited
chunk:fixup
15
15 unlimited
chunk:hole
1
1 unlimited
chunk:ip-users
10
10 unlimited
chunk:list-elem
21
21 unlimited
chunk:list-hdr
3
4 unlimited
chunk:route
2
2 unlimited
chunk:static
1
1 unlimited
tcp-intercepts
328787
803610 unlimited
np-statics
3
3 unlimited
statics
1
1 unlimited
ace-rules
1
1 unlimited
console-access-rul
2
2 unlimited
fixup-rules
14
15 unlimited
memory
959872
960000 unlimited
chunk:channels
15
16 unlimited
chunk:dbgtrace
1
1 unlimited
chunk:fixup
15
15 unlimited
chunk:global
1
1 unlimited
chunk:hole
2
2 unlimited
chunk:ip-users
10
10 unlimited
chunk:udp-ctrl-blk
1
1 unlimited
chunk:list-elem
24
24 unlimited
chunk:list-hdr
5
6 unlimited
chunk:nat
1
1 unlimited
chunk:route
2
2 unlimited
chunk:static
1
1 unlimited
tcp-intercept-rate
16056
16254 unlimited
globals
1
1 unlimited
np-statics
3
3 unlimited
statics
1
1 unlimited
nats
1
1 unlimited
ace-rules
2
2 unlimited
console-access-rul
2
2 unlimited
fixup-rules
14
15 unlimited
memory
232695716
232020648 unlimited
chunk:channels
17
20 unlimited
chunk:dbgtrace
3
3 unlimited
6-34
Denied
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Context
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
admin
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
c1
system
system
system
Chapter 6
chunk:fixup
chunk:ip-users
chunk:list-elem
chunk:list-hdr
chunk:route
block:16384
block:2048
15
4
1014
1
1
510
32
15
4
1014
1
1
885
34
unlimited
unlimited
unlimited
unlimited
unlimited
unlimited
unlimited
0
0
0
0
0
0
0
system
system
system
system
system
system
system
The following sample output shows the resources being used by TCP intercept for the entire system.
(Sample text in bold shows the TCP intercept information.)
ciscoasa(config)# show resource usage summary detail
Resource
Current
Peak
Limit
memory
238421312
238434336 unlimited
chunk:channels
46
48 unlimited
chunk:dbgtrace
4
4 unlimited
chunk:fixup
45
45 unlimited
chunk:global
1
1 unlimited
chunk:hole
3
3 unlimited
chunk:ip-users
24
24 unlimited
chunk:udp-ctrl-blk
1
1 unlimited
chunk:list-elem
1059
1059 unlimited
chunk:list-hdr
10
11 unlimited
chunk:nat
1
1 unlimited
chunk:route
5
5 unlimited
chunk:static
2
2 unlimited
block:16384
510
885 unlimited
block:2048
32
35 unlimited
tcp-intercept-rate
341306
811579 unlimited
globals
1
1 unlimited
np-statics
6
6 unlimited
statics
2
2
N/A
nats
1
1
N/A
ace-rules
3
3
N/A
console-access-rul
4
4
N/A
fixup-rules
43
44
N/A
Denied
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Context
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
Summary
If you manually assign a MAC address to an interface, but also have auto-generation enabled, the
auto-generated address continues to show in the configuration even though the manual MAC address is
the one that is in use. If you later remove the manual MAC address, the auto-generated one shown will
be used.
Procedure
Step 1
Show the assigned MAC addresses from the system execution space:
6-35
Chapter 6
The all option is required to view the assigned MAC addresses. Although the mac-address auto
command is user-configurable in global configuration mode only, the command appears as a read-only
entry in context configuration mode along with the assigned MAC address. Only allocated interfaces that
are configured with a nameif command within the context have a MAC address assigned.
Examples
The following output from the show running-config all context admin command shows the primary
and standby MAC address assigned to the Management0/0 interface:
ciscoasa# show running-config all context admin
context admin
allocate-interface Management0/0
mac-address auto Management0/0 a24d.0000.1440 a24d.0000.1441
config-url disk0:/admin.cfg
The following output from the show running-config all context command shows all the MAC addresses
(primary and standby) for all context interfaces. Note that because the GigabitEthernet0/0 and
GigabitEthernet0/1 main interfaces are not configured with a nameif command inside the contexts, no
MAC addresses have been generated for them.
ciscoasa# show running-config all context
admin-context admin
context admin
allocate-interface Management0/0
mac-address auto Management0/0 a2d2.0400.125a a2d2.0400.125b
config-url disk0:/admin.cfg
!
context CTX1
allocate-interface GigabitEthernet0/0
allocate-interface GigabitEthernet0/0.1-GigabitEthernet0/0.5
mac-address auto GigabitEthernet0/0.1 a2d2.0400.11bc a2d2.0400.11bd
mac-address auto GigabitEthernet0/0.2 a2d2.0400.11c0 a2d2.0400.11c1
mac-address auto GigabitEthernet0/0.3 a2d2.0400.11c4 a2d2.0400.11c5
mac-address auto GigabitEthernet0/0.4 a2d2.0400.11c8 a2d2.0400.11c9
mac-address auto GigabitEthernet0/0.5 a2d2.0400.11cc a2d2.0400.11cd
allocate-interface GigabitEthernet0/1
allocate-interface GigabitEthernet0/1.1-GigabitEthernet0/1.3
mac-address auto GigabitEthernet0/1.1 a2d2.0400.120c a2d2.0400.120d
mac-address auto GigabitEthernet0/1.2 a2d2.0400.1210 a2d2.0400.1211
mac-address auto GigabitEthernet0/1.3 a2d2.0400.1214 a2d2.0400.1215
config-url disk0:/CTX1.cfg
!
context CTX2
allocate-interface GigabitEthernet0/0
allocate-interface GigabitEthernet0/0.1-GigabitEthernet0/0.5
mac-address auto GigabitEthernet0/0.1 a2d2.0400.11ba a2d2.0400.11bb
mac-address auto GigabitEthernet0/0.2 a2d2.0400.11be a2d2.0400.11bf
mac-address auto GigabitEthernet0/0.3 a2d2.0400.11c2 a2d2.0400.11c3
mac-address auto GigabitEthernet0/0.4 a2d2.0400.11c6 a2d2.0400.11c7
mac-address auto GigabitEthernet0/0.5 a2d2.0400.11ca a2d2.0400.11cb
allocate-interface GigabitEthernet0/1
allocate-interface GigabitEthernet0/1.1-GigabitEthernet0/1.3
mac-address auto GigabitEthernet0/1.1 a2d2.0400.120a a2d2.0400.120b
6-36
Chapter 6
Show the MAC address in use by each interface within the context:
show interface | include (Interface)|(MAC)
Examples
For example:
ciscoasa/context# show interface | include (Interface)|(MAC)
Interface GigabitEthernet1/1.1 "g1/1.1", is down, line protocol is down
MAC address a201.0101.0600, MTU 1500
Interface GigabitEthernet1/1.2 "g1/1.2", is down, line protocol is down
MAC address a201.0102.0600, MTU 1500
Interface GigabitEthernet1/1.3 "g1/1.3", is down, line protocol is down
MAC address a201.0103.0600, MTU 1500
...
Note
The show interface command shows the MAC address in use; if you manually assign a MAC address
and also have auto-generation enabled, then you can only view the unused auto-generated address from
within the system configuration.
Sets the default class limit for conns to 10 percent instead of unlimited, and sets the VPN other
sessions to 10, with a burst of 5.
Creates a context called administrator on the internal flash memory to be part of the default
resource class.
Adds two contexts from an FTP server as part of the gold resource class.
default
limit-resource conns 10%
limit-resource vpn other 10
limit-resource vpn burst other 5
6-37
Chapter 6
ciscoasa(config)# class
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
ciscoasa(config-class)#
gold
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
limit-resource
mac-addresses 10000
conns 15%
rate conns 1000
rate inspects 500
hosts 9000
asdm 5
ssh 5
rate syslogs 5000
telnet 5
xlates 36000
routes 700
vpn other 100
vpn burst other 50
context test
allocate-interface gigabitethernet0/0.100 int1
allocate-interface gigabitethernet0/0.102 int2
allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
int3-int8
ciscoasa(config-ctx)#
ciscoasa(config-ctx)#
context sample
allocate-interface gigabitethernet0/1.200 int1
allocate-interface gigabitethernet0/1.212 int2
allocate-interface gigabitethernet0/1.230-gigabitethernet0/1.235
config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg
member gold
config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg
member gold
Feature Name
Platform
Releases
Feature Information
7.0(1)
7.2(1)
6-38
Chapter 6
Table 6-5
Feature Name
Platform
Releases
Feature Information
Resource management
7.2(1)
8.0(2)
The AIP SSM running IPS software Version 6.0 and above
can run multiple virtual sensors, which means you can
configure multiple security policies on the AIP SSM. You
can assign each context or single mode ASA to one or more
virtual sensors, or you can assign multiple security contexts
to the same virtual sensor.
We introduced the following command: allocate-ips.
8.0(5)/8.2(2)
6-39
Chapter 6
Table 6-5
Feature Name
Platform
Releases
Feature Information
In multiple context mode, the ASA now converts the
automatic MAC address generation configuration to use a
default prefix. The ASA auto-generates the prefix based on
the last two bytes of the interface (ASA 5500-X) or
backplane (ASASM) MAC address. This conversion
happens automatically when you reload, or if you reenable
MAC address generation. The prefix method of generation
provides many benefits, including a better guarantee of
unique MAC addresses on a segment. You can view the
auto-generated prefix by entering the show running-config
mac-address command. If you want to change the prefix,
you can reconfigure the feature with a custom prefix. The
legacy method of MAC address generation is no longer
available.
Note
9.0(1)
9.0(1)
6-40
Chapter 6
Table 6-5
Feature Name
Platform
Releases
9.0(1)
Feature Information
Site-to-site VPN tunnels are now supported in multiple
context mode.
New resource types, vpn other and vpn burst other, were
created to set the maximum number of site-to-site VPN
tunnels in each context.
We modified the following commands: limit-resource,
show resource types, show resource usage, show
resource allocation.
6-41
Chapter 6
History for Multiple Context Mode
6-42
CH AP TE R
About Failover
Configuring failover requires two identical ASAs connected to each other through a dedicated failover
link and, optionally, a state link. The health of the active units and interfaces is monitored to determine
if specific failover conditions are met. If those conditions are met, failover occurs.
Intra- and Inter-Chassis Module Placement for the ASA Services Module, page 7-9
7-1
Chapter 7
About Failover
Failover Modes
The ASA supports two failover modes, Active/Active failover and Active/Standby failover. Each failover
mode has its own method for determining and performing failover.
In Active/Standby failover, one unit is the active unit. It passes traffic. The standby unit does not
actively pass traffic. When a failover occurs, the active unit fails over to the standby unit, which then
becomes active. You can use Active/Standby failover for ASAs in single or multiple context mode.
In an Active/Active failover configuration, both ASAs can pass network traffic. Active/Active
failover is only available to ASAs in multiple context mode. In Active/Active failover, you divide
the security contexts on the ASA into 2 failover groups. A failover group is simply a logical group
of one or more security contexts. One group is assigned to be active on the primary ASA, and the
other group is assigned to be active on the secondary ASA. When a failover occurs, it occurs at the
failover group level.
Hardware Requirements
The two units in a failover configuration must:
If you are using units with different flash memory sizes in your failover configuration, make sure the
unit with the smaller flash memory has enough space to accommodate the software image files and the
configuration files. If it does not, configuration synchronization from the unit with the larger flash
memory to the unit with the smaller flash memory will fail.
Software Requirements
The two units in a failover configuration must:
7-2
Chapter 7
Have the same major (first number) and minor (second number) software version. However, you can
temporarily use different versions of the software during an upgrade process; for example, you can
upgrade one unit from Version 8.3(1) to Version 8.3(2) and have failover remain active. We
recommend upgrading both units to the same version to ensure long-term compatibility.
Have the same AnyConnect images. If the failover pair has mismatched images when a hitless
upgrade is performed, then the clientless SSL VPN connection terminates in the final reboot step of
the upgrade process, the database shows an orphaned session, and the IP pool shows that the IP
address assigned to the client is in use.
Related Topics
License Requirements
The two units in a failover configuration do not need to have identical licenses; the licenses combine to
make a failover cluster license.
Related Topics
Caution
All information sent over the failover and state links is sent in clear text unless you secure the
communication with an IPsec tunnel or a failover key. If the ASA is used to terminate VPN tunnels, this
information includes any usernames, passwords and preshared keys used for establishing the tunnels.
Transmitting this sensitive data in clear text could pose a significant security risk. We recommend
securing the failover communication with an IPsec tunnel or a failover key if you are using the ASA to
terminate VPN tunnels.
Failover Link
The two units in a failover pair constantly communicate over a failover link to determine the operating
status of each unit.
7-3
Chapter 7
About Failover
When a failover unit boots up, it alternates between the member interfaces to detect an active unit.
If a failover unit stops receiving keepalive messages from its peer on one of the member interfaces,
it switches to the other member interface.
For an EtherChannel used as the failover link, to prevent out-of-order packets, only one interface in the
EtherChannel is used. If that interface fails, then the next interface in the EtherChannel is used. You
cannot alter the EtherChannel configuration while it is in use as a failover link.
Using a switch, with no other device on the same network segment (broadcast domain or VLAN) as
the failover interfaces of the ASA.
Using an Ethernet cable to connect the units directly, without the need for an external switch.
If you do not use a switch between the units, if the interface fails, the link is brought down on both peers.
This condition may hamper troubleshooting efforts because you cannot easily determine which unit has
the failed interface and caused the link to come down.
The ASA supports Auto-MDI/MDIX on its copper Ethernet ports, so you can either use a crossover cable
or a straight-through cable. If you use a straight-through cable, the interface automatically detects the
cable and swaps one of the transmit/receive pairs to MDIX.
7-4
Chapter 7
Note
Using a switch, with no other device on the same network segment (broadcast domain or VLAN) as
the failover interfaces of the ASA.
Using an Ethernet cable to connect the appliances directly, without the need for an external switch.
If you do not use a switch between the units, if the interface fails, the link is brought down on both
peers. This condition may hamper troubleshooting efforts because you cannot easily determine
which unit has the failed interface and caused the link to come down.
The ASA supports Auto-MDI/MDIX on its copper Ethernet ports, so you can either use a crossover
cable or a straight-through cable. If you use a straight-through cable, the interface automatically
detects the cable and swaps one of the transmit/receive pairs to MDIX.
For optimum performance when using long distance failover, the latency for the failover link should be
less than 10 milliseconds and no more than 250 milliseconds. If latency is more than10 milliseconds,
some performance degradation occurs due to retransmission of failover messages.
If a single switch or a set of switches are used to connect both failover and data interfaces between two
ASAs, then when a switch or inter-switch-link is down, both ASAs become active. Therefore, the
following two connection methods shown in the following figures are NOT recommended.
7-5
Chapter 7
About Failover
outside
Figure 7-2
Primary ASA
Failover link
inside
Failover link
inside
Secondary ASA
outside
Failover link
inside
Switch 1
Switch 2
ISL
outside
Failover link
inside
Secondary ASA
236370
Primary ASA
outside
236369
Figure 7-1
Scenario 2Recommended
We recommend that failover links NOT use the same switch as the data interfaces. Instead, use a different
switch or use a direct cable to connect the failover link, as shown in the following figures.
Figure 7-3
Switch 1
Primary ASA
outside
outside
inside
inside
Secondary ASA
Failover link
Figure 7-4
Failover link
236371
Switch 2
Switch 1
outside
inside
inside
Failover link
Failover link
Ethernet cable
Secondary ASA
236372
Primary ASA
outside
Scenario 3Recommended
If the ASA data interfaces are connected to more than one set of switches, then a failover link can be
connected to one of the switches, preferably the switch on the secure (inside) side of network, as shown
in the following figure.
7-6
Switch 1
Primary ASA
outside
Failover link
Switch 2
outside
ISL
Switch 3
Switch 4
ISL
inside
Secondary ASA
Failover link
236373
Figure 7-5
inside
Scenario 4Recommended
The most reliable failover configurations use a redundant interface on the failover link, as shown in the
following figures.
Figure 7-6
Switch 1
outside
Switch 2
outside
ISL
Switch 3
Primary ASA
Active redundant
failover link
Active redundant
failover link
Secondary ASA
Switch 4
Standby redundant
failover link
Standby redundant
failover link
Switch 5
inside
Switch 6
ISL
inside
236375
Chapter 7
7-7
Chapter 7
About Failover
Switch 1
outside
Switch 2
Switch 3
Primary
ASA
outside
ISL
Active redundant
failover link
Switch 4
Active redundant
failover link
ISL
Switch 5
Standby redundant
failover link
Switch 6
Standby redundant
failover link
ISL
Switch 7
inside
Secondary
ASA
Switch 8
ISL
inside
236376
Figure 7-7
When the primary unit or failover group fails over, the secondary unit assumes the IP addresses and
MAC addresses of the primary unit and begins passing traffic.
2.
The unit that is now in standby state takes over the standby IP addresses and MAC addresses.
Because network devices see no change in the MAC to IP address pairing, no ARP entries change or time
out anywhere on the network.
If the secondary unit boots without detecting the primary unit, the secondary unit becomes the active unit
and uses its own MAC addresses, because it does not know the primary unit MAC addresses. However,
when the primary unit becomes available, the secondary (active) unit changes the MAC addresses to
those of the primary unit, which can cause an interruption in your network traffic.Similarly, if you swap
out the primary unit with new hardware, a new MAC address is used.
Virtual MAC addresses guard against this disruption because the active MAC addresses are known to the
secondary unit at startup, and remain the same in the case of new primary unit hardware. In multiple
context mode, the ASA generates virtual active and standby MAC addresses by default. In single context
mode, you can manually configure virtual MAC addresses.
If you do not configure virtual MAC addresses, you might need to clear the ARP tables on connected
routers to restore traffic flow. The ASA does not send gratuitous ARPs for static NAT addresses when
the MAC address changes, so connected routers do not learn of the MAC address change for these
addresses.
The IP address and MAC address for the state link do not change at failover; the only exception is if the
state link is configured on a regular data interface.
7-8
Chapter 7
Related Topics
Intra- and Inter-Chassis Module Placement for the ASA Services Module
You can place the primary and secondary ASASMs within the same switch or in two separate switches.
Intra-Chassis Failover
If you install the secondary ASASM in the same switch as the primary ASASM, you protect against
module-level failure.
Even though both ASASMs are assigned the same VLANs, only the active module takes part in
networking. The standby module does not pass any traffic.
The following figure shows a typical intra-switch configuration.
Figure 7-8
Intra-Switch Failover
Internet
VLAN 100
Switch
VLAN 200
Failover VLAN 10
Standby
ASASM
Active
ASASM
State VLAN 11
Inside
255219
VLAN 201
Inter-Chassis Failover
To protect against switch-level failure, you can install the secondary ASASM in a separate switch. The
ASASM does not coordinate failover directly with the switch, but it works harmoniously with the switch
failover operation. See the switch documentation to configure failover for the switch.
7-9
Chapter 7
About Failover
For the best reliability of failover communications between ASASMs, we recommend that you configure
an EtherChannel trunk port between the two switches to carry the failover and state VLANs.
For other VLANs, you must ensure that both switches have access to all firewall VLANs, and that
monitored VLANs can successfully pass hello packets between both switches.
The following figure shows a typical switch and ASASM redundancy configuration. The trunk between
the two switches carries the failover ASASM VLANs (VLANs 10 and 11).
Note
ASASM failover is independent of the switch failover operation; however, ASASM works in any switch
failover scenario.
Figure 7-9
Normal Operation
Internet
VLAN 100
Switch
Switch
VLAN 200
VLAN 10
Active
ASASM
Failover Trunk
VLAN 11
Eng
Standby
ASASM
VLAN 203
Mktg
303729
VLAN 202
Inside
VLAN 201
7-10
If the primary ASASM fails, then the secondary ASASM becomes active and successfully passes the
firewall VLANs.
Figure 7-10
ASASM Failure
Internet
VLAN 100
Switch
Switch
VLAN 200
VLAN 10
Failed
ASASM
Failover Trunk
VLAN 11
Eng
Active
ASASM
VLAN 203
Mktg
VLAN 202
303730
Chapter 7
Inside
VLAN 201
7-11
Chapter 7
About Failover
If the entire switch fails, as well as the ASASM (such as in a power failure), then both the switch and
the ASASM fail over to their secondary units.
Figure 7-11
Switch Failure
Internet
VLAN 100
Failed Switch
Switch
VLAN 200
VLAN 10
Failed
ASASM
Failover Trunk
VLAN 11
Eng
Active
ASASM
VLAN 203
Mktg
303728
VLAN 202
Inside
VLAN 201
Note
Some configuration elements for clientless SSL VPN (such as bookmarks and customization) use the
VPN failover subsystem, which is part of Stateful Failover. You must use Stateful Failover to
synchronize these elements between the members of the failover pair. Stateless failover is not
recommended for clientless SSL VPN.
7-12
Chapter 7
Stateless Failover
When a failover occurs, all active connections are dropped. Clients need to reestablish connections when
the new active unit takes over.
Note
Some configuration elements for clientless SSL VPN (such as bookmarks and customization) use the
VPN failover subsystem, which is part of Stateful Failover. You must use Stateful Failover to
synchronize these elements between the members of the failover pair. Stateless (regular) failover is not
recommended for clientless SSL VPN.
Stateful Failover
When Stateful Failover is enabled, the active unit continually passes per-connection state information to
the standby unit, or in Active/Active failover, between the active and standby failover groups. After a
failover occurs, the same connection information is available at the new active unit. Supported end-user
applications are not required to reconnect to keep the same communication session.
Supported Features
The following state information is passed to the standby ASA when Stateful Failover is enabled:
The HTTP connection states (if HTTP replication is enabled)By default, the ASA does not
replicate HTTP session information when Stateful Failover is enabled. Because HTTP sessions are
typically short-lived, and because HTTP clients typically retry failed connection attempts, not
replicating HTTP sessions increases system performance without causing serious data or connection
loss.
ICMP connection stateICMP connection replication is enabled only if the respective interface is
assigned to an asymmetric routing group.
Dynamic Routing ProtocolsStateful Failover participates in dynamic routing protocols, like OSPF
and EIGRP, so routes that are learned through dynamic routing protocols on the active unit are
maintained in a Routing Information Base (RIB) table on the standby unit. Upon a failover event,
packets travel normally with minimal disruption to traffic because the active secondary ASA
initially has rules that mirror the primary ASA. Immediately after failover, the re-convergence timer
starts on the newly Active unit. Then the epoch number for the RIB table increments. During
re-convergence, OSPF and EIGRP routes become updated with a new epoch number. Once the timer
is expired, stale route entries (determined by the epoch number) are removed from the table. The
RIB then contains the newest routing protocol forwarding information on the newly Active unit.
7-13
Chapter 7
About Failover
Note
Routes are synchronized only for link-up or link-down events on an active unit. If the link goes
up or down on the standby unit, dynamic routes sent from the active unit may be lost. This is
normal, expected behavior.
Cisco IP SoftPhone sessionsIf a failover occurs during an active Cisco IP SoftPhone session, the
call remains active because the call session state information is replicated to the standby unit. When
the call is terminated, the IP SoftPhone client loses connection with the Cisco Call Manager. This
connection loss occurs because there is no session information for the CTIQBE hangup message on
the standby unit. When the IP SoftPhone client does not receive a response back from the Call
Manager within a certain time period, it considers the Call Manager unreachable and unregisters
itself.
VPNVPN end-users do not have to reauthenticate or reconnect the VPN session after a failover.
However, applications operating over the VPN connection could lose packets during the failover
process and not recover from the packet loss.
Unsupported Features
The following state information is not passed to the standby ASA when Stateful Failover is enabled:
Application inspections that are subject to advanced TCP-state trackingThe TCP state of these
connections is not automatically replicated. While these connections are replicated to the standby
unit, there is a best-effort attempt to re-establish a TCP state.
Multicast routing
Phone proxy connectionsWhen the active unit goes down, the call fails, media stops flowing, and
the phone should unregister from the failed unit and reregister with the active unit. The call must be
re-established.
Transparent Mode Requirements for the ASA Services Module, page 7-15
7-14
Chapter 7
The PortFast feature immediately transitions the port into STP forwarding mode upon linkup. The
port still participates in STP. So if the port is to be a part of the loop, the port eventually transitions
into STP blocking mode.
Trunk modeBlock BPDUs on the ASA on both the inside and outside interfaces with an EtherType
access rule.
access-list id ethertype deny bpdu
access-group id in interface inside_name
access-group id in interface outside_name
Blocking BPDUs disables STP on the switch. Be sure not to have any loops involving the ASA in
your network layout.
If neither of the above options are possible, then you can use one of the following less desirable
workarounds that impacts failover functionality or STP stability:
Increase interface holdtime to a high value that will allow STP to converge before the ASAs fail
over.
Decrease STP timers to allow STP to converge faster than the interface holdtime.
7-15
Chapter 7
About Failover
Figure 7-12
Internet
MSFC
VLAN 200
Failover VLAN 10
Active
ASASM
Active
ASASM
State VLAN 11
Inside
303731
VLAN 201
If the ASA receives a response on the failover link, then it does not fail over.
If the ASA does not receive a response on the failover link, but it does receive a response on a data
interface, then the unit does not failover. The failover link is marked as failed. You should restore
the failover link as soon as possible because the unit cannot fail over to the standby while the failover
link is down.
If the ASA does not receive a response on any interface, then the standby unit switches to active
mode and classifies the other unit as failed.
7-16
Chapter 7
Interface Monitoring
You can monitor up to 250 interfaces (in multiple mode, divided between all contexts). You should
monitor important interfaces. For example in multiple mode, you might configure one context to monitor
a shared interface: because the interface is shared, all contexts benefit from the monitoring.
When a unit does not receive hello messages on a monitored interface for 2 polling periods, it runs
interface tests. If all interface tests fail for an interface, but this same interface on the other unit continues
to successfully pass traffic, then the interface is considered to be failed. If the threshold for failed
interfaces is met, then a failover occurs. If the other unit interface also fails all the network tests, then
both interfaces go into the Unknown state and do not count towards the failover limit.
An interface becomes operational again if it receives any traffic. A failed ASA returns to standby mode
if the interface failure threshold is no longer met.
If you have a services module, such as the ASA FirePOWER SSP, then the ASA also monitors the health
of the module over the backplane interface. Failure of the module is considered a unit failure and will
trigger failover. This setting is configurable.
If an interface has IPv4 and IPv6 addresses configured on it, the ASA uses the IPv4 addresses to perform
the health monitoring.
If an interface has only IPv6 addresses configured on it, then the ASA uses IPv6 neighbor discovery
instead of ARP to perform the health monitoring tests. For the broadcast ping test, the ASA uses the IPv6
all nodes address (FE02::1).
Note
If a failed unit does not recover and you believe it should not be failed, you can reset the state by entering
the failover reset command. If the failover condition persists, however, the unit will fail again.
Interface Tests
The ASA uses the following interface tests:
1.
Link Up/Down testA test of the interface status. If the Link Up/Down test indicates that the
interface is down, then the ASA considers it failed. If the status is Up, then the ASA performs the
Network Activity test.
2.
Network Activity testA received network activity test. The purpose of this test is to generate
network traffic using LANTEST messages to determine which (if either) unit has failed. At the start
of the test, each unit clears its received packet count for its interfaces. As soon as a unit receives any
packets during the test (up to 5 seconds), then the interface is considered operational. If one unit
receives traffic and the other unit does not, then the unit that received no traffic is considered failed.
If neither unit received traffic, then the ASA starts the ARP test.
3.
ARP testA reading of the unit ARP cache for the 10 most recently acquired entries. One at a time,
the unit sends ARP requests to these machines, attempting to stimulate network traffic. After each
request, the unit counts all received traffic for up to 5 seconds. If traffic is received, the interface is
considered operational. If no traffic is received, an ARP request is sent to the next machine. If at the
end of the list no traffic has been received, the ASA starts the ping test.
4.
Broadcast Ping testA ping test that consists of sending out a broadcast ping request. The unit then
counts all received packets for up to 5 seconds. If any packets are received at any time during this
interval, the interface is considered operational and testing stops. If no traffic is received, the testing
starts over again with the ARP test.
7-17
Chapter 7
About Failover
Interface Status
Monitored interfaces can have the following status:
UnknownInitial status. This status can also mean the status cannot be determined.
TestingHello messages are not heard on the interface for five poll times.
FailedNo traffic is received on the interface, yet traffic is heard on the peer interface.
Failover Times
The following table shows the minimum, default, and maximum failover times.
Table 7-1
Failover Condition
Minimum
Default
Maximum
800 milliseconds
15 seconds
45 seconds
500 milliseconds
5 seconds
15 seconds
2 seconds
5 seconds
15 seconds
2 seconds
2 seconds
2 seconds
5 seconds
25 seconds
75 seconds
Configuration Synchronization
Failover includes various types of configuration synchronization.
7-18
Chapter 7
Note
During replication, commands entered on the active unit may not replicate properly to the standby unit,
and commands entered on the standby unit may be overwritten by the configuration being replicated
from the active unit. Avoid entering commands on either unit during the configuration replication
process.
Note
The crypto ca server command and related sub commands are not synchronized to the failover peer.
File Replication
Configuration syncing does not replicate the following files and configuration components, so you must
copy these files manually so they match:
AnyConnect images
CSD images
AnyConnect profiles
The ASA uses a cached file for the AnyConnect client profile stored in cache:/stc/profiles, and not
the file stored in the flash file system. To replicate the AnyConnect client profile to the standby unit,
perform one of the following:
Enter the write standby command on the active unit.
Reapply the profile on the active unit.
Reload the standby unit.
ASA images
ASDM images
Command Replication
After startup, commands that you enter on the active unit are immediately replicated to the standby
unit.You do not have to save the active configuration to flash memory to replicate the commands.
In Active/Active failover,changes entered in the system execution space are replicated from the unit on
which failover group 1 is in the active state.
Failure to enter the changes on the appropriate unit for command replication to occur causes the
configurations to be out of synchronization. Those changes may be lost the next time the initial
configuration synchronization occurs.
The following commands are replicated to the standby ASA:
All configuration commands except for mode, firewall, and failover lan unit
delete
mkdir
rename
rmdir
7-19
Chapter 7
About Failover
write memory
All forms of the copy command except for copy running-config startup-config
debug
firewall
show
Note
For multiple context mode, the ASA can fail over the entire unit (including all contexts) but cannot fail
over individual contexts separately.
The primary unit always becomes the active unit if both units start up at the same time (and are of
equal operational health).
The primary unit MAC addresses are always coupled with the active IP addresses. The exception to
this rule occurs when the secondary unit is active and cannot obtain the primary unit MAC addresses
over the failover link. In this case, the secondary unit MAC addresses are used.
If a unit boots and detects a peer already running as active, it becomes the standby unit.
If a unit boots and does not detect a peer, it becomes the active unit.
If both units boot simultaneously, then the primary unit becomes the active unit, and the secondary
unit becomes the standby unit.
7-20
Chapter 7
Failover Events
In Active/Standby failover, failover occurs on a unit basis. Even on systems running in multiple context
mode, you cannot fail over individual or groups of contexts.
The following table shows the failover action for each failure event. For each failure event, the table
shows the failover policy (failover or no failover), the action taken by the active unit, the action taken by
the standby unit, and any special notes about the failover condition and actions.
Table 7-2
Failover Events
Failure Event
Policy
Active Action
Standby Action
Notes
Failover
n/a
Become active
Mark active as
failed
No failover
Become standby
No action
None.
Mark standby as
failed
n/a
No failover
No failover
Become active
No failover
No action
No action
Mark active as
failed
Become active
None.
No action
Mark standby as
failed
No failover
Primary/Secondary Roles and Active/Standby Status for a Failover Group, page 7-22
7-21
Chapter 7
About Failover
Note
When configuring Active/Active failover, make sure that the combined traffic for both units is within the
capacity of each unit.
Note
You can assign both failover groups to one ASA if desired, but then you are not taking advantage of
having two active ASAs.
The primary unit provides the running configuration to the pair when they boot simultaneously.
Each failover group in the configuration is configured with a primary or secondary unit preference.
When a unit boots while the peer unit is not available, both failover groups become active on the
unit.
When a unit boots while the peer unit is active (with both failover groups in the active state), the
failover groups remain in the active state on the active unit regardless of the primary or secondary
preference of the failover group until one of the following occurs:
A failover occurs.
You manually force a failover.
You configured preemption for the failover group, which causes the failover group to
automatically become active on the preferred unit when the unit becomes available.
7-22
Chapter 7
When both units boot at the same time, each failover group becomes active on its preferred unit after
the configurations have been synchronized.
Failover Events
In an Active/Active failover configuration, failover occurs on a failover group basis, not a system basis.
For example, if you designate both failover groups as active on the primary unit, and failover group 1
fails, then failover group 2 remains active on the primary unit while failover group 1 becomes active on
the secondary unit.
Because a failover group can contain multiple contexts, and each context can contain multiple interfaces,
it is possible for all interfaces in a single context to fail without causing the associated failover group to
fail.
The following table shows the failover action for each failure event. For each failure event, the policy
(whether or not failover occurs), actions for the active failover group, and actions for the standby failover
group are given.
Table 7-3
Failover Events
Active Group
Action
Standby Group
Action
Failure Event
Policy
Notes
Failover
Failover
Mark active
group as failed
Become active
None.
No failover No action
Mark standby
group as failed
No failover No action
No action
Become active
No failover No action
No action
No failover n/a
n/a
7-23
Chapter 7
License Requirement
Active/ActiveNo Support.
Note
Note
Each unit must have the same encryption license; each unit must have the same IPS module
license. You also need the IPS signature subscription on the IPS side for both units. See the
following guidelines:
To buy the IPS signature subscription you need to have the ASA with IPS pre-installed (the
part number must include IPS, for example ASA5515-IPS-K9); you cannot buy the IPS
signature subscription for a non-IPS part number ASA.
You need the IPS signature subscription on both units; this subscription is not shared in
licenses, the IPS module license is technically shared in the failover cluster license. However,
because of the IPS signature subscription requirements, you must buy a separate IPS module
license for each unit in.
ASAv
Active/ActiveNo Support.
Note
The standby unit requires the same model license as the primary unit; Each unit must have the
same encryption license.
Base License.
Note
For multiple context mode, perform all steps in the system execution space unless otherwise noted.
ASA failover replication fails if you try to make a configuration change in two or more contexts at
the same time. The workaround is to make configuration changes in each context sequentially.
7-24
Chapter 7
Model Support
For the ASA 5506W-X, you must disable interface monitoring for the internal GigabitEthernet 1/9
interface. These interfaces will not be able to communicate to perform the default interface monitoring
checks, resulting in a switch from active to standby and back again because of expected interface
communication failures.
Additional Guidelines
Configuring port security on the switch(es) connected to an ASA failover pair can cause
communication problems when a failover event occurs. This problem occurs when a secure MAC
address configured or learned on one secure port moves to another secure port, a violation is flagged
by the switch port security feature.
For Active/Active failover, no two interfaces in the same context should be configured in the same
ASR group.
For Active/Active failover, you can define a maximum of two failover groups.
For Active/Active failover, when removing failover groups, you must remove failover group 1 last.
Failover group1 always contains the admin context. Any context not assigned to a failover group
defaults to failover group 1. You cannot remove a failover group that has contexts explicitly assigned
to it.
Related Topics
Virtual MAC addresses are enabled in multiple context mode; in single context mode, they are
disabled.
Monitoring on all physical interfaces, or for the ASASM, all VLAN interfaces.
7-25
Chapter 7
Choose Wizards > High Availability and Scalability. See select wizard guidelines in the following
steps.
Step 2
On the Failover Peer Connectivity and Compatibility screen, enter the IP address of the peer unit. This
address must be an interface that has ASDM access enabled on it.
By default, the peer address is assigned to be the standby address for the ASDM management interface.
Step 3
Step 4
Step 5
Standby IP AddressThis IP address must be on the same network as the active IP address.
On the State Link Configuration screen, if you choose another interface for Stateful Failover:
Active IP AddressThis IP address should be on an unused subnet, different from the failover link.
Standby IP AddressThis IP address must be on the same network as the active IP address.
After you click Finish, the wizard shows the Waiting for Config Sync screen.
After the specified time period is over, the wizard sends the failover configuration to the secondary unit,
and you see an information screen showing that failover configuration is complete.
If you do not know if failover is already enabled on the secondary unit, then wait for the specified
period.
If you know the secondary unit is not yet failover-enabled, click Stop waiting xx more seconds,
and the failover bootstrap configuration is sent to the secondary unit immediately.
Choose Wizards > High Availability and Scalability. See select wizard guidelines in the following
steps.
Step 2
In the Failover Peer Connectivity and Compatibility Check screen, the peer IP address must be an
interface that has ASDM access enabled on it.
7-26
Chapter 7
By default, the peer address is assigned to be the standby address for the interface to which ASDM is
connected.
Step 3
In the Security Context Configuration screen, if you converted to multiple context mode as part of the
wizard, you will only see the admin context. You can add other contexts after you exit the wizard.
Step 4
Step 5
Step 6
Standby IP AddressThis IP address must be on the same network as the active IP address.
On the State Link Configuration screen, if you choose another interface for Stateful Failover:
Active IP AddressThis IP address should be on an unused subnet, different from the failover link.
Standby IP AddressThis IP address must be on the same network as the active IP address.
After you click Finish, the wizard shows the Waiting for Config Sync screen.
After the specified time period is over, the wizard sends the failover configuration to the secondary unit,
and you see an information screen showing that failover configuration is complete.
If you do not know if failover is already enabled on the secondary unit, then wait for the specified
period.
If you know the secondary unit is not yet failover-enabled, click Stop waiting xx more seconds,
and the failover bootstrap configuration is sent to the secondary unit immediately.
Configure Support for Asymmetrically Routed Packets (Active/Active Mode), page 7-30
Configure these settings in the system execution space in multiple context mode.
7-27
Chapter 7
Procedure
Step 1
Choose Configuration > Device Management > High Availability and Scalability > Failover.
Step 2
Disable the ability to make any configuration changes directly on the standby unit or context: on the
Setup tab check the Disable configuration changes on the standby unit check box.
By default, configurations on the standby unit/context are allowed with a warning message.
Step 3
Step 4
Unit FailoverThe amount of time between hello messages among units. The range is between 1
and 15 seconds or between 200 and 999 milliseconds.
Unit Hold TimeSets the time during which a unit must receive a hello message on the failover
link, or else the unit begins the testing process for peer failure. The range is between 1and 45
seconds or between 800 and 999 milliseconds. You cannot enter a value that is less than 3 times the
polltime.
Note
Other settings on this pane apply only to Active/Standby mode. In Active/Active mode, you must
configure the rest of the parameters per failover group.
Step 5
(Active/Active mode only) Click the Active/Active tab, then choose a failover group and click Edit.
Step 6
(Active/Active mode only) Change the preferred role of the failover group: click either Primary or
Secondary.
If you used the wizard, failover group 1 is assigned to the primary unit, and failover group 2 is assigned
to the secondary unit. If you want a non-standard configuration, you can specify different unit
preferences if desired
Step 7
(Active/Active mode only) Configure failover group preemption: check the Preempt after booting with
optional delay of check box.
If one unit boots before the other, then both failover groups become active on that unit, despite the
Primary or Secondary setting. This option causes the failover group to become active on the designated
unit automatically when that unit becomes available.
You can enter an optional delay value, which specifies the number of seconds the failover group remains
active on the current unit before automatically becoming active on the designated unit. Valid values are
from 1 to 1200.
Note
Step 8
If Stateful Failover is enabled, the preemption is delayed until the connections are replicated
from the unit on which the failover group is currently active.
Number of failed interfaces that triggers failoverDefine a specific number of interfaces that
must fail to trigger failover, from 1 to 250. When the number of failed monitored interfaces exceeds
the value you specify, the ASA fails over.
7-28
Chapter 7
Note
Step 9
Do not use the Use system failover interface policy option. You can only set the policy per
group at this time.
Monitored InterfacesThe amount of time between polls among interfaces. The range is between
1and 15 seconds or 500 to 999 milliseconds.
Interface Hold TimeSets the time during which a data interface must receive a hello message on
the data interface, after which the peer is declared failed. Valid values are from 5 to 75 seconds.
For Active/Active mode, configure interface poll times on the Add/Edit Failover Group dialog box.
Step 10
(Active/Active mode only) Enable HTTP replication: check the Enable HTTP replication check box.
For Active/Standby mode, see Modify the Failover Setup, page 7-32. For both modes, see Modify the
Failover Setup, page 7-32 section for the HTTP replication rate.
Step 11
You can also set the MAC address using other methods, but we recommend using only one method. If
you set the MAC address using multiple methods, the MAC address used depends on many variables,
and might not be predictable.
Step 12
a.
b.
In the Active MAC Address field, type the new MAC address for the active interface.
c.
In the Standby MAC Address field, type the new MAC address for the standby interface.
d.
Click Apply.
You can monitor up to 250 interfaces on a unit (across all contexts in multiple context mode).
7-29
Chapter 7
Procedure
Step 1
In single mode, choose Configuration > Device Management > High Availability > Failover >
Interfaces.
In multiple context mode, within a context choose Configuration > Device Management > Failover >
Interfaces
A list of configured interfaces appears as well as any installed hardware modules, such as the ASA
FirePOWER module. The Monitored column displays whether or not an interface is monitored as part
of your failover criteria. If it is monitored, a check appears in the Monitored check box.
If you do not want a hardware module failure to trigger failover, you can disable module monitoring.
The IP address for each interface appears in the Active IP Address column. If configured, the standby
IP address for the interface appears in the Standby IP Address column. The failover link and state link
do not display IP address; you cannot change those addresses from this tab.
Step 2
To disable monitoring of a listed interface, uncheck the Monitored check box for the interface.
Step 3
To enable monitoring of a listed interface, check the Monitored check box for the interface.
Step 4
For each interface that does not have a standby IP address, double-click the Standby IP Address field
and enter an IP address into the field.
Step 5
Click Apply.
7-30
information for the other interfaces in standby contexts that are in the same group; in this case, ASR
group 1. If it does not find a match, the packet is dropped. If it finds a match, then one of the following
actions occurs:
Note
If the incoming traffic originated on a peer unit, some or all of the layer 2 header is rewritten and
the packet is redirected to the other unit. This redirection continues as long as the session is active.
If the incoming traffic originated on a different interface on the same unit, some or all of the layer
2 header is rewritten and the packet is reinjected into the stream.
This feature does not provide asymmetric routing; it restores asymmetrically routed packets to the
correct interface.
The following figure shows an example of an asymmetrically routed packet.
Figure 7-13
ASR Example
ISP A
ISP B
192.168.1.1
192.168.2.2
192.168.2.1
192.168.1.2
SecAppA
SecAppB
Failover/State link
Outbound Traffic
Return Traffic
Inside
network
250093
Chapter 7
1.
An outbound session passes through the ASA with the active SecAppA context. It exits interface
outsideISP-A (192.168.1.1).
2.
Because of asymmetric routing configured somewhere upstream, the return traffic comes back
through the interface outsideISP-B (192.168.2.2) on the ASA with the active SecAppB context.
3.
Normally the return traffic would be dropped because there is no session information for the traffic
on interface 192.168.2.2. However, the interface is configured as part of ASR group 1. The unit
looks for the session on any other interface configured with the same ASR group ID.
4.
The session information is found on interface outsideISP-A (192.168.1.2), which is in the standby
state on the unit with SecAppB. Stateful Failover replicated the session information from SecAppA
to SecAppB.
7-31
Chapter 7
Manage Failover
5.
Instead of being dropped, the layer 2 header is rewritten with information for interface 192.168.1.1
and the traffic is redirected out of the interface 192.168.1.2, where it can then return through the
interface on the unit from which it originated (192.168.1.1 on SecAppA). This forwarding continues
as needed until the session ends.
Stateful FailoverPasses state information for sessions on interfaces in the active failover group to
the standby failover group.
Replication HTTPHTTP session state information is not passed to the standby failover group, and
therefore is not present on the standby interface. For the ASA to be able to re-route asymmetrically
routed HTTP packets, you need to replicate the HTTP state information.
Perform this procedure within each active context on the primary and secondary units.
You cannot configure both ASR groups and traffic zones within a context. If you configure a zone
in a context, none of the context interfaces can be part of an ASR group.
Procedure
Step 1
On the primary unit active context, choose Configuration > Device Setup > Routing > ASR Groups.
Step 2
For the interface that receives asymmetrically routed packets, choose an ASR Group ID from the
drop-down list.
Step 3
Step 4
Connect ASDM to the secondary unit, and choose the active context similar to the primary unit context.
Step 5
Choose Configuration > Device Setup > Routing > ASR Groups.
Step 6
For the similar interface on this unit, choose the same ASR Group ID.
Step 7
Manage Failover
This section describes how to manage failover units after you enable failover, including how to change
the failover setup and how to force failover from one unit to another.
7-32
Chapter 7
In multiple context mode, perform this procedure in the System execution space.
Procedure
Step 1
In single mode, choose Configuration > Device Management > High Availability and Scalability >
Failover > Setup.
In multiple context mode, choose Configuration > Device Management > Failover > Setup in the
System execution space.
Step 2
Note
Step 3
Failover is not actually enabled until you apply your changes to the device.
To encrypt communications on the failover and state links, use one of the following options:
IPsec Preshared Key (preferred)The preshared key is used by IKEv2 to establish IPsec
LAN-to-LAN tunnels on the failover links between the failover units. Note: failover LAN-to-LAN
tunnels do not count against the IPsec (Other VPN) license.
Secret KeyEnter the secret key used to encrypt failover communication. If you leave this field
blank, failover communication, including any passwords or keys in the configuration that are sent
during command replication, will be in clear text.
Use 32 hexadecimal character keyTo use a 32-hexadecimal key for the secret key, check this
check box.
Step 4
In the LAN Failover area, set the following parameters for the failover link:
InterfaceChoose the interface to use for the failover link. Failover requires a dedicated interface,
however you can share the interface with Stateful Failover.
Only unconfigured interfaces or subinterfaces are displayed in this list and can be selected as the
failover link. Once you specify an interface as the failover link, you cannot edit that interface in the
Configuration > Interfaces pane.
Step 5
Logical NameSpecify the logical name of the interface used for failover communication, such as
failover. This name is informational.
Active IPSpecify the active IP address for the interface. The IP address can be either an IPv4 or
an IPv6 address. This IP address should be on an unused subnet.
Standby IPSpecify the standby IP address for the interface, on the same subnet as the active IP
address.
Preferred RoleSelect Primary or Secondary to specify whether the preferred role for this ASA
is as the primary or secondary unit.
InterfaceChoose the interface to use for the state link. You can choose an unconfigured interface
or subinterface, the failover link, or the --Use Named-- option.
7-33
Chapter 7
Manage Failover
Note
We recommend that you use two separate, dedicated interfaces for the failover link and the
state link.
If you choose an unconfigured interface or subinterface, you must supply the Active IP, Subnet
Mask, Logical Name, and Standby IP for the interface.
If you choose the failover link, you do not need to specify the Active IP, Subnet Mask, Logical
Name, and Standby IP values; the values specified for the failover link are used.
If you choose the --Use Named-- option, the Logical Name field becomes a drop-down list of named
interfaces. Choose the interface from this list. The Active IP, Subnet Mask/Prefix Length, and
Standby IP values do not need to be specified. The values specified for the interface are used.
Logical NameSpecify the logical name of the interface used for state communication, such as
state. This name is informational.
Active IPSpecify the active IP address for the interface. The IP address can be either an IPv4 or
an IPv6 address. This IP address should be on an unused subnet, different from the failover link.
Standby IPSpecify the standby IP address for the interface, on the same subnet as the active IP
address.
(Optional, Active/Standby only) Enable HTTP ReplicationThis option enables Stateful Failover
to copy active HTTP sessions to the standby firewall. If you do not allow HTTP replication, then
HTTP connections are disconnected in the event of a failover. In Active/Active mode, set the HTTP
replication per failover group.
Step 6
In the Replication area, set the HTTP replication rate between 8341 connections per second and 50000.
The default is 50000. To use the default, check the Use Default check box.
Step 7
Click Apply.
The configuration is saved to the device.
Step 8
If you are enabling failover, you see a dialog box to configure the failover peer.
Click No if you want to connect to the failover peer later and configure the matching settings
manually.
Click Yes to let ASDM automatically configure the relevant failover settings on the failover peer.
Provide the peer IP address in the Peer IP Address field.
Related Topics
Force Failover
To force the standby unit to become active, perform the following procedure.
Before You Begin
In multiple context mode, perform this procedure in the System execution space.
7-34
Chapter 7
Procedure
Step 1
Step 2
In single context mode choose Monitoring > Properties > Failover > Status.
In multiple context mode, in the System choose Monitoring > Failover > System.
b.
Click Make Standby to make the other unit the active unit.
In the System choose Monitoring > Failover > Failover Group #, where # is the number of the
failover group you want to control.
b.
Click Make Active to make the failover group active on this unit.
Click Make Standby to make the failover group active on the other unit.
Disable Failover
Disabling failover on one or both units causes the active and standby state of each unit to be maintained
until you reload. For an Active/Active failover pair, the failover groups remain in the active state on
whichever unit they are active, no matter which unit they are configured to prefer.
See the following characteristics when you disable failover:
The standby unit/context remains in standby mode so that both units do not start passing traffic (this
is called a pseudo-standby state).
The standby unit/context continues to use its standby IP addresses even though it is no longer
connected to an active unit/context.
The standby unit/context continues to listen for a connection on the failover link. If failover is
re-enabled on the active unit/context, then the standby unit/context resumes ordinary standby status
after re-synchronizing the rest of its configuration.
To truly disable failover, save the no failover configuration to the startup configuration, and then
reload.
In multiple context mode, perform this procedure in the system execution space.
Procedure
Step 1
In single mode, choose Configuration > Device Management > High Availability and Scalability >
Failover > Setup.
In multiple context mode, choose Configuration > Device Management > Failover > Setup in the
System execution space.
7-35
Chapter 7
Monitoring Failover
Step 2
Step 3
Click Apply.
Step 4
b.
In multiple context mode, perform this procedure in the System execution space.
Procedure
Step 1
Step 2
In single context mode choose Monitoring > Properties > Failover > Status.
In multiple context mode, in the System choose Monitoring > Failover > System.
b.
In the System choose Monitoring > Failover > Failover Group #, where # is the number of the
failover group you want to control.
b.
Monitoring Failover
7-36
Chapter 7
Failover Messages
When a failover occurs, both ASAs send out system messages.
Note
During a fail over, failover logically shuts down and then bring up interfaces, generating syslog messages
411001 and 411002. This is normal activity.
Note
Because debugging output is assigned high priority in the CPU process, it can drastically affect system
performance. For this reason, use the debug fover commands only to troubleshoot specific problems or
during troubleshooting sessions with Cisco TAC.
After a failover event you should either re-launch ASDM or switch to another device in the Devices pane
and then come back to the original ASA to continue monitoring the device. This action is necessary
because the monitoring connection does not become re-established when ASDM is disconnected from
and then reconnected to the device.
Choose Monitoring > Properties > Failover to monitor Active/Standby failover.
Use the following screens in the Monitoring > Properties > Failover area to monitor Active/Active
failover:
7-37
Chapter 7
Monitoring Failover
System
The System pane displays the failover state of the system. You can also control the failover state of the
system by:
Fields
Failover state of the systemDisplay only. Displays the failover state of the ASA. The information
shown is the same output you would receive from the show failover command. Refer to the command
reference for more information about the displayed output.
The following actions are available on the System pane:
Make ActiveClick this button to make the ASA the active unit in an active/standby configuration.
In an active/active configuration, clicking this button causes both failover groups to become active
on the ASA.
Make StandbyClick this button to make the ASA the standby unit in an active/standby pair. In an
active/active configuration, clicking this button causes both failover groups to go to the standby state
on the ASA.
Reset FailoverClick this button to reset a system from the failed state to the standby state. You
cannot reset a system to the active state. Clicking this button on the active unit resets the standby
unit.
RefreshClick this button to refresh the status information in the Failover state of the system field.
Failover state of Group[x]Display only. Displays the failover state of the selected failover group. The
information shown is the same as the output you would receive from the show failover group command.
You can perform the following actions from this pane:
Make ActiveClick this button to make the failover group active unit on the ASA.
Make StandbyClick this button to force the failover group into the standby state on the ASA.
Reset FailoverClick this button to reset a system from the failed state to the standby state. You
cannot reset a system to the active state. Clicking this button on the active unit resets the standby
unit.
RefreshClick this button to refresh the status information in the Failover state of the system field.
7-38
Chapter 7
Feature Name
Releases
Feature Information
Active/Standby failover
7.0(1)
Active/Active failover
7.0(1)
7.0(4)
8.3(1)
8.2(2)
7-39
Chapter 7
Table 7-4
Feature Name
Releases
Feature Information
9.3(1)
7-40
CH AP TE R
ASA Cluster
Clustering lets you group multiple ASAs together as a single logical device. A cluster provides all the
convenience of a single device (management, integration into a network) while achieving the increased
throughput and redundancy of multiple devices.
Note
Some features are not supported when using clustering. See Unsupported Features with Clustering,
page 8-25.
How the ASA Cluster Fits into Your Network, page 8-2
8-1
Chapter 8
ASA Cluster
Isolated, high-speed backplane network for intra-cluster communication, known as the cluster
control link.
When you place the cluster in your network, the upstream and downstream routers need to be able to
load-balance the data coming to and from the cluster using one of the following methods:
Policy-Based Routing (Routed firewall mode only)The upstream and downstream routers perform
load balancing between units using route maps and ACLs.
Equal-Cost Multi-Path Routing (Routed firewall mode only)The upstream and downstream
routers perform load balancing between units using equal cost static or dynamic routes.
Related Topics
For example, for throughput, the ASA 5585-X with SSP-40 can handle approximately 10 Gbps of real
world firewall traffic when running alone. For a cluster of 8 units, the maximum combined throughput
will be approximately 70% of 80 Gbps (8 units x 10 Gbps): 56 Gbps.
8-2
Chapter 8
ASA Cluster
About ASA Clustering
Cluster Members
Cluster members work together to accomplish the sharing of the security policy and traffic flows. This
section describes the nature of each member role.
Bootstrap Configuration
On each device, you configure a minimal bootstrap configuration including the cluster name, cluster
control link interface, and other cluster settings. The first unit on which you enable clustering typically
becomes the master unit. When you enable clustering on subsequent units, they join the cluster as slaves.
When you enable clustering for a unit (or when it first starts up with clustering already enabled), it
broadcasts an election request every 3 seconds.
2.
Any other units with a higher priority respond to the election request; the priority is set between 1
and 100, where 1 is the highest priority.
3.
If after 45 seconds, a unit does not receive a response from another unit with a higher priority, then
it becomes master.
Note
4.
If multiple units tie for the highest priority, the cluster unit name and then the serial number
is used to determine the master.
If a unit later joins the cluster with a higher priority, it does not automatically become the master
unit; the existing master unit always remains as the master unless it stops responding, at which point
a new master unit is elected.
8-3
Chapter 8
ASA Cluster
Note
You can manually force a unit to become the master. For centralized features, if you force a master unit
change, then all connections are dropped, and you have to re-establish the connections on the new master
unit.
Related Topics
Cluster Interfaces
You can configure data interfaces as either Spanned EtherChannels or as Individual interfaces. All data
interfaces in the cluster must be one type only.
Outside Switch
ASA1
ten0/9
ten0/8
ASA2
port-channel 5
ten0/8
Inside
Spanned
port-channel 1
10.1.1.1
ten0/9
Outside
Spanned
port-channel 2
ASA3
209.165.201.1
port-channel 6
ten0/9
ten0/8
ten0/8
8-4
ten0/9
333361
ASA4
Chapter 8
ASA Cluster
About ASA Clustering
Note
Inside Switch
Outside Switch
ASA1/Master
Load Balancing:
PBR or ECMP
ten0/0
ten0/9 outside
209.165.201.1 (master)
209.165.201.2 (local)
inside ten0/8
10.1.1.1 (master)
10.1.1.2 (local)
Load Balancing:
PBR or ECMP
ten0/0
ASA2
ten0/1
inside ten0/8
10.1.1.3 (local)
ten0/9 outside
209.165.201.3 (local)
ten0/1
ten0/9 outside
209.165.201.4 (local)
ten0/2
ten0/9 outside
209.165.201.5 (local)
ten0/3
ASA3
ten0/2
inside ten0/8
10.1.1.4 (local)
ten0/3
inside ten0/8
10.1.1.5 (local)
333359
ASA4
Related Topics
8-5
Chapter 8
ASA Cluster
Master election.
Configuration replication.
Health monitoring.
State replication.
Related Topics
You cannot use a Management x/x interface as the cluster control link, either alone or as an
EtherChannel.
For the ASA 5585-X with an ASA IPS module, you cannot use the module interfaces for the cluster
control link; you can, however, use interfaces on the ASA 5585-X Network Module.
8-6
Chapter 8
ASA Cluster
About ASA Clustering
For a 2-member cluster, do not directly-connect the cluster control link from one ASA to the other ASA.
If you directly connect the interfaces, then when one unit fails, the cluster control link fails, and thus the
remaining healthy unit fails. If you connect the cluster control link through a switch, then the cluster
control link remains up for the healthy unit.
Related Topics
NAT results in poor load balancing of connections, and the need to rebalance all returning traffic to
the correct units.
AAA for network access is a centralized feature, so all traffic is forwarded to the master unit.
When membership changes, the cluster needs to rebalance a large number of connections, thus
temporarily using a large amount of cluster control link bandwidth.
A higher-bandwidth cluster control link helps the cluster to converge faster when there are membership
changes and prevents throughput bottlenecks.
Note
If your cluster has large amounts of asymmetric (rebalanced) traffic, then you should increase the cluster
control link size.
Related Topics
8-7
Chapter 8
ASA Cluster
ASA1
ASA2
Switch
ASA3
333222
Switch
Note
When an ASA becomes inactive, all data interfaces are shut down; only the management-only interface
can send and receive traffic. The management interface remains up using the IP address the unit received
from the cluster IP pool. However if you reload, and the unit is still inactive in the cluster, the
management interface is not accessible (because it then uses the Main IP address, which is the same as
the master unit). You must use the console port for any further configuration.
Related Topics
8-8
Chapter 8
ASA Cluster
About ASA Clustering
Interface Monitoring
Each unit monitors the link status of all hardware interfaces in use, and reports status changes to the
master unit.
Spanned EtherChannelUses cluster Link Aggregation Control Protocol (cLACP). Each unit
monitors the link status and the cLACP protocol messages to determine if the port is still active in
the EtherChannel. The status is reported to the master unit.
Individual interfaces (Routed mode only)Each unit self-monitors its interfaces and reports
interface status to the master unit.
When you enable health monitoring, all physical interfaces (including the main EtherChannel and
redundant interface types) are monitored by default; you can optionally disable monitoring per interface.
Note
When an ASA becomes inactive and fails to automatically rejoin the cluster, all data interfaces are shut
down; only the management-only interface can send and receive traffic. The management interface
remains up using the IP address the unit received from the cluster IP pool. However if you reload, and
the unit is still inactive in the cluster, the management interface is not accessible (because it then uses
the Main IP address, which is the same as the master unit). You must use the console port for any further
configuration.
Related Topics
8-9
Chapter 8
ASA Cluster
Failed cluster control linkAfter you resolve the problem with the cluster control link, you must
manually rejoin the cluster by re-enabling clustering at the console port by entering cluster name,
and then enable.
Failed data interfaceThe ASA automatically tries to rejoin at 5 minutes, then at 10 minutes, and
finally at 20 minutes. If the join is not successful after 20 minutes, then the ASA disables clustering.
After you resolve the problem with the data interface, you have to manually enable clustering at the
console port by entering cluster name, and then enable.
Failed unitIf the unit was removed from the cluster because of a unit health check failure, then
rejoining the cluster depends on the source of the failure. For example, a temporary power failure
means the unit will rejoin the cluster when it starts up again as long as the cluster control link is up
and clustering is still enabled with the enable command.
Related Topics
Traffic
State Support
Notes
Up time
Yes
ARP Table
Yes
Yes
User Identity
Yes
Yes
Dynamic routing
Yes
SNMP Engine ID
No
VPN (Site-to-Site)
No
8-10
Chapter 8
ASA Cluster
About ASA Clustering
Configuration Replication
All units in the cluster share a single configuration. Except for the initial bootstrap configuration, you
can only make configuration changes on the master unit, and changes are automatically replicated to all
other units in the cluster.
Management Network
We recommend connecting all units to a single management network. This network is separate from the
cluster control link.
Management Interface
For the management interface, we recommend using one of the dedicated management interfaces. You
can configure the management interfaces as Individual interfaces (for both routed and transparent
modes) or as a Spanned EtherChannel interface.
We recommend using Individual interfaces for management, even if you use Spanned EtherChannels for
your data interfaces. Individual interfaces let you connect directly to each unit if necessary, while a
Spanned EtherChannel interface only allows remote connection to the current master unit.
Note
If you use Spanned EtherChannel interface mode, and configure the management interface as an
Individual interface, you cannot enable dynamic routing for the management interface. You must use a
static route.
For an Individual interface, the Main cluster IP address is a fixed address for the cluster that always
belongs to the current master unit. For each interface, you also configure a range of addresses so that
each unit, including the current master, can use a Local address from the range. The Main cluster IP
address provides consistent management access to an address; when a master unit changes, the Main
cluster IP address moves to the new master unit, so management of the cluster continues seamlessly. The
Local IP address is used for routing, and is also useful for troubleshooting.
For example, you can manage the cluster by connecting to the Main cluster IP address, which is always
attached to the current master unit. To manage an individual member, you can connect to the Local IP
address.
For outbound management traffic such as TFTP or syslog, each unit, including the master unit, uses the
Local IP address to connect to the server.
8-11
Chapter 8
ASA Cluster
For a Spanned EtherChannel interface, you can only configure one IP address, and that IP address is
always attached to the master unit. You cannot connect directly to a slave unit using the EtherChannel
interface; we recommend configuring the management interface as an Individual interface so that you
can connect to each unit. Note that you can use a device-local EtherChannel for management.
SNMP
NetFlow
8-12
Chapter 8
ASA Cluster
About ASA Clustering
Faster convergence time. Individual interfaces rely on routing protocols to load-balance traffic, and
routing protocols often have slow convergence during a link failure.
Ease of configuration.
Related Topics
Use a load balancing hash algorithm that is symmetric, meaning that packets from both directions
will have the same hash, and will be sent to the same ASA in the Spanned EtherChannel. We
recommend using the source and destination IP address (the default) or the source and destination
port as the hashing algorithm.
Use the same type of line cards when connecting the ASAs to the switch so that hashing algorithms
applied to all packets are the same.
Load Balancing
The EtherChannel link is selected using a proprietary hash algorithm, based on source or destination IP
addresses and TCP and UDP port numbers.
Note
On the ASA, do not change the load-balancing algorithm from the default. On the switch, we recommend
that you use one of the following algorithms: source-dest-ip or source-dest-ip-port (see the Cisco
Nexus OS or Cisco IOS port-channel load-balance command). Do not use a vlan keyword in the
load-balance algorithm because it can cause unevenly distributed traffic to the ASAs in a cluster.
The number of links in the EtherChannel affects load balancing.
Symmetric load balancing is not always possible. If you configure NAT, then forward and return packets
will have different IP addresses and/or ports. Return traffic will be sent to a different unit based on the
hash, and the cluster will have to redirect most returning traffic to the correct unit.
8-13
Chapter 8
ASA Cluster
Related Topics
EtherChannel Redundancy
The EtherChannel has built-in redundancy. It monitors the line protocol status of all links. If one link
fails, traffic is re-balanced between remaining links. If all links in the EtherChannel fail on a particular
unit, but other units are still active, then the unit is removed from the cluster.
8-14
ASA Cluster
About ASA Clustering
The following figure shows a 32 active link spanned EtherChannel in an 8-ASA cluster and a 16-ASA
cluster.
Router or
Access Switch
Switch 1
Router or
Access Switch
Switch 2
Virtual Switch Link
Switch 1
Switch 2
Virtual Switch Link
ASA1
port-channel1
ASA1
port-channel1
port-channel1
port-channel1
371128
Chapter 8
ASA8
ASA16
8-15
Chapter 8
ASA Cluster
The following figure shows a 16 active link spanned EtherChannel in a 4-ASA cluster and an 8-ASA
cluster.
Router or
Access Switch
Switch 1
Router or
Access Switch
Switch 2
Switch 1
Switch 2
ASA1
ASA1
ASA2
port-channel1
ASA3
port-channel1
port-channel1
port-channel1
ASA8
371127
ASA4
The following figure shows a traditional 8 active/8 standby link spanned EtherChannel in a 4-ASA
cluster and an 8-ASA cluster. The active links are shown as solid lines, while the inactive links are
dotted. cLACP load-balancing can automatically choose the best 8 links to be active in the EtherChannel.
As shown, cLACP helps achieve load balancing at the link level.
8-16
Chapter 8
ASA Cluster
About ASA Clustering
Router or
Access Switch
Switch 1
Router or
Access Switch
Switch 2
Switch 1
Switch 2
ASA1
ASA1
ASA2
port-channel1
ASA3
port-channel1
port-channel1
port-channel1
333215
ASA4
ASA8
Note
If you use this method of load-balancing, you can use a device-local EtherChannel as an Individual
interface.
8-17
Chapter 8
ASA Cluster
Note
If you use this method of load-balancing, you can use a device-local EtherChannel as an Individual
interface.
Inter-Site Clustering
For inter-site installations, you can take advantage of ASA clustering as long as you follow these
guidelines.
Interface Mode
Routed
Transparent
Individual Interface
Yes
N/A
Spanned EtherChannel
No
Yes
The cluster control link latency must be less than 20 ms round-trip time (RTT).
The cluster control link must be reliable, with no out-of-order or dropped packets; for example, you
should use a dedicated link.
Do not configure connection rebalancing; you do not want connections rebalanced to cluster
members at a different site.
The cluster implementation does not differentiate between members at multiple sites; therefore,
connection roles for a given connection may span across sites. This is expected behavior.
8-18
Chapter 8
ASA Cluster
About ASA Clustering
For transparent mode, if the cluster is placed between a pair of inside and outside routers (AKA
North-South insertion), you must ensure that both inside routers share a MAC address, and also that
both outside routers share a MAC address. When a cluster member at site 1 forwards a connection
to a member at site 2, the destination MAC address is preserved. The packet will only reach the
router at site 2 if the MAC address is the same as the router at site 1.
For transparent mode, if the cluster is placed between data networks and the gateway router at each
site for firewalling between internal networks (AKA East-West insertion), then each gateway router
should use a First Hop Redundancy Protocol (FHRP) such as HSRP to provide identical virtual IP
and MAC address destinations at each site. The data VLANs are extended across the sites using
Overlay Transport Virtualization (OTV), or something similar. You need to create filters to prevent
traffic that is destined to the local gateway router from being sent over the DCI to the other site. If
the gateway router becomes unreachable at one site, you need to remove any filters so traffic can
successfully reach the other sites gateway.
Related Topics
2
If the number of members differs at each site, use the larger number for your calculation. The minimum
bandwidth for the DCI should not be less than the size of the cluster control link for one member.
For example:
8-19
Chapter 8
ASA Cluster
Reserved DCI bandwidth = 10 Gbps (1/2 x 10 Gbps = 5 Gbps; but the minimum bandwidth should
not be less than the size of the cluster control link (10 Gbps)).
Inter-Site Examples
The following examples show supported cluster deployments.
Internet
Router
Router
OSPF
Higher cost route
OSPF
Higher cost route
Outside
Outside
OSPF
OSPF
ASA1
OSPF
OSPF
ASA3
ASA2
ASA4
Data Center
Interconnect
Cluster Control
OSPF
OSPF
Inside
Inside
OSPF
Higher cost route
Router
Data Center 1
8-20
OSPF
OSPF
Higher cost route
Router
Data Center 2
370998
OSPF
Cluster Control
Chapter 8
ASA Cluster
About ASA Clustering
Internet
Router
Router
OSPF
Higher cost route
Spanned
EtherChannel
OSPF
Higher cost route
Cluster
Control
OSPF PASSTHROUGH
ASA1
ASA3
ASA2
Data Center
Interconnect
Inside
OSPF PASSTHROUGH
Outside
Outside
ASA4
Cluster
Control
Inside
Spanned
EtherChannel
OSPF
Higher cost route
Router
Router
Data Center 1
371130
OSPF
Higher cost route
Data Center 2
Inter-site VSS/vPCIn this scenario, you install one switch at Data Center 1, and the other at Data
Center 2. One option is for the ASA cluster units at each Data Center to only connect to the local
switch, while the VSS/vPC traffic goes across the DCI. In this case, connections are for the most
part kept local to each datacenter. You can optionally connect each ASA unit to both switches across
the DCI if the DCI can handle the extra traffic. In this case, traffic is distributed across the data
centers, so it is essential for the DCI to be very robust.
Local VSS/vPC at each siteFor better switch redundancy, you can install 2 separate VSS/vPC
pairs at each site. In this case, although the ASAs still have a spanned EtherChannel with Data
Center 1 ASAs connected only to both local switches, and Data Center 2 ASAs connected to those
local switches, the spanned EtherChannel is essentially split. Each local VSS/vPC sees the
spanned EtherChannel as a site-local EtherChannel.
8-21
Chapter 8
ASA Cluster
Internet
Gateway Router:
Virtual MACs and IPs
(FHRP)
Gateway Router:
Virtual MACs and IPs
(FHRP)
Spanned EtherChannel
DB NW
DB NW
Spanned EtherChannel
ASA Cluster
ASA1
ASA2
ASA3
ASA4
Cluster
Control
Spanned EtherChannel
Spanned EtherChannel
Data Center
Interconnect
Switch
App NW
Data Center 1
App NW
Switch
Data Center 2
See Spanned EtherChannel Transparent Mode North-South Inter-Site Example, page 8-21 for
information about vPC/VSS options.
8-22
Chapter 8
ASA Cluster
About ASA Clustering
Connection Roles
There are 3 different ASA roles defined for each connection:
OwnerThe unit that initially receives the connection. The owner maintains the TCP state and
processes packets. A connection has only one owner.
DirectorThe unit that handles owner lookup requests from forwarders and also maintains the
connection state to serve as a backup if the owner fails. When the owner receives a new connection,
it chooses a director based on a hash of the source/destination IP address and TCP ports, and sends
a message to the director to register the new connection. If packets arrive at any unit other than the
owner, the unit queries the director about which unit is the owner so it can forward the packets. A
connection has only one director.
ForwarderA unit that forwards packets to the owner. If a forwarder receives a packet for a
connection it does not own, it queries the director for the owner, and then establishes a flow to the
owner for any other packets it receives for this connection. The director can also be a forwarder.
Note that if a forwarder receives the SYN-ACK packet, it can derive the owner directly from a SYN
cookie in the packet, so it does not need to query the director. (If you disable TCP sequence
randomization, the SYN cookie is not used; a query to the director is required.) For short-lived flows
such as DNS and ICMP, instead of querying, the forwarder immediately sends the packet to the
director, which then sends them to the owner. A connection can have multiple forwarders; the most
efficient throughput is achieved by a good load-balancing method where there are no forwarders and
all packets of a connection are received by the owner.
8-23
Chapter 8
ASA Cluster
Owner
1. SYN
1. SYN
3.
SYN/ACK
SY
4. State
update
K
AC
N/
Server
Inside
Outside
Director
Client
Forwarder
ASA Cluster
333480
2. SYN/ACK
1.
The SYN packet originates from the client and is delivered to an ASA (based on the load balancing
method), which becomes the owner. The owner creates a flow, encodes owner information into a
SYN cookie, and forwards the packet to the server.
2.
The SYN-ACK packet originates from the server and is delivered to a different ASA (based on the
load balancing method). This ASA is the forwarder.
3.
Because the forwarder does not own the connection, it decodes owner information from the SYN
cookie, creates a forwarding flow to the owner, and forwards the SYN-ACK to the owner.
4.
The owner sends a state update to the director, and forwards the SYN-ACK to the client.
5.
The director receives the state update from the owner, creates a flow to the owner, and records the
TCP state information as well as the owner. The director acts as the backup owner for the
connection.
6.
Any subsequent packets delivered to the forwarder will be forwarded to the owner.
7.
If packets are delivered to any additional units, it will query the director for the owner and establish
a flow.
8.
Any state change for the flow results in a state update from the owner to the director.
8-24
Chapter 8
ASA Cluster
About ASA Clustering
Unified Communications
Failover
ASA CX module
8-25
Chapter 8
ASA Cluster
Note
Traffic for centralized features is forwarded from member units to the master unit over the cluster control
link.
If you use the rebalancing feature, traffic for centralized features may be rebalanced to non-master units
before the traffic is classified as a centralized feature; if this occurs, the traffic is then sent back to the
master unit.
For centralized features, if the master unit fails, all connections are dropped, and you have to re-establish
the connections on the new master unit.
Site-to-site VPN
IGMP multicast control plane protocol processing (data plane forwarding is distributed across the
cluster)
PIM multicast control plane protocol processing (data plane forwarding is distributed across the
cluster)
Filtering Services
Related Topics
QoSThe QoS policy is synced across the cluster as part of configuration replication. However, the
policy is enforced on each unit independently. For example, if you configure policing on output, then
the conform rate and conform burst values are enforced on traffic exiting a particular ASA. In a
cluster with 8 units and with traffic evenly distributed, the conform rate actually becomes 8 times
the rate for the cluster.
8-26
Chapter 8
ASA Cluster
About ASA Clustering
Threat detectionThreat detection works on each unit independently; for example, the top statistics
is unit-specific. Port scanning detection, for example, does not work because scanning traffic will
be load-balanced between all units, and one unit will not see all traffic.
ASA IPS moduleThere is no configuration sync or state sharing between IPS modules. Some IPS
signatures require IPS to keep the state across multiple connections. For example, the port scanning
signature is used when the IPS module detects that someone is opening many connections to one
server but with different ports. In clustering, those connections will be balanced between multiple
ASA devices, each of which has its own IPS module. Because these IPS modules do not share state
information, the cluster may not be able to detect port scanning as a result.
Router A
EtherChannel
Load Balancing
Router B
285895
ASAs
After the slave members learn the routes from the master unit, each unit makes forwarding decisions
independently.
8-27
Chapter 8
ASA Cluster
The OSPF LSA database is not synchronized from the master unit to slave units. If there is a master unit
switchover, the neighboring router will detect a restart; the switchover is not transparent. The OSPF
process picks an IP address as its router ID. Although not required, you can assign a static router ID to
ensure a consistent router ID is used across the cluster. See the OSPF Non-Stop Forwarding feature to
address the interruption.
Router A
Router B
285896
ASAs
In the above diagram, Router A learns that there are 4 equal-cost paths to Router B, each through an
ASA. ECMP is used to load balance traffic between the 4 paths. Each ASA picks a different router ID
when talking to external routers.
You must configure a cluster pool for the router ID so that each unit has a separate router ID.
8-28
Chapter 8
ASA Cluster
About ASA Clustering
No Proxy ARPFor Individual interfaces, a proxy ARP reply is never sent for mapped addresses.
This prevents the adjacent router from maintaining a peer relationship with an ASA that may no
longer be in the cluster. The upstream router needs a static route or PBR with Object Tracking for
the mapped addresses that points to the Main cluster IP address. This is not an issue for a Spanned
EtherChannel, because there is only one IP address associated with the cluster interface.
NAT pool address distribution for dynamic PATThe master unit evenly pre-distributes addresses
across the cluster. If a member receives a connection and they have no addresses left, the connection
is dropped, even if other members still have addresses available. Make sure to include at least as
many NAT addresses as there are units in the cluster to ensure that each unit receives an address.
Use the show nat pool cluster command to see the address allocations.
Dynamic NAT xlates managed by the master unitThe master unit maintains and replicates the
xlate table to slave units. When a slave unit receives a connection that requires dynamic NAT, and
the xlate is not in the table, it requests the xlate from the master unit. The slave unit owns the
connection.
Per-session PAT featureAlthough not exclusive to clustering, the per-session PAT feature
improves the scalability of PAT and, for clustering, allows each slave unit to own PAT connections;
by contrast, multi-session PAT connections have to be forwarded to and owned by the master unit.
By default, all TCP traffic and UDP DNS traffic use a per-session PAT xlate. For traffic that requires
multi-session PAT, such as H.323, SIP, or Skinny, you can disable per-session PAT. For more
information about per-session PAT, see the firewall configuration guide.
8-29
Chapter 8
ASA Cluster
SyslogEach unit in the cluster generates its own syslog messages. You can configure logging so
that each unit uses either the same or a different device ID in the syslog message header field. For
example, the hostname configuration is replicated and shared by all units in the cluster. If you
configure logging to use the hostname as the device ID, syslog messages generated by all units look
as if they come from a single unit. If you configure logging to use the local-unit name that is
assigned in the cluster bootstrap configuration as the device ID, syslog messages look as if they
come from different units.
NetFlowEach unit in the cluster generates its own NetFlow stream. The NetFlow collector can
only treat each ASA as a separate NetFlow exporter.
Related Topics
Note
8-30
Chapter 8
ASA Cluster
Licensing for ASA Clustering
VPN functionality is limited to the master unit and does not take advantage of the cluster high
availability capabilities. If the master unit fails, all existing VPN connections are lost, and VPN users
will see a disruption in service. When a new master is elected, you must reestablish the VPN
connections.
When you connect a VPN tunnel to a Spanned EtherChannel address, connections are automatically
forwarded to the master unit. For connections to an Individual interface when using PBR or ECMP, you
must always connect to the Main cluster IP address, not a Local address.
VPN-related keys and certificates are replicated to all units.
If FTP data channel and control channel flows are owned by different cluster members, the data
channel owner will periodically send idle timeout updates to the control channel owner and update
the idle timeout value. However, if the control flow owner is reloaded, and the control flow is
re-hosted, the parent/child flow relationship will not longer be maintained; the control flow idle
timeout will not be updated.
If you use AAA for FTP access, then the control channel flow is centralized on the master unit.
License Requirement
ASA 5585-X
ASA 5512-X
Each unit must have the same encryption license; each unit must have the same 10 GE
I/O/Security Plus license (ASA 5585-X with SSP-10 and -20).
ASA 5515-X,
ASA 5525-X,
ASA 5545-X,
ASA 5555-X
Note
No support.
8-31
Chapter 8
ASA Cluster
Must be the same model with the same DRAM. You do not have to have the same amount of flash
memory.
Must run the identical software except at the time of an image upgrade. Hitless upgrade is supported.
You can have cluster members in different geographical locations (inter-site) when using individual
interface mode.
(Single context mode) Must be in the same firewall mode, routed or transparent.
New cluster members must use the same SSL encryption setting (the ssl encryption command) as
the master unit for initial cluster control link communication before configuration replication.
Must have the same cluster, encryption and, for the ASA 5585-X, 10 GE I/O licenses.
Switch Prerequisites
Be sure to complete the switch configuration before you configure clustering on the ASAs.
ASA Prerequisites
Provide each unit with a unique IP address before you join them to the management network.
See the Getting Started chapter for more information about connecting to the ASA and setting
To use jumbo frames on the cluster control link (recommended), you must enable Jumbo Frame
Reservation before you enable clustering.
Other Prerequisites
We recommend using a terminal server to access all cluster member unit console ports. For initial setup,
and ongoing management (for example, when a unit goes down), a terminal server is useful for remote
management.
Related Topics
8-32
Chapter 8
ASA Cluster
Guidelines for ASA Clustering
For single mode, the firewall mode must match on all units.
Failover
Supported on:
ASA 5585-X
For the ASA 5585-X with SSP-10 and SSP-20, which include two Ten Gigabit Ethernet interfaces,
we recommend using one interface for the cluster control link, and the other for data (you can use
subinterfaces for data). Although this setup does not accommodate redundancy for the cluster
control link, it does satisfy the need to size the cluster control link to match the size of the data
interfaces.
ASA 5512-X, ASA 5515-X, ASA 5525-X, ASA 5545-X, and ASA 5555-X
Switches
On the switch(es) for the cluster control link interfaces, you can optionally enable Spanning Tree
PortFast on the switch ports connected to the ASA to speed up the join process for new units.
When you see slow bundling of a Spanned EtherChannel on the switch, you can enable LACP rate
fast for an Individual interface on the switch.
On the switch, we recommend that you use one of the following EtherChannel load-balancing
algorithms: source-dest-ip or source-dest-ip-port (see the Cisco Nexus OS and Cisco IOS
port-channel load-balance command). Do not use a vlan keyword in the load-balance algorithm
because it can cause unevenly distributed traffic to the ASAs in a cluster. Do not change the
load-balancing algorithm from the default on the ASA (in the port-channel load-balance
command).
If you change the load-balancing algorithm of the EtherChannel on the switch, the EtherChannel
interface on the switch temporarily stops forwarding traffic, and the Spanning Tree Protocol restarts.
There will be a delay before traffic starts flowing again.
You should disable the LACP Graceful Convergence feature on all cluster-facing EtherChannel
interfaces for Cisco Nexus switches.
Some switches do not support dynamic port priority with LACP (active and standby links). You can
disable dynamic port priority to provide better compatibility with spanned EtherChannels.
Network elements on the cluster control link path should not verify the L4 checksum. Redirected
traffic over the cluster control link does not have a correct L4 checksum. Switches that verify the L4
checksum could cause traffic to be dropped.
Port-channel bundling downtime should not exceed the configured keepalive interval.
8-33
Chapter 8
ASA Cluster
Do not change the algorithm globally; you may want to take advantage of the adaptive algorithm for
the VSS peer link.
EtherChannels
The ASA does not support connecting an EtherChannel to a switch stack. If the ASA EtherChannel
is connected cross stack, and if the master switch is powered down, then the EtherChannel connected
to the remaining switch will not come up.
the cluster, the interfaces are combined into a single EtherChannel on the switch. Make sure
each interface is in the same channel group on the switch.
Switch
Switch
RIGHT
VLAN 101
port-ch1
WRONG
ten0/6
ten0/6
ASA2
ASA2
port-ch2
ten0/6
ten0/6
ASA3
ASA3
port-ch3
ten0/6
ten0/6
ASA4
ten0/6
334621
ten0/6
ASA4
port-ch4
EtherChannels configured for the cluster control link, be sure to configure discrete
EtherChannels on the switch; do not combine multiple ASA EtherChannels into one
EtherChannel on the switch.
8-34
ASA Cluster
Guidelines for ASA Clustering
Switch
Switch
RIGHT
WRONG
VLAN 101
port-ch1
port-ch2
port-ch1
ASA2
ten0/6
ten0/7
port-ch1
ASA2
ten0/6
ten0/7
port-ch3
port-ch1
ASA3
ten0/6
ten0/7
port-ch1
ASA3
ten0/6
ten0/7
port-ch4
port-ch1
ten0/6 ASA4
ten0/7
port-ch1
ten0/6 ASA4
ten0/7
VLAN 101
port-ch1
333358
Chapter 8
Additional Guidelines
When significant topology changes occur (such as adding or removing an EtherChannel interface,
enabling or disabling an interface on the ASA or the switch, adding an additional switch to form a
VSS or vPC) you should disable the health check feature. When the topology change is complete,
and the configuration change is synced to all units, you can re-enable the health check feature.
When adding a unit to an existing cluster, or when reloading a unit, there will be a temporary, limited
packet/connection drop; this is expected behavior. In some cases, the dropped packets can hang your
connection; for example, dropping a FIN/ACK packet for an FTP connection will make the FTP
client hang. In this case, you need to reestablish the FTP connection.
If you use a Windows 2003 server connected to a Spanned EtherChannel, when the syslog server
port is down and the server does not throttle ICMP error messages, then large numbers of ICMP
messages are sent back to the ASA cluster. These messages can result in some units of the ASA
cluster experiencing high CPU, which can affect performance. We recommend that you throttle
ICMP error messages.
We do not support VXLAN in Individual Interface mode. Only Spanned EtherChannel mode
supports VXLAN.
Related Topics
8-35
Chapter 8
ASA Cluster
When using Spanned EtherChannels, the cLACP system ID is auto-generated and the system
priority is 1 by default.
The cluster health check feature is enabled by default with the holdtime of 3 seconds. Interface
health monitoring is enabled on all interfaces by default.
Connection rebalancing is disabled by default. If you enable connection rebalancing, the default
time between load information exchanges is 5 seconds.
To enable or disable clustering, you must use a console connection (for CLI) or an ASDM connection.
To configure clustering, perform the following tasks:
Step 1
Complete all pre-configuration on the switches and ASAs according to Prerequisites for ASA
Clustering, page 8-32 and Guidelines for ASA Clustering, page 8-33.
Step 2
Cable the Cluster Units and Configure Upstream and Downstream Equipment, page 8-36.
Step 3
Configure the Cluster Interface Mode on Each Unit, page 8-38. You can only configure one type of
interface for clustering: Spanned EtherChannels or Individual interfaces.
Step 4
Configure Interfaces on the Master Unit, page 8-39. You cannot enable clustering if the interfaces are
not cluster-ready.
Step 5
Step 6
Step 7
Configure the security policy on the master unit. See the chapters in this guide to configure supported
features on the master unit. The configuration is replicated to the slave units.
Cable the Cluster Units and Configure Upstream and Downstream Equipment
Before configuring clustering, cable the cluster control link network, management network, and data
networks.
Note
At a minimum, an active cluster control link network is required before you configure the units to join
the cluster.
8-36
ASA Cluster
Configure ASA Clustering
You should also configure the upstream and downstream equipment. For example, if you use
EtherChannels, then you should configure the upstream and downstream equipment for the
EtherChannels.
Examples
This example uses EtherChannels for load-balancing. If you are using PBR or ECMP, your switch
configuration will differ.
For example on each of 4 ASA 5585-Xs, you want to use:
2 Ten Gigabit Ethernet interfaces in a device-local EtherChannel for the cluster control link.
2 Ten Gigabit Ethernet interfaces in a Spanned EtherChannel for the inside and outside network;
each interface is a VLAN subinterface of the EtherChannel. Using subinterfaces lets both inside and
outside interfaces take advantage of the benefits of an EtherChannel.
1 Management interface.
You have one switch for both the inside and outside networks.
VLAN 101
port-ch1
Switch
ASA4
ten0/6
ten0/7
ten0/8
ten0/9
man0/0
ASA3
port-ch1
port-ch1
port-ch1
port-ch2
port-ch2.200 Inside VLAN 200
port-ch2.201 Outside VLAN 201
port-ch2
port-ch3
port-ch5
Inside VLAN 200
Outside VLAN 201
Trunk
port-ch4
Management
VLAN 100
333150
Cluster
Control Link
port-ch1
ASA2
ten0/6
ten0/7
ten0/8
ten0/9
man0/0
ASA1
ten0/6
ten0/7
ten0/8
ten0/9
man0/0
Note
ten0/6
ten0/7
ten0/8
ten0/9
man0/0
Chapter 8
8-37
Chapter 8
ASA Cluster
Purpose
8 ports total
For each TenGigabitEthernet 0/6
and TenGigabitEthernet 0/7 pair,
configure 4 EtherChannels (1 EC
for each ASA).
These EtherChannels must all be
on the same isolated cluster
control VLAN, for example
VLAN 101.
8 ports total
Configure a single EtherChannel
(across all ASAs).
On the switch, configure these
VLANs and networks now; for
example, a trunk including
VLAN 200 for the inside and
VLAN 201 for the outside.
Management interface
Management 0/0
4 ports total
Place all interfaces on the same
isolated management VLAN, for
example VLAN 100.
You must set the mode separately on each ASA that you want to add to the cluster.
You can always configure the management-only interface as an Individual interface (recommended),
even in Spanned EtherChannel mode. The management interface can be an Individual interface even
in transparent firewall mode.
In multiple context mode, you must choose one interface type for all contexts. For example, if you
have a mix of transparent and routed mode contexts, you must use Spanned EtherChannel mode for
all contexts because that is the only interface type allowed for transparent mode.
Procedure
Step 1
Show any incompatible configuration so that you can force the interface mode and fix your configuration
later; the mode is not changed with this command:
cluster interface-mode {individual | spanned} check-details
8-38
Chapter 8
ASA Cluster
Configure ASA Clustering
Example:
ciscoasa(config)# cluster interface-mode spanned check-details
Step 2
Example:
ciscoasa(config)# cluster interface-mode spanned force
There is no default setting; you must explicitly choose the mode. If you have not set the mode, you
cannot enable clustering.
The force option changes the mode without checking your configuration for incompatible settings. You
need to manually fix any configuration issues after you change the mode. Because any interface
configuration can only be fixed after you set the mode, we recommend using the force option so that you
can at least start from the existing configuration. You can re-run the check-details option after you set
the mode for more guidance.
Without the force option, if there is any incompatible configuration, you are prompted to clear your
configuration and reload, thus requiring you to connect to the console port to reconfigure your
management access. If your configuration is compatible (rare), the mode is changed and the
configuration is preserved. If you do not want to clear your configuration, you can exit the command by
typing n.
To remove the interface mode, enter the no cluster interface-mode command.
Configure Individual Interfaces (Recommended for the Management Interface), page 8-39
Related Topics
8-39
Chapter 8
ASA Cluster
Except for the management-only interface, you must be in Individual interface mode.
For multiple context mode, perform this procedure in each context. If you are not already in the
context configuration mode, enter the changeto context name command.
Individual interfaces require you to configure load balancing on neighbor devices. External load
balancing is not required for the management interface.
Procedure
Step 1
Configure a pool of Local IP addresses (IPv4 and/or IPv6), one of which will be assigned to each cluster
unit for the interface:
(IPv4)
ip local pool poolname first-addresslast-address [mask mask]
(IPv6)
ipv6 local pool poolname ipv6-address/prefix-length number_of_addresses
Example:
ciscoasa(config)# ip local pool ins 192.168.1.2-192.168.1.9
ciscoasa(config-if)# ipv6 local pool insipv6 2001:DB8::1002/32 8
Include at least as many addresses as there are units in the cluster. If you plan to expand the cluster,
include additional addresses. The Main cluster IP address that belongs to the current master unit is not
a part of this pool; be sure to reserve an IP address on the same network for the Main cluster IP address.
You cannot determine the exact Local address assigned to each unit in advance; to see the address used
on each unit, enter the show ip[v6] local pool poolname command. Each cluster member is assigned a
member ID when it joins the cluster. The ID determines the Local IP used from the pool.
Step 2
Example:
ciscoasa(config)# interface tengigabitethernet 0/8
Step 3
(Management interface only) Set an interface to management-only mode so that it does not pass through
traffic:
management-only
By default, Management type interfaces are configured as management-only. In transparent mode, this
command is always enabled for a Management type interface.
This setting is required if the cluster interface mode is Spanned.
8-40
Chapter 8
ASA Cluster
Configure ASA Clustering
Step 4
Example:
ciscoasa(config-if)# nameif inside
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value.
Step 5
Set the Main cluster IP address and identifies the cluster pool:
(IPv4)
ip address ip_address [mask] cluster-pool poolname
(IPv6)
ipv6 address ipv6-address/prefix-length cluster-pool poolname
Example:
ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0 cluster-pool ins
ciscoasa(config-if)# ipv6 address 2001:DB8::1002/32 cluster-pool insipv6
This IP address must be on the same network as the cluster pool addresses, but not be part of the pool.
You can configure an IPv4 and/or an IPv6 address.
DHCP, PPPoE, and IPv6 autoconfiguration are not supported; you must manually configure the IP
addresses.
Step 6
Set the security level, where number is an integer between 0 (lowest) and 100 (highest):
security-level number
Example:
ciscoasa(config-if)# security-level 100
Step 7
Examples
The following example configures the Management 0/0 and Management 0/1 interfaces as a device-local
EtherChannel, and then configures the EtherChannel as an Individual interface:
ip local pool mgmt 10.1.1.2-10.1.1.9
ipv6 local pool mgmtipv6 2001:DB8:45:1002/64 8
interface management 0/0
channel-group 1 mode active
no shutdown
interface management 0/1
channel-group 1 mode active
no shutdown
interface port-channel 1
nameif management
ip address 10.1.1.1 255.255.255.0 cluster-pool mgmt
ipv6 address 2001:DB8:45:1001/64 cluster-pool mgmtipv6
8-41
Chapter 8
ASA Cluster
security-level 100
management-only
Related Topics
For multiple context mode, start this procedure in the system execution space. If you are not already
in the System configuration mode, enter the changeto system command.
Do not specify the maximum and minimum links in the EtherChannelWe recommend that you do
not specify the maximum and minimum links in the EtherChannel (The lacp max-bundle and
port-channel min-bundle commands) on either the ASA or the switch. If you need to use them,
note the following:
The maximum links set on the ASA is the total number of active ports for the whole cluster. Be
sure the maximum links value configured on the switch is not larger than the ASA value.
The minimum links set on the ASA is the minimum active ports to bring up a port-channel
interface per unit. On the switch, the minimum links is the minimum links across the cluster, so
this value will not match the ASA value.
Do not change the load-balancing algorithm from the default (see the port-channel load-balance
command). On the switch, we recommend that you use one of the following algorithms:
source-dest-ip or source-dest-ip-port (see the Cisco Nexus OS and Cisco IOS port-channel
load-balance command). Do not use a vlan keyword in the load-balance algorithm because it can
cause unevenly distributed traffic to the ASAs in a cluster.
The lacp port-priority and lacp system-priority commands are not used for a Spanned
EtherChannel.
When using Spanned EtherChannels, the port-channel interface will not come up until clustering is
fully enabled. This requirement prevents traffic from being forwarded to a unit that is not an active
unit in the cluster.
Procedure
Step 1
8-42
Chapter 8
ASA Cluster
Configure ASA Clustering
interface physical_interface
Example:
ciscoasa(config)# interface gigabitethernet 0/0
The physical_interface ID includes the type, slot, and port number as type slot/port. This first interface
in the channel group determines the type and speed for all other interfaces in the group.
Step 2
Example:
ciscoasa(config-if)# channel-group 1 mode active
The channel_id is between 1 and 48. If the port-channel interface for this channel ID does not yet exist
in the configuration, one will be added automatically:
interface port-channel channel_id
Step 4
(Optional) Add additional interfaces to the EtherChannel by repeating Step 1 through Step 3.
Example:
ciscoasa(config)# interface gigabitethernet 0/1
ciscoasa(config-if)# channel-group 1 mode active
ciscoasa(config-if)# no shutdown
Multiple interfaces in the EtherChannel per unit are useful for connecting to switches in a VSS or vPC.
Keep in mind that by default, a spanned EtherChannel can have only 8 active interfaces out of 16
maximum across all members in the cluster; the remaining 8 interfaces are on standby in case of link
failure. To use more than 8 active interfaces (but no standby interfaces), disable dynamic port priority
using the clacp static-port-priority command. When you disable dynamic port priority, you can use up
to 32 active links across the cluster. For example, for a cluster of 16 ASAs, you can use a maximum of
2 interfaces on each ASA, for a total of 32 interfaces in the spanned EtherChannel.
Step 5
Example:
ciscoasa(config)# interface port-channel 1
This interface was created automatically when you added an interface to the channel group.
Step 6
Example:
ciscoasa(config-if)# port-channel span-cluster
8-43
Chapter 8
ASA Cluster
If you are connecting the ASA to two switches in a VSS or vPC, then you should enable VSS load
balancing by using the vss-load-balance keyword. This feature ensures that the physical link
connections between the ASAs to the VSS (or vPC) pair are balanced. You must configure the vss-id
keyword in the channel-group command for each member interface before enabling load balancing (see
Step 2).
Step 7
(Optional) You can set the Ethernet properties for the port-channel interface to override the properties
set on the Individual interfaces.
This method provides a shortcut to set these parameters because these parameters must match for all
interfaces in the channel group.
Step 8
Example:
ciscoasa(config)# context admin
ciscoasa(config)# allocate-interface port-channel1
ciscoasa(config)# changeto context admin
ciscoasa(config-if)# interface port-channel 1
For multiple context mode, the rest of the interface configuration occurs within each context.
Step 10
Example:
ciscoasa(config-if)# nameif inside
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value.
Step 11
(IPv6)
ipv6 address ipv6-prefix/prefix-length
Example:
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0
ciscoasa(config-if)# ipv6 address 2001:DB8::1001/32
8-44
Chapter 8
ASA Cluster
Configure ASA Clustering
Example:
ciscoasa(config-if)# bridge-group 1
Where number is an integer between 1 and 100. You can assign up to four interfaces to a bridge
group. You cannot assign the same interface to more than one bridge group. Note that the BVI
configuration includes the IP address.
Step 12
Example:
ciscoasa(config-if)# security-level 50
Configure a MAC address for a Spanned EtherChannel so that the MAC address does not change when
the current master unit leaves the cluster:
mac-address mac_address
Example:
ciscoasa(config-if)# mac-address 000C.F142.4CDE
With a manually-configured MAC address, the MAC address stays with the current master unit. In
multiple context mode, if you share an interface between contexts, auto-generation of MAC addresses is
enabled by default, so that you only need to set the MAC address manually for a shared interface if you
disable auto-generation. Note that you must manually configure the MAC address for non-shared
interfaces.
The mac_address is in H.H.H format, where H is a 16-bit hexadecimal digit. For example, the
MAC address 00-0C-F1-42-4C-DE is entered as 000C.F142.4CDE.
The first two bytes of a manual MAC address cannot be A2 if you also want to use auto-generated MAC
addresses.
Related Topics
Enable the Physical Interface and Configure Ethernet Parameters, page 9-6
8-45
Chapter 8
ASA Cluster
You must use the console port to enable or disable clustering. You cannot use Telnet or SSH.
Back up your configurations in case you later want to leave the cluster, and need to restore your
configuration.
For multiple context mode, complete these procedures in the system execution space. To change
from the context to the system execution space, enter the changeto system command.
We recommend enabling jumbo frame reservation for use with the cluster control link.
With the exception of the cluster control link, any interfaces in your configuration must be
configured with a cluster IP pool or as a Spanned EtherChannel before you enable clustering,
depending on your interface mode. If you have pre-existing interface configuration, you can either
clear the interface configuration (clear configure interface), or convert your interfaces to cluster
interfaces before you enable clustering.
When you add a unit to a running cluster, you may see temporary, limited packet/connection drops;
this is expected behavior.
Procedure
Step 1
Enable the cluster control link interface before you join the cluster.
You will later identify this interface as the cluster control link when you enable clustering.
We recommend that you combine multiple cluster control link interfaces into an EtherChannel if you
have enough interfaces. The EtherChannel is local to the ASA, and is not a Spanned EtherChannel.
The cluster control link interface configuration is not replicated from the master unit to slave units;
however, you must use the same configuration on each unit. Because this configuration is not replicated,
you must configure the cluster control link interfaces separately on each unit.
You cannot use a Management x/x interface as the cluster control link, either alone or as an
EtherChannel.
For the ASA 5585-X with an ASA IPS module, you cannot use the module interfaces for the cluster
control link.
a.
Example:
ciscoasa(config)# interface tengigabitethernet 0/6
b.
8-46
Chapter 8
ASA Cluster
Configure ASA Clustering
Example:
ciscoasa(config-if)# channel-group 1 mode on
The channel_id is between 1 and 48. If the port-channel interface for this channel ID does not yet
exist in the configuration, one will be added automatically:
interface port-channel channel_id
We recommend using the On mode for cluster control link member interfaces to reduce unnecessary
traffic on the cluster control link. The cluster control link does not need the overhead of LACP traffic
because it is an isolated, stable network. Note: We recommend setting data EtherChannels to Active
mode.
c.
You only need to enable the interface; do not configure a name for the interface, or any other
parameters.
d.
(For an EtherChannel) Repeat for each additional interface you want to add to the EtherChannel:
Example:
ciscoasa(config)# interface tengigabitethernet 0/7
ciscoasa(config-if)# channel-group 1 mode on
ciscoasa(config-if)# no shutdown
Step 2
(Optional) Specify the maximum transmission unit for the cluster control link interface:
mtu cluster bytes
Example:
ciscoasa(config)# mtu cluster 9000
Set the MTU between 64 and 65,535 bytes. The default MTU is 1500 bytes.
We suggest setting the MTU to 1600 bytes or greater, which requires you to enable jumbo frame
reservation before continuing with this procedure. Jumbo frame reservation requires a reload of the
ASA.
This command is a global configuration command, but is also part of the bootstrap configuration that is
not replicated between units.
Step 3
Example:
ciscoasa(config)# cluster group pod1
The name must be an ASCII string from 1 to 38 characters. You can only configure one cluster group
per unit. All members of the cluster must use the same name.
Step 4
Use a unique ASCII string from 1 to 38 characters. Each unit must have a unique name. A unit with a
duplicated name will be not be allowed in the cluster.
8-47
Chapter 8
ASA Cluster
Step 5
Example:
ciscoasa(cfg-cluster)# cluster-interface port-channel2 ip 192.168.1.1 255.255.255.0
INFO: Non-cluster interface config is cleared on Port-Channel2
Example:
ciscoasa(cfg-cluster)# priority 1
(Optional) Set an authentication key for control traffic on the cluster control link:
key shared_secret
Example:
ciscoasa(cfg-cluster)# key chuntheunavoidable
The shared secret is an ASCII string from 1 to 63 characters. The shared secret is used to generate the
key. This command does not affect datapath traffic, including connection state update and forwarded
packets, which are always sent in the clear.
Step 8
(Optional) Customize the cluster health check feature, which includes unit health monitoring and
interface health monitoring:
health-check [holdtime timeout] [vss-enabled]
Example:
ciscoasa(cfg-cluster)# health-check holdtime 5
The holdime determines the amount of time between unit keepalive status messages, between .8 and 45
seconds; The default is 3 seconds. Note that the holdtime value only affects the unit health check; for
interface health, the ASA uses the interface status (up or down).
To determine unit health, the ASA cluster units send keepalive messages on the cluster control link to
other units. If a unit does not receive any keepalive messages from a peer unit within the holdtime period,
the peer unit is considered unresponsive or dead. If you configure the cluster control link as an
EtherChannel (recommended), and it is connected to a VSS or vPC pair, then you might need to enable
the vss-enabled option. For some switches, when one unit in the VSS/vPC is shutting down or booting
up, EtherChannel member interfaces connected to that switch may appear to be Up to the ASA, but they
are not passing traffic on the switch side. The ASA can be erroneously removed from the cluster if you
set the ASA holdtime timeout to a low value (such as .8 seconds), and the ASA sends keepalive messages
on one of these EtherChannel interfaces. When you enable vss-enabled, the ASA floods the keepalive
messages on all EtherChannel interfaces in the cluster control link to ensure that at least one of the
switches can receive them.
8-48
Chapter 8
ASA Cluster
Configure ASA Clustering
The interface health check monitors for link failures. If all physical ports for a given logical interface
fail on a particular unit, but there are active ports under the same logical interface on other units, then
the unit is removed from the cluster. The amount of time before the ASA removes a member from the
cluster depends on the type of interface and whether the unit is an established member or is joining the
cluster.
Health check is enabled by default for all interfaces. You can disable it using the no form of this
command. To disable monitoring per interface, see the no health-check monitor-interface command.
When any topology changes occur (such as adding or removing a data interface, enabling or disabling
an interface on the ASA or the switch, or adding an additional switch to form a VSS or vPC) you should
disable the health check feature. When the topology change is complete, and the configuration change
is synced to all units, you can re-enable the health check feature.
Step 9
Example:
ciscoasa(cfg-cluster)# no health-check monitor-interface management0/0
You might want to disable health monitoring of non-essential interfaces, for example, the management
interface. You can specify any port-channel ID, redundant ID, or single physical interface ID. Health
monitoring is not performed on VLAN subinterfaces or virtual interfaces such as VNIs or BVIs. You
cannot configure monitoring for the cluster control link; it is always monitored.
Step 10
Example:
ciscoasa(cfg-cluster)# conn-rebalance frequency 60
This command is disabled by default. If enabled, ASAs exchange load information periodically, and
offload new connections from more loaded devices to less loaded devices. The frequency, between 1 and
360 seconds, specifies how often the load information is exchanged. The default is 5 seconds.
Do not configure connection rebalancing for inter-site topologies; you do not want connections
rebalanced to cluster members at a different site.
Step 11
(Optional) Enable console replication from slave units to the master unit:
console-replicate
This feature is disabled by default. The ASA prints out some messages directly to the console for certain
critical events. If you enable console replication, slave units send the console messages to the master unit
so that you only need to monitor one console port for the cluster.
Step 12
Some switches do not support dynamic port priority, so this command improves switch compatibility.
Moreover, it enables support of more than 8 active spanned EtherChannel members, up to 32 members.
Without this command, only 8 active members and 8 standby members are supported. If you enable this
command, then you cannot use any standby members; all members are active.
Step 13
Example:
8-49
Chapter 8
ASA Cluster
When using Spanned EtherChannels, the ASA uses cLACP to negotiate the EtherChannel with the
neighbor switch. ASAs in a cluster collaborate in cLACP negotiation so that they appear as a single
(virtual) device to the switch. One parameter in cLACP negotiation is a system ID, which is in the format
of a MAC address. All ASAs in the cluster use the same system ID: auto-generated by the master unit
(the default) and replicated to all slaves; or manually specified in this command in the form H.H.H,
where H is a 16-bit hexadecimal digit. (For example, the MAC address 00-0A-00-00-AA-AA is entered
as 000A.0000.AAAA.) You might want to manually configure the MAC address for troubleshooting
purposes, for example, so that you can use an easily identified MAC address. Typically, you would use
the auto-generated MAC address.
The system priority, between 1 and 65535, is used to decide which unit is in charge of making a bundling
decision. By default, the ASA uses priority 1, which is the highest priority. The priority needs to be
higher than the priority on the switch.
This command is not part of the bootstrap configuration, and is replicated from the master unit to the
slave units. However, you cannot change this value after you enable clustering.
Step 14
Enable clustering:
enable [noconfirm]
Example:
ciscoasa(cfg-cluster)# enable
INFO: Clustering is not compatible with following commands:
policy-map global_policy
class inspection_default
inspect skinny
policy-map global_policy
class inspection_default
inspect sip
Would you like to remove these commands? [Y]es/[N]o:Y
INFO: Removing incompatible commands from running configuration...
Cryptochecksum (changed): f16b7fc2 a742727e e40bc0b0 cd169999
INFO: Done
When you enter the enable command, the ASA scans the running configuration for incompatible
commands for features that are not supported with clustering, including commands that may be present
in the default configuration. You are prompted to delete the incompatible commands. If you respond No,
then clustering is not enabled. Use the noconfirm keyword to bypass the confirmation and delete
incompatible commands automatically.
For the first unit enabled, a master unit election occurs. Because the first unit should be the only member
of the cluster so far, it will become the master unit. Do not perform any configuration changes during
this period.
To disable clustering, enter the no enable command.
Note
If you disable clustering, all data interfaces are shut down, and only the management-only
interface is active.
8-50
Chapter 8
ASA Cluster
Configure ASA Clustering
Examples
The following example configures a management interface, configures a device-local EtherChannel for
the cluster control link, and then enables clustering for the ASA called unit1, which will become the
master unit because it is added to the cluster first:
ip local pool mgmt 10.1.1.2-10.1.1.9
ipv6 local pool mgmtipv6 2001:DB8::1002/32 8
interface management 0/0
nameif management
ip address 10.1.1.1 255.255.255.0 cluster-pool mgmt
ipv6 address 2001:DB8::1001/32 cluster-pool mgmtipv6
security-level 100
management-only
no shutdown
interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
cluster group pod1
local-unit unit1
cluster-interface port-channel1 ip 192.168.1.1 255.255.255.0
priority 1
key chuntheunavoidable
enable noconfirm
Related Topics
You must use the console port to enable or disable clustering. You cannot use Telnet or SSH.
Back up your configurations in case you later want to leave the cluster, and need to restore your
configuration.
For multiple context mode, complete this procedure in the system execution space. To change from
the context to the system execution space, enter the changeto system command.
We recommend enabling jumbo frame reservation for use with the cluster control link.
8-51
Chapter 8
ASA Cluster
If you have any interfaces in your configuration that have not been configured for clustering (for
example, the default configuration Management 0/0 interface), you can join the cluster as a slave
unit (with no possibility of becoming the master in a current election).
When you add a unit to a running cluster, you may see temporary, limited packet/connection drops;
this is expected behavior.
Procedure
Step 1
Configure the same cluster control link interface as you configured for the master unit.
Example:
ciscoasa(config)# interface tengigabitethernet 0/6
ciscoasa(config-if)# channel-group 1 mode on
ciscoasa(config-if)# no shutdown
ciscoasa(config)# interface tengigabitethernet 0/7
ciscoasa(config-if)# channel-group 1 mode on
ciscoasa(config-if)# no shutdown
Step 2
Specify the same MTU that you configured for the master unit:
Example:
ciscoasa(config)# mtu cluster 9000
Step 3
Identify the same cluster name that you configured for the master unit:
Example:
ciscoasa(config)# cluster group pod1
Step 4
Example:
ciscoasa(cfg-cluster)# local-unit unit2
Specify the same cluster control link interface that you configured for the master unit, but specify a
different IP address on the same network for each unit:
cluster-interface interface_id ip ip_address mask
Example:
ciscoasa(cfg-cluster)# cluster-interface port-channel2 ip 192.168.1.2 255.255.255.0
INFO: Non-cluster interface config is cleared on Port-Channel2
Specify an IPv4 address for the IP address; IPv6 is not supported for this interface. This interface cannot
have a nameif configured.
Step 6
Set the priority of this unit for master unit elections, typically to a higher value than the master unit:
priority priority_number
Example:
ciscoasa(cfg-cluster)# priority 2
Set the priority between 1 and 100, where 1 is the highest priority.
8-52
Chapter 8
ASA Cluster
Manage ASA Cluster Members
Step 7
Set the same authentication key that you set for the master unit:
Example:
ciscoasa(cfg-cluster)# key chuntheunavoidable
Step 8
Enable clustering:
enable as-slave
You can avoid any configuration incompatibilities (primarily the existence of any interfaces not yet
configured for clustering) by using the enable as-slave command. This command ensures the slave joins
the cluster with no possibility of becoming the master in any current election. Its configuration is
overwritten with the one synced from the master unit.
To disable clustering, enter the no enable command.
Note
If you disable clustering, all data interfaces are shut down, and only the management interface
is active.
Examples
The following example includes the configuration for a slave unit, unit2:
interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
cluster group pod1
local-unit unit2
cluster-interface port-channel1 ip 192.168.1.2 255.255.255.0
priority 2
key chuntheunavoidable
enable as-slave
Related Topics
8-53
Chapter 8
ASA Cluster
Step 9
Note
When an ASA becomes inactive (either manually or through a health check failure), all data interfaces
are shut down; only the management-only interface can send and receive traffic. To resume traffic flow,
re-enable clustering; or you can remove the unit altogether from the cluster. The management interface
remains up using the IP address the unit received from the cluster IP pool. However if you reload, and
the unit is still inactive in the cluster, the management interface is not accessible (because it then uses
the Main IP address, which is the same as the master unit). You must use the console port for any further
configuration.
Before You Begin
You must use the console port; you cannot enable or disable clustering from a remote CLI
connection.
For multiple context mode, perform this procedure in the system execution space. If you are not
already in the System configuration mode, enter the changeto system command.
Procedure
Step 1
Example:
ciscoasa(config)# cluster group pod1
Step 2
Disable clustering:
no enable
If this unit was the master unit, a new master election takes place, and a different member becomes the
master unit.
The cluster configuration is maintained, so that you can enable clustering again later.
Related Topics
8-54
Chapter 8
ASA Cluster
Manage ASA Cluster Members
Inactivate a Member
To inactivate a member from any unit, perform the following steps.
Note
When an ASA becomes inactive, all data interfaces are shut down; only the management-only interface
can send and receive traffic. To resume traffic flow, re-enable clustering; or you can remove the unit
altogether from the cluster. The management interface remains up using the IP address the unit received
from the cluster IP pool. However if you reload, and the unit is still inactive in the cluster, the
management interface is not accessible (because it then uses the Main IP address, which is the same as
the master unit). You must use the console port for any further configuration.
Before You Begin
For multiple context mode, perform this procedure in the system execution space. If you are not already
in the System configuration mode, enter the changeto system command.
Procedure
Step 1
Example:
ciscoasa(config)# cluster remove unit ?
Current active units in the cluster:
asa2
ciscoasa(config)# cluster remove unit asa2
WARNING: Clustering will be disabled on unit asa2. To bring it back
to the cluster please logon to that unit and re-enable clustering
The bootstrap configuration remains intact, as well as the last configuration synced from the master unit,
so that you can later re-add the unit without losing your configuration. If you enter this command on a
slave unit to remove the master unit, a new master unit is elected.
To view member names, enter cluster remove unit ?, or enter the show cluster info command.
Related Topics
8-55
Chapter 8
ASA Cluster
You must use the console port; when you remove the cluster configuration, all interfaces are shut down,
including the management interface and cluster control link. Moreover, you cannot enable or disable
clustering from a remote CLI connection.
Procedure
Step 1
Example:
ciscoasa(config)# cluster group cluster1
ciscoasa(cfg-cluster)# no enable
You cannot make configuration changes while clustering is enabled on a slave unit.
Step 2
The ASA shuts down all interfaces including the management interface and cluster control link.
Step 3
The mode is not stored in the configuration and must be reset manually.
Step 4
If you have a backup configuration, copy the backup configuration to the running configuration:
copy backup_cfg running-config
Example:
ciscoasa(config)# copy backup_cluster.cfg running-config
Source filename [backup_cluster.cfg]?
Destination filename [running-config]?
ciscoasa(config)#
Step 5
Step 6
If you do not have a backup configuration, reconfigure management access. Be sure to change the
interface IP addresses, and restore the correct hostname, for example.
Related Topics
8-56
Chapter 8
ASA Cluster
Manage ASA Cluster Members
The best method to change the master unit is to disable clustering on the master unit, waiting for a new
master election, and then re-enabling clustering. If you must specify the exact unit you want to become
the master, use the procedure in this section. Note, however, that for centralized features, if you force a
master unit change using this procedure, then all connections are dropped, and you have to re-establish
the connections on the new master unit.
To change the master unit, perform the following steps.
Before You Begin
For multiple context mode, perform this procedure in the system execution space. If you are not already
in the System configuration mode, enter the changeto system command.
Procedure
Step 1
Example:
ciscoasa(config)# cluster master unit asa2
Related Topics
Send a command to all members, or if you specify the unit name, a specific member:
cluster exec [unit unit_name] command
Example:
ciscoasa# cluster exec show xlate
8-57
Chapter 8
ASA Cluster
To view member names, enter cluster exec unit ? (to see all names except the current unit), or enter the
show cluster info command.
Examples
To copy the same capture file from all units in the cluster at the same time to a TFTP server, enter the
following command on the master unit:
ciscoasa# cluster exec copy /pcap capture: tftp://10.1.1.56/capture1.pcap
Multiple PCAP files, one from each unit, are copied to the TFTP server. The destination capture file
name is automatically attached with the unit name, such as capture1_asa1.pcap, capture1_asa2.pcap, and
so on. In this example, asa1 and asa2 are cluster unit names.
The following sample output for the cluster exec show port-channel summary command shows
EtherChannel information for each member in the cluster:
ciscoasa# cluster exec show port-channel summary
primary(LOCAL):***********************************************************
Number of channel-groups in use: 2
Group Port-channel Protocol Span-cluster Ports
------+-------------+-----------+----------------------------------------------1
Po1
LACP
Yes Gi0/0(P)
2
Po2
LACP
Yes Gi0/1(P)
secondary:******************************************************************
Number of channel-groups in use: 2
Group Port-channel Protocol Span-cluster
Ports
------+-------------+-----------+----------------------------------------------1
Po1
LACP
Yes
Gi0/0(P)
2
Po2
LACP
Yes
Gi0/1(P)
8-58
Chapter 8
ASA Cluster
Monitoring the ASA Cluster
The show cluster info health command shows the current health of interfaces, units, and the cluster
overall.
See the following output for the show cluster info command:
ciscoasa# show cluster info
Cluster stbu: On
This is "C" in state SLAVE
ID
: 0
Version
: 100.8(0.52)
Serial No.: P3000000025
CCL IP
: 10.0.0.3
CCL MAC
: 000b.fcf8.c192
Last join : 17:08:59 UTC Sep
Last leave: N/A
Other members in the cluster:
Unit "D" in state SLAVE
ID
: 1
Version
: 100.8(0.52)
Serial No.: P3000000001
CCL IP
: 10.0.0.4
CCL MAC
: 000b.fcf8.c162
Last join : 19:13:11 UTC Sep
Last leave: N/A
Unit "A" in state MASTER
ID
: 2
Version
: 100.8(0.52)
Serial No.: JAB0815R0JY
CCL IP
: 10.0.0.1
CCL MAC
: 000f.f775.541e
Last join : 19:13:20 UTC Sep
Last leave: N/A
Unit "B" in state SLAVE
ID
: 3
Version
: 100.8(0.52)
Serial No.: P3000000191
CCL IP
: 10.0.0.2
CCL MAC
: 000b.fcf8.c61e
Last join : 19:13:50 UTC Sep
Last leave: 19:13:36 UTC Sep
26 2011
23 2011
23 2011
23 2011
23 2011
8-59
Chapter 8
ASA Cluster
To troubleshoot the connection flow, first see connections on all units by entering the cluster exec
show conn command on any unit. Look for flows that have the following flags: director (Y), backup
(y), and forwarder (z). The following example shows an SSH connection from 172.18.124.187:22
to 192.168.103.131:44727 on all three ASAs; ASA 1 has the z flag showing it is a forwarder for the
connection, ASA3 has the Y flag showing it is the director for the connection, and ASA2 has no
special flags showing it is the owner. In the outbound direction, the packets for this connection enter
8-60
Chapter 8
ASA Cluster
Monitoring the ASA Cluster
the inside interface on ASA2 and exit the outside interface. In the inbound direction, the packets for
this connection enter the outside interface on ASA 1 and ASA3, are forwarded over the cluster
control link to ASA2, and then exit the inside interface on ASA2.
ciscoasa/ASA1/master# cluster exec show conn
ASA1(LOCAL):**********************************************************
18 in use, 22 most used
Cluster stub connections: 0 in use, 5 most used
TCP outside 172.18.124.187:22 inside 192.168.103.131:44727, idle 0:00:00, bytes
37240828, flags z
ASA2:*****************************************************************
12 in use, 13 most used
Cluster stub connections: 0 in use, 46 most used
TCP outside 172.18.124.187:22 inside 192.168.103.131:44727, idle 0:00:00, bytes
37240828, flags UIO
ASA3:*****************************************************************
10 in use, 12 most used
Cluster stub connections: 2 in use, 29 most used
TCP outside 172.18.124.187:22 inside 192.168.103.131:44727, idle 0:00:03, bytes 0,
flags Y
8-61
Chapter 8
ASA Cluster
To display the aggregated count of in-use connections for all units, enter:
ciscoasa# show cluster conn count
Usage Summary In Cluster:*********************************************
200 in use (cluster-wide aggregated)
cl2(LOCAL):***********************************************************
100 in use, 100 most used
cl1:******************************************************************
100 in use, 100 most used
Related Topics
8-62
Chapter 8
ASA Cluster
Examples for ASA Clustering
show port-channel
Includes information about whether a port-channel is spanned.
Debugging Clustering
See the following commands for debugging clustering:
Spanned EtherChannel with Backup Links (Traditional 8 Active/8 Standby), page 8-70
8-63
Chapter 8
Examples for ASA Clustering
ASA Interface
Switch Interface
GigabitEthernet 0/2
GigabitEthernet 1/0/15
GigabitEthernet 0/3
GigabitEthernet 1/0/16
GigabitEthernet 0/4
GigabitEthernet 1/0/17
GigabitEthernet 0/5
GigabitEthernet 1/0/18
ASA Configuration
Interface Mode on Each Unit
cluster interface-mode spanned force
8-64
ASA Cluster
Chapter 8
ASA Cluster
Examples for ASA Clustering
8-65
Chapter 8
ASA Cluster
Firewall on a Stick
man0/0
ten0/9
ten0/8
ASA3
man0/0
ten0/9
ten0/8
ASA2
man0/0
ten0/9
ten0/8
ASA1
management
10.1.1.1/24 (Pool: .2-.9),
2001:DB8::1002/64
(Pool: 8 IPs)
Client
Server
333221
port-ch5
VLAN 10, VLAN 20 Trunk
VLAN 20
Switch
VLAN 10
port-ch1 Spanned
port-ch1.10 inside VLAN 10 10.10.10.5/24, 2001:DB8:2::5/64
MAC: 000C.F142.4CDE
port-ch1.20 outside VLAN 20 209.165.201.5/27, 2001:DB8:2::5/64
MAC: 000C.F142.5CDE
Data traffic from different security domains are associated with different VLANs, for example,
VLAN 10 for the inside network and VLAN 20 for the outside network. Each ASA has a single physical
port connected to the external switch or router. Trunking is enabled so that all packets on the physical
link are 802.1q encapsulated. The ASA is the firewall between VLAN 10 and VLAN 20.
When using Spanned EtherChannels, all data links are grouped into one EtherChannel on the switch side.
If an ASA becomes unavailable, the switch will rebalance traffic between the remaining units.
8-66
Chapter 8
ASA Cluster
Examples for ASA Clustering
8-67
Chapter 8
ASA Cluster
vlan 10
nameif inside
ip address 10.10.10.5 255.255.255.0
ipv6 address 2001:DB8:1::5/64
mac-address 000C.F142.4CDE
interface port-channel 2.20
vlan 20
nameif outside
ip address 209.165.201.1 255.255.255.224
ipv6 address 2001:DB8:2::8/64
mac-address 000C.F142.5CDE
Traffic Segregation
Cluster Control Link
port-ch1
192.168.1.1, .2, and .3
Switch
port-ch1
ten0/6
ten0/7
ten0/8
Switch
ASA1
ten0/9
ASA2
ten0/9
man0/0
port-ch1
port-ch3
ten0/6
ten0/7
ten0/8
ASA3
ten0/9
333220
man0/0
management
10.1.1.1 (Pool: .2-.9),
2001:DB8::1002/64 (Pool: 8 IPs)
port-ch1
ten0/6
ten0/7
ten0/8
port-ch3 Spanned
outside
209.165.201.1/27, 2001:DB8:2::8/64
MAC: 000C.F142.5CDE
port-ch1
port-ch2
port-ch4
port-ch2 Spanned
inside
10.10.10.5/24, 2001:DB8:1::5/64
MAC: 000C.F142.4CDE
man0/0
You may prefer physical separation of traffic between the inside and outside network.
As shown in the diagram above, there is one Spanned EtherChannel on the left side that connects to the
inside switch, and the other on the right side to outside switch. You can also create VLAN subinterfaces
on each EtherChannel if desired.
Interface Mode on Each Unit
cluster interface-mode spanned force
8-68
Chapter 8
ASA Cluster
Examples for ASA Clustering
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
interface port-channel 1
description CCL
cluster group cluster1
local-unit asa1
cluster-interface port-channel1 ip 192.168.1.1 255.255.255.0
priority 1
key chuntheunavoidable
enable noconfirm
8-69
Chapter 8
ASA Cluster
no shutdown
interface tengigabitethernet 0/8
channel-group 2 mode active
no shutdown
interface port-channel 2
port-channel span-cluster
nameif inside
ip address 10.10.10.5 255.255.255.0
ipv6 address 2001:DB8:1::5/64
mac-address 000C.F142.4CDE
interface tengigabitethernet 0/9
channel-group 3 mode active
no shutdown
interface port-channel 3
port-channel span-cluster
nameif outside
ip address 209.165.201.1 255.255.255.224
ipv6 address 2001:DB8:2::8/64
mac-address 000C.F142.5CDE
8-70
ASA Cluster
Examples for ASA Clustering
Router or
Access Switch
Switch 1
Router or
Access Switch
Switch 2
Switch 1
Router or
Access Switch
Switch 2 Switch 1
Switch 2
ASA1
ASA1
ASA1
ASA2
ASA2
ASA3
ASA3
ASA4
ASA4
1. Up to 4 units
ASA5
2. 5th unit joined
ASA8
3. Maximum of 8 units
333218
Chapter 8
The principle is to first maximize the number of active ports in the channel, and secondly keep the
number of active primary ports and the number of active secondary ports in balance. Note that when a
5th unit joins the cluster, traffic is not balanced evenly between all units.
8-71
Chapter 8
ASA Cluster
Link or device failure is handled with the same principle. You may end up with a less-than-perfect load
balancing situation. The following figure shows a 4-unit cluster with a single link failure on one of the
units.
Router or
Access Switch
Switch 1
Switch 2
Virtual Switch Link
ASA1
ASA2
ASA4
333217
ASA3
8-72
ASA Cluster
Examples for ASA Clustering
There could be multiple EtherChannels configured in the network. The following diagram shows an
EtherChannel on the inside and one on the outside. An ASA is removed from the cluster if both primary
and secondary links in one EtherChannel fail. This prevents the ASA from receiving traffic from the
outside network when it has already lost connectivity to the inside network.
Router or
Access Switch
Switch 1
Switch 2
Outside
ASA1
ASA2
ASA3
ASA4
Inside
Switch 4
Router or
Access Switch
333216
Chapter 8
0/6
0/7
0/8
0/9
8-73
Chapter 8
Examples for ASA Clustering
0/6
0/7
0/8
0/9
0/6
0/7
0/8
0/9
8-74
ASA Cluster
Chapter 8
ASA Cluster
Examples for ASA Clustering
no shutdown
interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/8
channel-group 1 mode on
no shutdown
interface tengigabitethernet 0/9
channel-group 1 mode on
no shutdown
interface port-channel 1
description CCL
cluster group cluster1
local-unit asa4
cluster-interface port-channel1 ip 192.168.1.4 255.255.255.0
priority 4
key chuntheunavoidable
enable as-slave
8-75
Chapter 8
ASA Cluster
Platform
Releases Feature Information
9.0(1)
ASA Clustering lets you group multiple ASAs together as a single logical device. A
cluster provides all the convenience of a single device (management, integration into a
network) while achieving the increased throughput and redundancy of multiple
devices. ASA clustering is supported for the ASA 5580 and the ASA 5585-X; all units
in a cluster must be the same model with the same hardware specifications. See the
configuration guide for a list of unsupported features when clustering is enabled.
We introduced or modified the following commands: channel-group, clacp
system-mac, clear cluster info, clear configure cluster, cluster exec, cluster group,
cluster interface-mode, cluster-interface, conn-rebalance, console-replicate,
cluster master unit, cluster remove unit, debug cluster, debug lacp cluster, enable
(cluster group), health-check, ip address, ipv6 address, key (cluster group),
local-unit, mac-address (interface), mac-address pool, mtu cluster, port-channel
span-cluster, priority (cluster group), prompt cluster-unit, show asp cluster
counter, show asp table cluster chash-table, show cluster, show cluster info, show
cluster user-identity, show lacp cluster, and show running-config cluster.
The ASA 5512-X, ASA 5515-X, ASA 5525-X, ASA 5545-X, and ASA 5555-X now
support 2-unit clusters. Clustering for 2 units is enabled by default in the base license;
for the ASA 5512-X, you need the Security Plus license.
We did not modify any commands.
9.1(4)
9.1(4)
You can now place cluster members at different geographical locations when using
Individual Interface mode.
We did not modify any commands.
8-76
Chapter 8
ASA Cluster
History for ASA Clustering
Feature Name
Support for cluster
members at different
geographical locations
(inter-site) for
transparent mode
Platform
Releases Feature Information
9.2(1)
You can now place cluster members at different geographical locations when using
Spanned EtherChannel mode in transparent firewall mode. Inter-site clustering with
spanned EtherChannels in routed firewall mode is not supported.
We did not modify any commands.
Some switches do not support dynamic port priority with LACP (active and standby
links). You can now disable dynamic port priority to provide better compatibility with
spanned EtherChannels. You should also follow these guidelines:
Network elements on the cluster control link path should not verify the L4
checksum. Redirected traffic over the cluster control link does not have a correct
L4 checksum. Switches that verify the L4 checksum could cause traffic to be
dropped.
9.2(1)
If you want to use more than 8 active links in a spanned EtherChannel, you
cannot also have standby links; the support for 9 to 32 active links requires you
to disable cLACP dynamic port priority that allows the use of standby links.
9.2(1)
9.3(1)
8-77
Chapter 8
ASA Cluster
Feature Name
Inter-site deployment in
transparent mode with
the ASA cluster
firewalling between
inside networks
Platform
Releases Feature Information
9.3(2)
You can now deploy a cluster in transparent mode between inside networks and the
gateway router at each site (AKA East-West insertion), and extend the inside VLANs
between sites. We recommend using Overlay Transport Virtualization (OTV), but you
can use any method that ensures that the overlapping MAC Addresses and IP addresses
of the gateway router do not leak between sites. Use a First Hop Redundancy Protocol
(FHRP) such as HSRP to provide the same virtual MAC and IP addresses to the
gateway routers.
You can now enable or disable health monitoring per interface. Health monitoring is
enabled by default on all port-channel, redundant, and single physical interfaces.
Health monitoring is not performed on VLAN subinterfaces or virtual interfaces such
as VNIs or BVIs. You cannot configure monitoring for the cluster control link; it is
always monitored. You might want to disable health monitoring of non-essential
interfaces, for example, the management interface.
We introduced the following command: health-check monitor-interface.
9.4(1)
You can now configure DHCP relay on the ASA cluster. Client DHCP requests are
load-balanced to the cluster members using a hash of the client MAC address. DHCP
client and server functions are still not supported.
We did not modify any commands.
You can now configure SIP inspection on the ASA cluster. A control flow can be
created on any unit (due to load balancing), but its child data flows must reside on the
same unit. TLS Proxy configuration is not supported.
We introduced the following command: show cluster service-policy
8-78
PART
Interfaces
CH AP TE R
Note
For multiple context mode, complete all tasks in this section in the system execution space. To change
from the context to the system execution space, enter the changeto system command.
Note
For the ASA Services Module interfaces, see the ASA Services Module quick start guide.
Enable the Physical Interface and Configure Ethernet Parameters, page 9-6
Auto-MDI/MDIX Feature
For RJ-45 interfaces, the default auto-negotiation setting also includes the Auto-MDI/MDIX feature.
Auto-MDI/MDIX eliminates the need for crossover cabling by performing an internal crossover when a
straight cable is detected during the auto-negotiation phase. Either the speed or duplex must be set to
auto-negotiate to enable Auto-MDI/MDIX for the interface. If you explicitly set both the speed and
9-1
Chapter 9
duplex to a fixed value, thus disabling auto-negotiation for both settings, then Auto-MDI/MDIX is also
disabled. For Gigabit Ethernet, when the speed and duplex are set to 1000 and full, then the interface
always auto-negotiates; therefore Auto-MDI/MDIX is always enabled and you cannot disable it.
Management Interface
The management interface, depending on your model, is a separate interface just for management traffic.
Management Interface on All Models Except for the ASA 5585-X, page 9-4
You may need to configure management access to the interface according to Chapter 32, Management
Access.
Model
Management 0/0
Management 0/1
Management 1/0
Management 1/1
ASA 5506-X
No
No
No
Yes
No
No
ASA 5508-X
No
No
No
Yes
No
No
ASA 5512-X
Yes
No
No
No
No
No
ASA 5515-X
Yes
No
No
No
No
No
ASA 5516-X
No
No
No
Yes
No
No
ASA 5525-X
Yes
No
No
No
No
No
ASA 5545-X
Yes
No
No
No
No
No
ASA 5555-X
Yes
No
No
No
No
No
9-2
Chapter 9
Table 9-1
Model
Management 0/0
Management 0/1
Management 1/0
Management 1/1
ASA 5585-X
Yes
Yes
Yes
Yes
Yes
Yes
If you installed an
SSP in slot 1, then
Management 1/0
and 1/1 provide
management
access to the SSP
in slot 1 only.
ASASM
No
No
No
No
N/A
N/A
ASAv
Yes
No
No
No
No
No
Note
If you installed a module, then the module management interface(s) provides management access for the
module only. For models with software modules, the software module uses the same physical
Management interface as the ASA.
Note
In transparent firewall mode, the management interface updates the MAC address table in the same
manner as a data interface; therefore you should not connect both a management and a data interface to
the same switch unless you configure one of the switch ports as a routed port (by default Catalyst
switches share a MAC address for all VLAN switch ports). Otherwise, if traffic arrives on the
management interface from the physically-connected switch, then the ASA updates the MAC address
9-3
Chapter 9
table to use the management interface to access the switch, instead of the data interface. This action
causes a temporary traffic interruption; the ASA will not re-update the MAC address table for packets
from the switch to the data interface for at least 30 seconds for security reasons.
No subinterface support
The software module shares the Management interface. Separate MAC addresses and IP addresses
are supported for the ASA and module. You must perform configuration of the module IP address
within the module operating system. However, physical characteristics (such as enabling the
interface) are configured on the ASA.
License Requirement
ASA 5508-X
ASA 5512-X
ASA 5515-X
ASA 5516-X
ASA 5525-X
ASA 5545-X
9-4
Chapter 9
Model
License Requirement
ASA 5555-X
ASA 5585-X
ASAv30
Note
Interfaces of all types comprise the maximum number of combined interfaces; for example, VLANs,
VXLANs, physical, redundant, bridge group, and EtherChannel interfaces. Every interface command
defined in the configuration counts against this limit. For example, both of the following interfaces count
even if the GigabitEthernet 0/0 interface is defined as part of port-channel 1:
interface gigabitethernet 0/0
and
interface port-channel 1
For multiple context, transparent mode, each context must use different interfaces; you cannot share an
interface across contexts.
Failover
Some management-related services are not available until a non-management interface is enabled, and
the the ASA achieves a System Ready state. The ASA generates the following syslog message when
it is in a System Ready state:
%ASA-6-199002: Startup completed.
Beginning operation.
9-5
Chapter 9
The default state of an interface depends on the type and the context mode.
In multiple context mode, all allocated interfaces are enabled by default, no matter what the state of the
interface is in the system execution space. However, for traffic to pass through the interface, the interface
also has to be enabled in the system execution space. If you shut down an interface in the system
execution space, then that interface is down in all contexts that share it.
In single mode or in the system execution space, interfaces have the following default states:
Physical interfacesDisabled.
Redundant InterfacesEnabled. However, for traffic to pass through the redundant interface, the
member physical interfaces must also be enabled.
VLAN subinterfacesEnabled. However, for traffic to pass through the subinterface, the physical
interface must also be enabled.
By default, the speed and duplex for copper (RJ-45) interfaces are set to auto-negotiate.
For fiber interfaces for the 5585-X, the speed is set for automatic link negotiation.
Some models include two connector types: copper RJ-45 and fiber SFP. RJ-45 is the default. You can
configure the ASA to use the fiber SFP connectors.
Default MAC Addresses
By default, the physical interface uses the burned-in MAC address, and all subinterfaces of a physical
interface use the same burned-in MAC address.
For multiple context mode, complete this procedure in the system execution space. To change from the
context to the system execution space, enter the changeto system command.
9-6
Chapter 9
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabitethernet 0/0
The physical_interface ID includes the type, slot, and port number as type[slot/]port.
The physical interface types include the following:
gigabitethernet
tengigabitethernet
management
Enter the type followed by slot/port, for example, gigabitethernet0/1. A space is optional between the
type and the slot/port.
Step 2
(Optional) Set the media type to SFP, if available for your model:
media-type sfp
Example:
ciscoasa(config-if)# speed 100
Example:
ciscoasa(config-if)# duplex full
The auto setting is the default. The duplex setting for an EtherChannel interface must be full or auto.
Step 5
(Optional) Enable pause (XOFF) frames for flow control on GigabitEthernet and TenGigabitEthernet
interfaces:
flowcontrol send on [low_water high_water pause_time] [noconfirm]
Example:
ciscoasa(config-if)# flowcontrol send on 95 200 10000
If you have a traffic burst, dropped packets can occur if the burst exceeds the buffering capacity of the
FIFO buffer on the NIC and the receive ring buffers. Enabling pause frames for flow control can alleviate
this issue. Pause (XOFF) and XON frames are generated automatically by the NIC hardware based on
the FIFO buffer usage. A pause frame is sent when the buffer usage exceeds the high-water mark. The
9-7
Chapter 9
default high_water value is 128 KB (10 GigabitEthernet) and 24 KB (1 GigabitEthernet); you can set it
between 0 and 511 (10 GigabitEthernet) or 0 and 47 KB (1 GigabitEthernet). After a pause is sent, an
XON frame can be sent when the buffer usage is reduced below the low-water mark. By default, the
low_water value is 64 KB (10 GigabitEthernet) and 16 KB (1 GigabitEthernet); you can set it between
0 and 511 (10 GigabitEthernet) or 0 and 47 KB (1 GigabitEthernet). The link partner can resume traffic
after receiving an XON, or after the XOFF expires, as controlled by the timer value in the pause frame.
The default pause_time value is 26624; you can set it between 0 and 65535. If the buffer usage is
consistently above the high-water mark, pause frames are sent repeatedly, controlled by the pause refresh
threshold value.
When you use this command, you see the following warning:
Changing flow-control parameters will reset the interface. Packets may be lost during the
reset.
Proceed with flow-control changes?
To change the parameters without being prompted, use the noconfirm keyword.
Note
Step 6
Only flow control frames defined in 802.3x are supported. Priority-based flow control is not
supported.
To disable the interface, enter the shutdown command. If you enter the shutdown command, you also
shut down all subinterfaces. If you shut down an interface in the system execution space, then that
interface is shut down in all contexts that share it.
In multiple context mode, set this option in the system execution space.
Be sure to set the MTU for each interface that needs to transmit jumbo frames to a higher value than
the default 1500; for example, set the value to 9198 using the mtu command. In multiple context
mode, set the MTU within each context.
Be sure to adjust the TCP MSS, either to disable it for non-VPN traffic (use the sysopt connection
tcpmss 0 command), or to increase it in accord with the MTU.
Procedure
Step 1
9-8
Chapter 9
jumbo-frame reservation
Examples
The following example enables jumbo frame reservation, saves the configuration, and reloads the ASA:
ciscoasa(config)# jumbo-frame reservation
WARNING: this command will take effect after the running-config is saved
and the system has been rebooted. Command accepted.
ciscoasa(config)# write memory
Building configuration...
Cryptochecksum: 718e3706 4edb11ea 69af58d0 0a6b7cb5
70291 bytes copied in 3.710 secs (23430 bytes/sec)
[OK]
ciscoasa(config)# reload
Proceed with reload? [confirm] Y
Related Topics
Monitoring Interfaces
See the following commands:
show interface
Displays interface statistics.
9-9
Chapter 9
Feature Name
Releases
Feature Information
7.2(3)
8.1(1)
9-10
Chapter 9
Table 9-2
Feature Name
Releases
Feature Information
8.2(2)
You can now enable pause (XOFF) frames for flow control.
This feature is also supported on the ASA 5585-X.
We introduced the following command: flowcontrol.
8.2(5)/8.4(2)
You can now enable pause (XOFF) frames for flow control
for Gigabit Ethernet interfaces on all models.
We modified the following command: flowcontrol.
9-11
Chapter 9
History for Basic Interface Configuration
9-12
CH AP TE R
10
Note
For multiple context mode, complete all tasks in this section in the system execution space. To change
from the context to the system execution space, enter the changeto system command.
Note
For ASA cluster interfaces, which have special requirements, see Chapter 8, ASA Cluster.
Redundant Interfaces
A logical redundant interface consists of a pair of physical interfaces: an active and a standby interface.
When the active interface fails, the standby interface becomes active and starts passing traffic. You can
configure a redundant interface to increase the ASA reliability. This feature is separate from device-level
failover, but you can configure redundant interfaces as well as device-level failover if desired.
10-1
Chapter 10
EtherChannels
An 802.3ad EtherChannel is a logical interface (called a port-channel interface) consisting of a bundle
of individual Ethernet links (a channel group) so that you increase the bandwidth for a single network.
A port channel interface is used in the same way as a physical interface when you configure
interface-related features.
You can configure up to 48 EtherChannels.
10-2
Chapter 10
Figure 10-1
Connecting to a VSS/vPC
VSS
Switch 2
Switch 1
gig3/5
gig6/5
gig0/0
gig0/1
port-channel 2
port-channel 1
ASA
If you use the ASA in an Active/Standby failover deployment, then you need to create separate
EtherChannels on the switches in the VSS/vPC, one for each ASA. On each ASA, a single EtherChannel
connects to both switches. Even if you could group all switch interfaces into a single EtherChannel
connecting to both ASAs (in this case, the EtherChannel will not be established because of the separate
ASA system IDs), a single EtherChannel would not be desirable because you do not want traffic sent to
the standby ASA.
Figure 10-2
VSS
Switch 1
port-channel 2 gig3/2
port-channel 1 gig0/0
gig3/3
gig0/1
Primary ASA
Switch 2
gig6/3 port-channel 3
gig6/2
gig0/0
gig0/1
port-channel 1
Secondary ASA
ActiveSends and receives LACP updates. An active EtherChannel can establish connectivity with
either an active or a passive EtherChannel. You should use the active mode unless you need to
minimize the amount of LACP traffic.
PassiveReceives LACP updates. A passive EtherChannel can only establish connectivity with an
active EtherChannel.
10-3
Chapter 10
OnThe EtherChannel is always on, and LACP is not used. An on EtherChannel can only
establish a connection with another on EtherChannel.
LACP coordinates the automatic addition and deletion of links to the EtherChannel without user
intervention. It also handles misconfigurations and checks that both ends of member interfaces are
connected to the correct channel group. On mode cannot use standby interfaces in the channel group
when an interface goes down, and the connectivity and configurations are not checked.
Load Balancing
The ASA distributes packets to the interfaces in the EtherChannel by hashing the source and destination
IP address of the packet (this criteria is configurable). The resulting hash is divided by the number of
active links in a modulo operation where the resulting remainder determines which interface owns the
flow. All packets with a hash_value mod active_links result of 0 go to the first interface in the
EtherChannel, packets with a result of 1 go to the second interface, packets with a result of 2 go to the
third interface, and so on. For example, if you have 15 active links, then the modulo operation provides
values from 0 to 14. For 6 active links, the values are 0 to 5, and so on.
For a spanned EtherChannel in clustering, load balancing occurs on a per ASA basis. For example, if
you have 32 active interfaces in the spanned EtherChannel across 8 ASAs, with 4 interfaces per ASA in
the EtherChannel, then load balancing only occurs across the 4 interfaces on the ASA.
If an active interface goes down and is not replaced by a standby interface, then traffic is rebalanced
between the remaining links. The failure is masked from both Spanning Tree at Layer 2 and the routing
table at Layer 3, so the switchover is transparent to other network devices.
Related Topics
When you use a redundant or EtherChannel interface as a failover link, it must be pre-configured on
both units in the failover pair; you cannot configure it on the primary unit and expect it to replicate
to the secondary unit because the failover link itself is required for replication.
10-4
Chapter 10
If you use a redundant or EtherChannel interface for the state link, no special configuration is
required; the configuration can replicate from the primary unit as normal.
You can monitor redundant or EtherChannel interfaces for failover using the monitor-interface
command; be sure to reference the logical redundant interface name. When an active member
interface fails over to a standby interface, this activity does not cause the redundant or EtherChannel
interface to appear to be failed when being monitored for device-level failover. Only when all
physical interfaces fail does the redundant or EtherChannel interface appear to be failed (for an
EtherChannel interface, the number of member interfaces allowed to fail is configurable).
If you use an EtherChannel interface for a failover or state link, then to prevent out-of-order packets,
only one interface in the EtherChannel is used. If that interface fails, then the next interface in the
EtherChannel is used. You cannot alter the EtherChannel configuration while it is in use as a failover
link. To alter the configuration, you need to either shut down the EtherChannel while you make
changes, or temporarily disable failover; either action prevents failover from occurring for the
duration.
Model Support
EtherChannels are supported on ASA appliances only; they are not supported on the ASAv or the
ASASM.
Clustering
When you use a redundant or EtherChannel interface as the cluster control link, it must be
pre-configured on all units in the cluster; you cannot configure it on the primary unit and expect it
to replicate to member units because the cluster control link itself is required for replication.
To configure a spanned EtherChannel or an individual cluster interface, see the clustering chapter.
Redundant Interfaces
All ASA configuration refers to the logical redundant interface instead of the member physical
interfaces.
You cannot use a redundant interface as part of an EtherChannel, nor can you use an EtherChannel
as part of a redundant interface. You cannot use the same physical interfaces in a redundant interface
and an EtherChannel interface. You can, however, configure both types on the ASA if they do not
use the same physical interfaces.
If you shut down the active interface, then the standby interface becomes active.
Redundant interfaces do not support Management slot/port interfaces as members. You also cannot
set a redundant interface comprised of non-Management interfaces as management-only.
EtherChannels
Each channel group can have up to 16 active interfaces. For switches that support only 8 active
interfaces, you can assign up to 16 interfaces to a channel group: while only eight interfaces can be
active, the remaining interfaces can act as standby links in case of interface failure.
All interfaces in the channel group must be the same type and speed. The first interface added to the
channel group determines the correct type and speed.
10-5
Chapter 10
The device to which you connect the ASA EtherChannel must also support 802.3ad EtherChannels;
for example, you can connect to the Catalyst 6500 switch or Cisco Nexus 7000 switch.
The ASA does not support LACPDUs that are VLAN-tagged. If you enable native VLAN tagging
on the neighboring switch using the Cisco IOS vlan dot1Q tag native command, then the ASA will
drop the tagged LACPDUs. Be sure to disable native VLAN tagging on the neighboring switch. In
multiple context mode, these messages are not included in a packet capture, so that you cannot
diagnose the issue easily.
The ASA does not support connecting an EtherChannel to a switch stack. If the ASA EtherChannel
is connected cross stack, and if the Master switch is powered down, then the EtherChannel
connected to the remaining switch will not come up.
All ASA configuration refers to the logical EtherChannel interface instead of the member physical
interfaces.
You cannot use a redundant interface as part of an EtherChannel, nor can you use an EtherChannel
as part of a redundant interface. You cannot use the same physical interfaces in a redundant interface
and an EtherChannel interface. You can, however, configure both types on the ASA if they do not
use the same physical interfaces.
The default state of an interface depends on the type and the context mode.
In multiple context mode, all allocated interfaces are enabled by default, no matter what the state of the
interface is in the system execution space. However, for traffic to pass through the interface, the interface
also has to be enabled in the system execution space. If you shut down an interface in the system
execution space, then that interface is down in all contexts that share it.
In single mode or in the system execution space, interfaces have the following default states:
Physical interfacesDisabled.
Redundant InterfacesEnabled. However, for traffic to pass through the redundant interface, the
member physical interfaces must also be enabled.
10-6
Chapter 10
Caution
Redundant interface delay values are configurable, but by default the ASA inherits the default delay
values based on the physical type of its member interfaces.
Both member interfaces must be of the same physical type. For example, both must be
GigabitEthernet.
You cannot add a physical interface to the redundant interface if you configured a name for it. You
must first remove the name using the no nameif command.
For multiple context mode, complete this procedure in the system execution space. To change from
the context to the system execution space, enter the changeto system command.
If you are using a physical interface already in your configuration, removing the name will clear any
configuration that refers to the interface.
Procedure
Step 1
Example:
ciscoasa(config)# interface redundant 1
Example:
ciscoasa(config-if)# member-interface gigabitethernet 0/0
Example:
ciscoasa(config-if)# member-interface gigabitethernet 0/1
Make sure the second interface is the same physical type as the first interface.
10-7
Chapter 10
Configure an EtherChannel
0/0
0/1
0/2
0/3
Example:
ciscoasa# show interface redundant1 detail | grep Member
Members GigabitEthernet0/3(Active), GigabitEthernet0/2
Step 2
Configure an EtherChannel
This section describes how to create an EtherChannel port-channel interface, assign interfaces to the
EtherChannel, and customize the EtherChannel.
10-8
Chapter 10
Caution
Each channel group can have up to 16 active interfaces. For switches that support only 8 active
interfaces, you can assign up to 16 interfaces to a channel group: while only eight interfaces can be
active, the remaining interfaces can act as standby links in case of interface failure.
To configure a spanned EtherChannel for clustering, see the clustering chapter instead of this
procedure.
All interfaces in the channel group must be the same type, speed, and duplex. Half duplex is not
supported.
You cannot add a physical interface to the channel group if you configured a name for it. You must
first remove the name using the no nameif command.
For multiple context mode, complete this procedure in the system execution space. To change from
the context to the system execution space, enter the changeto system command.
If you are using a physical interface already in your configuration, removing the name will clear any
configuration that refers to the interface.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabitethernet 0/0
The physical_interface ID includes the type, slot, and port number as type[slot/]port. This first interface
in the channel group determines the type and speed for all other interfaces in the group.
In transparent mode, if you create a channel group with multiple Management interfaces, then you can
use this EtherChannel as the management-only interface.
Step 2
Example:
ciscoasa(config-if)# channel-group 1 mode active
The channel_id is an integer between 1 and 48. If the port-channel interface for this channel ID does not
yet exist in the configuration, one will be added:
interface port-channel channel_id
(Optional) Set the priority for a physical interface in the channel group:
lacp port-priority number
Example:
ciscoasa(config-if)# lacp port-priority 12345
10-9
Chapter 10
Configure an EtherChannel
The priority number is an integer between 1 and 65535. The default is 32768. The higher the number,
the lower the priority. The ASA uses this setting to decide which interfaces are active and which are
standby if you assign more interfaces than can be used. If the port priority setting is the same for all
interfaces, then the priority is determined by the interface ID (slot/port). The lowest interface ID is the
highest priority. For example, GigabitEthernet 0/0 is a higher priority than GigabitEthernet 0/1.
If you want to prioritize an interface to be active even though it has a higher interface ID, then set this
command to have a lower value. For example, to make GigabitEthernet 1/3 active before GigabitEthernet
0/7, then make the lacp port-priority value be 12345 on the 1/3 interface vs. the default 32768 on the
0/7 interface.
If the device at the other end of the EtherChannel has conflicting port priorities, the system priority is
used to determine which port priorities to use. See the lacp system-priority command.
Step 4
Repeat Steps 1 through 3 for each interface you want to add to the channel group.
Each interface in the channel group must be the same type and speed. Half duplex is not supported. If
you add an interface that does not match, it will be placed in a suspended state.
Example:
ciscoasa(config)# interface port-channel 1
This interface was created automatically when you added an interface to the channel group. If you have
not yet added an interface, then this command creates the port-channel interface.
You need to add at least one member interface to the port-channel interface before you can configure
logical parameters for it such as a name.
Step 2
Specify the maximum number of active interfaces allowed in the channel group:
lacp max-bundle number
Example:
ciscoasa(config-if)# lacp max-bundle 6
The number is between 1 and 16. The default is 16. If your switch does not support 16 active interfaces,
be sure to set this command to 8 or fewer.
10-10
Chapter 10
Step 3
Specify the minimum number of active interfaces required for the port-channel interface to become
active:
port-channel min-bundle number
Example:
ciscoasa(config-if)# port-channel min-bundle 2
The number is between 1 and 16. The default is 1. If the active interfaces in the channel group falls below
this value, then the port-channel interface goes down, and could trigger a device-level failover.
Step 4
Example:
ciscoasa(config-if)# port-channel load-balance src-dst-mac
By default, the ASA balances the packet load on interfaces according to the source and destination IP
address (src-dst-ip) of the packet. If you want to change the properties on which the packet is
categorized, use this command. For example, if your traffic is biased heavily towards the same source
and destination IP addresses, then the traffic assignment to interfaces in the EtherChannel will be
unbalanced. Changing to a different algorithm can result in more evenly distributed traffic.
Step 5
Example:
ciscoasa(config)# lacp system-priority 12345
The number is between 1 and 65535. The default is 32768. The higher the number, the lower the priority.
This command is global for the ASA.
If the device at the other end of the EtherChannel has conflicting port priorities, the system priority is
used to determine which port priorities to use. For interface priorities within an EtherChannel, see the
lacp port-priority command.
Step 6
(Optional) Set the Ethernet properties for the port-channel interface to override the properties set on the
individual interfaces.
See Enable the Physical Interface and Configure Ethernet Parameters, page 9-6 for Ethernet commands.
This method provides a shortcut to set these parameters because these parameters must match for all
interfaces in the channel group.
Related Topics
10-11
Chapter 10
show interface
Displays interface statistics.
10-12
Chapter 10
Feature Name
Releases
Feature Information
Redundant interfaces
8.0(2)
EtherChannel support
8.4(1)
9.2(1)
10-13
Chapter 10
History for EtherChannels and Redundant Interfaces
10-14
CH AP TE R
11
VLAN Interfaces
This chapter tells how to configure VLAN subinterfaces.
Note
For multiple context mode, complete all tasks in this section in the system execution space. To change
from the context to the system execution space, enter the changeto system command.
License Requirement
Base License: 5
Security Plus License: 30
ASA 5508-X
Base License: 50
11-1
Chapter 11
VLAN Interfaces
Model
License Requirement
ASA 5512-X
Base License: 50
Security Plus License: 100
ASA 5515-X
ASA 5516-X
Base License: 50
ASA 5525-X
ASA 5545-X
ASA 5555-X
ASA 5585-X
ASAv30
Note
For an interface to count against the VLAN limit, you must assign a VLAN to it. For example:
interface gigabitethernet 0/0.100
vlan 100
VLAN subinterfaces are not supported on the ASASM; ASASM interfaces are already VLAN interfaces
assigned from the switch.
Additional Guidelines
Preventing untagged packets on the physical interfaceIf you use subinterfaces, you typically do
not also want the physical interface to pass traffic, because the physical interface passes untagged
packets. This property is also true for the active physical interface in a redundant interface pair and
for EtherChannel links. Because the physical, redundant, or EtherChannel interface must be enabled
for the subinterface to pass traffic, ensure that the physical, redundant, or EtherChannel interface
does not pass traffic by leaving out the nameif command. If you want to let the physical, redundant,
or EtherChannel interface pass untagged packets, you can configure the nameif command as usual.
(All models except for the ASA 5585-X) You cannot configure subinterfaces on the Management
interface.
The ASA does not support the Dynamic Trunking Protocol (DTP), so you must configure the
connected switch port to trunk unconditionally.
11-2
Chapter 11
VLAN Interfaces
Configure VLAN Subinterfaces and 802.1Q Trunking
The default state of an interface depends on the type and the context mode.
In multiple context mode, all allocated interfaces are enabled by default, no matter what the state of the
interface is in the system execution space. However, for traffic to pass through the interface, the interface
also has to be enabled in the system execution space. If you shut down an interface in the system
execution space, then that interface is down in all contexts that share it.
In single mode or in the system execution space, interfaces have the following default states:
Physical interfacesDisabled.
VLAN subinterfacesEnabled. However, for traffic to pass through the subinterface, the physical
interface must also be enabled.
For multiple context mode, complete this procedure in the system execution space. To change from the
context to the system execution space, enter the changeto system command.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabitethernet 0/1.100
The redundant number argument is the redundant interface ID, such as redundant 1.
The port-channel number argument is the EtherChannel interface ID, such as port-channel 1.
The subinterface ID is an integer between 1 and 4294967293.
Step 2
Example:
ciscoasa(config-subif)# vlan 101
The vlan_id is an integer between 1 and 4094. Some VLAN IDs might be reserved on connected
switches, so check the switch documentation for more information.
You can only assign a single VLAN to a subinterface, and you cannot assign the same VLAN to multiple
subinterfaces. You cannot assign a VLAN to the physical interface. Each subinterface must have a
VLAN ID before it can pass traffic. To change a VLAN ID, you do not need to remove the old VLAN
ID with the no option; you can enter the vlan command with a different VLAN ID, and the ASA changes
the old ID.
11-3
Chapter 11
VLAN Interfaces
show interface
Displays interface statistics.
Feature Name
Releases
Feature Information
Increased VLANs
7.0(5)
Increased VLANs
7.2(2)
8.1(2)
11-4
CH AP TE R
12
VXLAN Interfaces
This chapter tells how to configure Virtual eXtensible LAN (VXLAN) interfaces. VXLANs act as
Layer 2 virtual networks over Layer 3 physical networks to stretch Layer 2 networks.
This section describes how VXLAN works. For detailed information, see RFC 7348.
VXLAN Encapsulation
VXLAN is a Layer 2 overlay scheme on a Layer 3 network. It uses MAC Address-in-User Datagram
Protocol (MAC-in-UDP) encapsulation. The original Layer 2 frame has a VXLAN header added and is
then placed in a UDP-IP packet.
12-1
Chapter 12
VXLAN Interfaces
VTEP
VNIs
Layer 3
Network
ASA 1
VTEP
ASA 2
VTEP
PCs
VM1
VM2
Virtual Server 1
VM3
VM4
Virtual Server 2
VM5
VM6
Virtual Server 3
The underlying IP network between VTEPs is independent of the VXLAN overlay. Encapsulated packets
are routed based on the outer IP address header, which has the initiating VTEP as the source IP address
and the terminating VTEP as the destination IP address. The destination IP address can be a multicast
group when the remote VTEP is not known. The destination port is UDP port 4789 by default (user
configurable).
VNI Interfaces
VNI interfaces are similar to VLAN interfaces: they are virtual interfaces that keep network traffic
separated on a given physical interface by using tagging. You apply your security policy directly to each
VNI interface.
All VNI interfaces are associated with the same VTEP interface.
12-2
Chapter 12
VXLAN Interfaces
About VXLAN Interfaces
The VTEP source interface encapsulates the inner MAC frame with the VXLAN header.
It is a UDP packet with the destination port set to 4789 (this value is user configurable).
Peer VTEPs
When the ASA sends a packet to a device behind a peer VTEP, the ASA needs two important pieces of
information:
There are two ways in which the ASA can find this information:
A multicast group can be configured on each VNI interface (or on the VTEP as a whole).
The ASA sends a VXLAN-encapsulated ARP broadcast packet within an IP multicast packet
through the VTEP source interface. The response to this ARP request enables the ASA to learn both
the remote VTEP IP address along with the destination MAC address of the remote end node.
The ASA maintains a mapping of destination MAC addresses to remote VTEP IP addresses for the VNI
interfaces.
12-3
Chapter 12
VXLAN Interfaces
VM2
VM4
VTEP
Virtual Server 1
VM3
ASA
VM5
VTEP
VM1
VTEP
The ASA always processes VXLAN packets; it does not just forward VXLAN packets untouched
between two other VTEPs.
VM6
Virtual Server 3
Servers
VXLAN
Gateway
Virtual Server 2
VTEP
Layer 3
Network
10.10.10.20/24
vni1
outside
VTEP
ASA
Transparent
VM2 10.10.10.10/24
inside
PCs
VM1
Virtual Server
12-4
Chapter 12
VXLAN Interfaces
About VXLAN Interfaces
Layer 3
Network
VTEP
vni1
outside
VTEP
ASA
VM2
inside
10.20.20.20/24
PCs
10.10.10.10/24
VM1
Virtual Server
VTEP
VM1
Rack 2
vni2 vni3
VTEP
VM2
VM3
Virtual Server 1
VM4
Virtual Server 2
vni1
vni4
VTEP
ASA
Router 1
Router 2
vni2
VTEP
VM1
vni3
Layer 3
Network
VTEP
VM2
Virtual Server 1
VM3
vni1
vni4
VM4
Virtual Server 2
VTEP
ASA
12-5
Chapter 12
VXLAN Interfaces
For packets from VM3 to VM1, the destination MAC address is the ASA MAC address, because the
ASA is the default gateway.
2.
The VTEP source interface on Virtual Server 2 receives packets from VM3, then encapsulates the
packets with VNI 3s VXLAN tag and sends them to the ASA.
3.
When the ASA receives the packets, it decapsulates the packets to get the inner frames.
4.
The ASA uses the inner frames for route lookup, then finds that the destination is on VNI 2. If it
does not already have a mapping for VM1, the ASA sends an encapsulated ARP broadcast on the
multicast group IP on VNI 2.
The ASA must use dynamic VTEP peer discovery because it has multiple VTEP peers in this
scenario.
Note
5.
The ASA encapsulates the packets again with the VXLAN tag for VNI 2 and sends the packets to
Virtual Server 1. Before encapsulation, the ASA changes the inner frame destination MAC address
to be the MAC of VM1 (multicast-encapsulated ARP might be needed for the ASA to learn the VM1
MAC address).
6.
When Virtual Server 1 receives the VXLAN packets, it decapsulates the packets and delivers the
inner frames to VM1.
The VNI interface supports IPv6 traffic, but the VTEP source interface IP address only supports
IPv4.
Clustering
ASA clustering does not support VXLAN in Individual Interface mode. Only Spanned EtherChannel
mode supports VXLAN.
Routing
Only static routing is supported on the VNI interface; dynamic routing protocols are not supported.
12-6
Chapter 12
VXLAN Interfaces
Configure VXLAN Interfaces
Step 1
Step 2
Step 3
For multiple context mode, complete the tasks in this section in the context execution space. Enter the
changeto context name command to change to the context you want to configure.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabitethernet 1/1
ciscoasa(config-if)# nve-only
This setting lets you configure an IP address for the interface. This command is optional for routed mode
where this setting restricts traffic to VXLAN and common management traffic only on this interface.
Step 2
Step 3
Note
Step 4
The encapsulation vxlan command is added by default for the NVE instance; you do not need
to explicitly add it.
12-7
Chapter 12
VXLAN Interfaces
source-interface interface_name
Example:
ciscoasa(cfg-nve)# source-interface outside
Step 5
(Multiple context mode; Optional for single mode) Manually specify the peer VTEP IP address:
peer ip ip_address
Example:
ciscoasa(cfg-nve)# peer ip 10.1.1.2
If you specify the peer IP address, you cannot use multicast group discovery. Multicast is not supported
in multiple context mode, so manual configuration is the only option. You can only specify one peer for
the VTEP.
Step 6
(Optional; single mode only) Specify a default multicast group for all associated VNI interfaces:
default-mcast-group mcast_ip
Example:
ciscoasa(cfg-nve)# default-mcast-group 236.0.0.100
If you do not configure the multicast group per VNI interface, then this group is used. If you configure
a group at the VNI interface level, then that group overrides this setting.
Example:
ciscoasa(config)# interface vni 1
Set the ID between 1 and 10000. This ID is only an internal interface identifier.
Step 2
Example:
ciscoasa(config-if)# segment-id 1000
Set the ID between 1 and 16777215. The segment ID is used for VXLAN tagging.
Step 3
(Transparent mode) Specify the bridge group to which you want to associate this interface:
bridge-group number
Example:
12-8
Chapter 12
VXLAN Interfaces
Configure VXLAN Interfaces
ciscoasa(config-if)# bridge-group 1
See Configure Transparent Mode Interfaces, page 13-9 to configure the BVI interface and associate
regular interfaces to this bridge group.
Step 4
Step 5
Example:
ciscoasa(config-if)# nameif vxlan1000
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value. Do not enter the no form, because that command causes all
commands that refer to that name to be deleted.
Step 6
Example:
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2
ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98:0:3210/48
Step 7
Example:
ciscoasa(config-if)# security-level 50
Example:
ciscoasa(config-if)# mcast-group 236.0.0.100
If you do not set the multicast group for the VNI interface, the default group from the VTEP source
interface configuration is used, if available. If you manually set a VTEP peer IP for the VTEP source
interface, you cannot specify a multicast group for the VNI interface. Multicast is not supported in
multiple context mode.
12-9
Chapter 12
VXLAN Interfaces
For multiple context mode, complete this task in the system execution space. To change from the context
to the system execution space, enter the changeto system command.
Procedure
Step 1
Example:
ciscoasa(config)# vxlan port 5678
See the following output for the show nve 1 summary command:
ciscoasa# show nve 1 summary
nve 1, source-interface "inside" is up
Encapsulation: vxlan
Number of configured static peer VTEPs: 0
Number of discovered peer VTEPs: 1
Default multicast group: 239.1.2.3
Number of VNIs attached to nve 1: 2
12-10
Chapter 12
VXLAN Interfaces
Monitoring VXLAN Interfaces
This command shows the parameters, status and statistics of a VNI interface, status of its bridged
interface (if configured), and NVE interface it is associated with. The summary option shows only
the VNI interface parameters.
See the following output for the show interface vni 1 command:
ciscoasa# show interface vni 1
Interface vni1 "vni-inside", is up, line protocol is up
VTEP-NVE 1
Segment-id 5001
Tag-switching: disabled
MTU: 1500
MAC: aaaa.bbbb.1234
IP address 192.168.0.1, subnet mask 255.255.255.0
Multicast group 239.1.3.3
Traffic Statistics for "vni-inside":
235 packets input, 23606 bytes
524 packets output, 32364 bytes
14 packets dropped
1 minute input rate 0 pkts/sec, 0 bytes/sec
1 minute output rate 0 pkts/sec, 2 bytes/sec
1 minute drop rate, 0 pkts/sec
5 minute input rate 0 pkts/sec, 0 bytes/sec
5 minute output rate 0 pkts/sec, 0 bytes/sec
5 minute drop rate, 0 pkts/sec
See the following output for the show interface vni 1 summary command:
ciscoasa# show interface vni 1 summary
Interface vni1 "vni-inside", is up, line protocol is up
VTEP-NVE 1
Segment-id 5001
Tag-switching: disabled
MTU: 1500
MAC: aaaa.bbbb.1234
IP address 192.168.0.1, subnet mask 255.255.255.0
Multicast group not configured
12-11
Chapter 12
VXLAN Interfaces
In transparent mode, this command displays the Layer 2 forwarding table (MAC address table) on
the VNI interface with the remote VTEP IP addresses.
See the following output for the show mac-address-table vtep-mapping command:
ciscoasa# show mac-address-table vtep-mapping
interface
mac address
type
Age(min)
bridge-group
VTEP
----------------------------------------------------------------------------------------------vni-outside
00ff.9200.0000
dynamic
5
1
10.9.1.3
vni-inside
0041.9f00.0000
dynamic
5
1
10.9.1.3
VTEP
ASA G0/1.100
Transparent insidevm100
vni1 vxlan6000
10.10.10.1/24
vni2 vxlan8000
10.20.20.1/24
vni3 vxlan10000
G0/1.200
G0/0
insidevm200
outside
G0/2
insidepc
10.20.20.0/24
VM2
PCs
10.30.30.0/24
The outside interface on GigabitEthernet 0/0 is used as the VTEP source interface, and it is
connected to the Layer 3 network.
12-12
Chapter 12
VXLAN Interfaces
Examples for VXLAN Interfaces
The insidepc interface on GigabitEthernet 0/2 is connected to the 10.30.30.0/24 network on which
a few PCs reside. When those PCs communicate with VMs/PCs (not shown) behind a remote VTEP
that belongs to same network (all have 10.30.30.0/24 IP addresses), the ASA uses VXLAN tag
10000.
ASA Configuration
firewall transparent
vxlan port 8427
!
interface gigabitethernet0/0
nve-only
nameif outside
ip address 192.168.1.30 255.255.255.0
no shutdown
!
nve 1
encapsulation vxlan
source-interface outside
!
interface vni1
segment-id 6000
nameif vxlan6000
security-level 0
bridge-group 1
vtep-nve 1
mcast-group 235.0.0.100
!
interface vni2
segment-id 8000
nameif vxlan8000
security-level 0
bridge-group 2
vtep-nve 1
mcast-group 236.0.0.100
!
interface vni3
segment-id 10000
nameif vxlan10000
security-level 0
bridge-group 3
vtep-nve 1
mcast-group 236.0.0.100
!
interface gigabitethernet0/1.100
nameif insidevm100
security-level 100
bridge-group 1
!
interface gigabitethernet0/1.200
nameif insidevm200
security-level 100
bridge-group 2
!
interface gigabitethernet0/2
nameif insidepc
security-level 100
bridge-group 3
!
interface bvi 1
ip address 10.10.10.1 255.255.255.0
!
interface bvi 2
12-13
Chapter 12
VXLAN Interfaces
Notes
For VNI interfaces vni1 and vni2, the inner VLAN tag is removed during encapsulation.
VNI interfaces vni2 and vni3 share the same multicast IP address for encapsulated ARP over
multicast. This sharing is allowed.
The ASA bridges the VXLAN traffic to non-VXLAN-supported interfaces based on the above BVIs
and bridge group configurations. For each of the stretched Layer 2 network segments
(10.10.10.0/24, 10.20.20.0/24 and 10.30.30.0/24), the ASA serves as a bridge.
It is allowed to have more than one VNI or more than one regular interface (VLAN or just physical
interface) in a bridge group. The forwarding or association between VXLAN segment ID to the
VLAN ID (or a physical interface) is decided by the destination MAC address and which interface
connects to the destination.
The VTEP source-interface is a Layer 3 interface in transparent firewall mode indicated by nve-only
in the interface configuration. The VTEP source interface is not a BVI interface or a management
interface, but it has an IP address and uses the routing table.
192.168.1.20/24
VTEP
VM2
VM1
Virtual Server 2
Virtual Server 1
G0/0
192.168.1.30/24 VTEP outside
ASA
VM1 (10.10.10.10) is hosted on Virtual Server 1, and VM2 (10.20.20.20) is hosted on Virtual Server
2.
The default gateway for VM1 is the ASA, which is not in the same pod as Virtual Server 1, but VM1
is not aware of it. VM1 only knows that its default gateway IP address is 10.10.10.1. Similarly, VM2
only knows that its default gateway IP address is 10.20.20.1.
The VTEP-supported hypervisors on Virtual Server 1 and 2 are able to communicate with the ASA
over the same subnet or through a Layer 3 network (not shown; in which case, the ASA and uplinks
of virtual servers have different network addresses).
12-14
Chapter 12
VXLAN Interfaces
Examples for VXLAN Interfaces
VM1s packet will be encapsulated by its hypervisors VTEP and sent to its default gateway over
VXLAN tunneling.
When VM1 sends a packet to VM2, the packet will be sent through default gateway 10.10.10.1 from
its perspective. Virtual Server1 knows 10.10.10.1 is not local, so the VTEP encapsulates the packet
over VXLAN and sends it to ASAs VTEP.
On the ASA, the packet is decapsulated. The VXLAN segment ID is learned during decapsulation.
The ASA then re-injects the inner frame to the corresponding VNI interface (vni1) based on the
VXLAN segment ID. The ASA then conducts a route lookup and sends the inner packet through
another VNI interface, vni2. All egressing packets through vni2 are encapsulated with VXLAN
segment 8000 and sent through the VTEP to outside.
Eventually the encapsulated packet is received by the VTEP of Virtual Server 2, which decapsulates
it and forwards it to VM2.
ASA Configuration
interface gigabitethernet0/0
nameif outside
ip address 192.168.1.30 255.255.255.0
no shutdown
!
nve 1
encapsulation vxlan
source-interface outside
default-mcast-group 235.0.0.100
!
interface vni1
segment-id 6000
nameif vxlan6000
security-level 0
vtep-nve 1
ip address 10.20.20.1 255.255.255.0
!
interface vni2
segment-id 8000
nameif vxlan8000
security-level 0
vtep-nve 1
ip address 10.10.10.1 255.255.255.0
!
12-15
Chapter 12
VXLAN Interfaces
Feature Name
Releases
Feature Information
VXLAN support
9.4(1)
12-16
CH AP TE R
13
Note
For multiple context mode, complete the tasks in this section in the context execution space. Enter the
changeto context name command to change to the context you want to configure.
13-1
Chapter 13
Security Levels
Each interface must have a security level from 0 (lowest) to 100 (highest). For example, you should
assign your most secure network, such as the inside host network, to level 100. While the outside
network connected to the Internet can be level 0. Other networks, such as DMZs can be in between. You
can assign interfaces to the same security level.
The level controls the following behavior:
Network accessBy default, there is an implicit permit from a higher security interface to a lower
security interface (outbound). Hosts on the higher security interface can access any host on a lower
security interface. You can limit access by applying an ACL to the interface.
If you enable communication for same security interfaces, there is an implicit permit for interfaces
to access other interfaces on the same security level or lower.
Inspection enginesSome application inspection engines are dependent on the security level. For
same security interfaces, inspection engines apply to traffic in either direction.
NetBIOS inspection engineApplied only for outbound connections.
SQL*Net inspection engineIf a control connection for the SQL*Net (formerly OraServ) port
exists between a pair of hosts, then only an inbound data connection is permitted through the
ASA.
FilteringHTTP(S) and FTP filtering applies only for outbound connections (from a higher level
to a lower level).
If you enable communication for same security interfaces, you can filter traffic in either direction.
established commandThis command allows return connections from a lower security host to a
higher security host if there is already an established connection from the higher level host to the
lower level host.
If you enable communication for same security interfaces, you can configure established commands
for both directions.
Related Topics
13-2
Chapter 13
Active Discovery PhaseIn this phase, the PPPoE client locates a PPPoE server, called an access
concentrator. During this phase, a Session ID is assigned and the PPPoE layer is established.
PPP Session PhaseIn this phase, PPP options are negotiated and authentication is performed.
Once the link setup is completed, PPPoE functions as a Layer 2 encapsulation method, allowing data
to be transferred over the PPP link within PPPoE headers.
At system initialization, the PPPoE client establishes a session with the access concentrator by
exchanging a series of packets. Once the session is established, a PPP link is set up, which includes
authentication using Password Authentication protocol (PAP). Once the PPP session is established, each
packet is encapsulated in the PPPoE and PPP headers.
IPv6
This section includes information about how to configure IPv6.
IPv6 Addressing
You can configure two types of unicast addresses for IPv6:
GlobalThe global address is a public address that you can use on the public network. For
transparent mode, this address needs to be configured for each bridge group, and not per-interface.
You can also configure a global IPv6 address for the management interface.
Link-localThe link-local address is a private address that you can only use on the
directly-connected network. Routers do not forward packets using link-local addresses; they are
only for communication on a particular physical network segment. They can be used for address
13-3
Chapter 13
configuration or for the ND functions such as address resolution and neighbor discovery. In
transparent mode, because the link-local address is only available on a segment, and is tied to the
interface MAC address, you need to configure the link-local address per interface.
At a minimum, you need to configure a link-local address for IPv6 to operate. If you configure a global
address, a link-local address is automatically configured on the interface, so you do not also need to
specifically configure a link-local address. If you do not configure a global address, then you need to
configure the link-local address, either automatically or manually.
Note
If you want to only configure the link-local addresses, see the ipv6 enable (to auto-configure) or ipv6
address link-local (to manually configure) command in the command reference.
The address format verification is only performed when a flow is created. Packets from an existing flow
are not checked. Additionally, the address verification can only be performed for hosts on the local link.
Packets received from hosts behind a router will fail the address format verification, and be dropped,
because their source MAC address will be the router MAC address and not the host MAC address.
ipv6 nd prefix
ipv6 nd ra-interval
ipv6 nd ra-lifetime
ipv6 nd suppress-ra
In multiple context mode, you can only configure context interfaces that you already assigned to the
context in the system configuration according to Configure Multiple Contexts, page 6-15.
13-4
Chapter 13
For multiple context mode in transparent mode, each context must use different interfaces; you
cannot share an interface across contexts.
For multiple context mode in transparent mode, each context typically uses a different subnet. You
can use overlapping subnets, but your network topology requires router and NAT configuration to
make it possible from a routing standpoint.
Failover
Do not configure failover interfaces with the procedures in this chapter. See Chapter 7, Failover for
High Availability, to configure the failover and state links.
IPv6
You can add any VLAN ID to the configuration, but only VLANs that are assigned to the ASA by the
switch can pass traffic. To view all VLANs assigned to the ASA, use the show vlan command.
If you add an interface for a VLAN that is not yet assigned to the ASA by the switch, the interface will
be in the down state. When you assign the VLAN to the ASA, the interface changes to an up state. See
the show interface command for more information about interface states.
Transparent Mode Guidelines
You can configure up to 250 bridge groups in single mode or per context in multiple mode. Note that
you must use at least 1 bridge group; data interfaces must belong to a bridge group.
For IPv4, a management IP address is required for each bridge group for both management traffic
and for traffic to pass through the ASA.
The management IP address must be on the same subnet as the connected network. You cannot set
the subnet to a host subnet (255.255.255.255).
The ASA does not support traffic on secondary networks; only traffic on the same network as the
management IP address is supported.
The default security level is 0. If you name an interface inside, and you do not set the security level
explicitly, then the ASA sets the security level to 100.
Note
If you change the security level of an interface, and you do not want to wait for existing connections to
time out before the new security information is used, you can clear the connections using the
clear local-host command.
13-5
Chapter 13
Step 2
Step 3
In multiple context mode, complete this procedure in the context execution space. To change from the
system to a context configuration, enter the changeto context name command.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabithethernet 0/0
Step 2
redundant
port-channel
vni
vlan
Example:
ciscoasa(config-if)# nameif inside
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value. Do not enter the no form, because that command causes all
commands that refer to that name to be deleted.
Step 3
13-6
Chapter 13
Example:
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2
Note
If you use failover, you must set the IP address and standby address manually; DHCP and
PPPoE are not supported.
The ip_address and mask arguments set the interface IP address and subnet mask.
The standby ip_address argument is used for failover.
Example:
ciscoasa(config-if)# ip address dhcp
The setroute keyword lets the ASA use the default route supplied by the DHCP server.
Reenter this command to reset the DHCP lease and request a new lease.
If you do not enable the interface using the no shutdown command before you enter the ip address
dhcp command, some DHCP requests might not be sent.
Example:
ciscoasa(config-if)# ip address pppoe setroute
Example:
ciscoasa(config-if)# ip address 10.1.1.78 255.255.255.0 pppoe
The setroute option sets the default routes when the PPPoE client has not yet established a
connection. When using the setroute option, you cannot have a statically defined route in the
configuration.
Note
Step 4
If PPPoE is enabled on two interfaces (such as a primary and backup interface), and you do
not configure dual ISP support, then the ASA can only send traffic through the first interface
to acquire an IP address.
Example:
ciscoasa(config-if)# security-level 50
13-7
Chapter 13
(Optional) Set an interface to management-only mode so that it does not pass through traffic:
management-only
By default, Management interfaces are configured as management-only. Except for the ASA 5585-X,
you cannot disable management-only on the Management interface.
The management-only command is not supported for a redundant interface.
Examples
The following example configures parameters in multiple context mode for the context configuration.
The interface ID is a mapped name.
ciscoasa/contextA(config)# interface int1
ciscoasa/contextA(config-if)# nameif outside
ciscoasa/contextA(config-if)# security-level 100
ciscoasa/contextA(config-if)# ip address 10.1.2.1 255.255.255.0
Related Topics
Enable the Physical Interface and Configure Ethernet Parameters, page 9-6
Configure PPPoE
If you use PPPoE for IP addressing, configure the username and password used to authenticate the ASA
to the access concentrator.
Procedure
Step 1
Example:
ciscoasa(config)# vpdn group pppoe-sbc request dialout pppoe
Step 2
Example:
ciscoasa(config)# vpdn group pppoe-sbc ppp authentication chap
13-8
Chapter 13
Enter the appropriate keyword for the type of authentication used by your ISP.
When using CHAP or MS-CHAP, the username may be referred to as the remote system name, while the
password may be referred to as the CHAP secret.
Step 3
Example:
ciscoasa(config)# vpdn group pppoe-sbc localname johncrichton
Step 4
Example:
ciscoasa(config)# vpdn username johncrichton password moya
The store-local option stores the username and password in a special location of NVRAM on the ASA.
If an Auto Update Server sends a clear config command to the ASA and the connection is then
interrupted, the ASA can read the username and password from NVRAM and re-authenticate to the
Access Concentrator.
Step 2
Step 3
Step 4
Note
For a separate management interface (for supported models), a non-configurable bridge group (ID 301)
is automatically added to your configuration. This bridge group is not included in the bridge group limit.
13-9
Chapter 13
Procedure
Step 1
Example:
ciscoasa(config)# interface bvi 1
Example:
ciscoasa(config-if)# ip address 10.1.3.1 255.255.255.0 standby 10.1.3.2
Do not assign a host address (/32 or 255.255.255.255) to the bridge group. Also, do not use other subnets
that contain fewer than 3 host addresses (one each for the upstream router, downstream router, and
transparent firewall) such as a /30 subnet (255.255.255.252). The ASA drops all ARP packets to or from
the first and last addresses in a subnet. Therefore, if you use a /30 subnet and assign a reserved address
from that subnet to the upstream router, then the ASA drops the ARP request from the downstream router
to the upstream router.
The standby keyword and address is used for failover.
Examples
The following example sets the management address and standby address of bridge group 1:
ciscoasa(config)# interface bvi 1
ciscoasa(config-if)# ip address 10.1.3.1 255.255.255.0 standby 10.1.3.2
In multiple context mode, complete this procedure in the context execution space. To change from
the system to a context configuration, enter the changeto context name command.
Do not use this procedure for Management interfaces; see Configure a Management Interface,
page 13-11 to configure the Management interface.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabithethernet 0/0
13-10
Chapter 13
Step 2
redundant
port-channel
vni
vlan
Example:
ciscoasa(config-if)# bridge-group 1
The number is an integer between 1 and 100. You can assign up to four interfaces to a bridge group. You
cannot assign the same interface to more than one bridge group.
Step 3
Example:
ciscoasa(config-if)# nameif inside
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value. Do not enter the no form, because that command causes all
commands that refer to that name to be deleted.
Step 4
Example:
ciscoasa(config-if)# security-level 50
Do not assign this interface to a bridge group; a non-configurable bridge group (ID 101) is
automatically added to your configuration. This bridge group is not included in the bridge group
limit.
13-11
Chapter 13
If your model does not include a Management interface, you must manage the transparent firewall
from a data interface; skip this procedure. (For example, on the ASASM.)
In multiple context mode, you cannot share any interfaces, including the Management interface,
across contexts. You must connect to a data interface.
In multiple context mode, complete this procedure in the context execution space. To change from
the system to a context configuration, enter the changeto context name command.
Procedure
Step 1
Example:
ciscoasa(config)# interface management 0/0.1
The port-channel number argument is the EtherChannel interface ID, such as port-channel 1. The
EtherChannel interface must have only Management member interfaces.
Redundant interfaces do not support Management slot/port interfaces as members. You also cannot set
a redundant interface comprised of non-Management interfaces as management-only.
In multiple context mode, enter the mapped_name if one was assigned using the allocate-interface
command.
Step 2
Example:
ciscoasa(config-if)# nameif management
The name is a text string up to 48 characters, and is not case-sensitive. You can change the name by
reentering this command with a new value. Do not enter the no form, because that command causes all
commands that refer to that name to be deleted.
Step 3
Example:
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2
Example:
ciscoasa(config-if)# ip address dhcp
The setroute keyword lets the ASA use the default route supplied by the DHCP server.
13-12
Chapter 13
Reenter this command to reset the DHCP lease and request a new lease.
If you do not enable the interface using the no shutdown command before you enter the ip address
dhcp command, some DHCP requests might not be sent.
Step 4
Example:
ciscoasa(config-if)# security-level 100
Related Topics
Note
Configuring the global address automatically configures the link-local address, so you do not need to
configure it separately.
Note
See Chapter 27, IPv6 Neighbor Discovery, to configure IPv6 neighbor discovery.
Before You Begin
In multiple context mode, complete this procedure in the context execution space. To change from the
system to a context configuration, enter the changeto context name command.
Procedure
Step 1
Example:
ciscoasa(config)# interface gigabithethernet 0/0
Step 2
13-13
Chapter 13
Enabling stateless autoconfiguration on the interface configures IPv6 addresses based on prefixes
received in Router Advertisement messages. A link-local address, based on the Modified EUI-64
interface ID, is automatically generated for the interface when stateless autoconfiguration is
enabled.
Note
Although RFC 4862 specifies that hosts configured for stateless autoconfiguration do not
send Router Advertisement messages, the ASA does send Router Advertisement messages
in this case. See the ipv6 nd suppress-ra command to suppress messages.
Example:
ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98:0:3210/48
When you assign a global address, the link-local address is automatically created for the interface.
standby specifies the interface address used by the secondary unit or failover group in a failover
pair.
(Routed mode only) Assign a global address to the interface by combining the specified prefix with
an interface ID generated from the interface MAC address using the Modified EUI-64 format:
ipv6 address ipv6-prefix/prefix-length eui-64
Example:
ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98::/48 eui-64
When you assign a global address, the link-local address is automatically created for the interface.
You do not need to specify the standby address; the interface ID will be generated automatically.
Step 3
(Optional) Enforce the use of Modified EUI-64 format interface identifiers in IPv6 addresses on a local
link:
ipv6 enforce-eui64 if_name
Example:
ciscoasa(config)# ipv6 enforce-eui64 inside
The if_name argument is the name of the interface, as specified by the nameif command, on which you
are enabling the address format enforcement.
13-14
Chapter 13
Interface Statistics
show interface
Displays interface statistics.
PPPoE
show vpdn session [l2tp | pppoe] [id sess_id | packets | state | window]
Views the status of PPPoE sessions.
The following examples show information provided by this command:
ciscoasa# show vpdn
Tunnel id 0, 1 active sessions
time since change 65862 secs
Remote Internet Address 10.0.0.1
Local Internet Address 199.99.99.3
6 packets sent, 6 received, 84 bytes sent, 0 received
Remote Internet Address is 10.0.0.1
Session state is SESSION_UP
Time since event change 65865 secs, interface outside
PPP interface id is 1
6 packets sent, 6 received, 84 bytes sent, 0 received
ciscoasa#
ciscoasa# show vpdn session
PPPoE Session Information (Total tunnels=1 sessions=1)
Remote Internet Address is 10.0.0.1
Session state is SESSION_UP
Time since event change 65887 secs, interface outside
PPP interface id is 1
6 packets sent, 6 received, 84 bytes sent, 0 received
ciscoasa#
ciscoasa# show vpdn tunnel
PPPoE Tunnel Information (Total tunnels=1 sessions=1)
Tunnel id 0, 1 active sessions
time since change 65901 secs
Remote Internet Address 10.0.0.1
Local Internet Address 199.99.99.3
6 packets sent, 6 received, 84 bytes sent, 0 received
ciscoasa#
13-15
Chapter 13
13-16
Chapter 13
Feature Name
Platform
Releases
Feature Information
8.2(1)
8.4(1)
9.3(1)
13-17
Chapter 13
History for Routed and Transparent Mode Interfaces
13-18
CH AP TE R
14
Note
For multiple context mode, complete the tasks in this section in the context execution space. Enter the
changeto context name command to change to the context you want to configure.
14-1
Chapter 14
For an EtherChannel, all interfaces that are part of the channel group share the same MAC address. This
feature makes the EtherChannel transparent to network applications and users, because they only see the
one logical connection; they have no knowledge of the individual links. The port-channel interface uses
the lowest numbered channel group interface MAC address as the port-channel MAC address.
Alternatively you can manually configure a MAC address for the port-channel interface. In multiple
context mode, you can automatically assign unique MAC addresses to interfaces, including an
EtherChannel port interface. We recommend manually, or in multiple context mode, automatically
configuring a unique MAC address in case the group channel interface membership changes. If you
remove the interface that was providing the port-channel MAC address, then the port-channel MAC
address changes to the next lowest numbered interface, thus causing traffic disruption.
In multiple context mode, if you share an interface between contexts, you can assign a unique MAC
address to the interface in each context. This feature lets the ASA easily classify packets into the
appropriate context. Using a shared interface without unique MAC addresses is possible, but has some
limitations You can assign each MAC address manually, or you can automatically generate MAC
addresses for shared interfaces in contexts. If you automatically generate MAC addresses, you can use
this procedure to override the generated address.
For single context mode, or for interfaces that are not shared in multiple context mode, you might want
to assign unique MAC addresses to subinterfaces. For example, your service provider might perform
access control based on the MAC address.
Related Topics
Note
The ASA can receive frames larger than the configured MTU as long as there is room in memory.
14-2
Chapter 14
Default MTU
The default MTU on the ASA is 1500 bytes. This value does not include the 18 or more bytes for the
Ethernet header, CRC, VLAN tagging, and so on.
Matching MTUs on the traffic pathWe recommend that you set the MTU on all ASA interfaces
and other device interfaces along the traffic path to be the same. Matching MTUs prevents
intermediate devices from fragmenting the packets.
Accommodating jumbo framesIf you enable jumbo frames, you can set the MTU up to 9198 bytes.
14-3
Chapter 14
Non-VPN trafficIf you do not use VPN and do not need extra space for headers, then you should
disable the TCP MSS limit and accept the value established between connection endpoints. Because
connection endpoints typically derive the TCP MSS from the MTU, non-VPN packets usually fit
this TCP MSS.
VPN trafficSet the maximum TCP MSS to the MTU - 120. For example, if you use jumbo frames
and set the MTU to a higher value, then you need to set the TCP MSS to accommodate the new
MTU.
Inter-Interface Communication
Allowing interfaces on the same security level to communicate with each other provides the following
benefits:
You want traffic to flow freely between all same security interfaces without ACLs.
If you enable same security interface communication, you can still configure interfaces at different
security levels as usual.
Note
All traffic allowed by this feature is still subject to firewall rules. Be careful not to create an asymmetric
routing situation that can cause return traffic not to traverse the ASA.
For the ASASM, before you can enable this feature, you must first correctly configure the MSFC so that
packets are sent to the ASA MAC address instead of being sent directly through the switch to the
destination host. The following figure shows a network where hosts on the same interface need to
communicate.
14-4
Chapter 14
Host
IP cloud-2
Vlan60
10.6.37.0
IP cloud-1
MSFC
Vlan70
10.6.36.0
Vlan10
10.6.35.0
Host
IP cloud-3
Host
SVI, Vlan20
10.6.34.0
ASA
The following sample configuration shows the Cisco IOS route-map commands used to enable policy
routing in the network shown in the figure:
route-map intra-inter3 permit 0
match ip address 103
set interface Vlan20
set ip next-hop 10.6.34.7
!
route-map intra-inter2 permit 20
match ip address 102
set interface Vlan20
set ip next-hop 10.6.34.7
!
route-map intra-inter1 permit 10
match ip address 101
set interface Vlan20
set ip next-hop 10.6.34.7
In multiple context mode, complete this procedure in the context execution space. To change from the
system to a context configuration, enter the changeto context name command.
Procedure
Step 1
14-5
Chapter 14
interface id
Example:
ciscoasa(config)# interface gigabithethernet 0/0
Step 2
Example:
ciscoasa(config-if)# mac-address 000C.F142.4CDE
The mac_address is in H.H.H format, where H is a 16-bit hexadecimal digit. For example, the
MAC address 00-0C-F1-42-4C-DE is entered as 000C.F142.4CDE.
The first two bytes of a manual MAC address cannot be A2 if you also want to use auto-generated MAC
addresses.
For use with failover, set the standby MAC address. If the active unit fails over and the standby unit
becomes active, the new active unit starts using the active MAC addresses to minimize network
disruption, while the old active unit uses the standby address.
In multiple context mode, complete this procedure in the context execution space. To change from
the system to a context configuration, enter the changeto context name command.
To increase the MTU above 1500, enable jumbo frames according to Enable Jumbo Frame Support,
page 9-8. Jumbo frames are supported by default on the ASASM; you do not need to enable them.
Procedure
Step 1
Set the MTU between 300 and 9198 bytes (9000 for the ASAv):
mtu interface_name bytes
Example:
ciscoasa(config)# mtu inside 9200
Set the maximum TCP segment size in bytes, between 48 and any maximum number:
sysopt connection tcpmss [minimum] bytes
Example:
ciscoasa(config)# sysopt connection tcpmss 8500
ciscoasa(config)# sysopt connection tcpmss minimum 1290
14-6
Chapter 14
The default value is 1380 bytes. You can disable this feature by setting bytes to 0.
For the minimum keyword, sets the maximum segment size to be no less than bytes, between 48 and
65535. The minimum feature is disabled by default (set to 0).
Examples
The following example enables jumbo frames, increases the MTU on all interfaces, and disables the TCP
MSS for non-VPN traffic (by setting the TCP MSS to 0, which means there is no limit):
jumbo frame-reservation
mtu inside 9198
mtu outside 9198
sysopt connection tcpmss 0
The following example enables jumbo frames, increases the MTU on all interfaces, and changes the TCP
MSS for VPN traffic to 9078 (the MTU minus 120):
jumbo frame-reservation
mtu inside 9198
mtu outside 9198
sysopt connection tcpmss 9078
Enable interfaces on the same security level so that they can communicate with each other:
same-security-traffic permit inter-interface
Step 2
14-7
Chapter 14
Allow Same Security Level Communication
14-8
CH AP TE R
15
Traffic Zones
You can assign multiple interfaces to a traffic zone, which lets traffic from an existing flow exit or enter
the ASA on any interface within the zone. This capability allows Equal-Cost Multi-Path (ECMP) routing
on the ASA as well as external load balancing of traffic to the ASA across multiple interfaces.
15-1
Chapter 15
Traffic Zones
Non-Zoned Behavior
The Adaptive Security Algorithm takes into consideration the state of a packet when deciding to permit
or deny the traffic. One of the enforced parameters for the flow is that traffic enters and exits the same
interface. Any traffic for an existing flow that enters a different interface is dropped by the ASA.
Traffic zones let you group multiple interfaces together so that traffic entering or exiting any interface
in the zone fulfills the Adaptive Security Algorithm security checks.
Related Topics
Asymmetric Routing
In the following scenario, a connection was established between an inside host and an outside host
through ISP 1 on the Outside1 interface. Due to asymmetric routing on the destination network, return
traffic arrived from ISP 2 on the Outside2 interface.
Outside
Host
ISP 1
ISP 2
ASA
Outside1
Outside2
Inside
Outbound Traffic
Return Traffic
Inside
Host
15-2
373592
Inside
network
Chapter 15
Traffic Zones
About Traffic Zones
Non-Zoned Problem: The ASA maintains the connection tables on a per-interface basis. When the
returning traffic arrives at Outside2, it will not match the connection table and will be dropped.
Zoned Solution: The ASA maintains connection tables on a per-zone basis. If you group Outside1 and
Outside2 into a zone, then when the returning traffic arrives at Outside2, it will match the per-zone
connection table, and the connection will be allowed.
Lost Route
In the following scenario, a connection was established between an inside host and an outside host
through ISP 1 on the Outside1 interface. Due to a lost or moved route between Outside1 and ISP 1, traffic
needs to take a different route through ISP 2.
Outside
Host
ISP 1
ISP 2
ASA
Outside1
Outside2
Inside
Route1 Traffic
Route2 Traffic
Inside
Host
373593
Inside
network
Non-Zoned Problem: The connection between the inside and outside host will be deleted; a new
connection must be established using a new next-best route. For UDP, the new route will be used after a
single packet drop, but for TCP, a new connection has to be reestablished.
Zoned Solution: The ASA detects the lost route and switches the flow to the new path through ISP 2.
Traffic will be seamlessly forwarded without any packet drops.
Load Balancing
In the following scenario, a connection was established between an inside host and an outside host
through ISP 1 on the Outside1 interface. A second connection was established through an equal cost
route through ISP 2 on Outside2.
15-3
Chapter 15
Traffic Zones
Outside
Host
ISP 1
ISP 2
ASA
Outside1
Outside2
Inside
Route1 Traffic
Route2 Traffic
Inside
Host
373594
Inside
network
Non-Zoned Problem: Load-balancing across interfaces is not possible; you can only load-balance with
equal cost routes on one interface.
Zoned Solution: The ASA load-balances connections across up to eight equal cost routes on all the
interfaces in the zone.
ECMP Routing
The ASA supports Equal-Cost Multi-Path (ECMP) routing.
15-4
Chapter 15
Traffic Zones
About Traffic Zones
In this case, traffic is load-balanced on the outside interface between 10.1.1.2, 10.1.1.3, and 10.1.1.4.
Traffic is distributed among the specified gateways based on an algorithm that hashes the source and
destination IP addresses.
ECMP is not supported across multiple interfaces, so you cannot define a route to the same destination
on a different interface. The following route is disallowed when configured with any of the routes above:
route outside2 0 0 10.2.1.1
Similarly, your dynamic routing protocol can automatically configure equal cost routes. The ASA
load-balances traffic across the interfaces with a more robust load balancing mechanism.
When a route is lost, the ASA seamlessly moves the flow to a different route.
15-5
Chapter 15
Traffic Zones
Access Rules
NAT
Routing
You can also configure to- and from-the-box services listed in To- and From-the-Box Traffic, page 15-7,
although full zoned support is not available.
Do not configure other services (such as VPN or Botnet Traffic Filter) for interfaces in a traffic zone;
they may not function or scale as expected.
Note
For detailed information about how to configure the security policy, see Prerequisites for Traffic Zones,
page 15-7.
Security Levels
The first interface that you add to a zone determines the security level of the zone. All additional
interfaces must have the same security level. To change the security level for interfaces in a zone, you
must remove all but one interface, and then change the security levels, and re-add the interfaces.
Intra-Zone Traffic
To allow traffic to enter one interface and exit another in the same zone, enable the same-security
permit intra-interface command, which allows traffic to enter and exit the same interface, as well as
the same-security permit inter-interface command, which allows traffic between same-security
interfaces. Otherwise, a flow cannot be routed between two interfaces in the same zone.
15-6
Chapter 15
Traffic Zones
Prerequisites for Traffic Zones
For management traffic on regular interfaces in a zone, only asymmetric routing on existing flows
is supported; there is no ECMP support.
You can configure a management service on only one zone interface, but to take advantage of
asymmetric routing support, you need to configure it on all interfaces. Even when the configurations
are parallel on all interfaces, ECMP is not supported.
The ASA supports the following to- and from-the-box services in a zone:
Telnet
SSH
HTTPS
SNMP
Syslog
BGP
Configure all interface parameters including the name, IP address, and security level. Note that the
security level must match for all interfaces in the zone. You should plan to group together like
interfaces in terms of bandwidth and other Layer 2 properties.
rule.
For example:
access-list ZONE1 extended permit tcp any host WEBSERVER1 eq 80
access-group ZONE1 in interface outside1
access-group ZONE1 in interface outside2
access-group ZONE1 in interface outside3
NATConfigure the same NAT policy on all member interfaces of the zone or use a global NAT
rule (in other words, use any to represent the zone interfaces in the NAT rule).
Interface PAT is not supported.
For example:
object network WEBSERVER1
host 10.9.9.9 255.255.255.255
nat (inside,any) static 209.165.201.9
15-7
Chapter 15
Traffic Zones
When you use interface-specific NAT and PAT pools, the ASA cannot switch connections over
in case of the original interface failure.
Note
If you use interface-specific PAT pools, multiple connections from the same host might
load-balance to different interfaces and use different mapped IP addresses. Internet services that
use multiple concurrent connections may not work correctly in this case.
Service RulesUse the global service policy, or assign the same policy to each interface in a
zone.
QoS traffic policing is not supported.
For example:
service-policy outside_policy interface outside1
service-policy outside_policy interface outside2
service-policy outside_policy interface outside3
For VoIP inspections, zone load balancing can cause increased out-of-order packets. This
situation can occur because later packets might reach the ASA before earlier packets that take a
different path. Symptoms of out-of-order packets include:
Note
- Higher memory utilization at intermediate nodes (firewall and IDS) and the receiving end
nodes if queuing is used.
- Poor video or voice quality.
To mitigate these effects, we recommend that you use IP addresses only for load distribution for
VoIP traffic.
Supported in routed firewall mode only. Does not support transparent firewall mode.
Failover
In Active/Active failover mode, you can assign an interface in each context to an asymmetrical
routing (ASR) group. This service allows traffic returning on a similar interface on the peer unit to
be restored to the original unit. You cannot configure both ASR groups and traffic zones within a
context. If you configure a zone in a context, none of the context interfaces can be part of an ASR
group. See Configure Support for Asymmetrically Routed Packets (Active/Active Mode), page 7-30
for more information about ASR groups.
Only the primary interfaces for each connection are replicated to the standby unit; current interfaces
are not replicated. If the standby unit becomes active, it will assign a new current interface if
necessary.
15-8
Chapter 15
Traffic Zones
Configure a Traffic Zone
Clustering
Additional Guidelines
For ECMP, you can add up to 8 equal cost routes per zone, across all zone interfaces. You can also
configure multiple routes on a single interface as part of the 8 route limit.
For example:
zone outside
For example:
interface gigabitethernet0/0
zone-member outside
Step 3
Add more interfaces to the zone; ensure they have the same security level as the first interface you added.
15-9
Chapter 15
Monitoring Traffic Zones
For example:
interface gigabitethernet0/1
zone-member outside
interface gigabitethernet0/2
zone-member outside
interface gigabitethernet0/3
zone-member outside
Examples
Zone Information
15-10
zone-name
Security
Traffic Zones
Chapter 15
Traffic Zones
Monitoring Traffic Zones
GigabitEthernet0/0
GigabitEthernet0/1.21
GigabitEthernet0/1.31
GigabitEthernet0/2
Management0/0
inside-1
inside
4
outside
lan
inside-zone
inside-zone
outside-zone
100
100
0
0
0
Zone Connections
Zone Routing
15-11
Chapter 15
Traffic Zones
15-12
Traffic Zones
Example for Traffic Zones
Internet
Outside1
209.165.200.224/27
Outside2
209.165.201.0/27
Outside3
198.51.100.0/24
Outside4
203.0.113.0/24
Zone Outside
ASA
DMZ
Inside
Web Server
10.3.5.9
Inside Host
192.168.9.6
373595
Chapter 15
interface gigabitethernet0/0
no shutdown
description outside switch 1
interface gigabitethernet0/1
no shutdown
description outside switch 2
interface gigabitethernet0/2
no shutdown
description inside switch
zone outside
interface gigabitethernet0/0.101
vlan 101
nameif outside1
security-level 0
ip address 209.165.200.225 255.255.255.224
zone-member outside
no shutdown
interface gigabitethernet0/0.102
vlan 102
nameif outside2
security-level 0
ip address 209.165.201.1 255.255.255.224
zone-member outside
no shutdown
interface gigabitethernet0/1.201
vlan 201
nameif outside3
security-level 0
ip address 198.51.100.1 255.255.255.0
zone-member outside
no shutdown
15-13
Chapter 15
Example for Traffic Zones
interface gigabitethernet0/1.202
vlan 202
nameif outside4
security-level 0
ip address 203.0.113.1 255.255.255.0
zone-member outside
no shutdown
interface gigabitethernet0/2.301
vlan 301
nameif inside
security-level 100
ip address 192.168.9.1 255.255.255.0
no shutdown
interface gigabitethernet0/2.302
vlan 302
nameif dmz
security-level 50
ip address 10.3.5.1 255.255.255.0
no shutdown
# Static NAT for DMZ web server on any destination interface
object network WEBSERVER
host 10.3.5.9 255.255.255.255
nat (dmz,any) static 209.165.202.129 dns
# Dynamic PAT for inside network on any destination interface
object network INSIDE
subnet 192.168.9.0 255.255.255.0
nat (inside,any) dynamic 209.165.202.130
# Global access rule for DMZ web server
access-list WEB-SERVER extended permit tcp any host WEBSERVER eq 80
access-group WEB-SERVER global
# 4 equal cost default routes for outside interfaces
route outside1 0 0 209.165.200.230
route outside2 0 0 209.165.201.10
route outside3 0 0 198.51.100.99
route outside4 0 0 203.0.113.87
# Static routes for NAT addresses - see redistribute static command
route dmz 209.165.202.129 255.255.255.255 10.3.5.99
route inside 209.165.202.130 255.255.255.255 192.168.9.99
# The global service policy
class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512
dns-guard
protocol-enforcement
nat-rewrite
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225 _default_h323_map
inspect h323 ras _default_h323_map
inspect ip-options _default_ip_options_map
inspect netbios
inspect rsh
15-14
Traffic Zones
Chapter 15
Traffic Zones
History for Traffic Zones
inspect rtsp
inspect skinny
inspect esmtp _default_esmtp_map
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
service-policy global_policy global
Platform
Releases
Traffic Zones
9.3(2)
Description
You can group interfaces together into a traffic zone to
accomplish traffic load balancing (using Equal Cost
Multi-Path (ECMP) routing), route redundancy, and
asymmetric routing across multiple interfaces.
Note
15-15
Chapter 15
History for Traffic Zones
15-16
Traffic Zones
PART
Basic Settings
CH AP TE R
16
Basic Settings
This chapter describes how to configure basic settings on the ASA that are typically required for a
functioning configuration.
Set the Hostname, Domain Name, and the Enable and Telnet Passwords, page 16-1
Adjust ASP (Accelerated Security Path) Performance and Behavior, page 16-15
Set the Hostname, Domain Name, and the Enable and Telnet
Passwords
Before you set the hostname, domain name, and the enable and Telnet passwords, check the following
requirements:
Before You Begin
In multiple context mode, you can configure the hostname and domain name in both the system and
context execution spaces.
For the enable and Telnet passwords, set them in each context; they are not available in the system.
When you session to the ASASM from the switch in multiple context mode, the ASASM uses the
login password you set in the admin context.
To change from the system to a context configuration, enter the changeto context name command.
To set the hostname, domain name, and the enable and Telnet passwords, perform the following steps.
Procedure
Step 1
Specify the hostname for the ASA or for a context. The default hostname is asa.
hostname name
16-1
Chapter 16
Basic Settings
Set the Hostname, Domain Name, and the Enable and Telnet Passwords
Example:
ciscoasa(config)# hostname myhostnamexample12345
This name can be up to 63 characters. The hostname must start and end with a letter or digit, and have
only letters, digits, or a hyphen.
When you set a hostname for the ASA, that name appears in the command line prompt. If you establish
sessions to multiple devices, the hostname helps you keep track of where you enter commands.
For multiple context mode, the hostname that you set in the system execution space appears in the
command line prompt for all contexts. The hostname that you optionally set within a context does not
appear in the command line, but can be used by the banner command $(hostname) token.
Step 2
Specify the domain name for the ASA. The default domain name is default.domain.invalid.
domain-name name
Example:
ciscoasa(config)# domain-name example.com
The ASA appends the domain name as a suffix to unqualified names. For example, if you set the domain
name to example.com and specify a syslog server by the unqualified name of jupiter, then the ASA
qualifies the name to jupiter.example.com.
Step 3
Example:
ciscoasa(config)# enable passwd Pa$$w0rd
The password is saved in the configuration in encrypted form, so you cannot view the original password
after you enter it. Enter the enable password command without a password to set the password to the
default, which is blank.
Step 4
Set the login password for Telnet access. There is no default password.
The login password is used for Telnet access when you do not configure Telnet authentication. You also
use this password when accessing the ASASM from the switch with the session command.
{passwd | password} password [encrypted]
Example:
ciscoasa(config)# password cisco12345
You can enter passwd or password. The password is a case-sensitive password of up to 16 alphanumeric
and special characters. You can use any character in the password except a question mark or a space.
16-2
Chapter 16
Basic Settings
Recover Enable and Telnet Passwords
The password is saved in the configuration in encrypted form, so you cannot view the original password
after you enter it. If for some reason you need to copy the password to another ASA but do not know the
original password, you can enter the passwd command with the encrypted password and the encrypted
keyword. Normally, you only see this keyword when you enter the show running-config passwd
command.
Related Topics
Step 2
Step 3
After startup, press the Escape key when you are prompted to enter ROMMON mode.
Step 4
Step 5
To set the ASA to ignore the startup configuration, enter the following command:
rommon #1> confreg
The ASA displays the current configuration register value, and asks whether you want to change it:
Current Configuration Register: 0x00000041
Configuration Summary:
boot default image from Flash
ignore system configuration
Do you wish to change this configuration? y/n [n]: y
Step 6
Record the current configuration register value, so you can restore it later.
Step 7
Step 8
Accept the default values for all settings, except for the "disable system configuration?" value.
Step 9
Step 10
16-3
Chapter 16
Basic Settings
Launching BootLoader...
Boot configuration file contains 1 entry.
Loading disk0:/asa800-226-k8.bin... Booting...Loading...
The ASA loads the default configuration instead of the startup configuration.
Step 11
Step 12
Step 13
Step 14
Step 15
Change the passwords, as required, in the default configuration by entering the following commands:
ciscoasa(config)# password password
ciscoasa(config)# enable password password
ciscoasa(config)# username name password password
Step 16
The default configuration register value is 0x1. See the command reference for more information about
the configuration register.
Step 17
Save the new passwords to the startup configuration by entering the following command:
ciscoasa(config)# copy running-config startup-config
Step 2
Step 3
After startup, press the Escape key when you are prompted to enter ROMMON mode.
Step 4
The ASA displays the current configuration register value and a list of configuration options. Record the
current configuration register value, so you can restore it later.
Configuration Register: 0x00000041
16-4
Chapter 16
Basic Settings
Recover Enable and Telnet Passwords
Configuration Summary
[ 0 ] password recovery
[ 1 ] display break prompt
[ 2 ] ignore system configuration
[ 3 ] auto-boot image in disks
[ 4 ] console baud: 9600
boot: ...... auto-boot index 1 image in disks
Step 5
The ASA loads the default configuration instead of the startup configuration.
Step 6
Step 7
Step 8
Step 9
Step 10
Change the passwords, as required, in the default configuration by entering the following commands:
ciscoasa(config)# password password
ciscoasa(config)# enable password password
ciscoasa(config)# username name password password
Step 11
The default configuration register value is 0x1. See the command reference for more information about
the configuration register.
Step 12
Save the new passwords to the startup configuration by entering the following command:
ciscoasa(config)# copy running-config startup-config
16-5
Chapter 16
Basic Settings
Example:
ciscoasa# copy running-config backup.cfg
Step 2
Step 3
From the GNU GRUB menu, press the down arrow, choose the <filename> with no configuration load
option, then press Enter. The filename is the default boot image filename on the ASAv. The default boot
image is never automatically booted through the fallback command. Then load the selected boot image.
GNU GRUB version 2.0(12)4
bootflash:/asa100123-20-smp-k8.bin
bootflash: /asa100123-20-smp-k8.bin with no configuration load
Example:
GNU GRUB version 2.0(12)4
bootflash: /asa100123-20-smp-k8.bin with no configuration load
Step 4
Example:
ciscoasa (config)# copy backup.cfg running-config
Step 5
Example:
ciscoasa(config)# enable password cisco123
Step 6
Example:
ciscoasa(config)# write memory
On the ASA, the no service password-recovery command prevents you from entering ROMMON mode
with the configuration intact. When you enter ROMMON mode, the ASA prompts you to erase all Flash
file systems. You cannot enter ROMMON mode without first performing this erasure. If you choose not
to erase the Flash file system, the ASA reloads. Because password recovery depends on using ROMMON
16-6
Chapter 16
Basic Settings
Set the Date and Time
mode and maintaining the existing configuration, this erasure prevents you from recovering a password.
However, disabling password recovery prevents unauthorized users from viewing the configuration or
inserting different passwords. In this case, to restore the system to an operating state, load a new image
and a backup configuration file, if available.
The service password-recovery command appears in the configuration file for information only. When
you enter the command at the CLI prompt, the setting is saved in NVRAM. The only way to change the
setting is to enter the command at the CLI prompt. Loading a new configuration with a different version
of the command does not change the setting. If you disable password recovery when the ASA is
configured to ignore the startup configuration at startup (in preparation for password recovery), then the
ASA changes the setting to load the startup configuration as usual. If you use failover, and the standby
unit is configured to ignore the startup configuration, then the same change is made to the configuration
register when the no service password recovery command replicates to the standby unit.
Procedure
Step 1
Example:
ciscoasa (config)# no service password-recovery
Do not set the date and time for the ASASM; it receives these settings from the host switch.
Set the time zone. By default, the time zone is UTC and the daylight saving time date range is from 2:00
a.m. on the first Sunday in April to 2:00 a.m. on the last Sunday in October.
clock timezone zone [-]hours [minutes]
Example:
ciscoasa(config)# clock timezone PST -8
The zone argument specifies the time zone as a string, for example, PST for Pacific Standard Time.
The [-]hours value sets the number of hours of offset from UTC. For example, PST is -8 hours.
The minutes value sets the number of minutes of offset from UTC.
16-7
Chapter 16
Basic Settings
Step 2
Enter one of the following commands to change the date range for daylight saving time from the default.
The default recurring date range is from 2:00 a.m. on the second Sunday in March to 2:00 a.m. on the
first Sunday in November.
Set the start and end dates for daylight saving time as a specific date in a specific year. If you use
this command, you need to reset the dates every year.
clock summer-time zone date {day month | month day} year hh:mm {day month | month day}
year hh:mm [offset]
Example:
ciscoasa(config)# clock summer-time PDT 1 April 2010 2:00 60
The zone value specifies the time zone as a string, for example, PDT for Pacific Daylight Time.
The day value sets the day of the month, from 1 to 31. You can enter the day and month as April 1
or as 1 April, for example, depending on your standard date format.
The month value sets the month as a string. You can enter the day and month as April 1 or as 1 April,
depending on your standard date format.
The year value sets the year using four digits, for example, 2004. The year range is 1993 to 2035.
The hh:mm value sets the hour and minutes in 24-hour time.
The offset value sets the number of minutes to change the time for daylight saving time. By default,
the value is 60 minutes.
Specify the start and end dates for daylight saving time, in the form of a day and time of the month,
and not a specific date in a year. This command enables you to set a recurring date range that you
do not need to change yearly.
clock summer-time zone recurring [week weekday month hh:mm week weekday month hh:mm]
[offset]
Example:
ciscoasa(config)# clock summer-time PDT recurring first Monday April 2:00 60
The zone value specifies the time zone as a string, for example, PDT for Pacific Daylight Time.
The week value specifies the week of the month as an integer between 1 and 4 or as the words first
or last. For example, if the day might fall in the partial fifth week, then specify last.
The weekday value specifies the day of the week: Monday, Tuesday, Wednesday, and so on.
The month value sets the month as a string.
The hh:mm value sets the hour and minutes in 24-hour time.
The offset value sets the number of minutes to change the time for daylight savings time. By default,
the value is 60 minutes.
16-8
Chapter 16
Basic Settings
Set the Date and Time
In multiple context mode, you can set the time in the system configuration only.
To set the date and time using an NTP server, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# ntp authenticate
Step 2
Specify an authentication key ID to be a trusted key, which is required for authentication with an NTP
server.
ntp trusted-key key_id
Example:
ciscoasa(config)# ntp trusted-key 1
The key_id argument is a value between 1 and 4294967295. You can enter multiple trusted keys for use
with multiple servers.
Step 3
Example:
ciscoasa(config)# ntp authentication-key 1 md5 aNiceKey
The key_id argument is the ID that you set in Step 2 using the ntp trusted-key command, and the key
argument is a string up to 32 characters long.
Step 4
Example:
ciscoasa(config)# ntp server 10.1.1.1 key 1 prefer
The key_id argument is the ID that you set using the ntp trusted-key command.
The source interface_name keyword-argument pair identifies the outgoing interface for NTP packets if
you do not want to use the default interface in the routing table. Because the system does not include any
interfaces in multiple context mode, specify an interface name defined in the admin context.
The prefer keyword sets this NTP server as the preferred server if multiple servers have similar
accuracy. NTP uses an algorithm to determine which server is the most accurate and synchronizes to that
one. If servers are of similar accuracy, then the prefer keyword specifies which of those servers to use.
However, if a server is significantly more accurate than the preferred one, the ASA uses the more
accurate one. For example, the ASA uses a server of stratum 2 over a server of stratum 3 that is preferred.
You can identify multiple servers; the ASA uses the most accurate server.
16-9
Chapter 16
Basic Settings
In multiple context mode, you can set the time in the system configuration only.
To set the date and time manually, perform the following steps:
Procedure
Step 1
Example:
ciscoasa# clock set 20:54:00 april 1 2004
The hh:mm:ss argument sets the hour, minutes, and seconds in 24-hour time. For example, enter
20:54:00 for 8:54 pm.
The day value sets the day of the month, from 1 to 31. You can enter the day and month as april 1 or as
1 april, for example, depending on your standard date format.
The month value sets the month. Depending on your standard date format, you can enter the day and
month as april 1 or as 1 april.
The year value sets the year using four digits, for example, 2004. The year range is from 1993 to 2035.
The default time zone is UTC. If you change the time zone after you enter the clock set command using
the clock timezone command, the time automatically adjusts to the new time zone.
This command sets the time in the hardware chip, and does not save the time in the configuration file.
This time endures reboots. Unlike the other clock commands, this command is a privileged EXEC
command. To reset the clock, you need to set a new time with the clock set command.
OSPF
EIGRP
Failover
AAA servers
Logging
Shared licenses
16-10
Chapter 16
Basic Settings
Configure the Master Passphrase
Note
If failover is enabled but no failover shared key is set, an error message appears if you change the master
passphrase, informing you that you must enter a failover shared key to protect the master passphrase
changes from being sent as plain text.
This procedure will only be accepted in a secure session, for example by console, SSH, or ASDM via
HTTPS.
To add or change the master passphrase, perform the following steps:
Procedure
Step 1
Set the passphrase used for generating the encryption key. The passphrase must be between 8 and 128
characters long. All characters except a backspace and double quotes are accepted for the passphrase. If
you do not enter the new passphrase in the command, you are prompted for it. To change the passphrase,
you must enter the old passphrase.
key config-key password-encryption [new_passphrase [old_passphrase]]
Example:
ciscoasa(config)# key config-key password-encryption
Old key: bumblebee
New key: haverford
Confirm key: haverford
Note
Use the interactive prompts to enter passwords to avoid having the passwords logged in the
command history buffer.
Use the no key config-key password-encrypt command with caution, because it changes the encrypted
passwords into plain text passwords. You may use the no form of this command when downgrading to a
software version that does not support password encryption.
Step 2
Example:
ciscoasa(config)# password encryption aes
As soon as password encryption is enabled and the master passphrase is available, all the user passwords
will be encrypted. The running configuration will show the passwords in the encrypted format.
If the passphrase is not configured at the time that password encryption is enabled, the command will
succeed in anticipation that the passphrase will be available in the future.
If you later disable password encryption using the no password encryption aes command, all existing
encrypted passwords are left unchanged, and as long as the master passphrase exists, the encrypted
passwords will be decrypted, as required by the application.
16-11
Chapter 16
Basic Settings
Step 3
Save the runtime value of the master passphrase and the resulting configuration.
write memory
Example:
ciscoasa(config)# write memory
If you do not enter this command, passwords in startup configuration may still be visible if they were
not saved with encryption previously. In addition, in multiple context mode the master passphrase is
changed in the system context configuration. As a result, the passwords in all contexts will be affected.
If the write memory command is not entered in the system context mode, but not in all user contexts,
then the encrypted passwords in user contexts may be stale. Alternatively, use the write memory all
command in the system context to save all configurations.
Examples
In the following example, you enter the command without parameters so that you will be prompted for
keys. Because a key already exists, you are prompted for it.
ciscoasa(config)# key config-key password-encryption
Old key: 12345678
New key: 23456789
Confirm key: 23456789
In the following example, there is no existing key, so you are not prompted to supply it.
ciscoasa(config)# key config-key password-encryption
New key: 12345678
Confirm key: 12345678
You must know the current master passphrase to disable it. See Remove the Master Passphrase,
page 16-13 if you do not know the passphrase.
This procedure works only in a secure session; that is, by Telnet, SSH, or ASDM via HTTPS.
16-12
Chapter 16
Basic Settings
Configure the Master Passphrase
Procedure
Step 1
Remove the master passphrase. If you do not enter the passphrase in the command, you are prompted for
it.
no key config-key password-encryption [old_passphrase]]
Example:
ciscoasa(config)# no key config-key password-encryption
Warning! You have chosen to revert the encrypted passwords to plain text. This operation
will expose passwords in the configuration and therefore exercise caution while viewing,
storing, and copying configuration.
Old key: bumblebee
Step 2
Save the runtime value of the master passphrase and the resulting configuration.
write memory
Example:
ciscoasa(config)# write memory
The non-volatile memory containing the passphrase will be erased and overwritten with the 0xFF
pattern.
In multiple mode, the master passphrase is changed in the system context configuration. As a result, the
passwords in all contexts will be affected. If the write memory command is entered in the system
context mode, but not in all user contexts, then the encrypted passwords in user contexts may be stale.
Alternatively, use the write memory all command in the system context to save all configurations.
Remove the master key and the configuration that includes the encrypted passwords.
write erase
Example:
ciscoasa(config)# write erase
Step 2
Reload the ASA with the startup configuration, without any master key or encrypted passwords.
reload
Example:
ciscoasa(config)# reload
16-13
Chapter 16
Basic Settings
Note
The ASA has limited support for using the DNS server, depending on the feature. For example, most
commands require you to enter an IP address and can only use a name when you manually configure the
name command to associate a name with an IP address and enable use of the names using the names
command.
Before You Begin
Make sure that you configure the appropriate routing and access rules for any interface on which you
enable DNS domain lookup so you can reach the DNS server.
To configure the DNS server, perform the following steps:
Procedure
Step 1
Enable the ASA to send DNS requests to a DNS server to perform a name lookup for supported
commands.
dns domain-lookup interface_name
Example:
ciscoasa(config)# dns domain-lookup inside
Step 2
Specify the DNS server group that the ASA uses for outgoing requests.
dns server-group DefaultDNS
Example:
ciscoasa(config)# dns server-group DefaultDNS
Other DNS server groups can be configured for VPN tunnel groups. See the tunnel-group command in
the command reference for more information.
Step 3
Specify one or more DNS servers. You may enter all six IP addresses in the same command, separated
by spaces, or you can enter each command separately. The ASA tries each DNS server in order until it
receives a response.
name-server ip_address [ip_address2] [...] [ip_address6]
16-14
Chapter 16
Basic Settings
Adjust ASP (Accelerated Security Path) Performance and Behavior
Example:
ciscoasa(config-dns-server-group)# name-server 10.1.1.5 192.168.1.67 209.165.201.6
Before Compilation
During Compilation
After Compilation
Default
Tip
If you enable the transactional model for a rule type, syslogs to mark the beginning and the end of the
compilation are generated. These syslogs are numbered 780001 through 780004.
16-15
Chapter 16
Basic Settings
To enable the transactional commit model for the rule engine, use the following command:
asp rule-engine transactional-commit option
Example:
ciscoasa(config)# asp rule-engine transactional-commit access-group
Overruns caused by relatively heavily overloaded interface receive rings, in which a single core
cannot sustain the load.
The asp load-balance per-packet command allows multiple cores to work simultaneously on packets
that were received from a single interface receive ring. If the system drops packets, and the show cpu
command output is far less than 100%, then this command may help your throughput if the packets
belong to many unrelated connections. The auto option enables the ASA to automatically switch
per-packet load balancing on and off.
To enable the automatic switching on and off of per-packet load balancing, enter the following
command:
ciscoasa(config)# asp load-balance per-packet auto
show dns-hosts
This command shows the DNS cache, which includes dynamically learned entries from a DNS
server as well as manually entered name and IP addresses using the name command.
16-16
Chapter 16
Basic Settings
History for Basic Settings
Platform
Releases
Master Passphrase
8.3(1)
Description
We introduced this feature. The master passphrase allows
you to securely store plain text passwords in encrypted
format and provides a key that is used to universally encrypt
or mask all passwords, without changing any functionality.
We introduced the following commands: key config-key
password-encryption, password encryption aes, clear
configure password encryption aes, show running-config
password encryption aes, show password encryption.
8.4(1)
9.0(2)/9.1(2)
9.3(2)
16-17
Chapter 16
History for Basic Settings
16-18
Basic Settings
CH AP TE R
17
17-1
Chapter 17
recommend that you allow a DHCP client to send a message to a server that is not connected to the same
link. The DHCP relay agent, which may reside on the client network, can relay messages between the
client and server. The relay agent operation is transparent to the client.
An IPv4 DHCP client uses a broadcast rather than a multicast address to reach the server. The DHCP
client listens for messages on UDP port 68; the DHCP server listens for messages on UDP port 67.
DHCP for IPv6 (DHCPv6) specified in RFC 3315 enables IPv6 DHCP servers to send configuration
parameters such as network addresses or prefixes and DNS server addresses to IPv6 nodes (that is,
DHCP clients). DHCPv6 uses the following multicast addresses:
The DHCPv6 relay service and server listen for messages on UDP port 547. The ASA DHCPv6 relay
agent listens on both UDP port 547 and the All_DHCP_Relay_Agents_and_Servers multicast
address.
About DDNS
DDNS update integrates DNS with DHCP. The two protocols are complementary: DHCP centralizes and
automates IP address allocation; DDNS update automatically records the association between assigned
addresses and hostnames at predefined intervals. DDNS allows frequently changing address-hostname
associations to be updated frequently. Mobile hosts, for example, can then move freely on a network
without user or administrator intervention. DDNS provides the necessary dynamic update and
synchronization of the name-to-address mapping and address-to-name mapping on the DNS server.
The DDNS name and address mapping is held on the DHCP server in two resource records (RRs): the
A RR includes the name-to-IP address mapping, while the PTR RR maps addresses to names. Of the two
methods for performing DDNS updatesthe IETF standard defined by RFC 2136 and a generic HTTP
methodthe ASA supports the IETF method.
Related Topics
The DHCP client updates the A RR, while the DHCP server updates the PTR RR.
17-2
Chapter 17
In general, the DHCP server maintains DNS PTR RRs on behalf of clients. Clients may be configured
to perform all desired DNS updates. The server may be configured to honor these updates or not. The
DHCP server must know the fully qualified domain name (FQDN) of the client to update the PTR RR.
The client provides an FQDN to the server using a DHCP option called Client FQDN.
A client or server specific limit: message-length maximum client 4096 and message-length
maximum server 4096
The dynamic value specified in the OPT RR field: message-length maximum client auto
If the three commands are present at the same time, the ASA allows the automatically configured length
up to the configured client or server maximum. For all other DNS traffic, the message-length maximum
is used.
You can configure only one DHCP server on each interface of the ASA. Each interface can have its
own pool of addresses to use. However the other DHCP settings, such as DNS servers, domain name,
options, ping timeout, and WINS servers, are configured globally and used by the DHCP server on
all interfaces.
You cannot configure a DHCP client or DHCP relay service on an interface on which the server is
enabled. Additionally, DHCP clients must be directly connected to the interface on which the server
is enabled.
The ASA does not support QIP DHCP servers for use with the DHCP proxy service.
The relay agent cannot be enabled if the DHCP server is also enabled.
The ASA DHCP server does not support BOOTP requests. In multiple context mode, you cannot
enable the DHCP server or DHCP relay service on an interface that is used by more than one context.
17-3
Chapter 17
When it receives a DHCP request, the ASA sends a discovery message to the DHCP server. This
message includes the IP address (within a subnetwork) that was configured with the
dhcp-network-scope command in the group policy. If the server has an address pool that falls
within that subnetwork, the server sends the offer message with the pool information to the IP
addressnot to the source IP address of the discovery message.
When a client connects, the ASA sends a discovery message to all the servers in the server list. This
message includes the IP address (within a subnetwork) that was configured with the
dhcp-network-scope command in the group policy. The ASA selects the first offer received and
drops the other offers. If the server has an address pool that falls within that subnetwork, the server
sends the offer message with the pool information to the IP addressnot to the source IP address of
the discovery message. When the address needs to be renewed, it attempts to renew it with the lease
server (the server from which the address was acquired). If the DHCP renew fails after a specified
number of retries ( four attempts), the ASA moves to the DHCP rebind phase after a predefined time
period. During the rebind phase, the ASA simultaneously sends requests to all servers in the group.
In a high availability environment, lease information is shared, so the other servers can acknowledge
the lease and ASA will return to the bound state. During the rebind phase, if there is no response
from any of the servers in the server list (after three retries), then the ASA will purge the entries.
For example, if the server has a pool in the range of 209.165.200.225 to 209.165.200.254, mask
255.255.255.0, and the IP address specified by the dhcp-network-scope command is
209.165.200.1, the server sends that pool in the offer message to the ASA.
The dhcp-network-scope command setting applies only to VPN users.
DHCP Relay
You can configure a maximum of 10 DHCPv4 relay servers in single mode and per context, global
and interface-specific servers combined, with a maximum of 4 servers per interface.
You can configure a maximum of 10 DHCPv6 relay servers in single mode and per context.
Interface-specific servers for IPv6 are not supported.
The relay agent cannot be enabled if the DHCP server feature is also enabled.
When the DHCP relay service is enabled and more than one DHCP relay server is defined, the ASA
forwards client requests to each defined DHCP relay server. Replies from the servers are also
forwarded to the client until the client DHCP relay binding is removed. The binding is removed
when the ASA receives any of the following DHCP messages: ACK, NACK, ICMP unreachable, or
decline.
You cannot enable DHCP relay service on an interface running as a DHCP proxy service. You must
remove the VPN DHCP configuration first or an error message appears. This error occurs if both
DHCP relay and DHCP proxy services are enabled. Make sure that either the DHCP relay or DHCP
proxy service is enabled, but not both.
DHCP relay services are not available in transparent firewall mode. You can, however, allow DHCP
traffic through using an access list. To allow DHCP requests and replies through the ASA in
transparent mode, you need to configure two access lists, one that allows DCHP requests from the
inside interface to the outside, and one that allows the replies from the server in the other direction.
For IPv4, clients must be directly-connected to the ASA and cannot send requests through another
relay agent or a router. For IPv6, the ASA supports packets from another relay server.
For multiple context mode, you cannot enable DHCP relay on an interface that is used by more than
one context.
The DHCP clients must be on different interfaces from the DHCP servers to which the ASA relays
requests.
17-4
Chapter 17
When the ASA relays DHCP to the DHCP server, it sources the packet with the address of the
interface facing the DHCP server instead of the address facing the DHCP client (GIADDR). This
address becomes problematic when combined with EasyVPN deployments because it may not be
unique, and the DHCP traffic must be routed through a VPN tunnel. The ASA EasyVPN server does
not support multiple peers having the same addresses. To correct this issue, the ASA should source
the packet using the address to which the DHCP server will send its response (GIADDR). This
address must already be unique when deploying DHCP relay.
Enable the DHCP Server. See Enable the DHCP Server, page 17-5.
Step 2
Configure advanced DHCP options. See ConfigureAdvanced DHCP Options, page 17-6.
Step 3
Configure either a DHCPv4 relay agent or a DHCPv6 relay agent. See Configure the DHCPv4 Relay
Agent, page 17-10 or Configure the DHCPv6 Relay Agent, page 17-12.
Create a DHCP address pool. The ASA assigns a client one of the addresses from this pool to use for a given
period of time. These addresses are the local, untranslated addresses for the directly connected network.
dhcpd address ip_address if_name
Example:
ciscoasa(config)# dhcpd address 10.0.1.101-10.0.1.110 inside
The address pool must be on the same subnet as the ASA interface.
Step 2
Example:
ciscoasa(config)# dhcpd dns 209.165.201.2 209.165.202.129
Step 3
(Optional) Specify the IP address(es) of the WINS server(s). You may specify up to two WINS servers.
dhcpd wins wins1 [wins2]
Example:
ciscoasa(config)# dhcpd wins 209.165.201.5
Step 4
(Optional) Change the lease length to be granted to the client. The lease length equals the amount of time
in seconds that the client can use its allocated IP address before the lease expires. Enter a value from 0
to 1,048,575. The default value is 3600 seconds.
17-5
Chapter 17
Example:
ciscoasa(config)# dhcpd lease 3000
Step 5
Example:
ciscoasa(config)# dhcpd domain example.com
Step 6
(Optional) Configure the DHCP ping timeout value for ICMP packets. To avoid address conflicts, the
ASA sends two ICMP ping packets to an address before assigning that address to a DHCP client.
dhcpd ping_timeout milliseconds
Example:
ciscoasa(config)# dhcpd ping timeout 20
Step 7
Define a default gateway that is sent to DHCP clients. If you do not use the dhcpd option 3 command
to define the default gateway, DHCP clients use the ASA interface IP address that is closest to the DHCP
clients by default; the ASA does not use the management interface IP address. As a result, the DHCP
ACK does not include this option.
dhcpd option 3 ip gateway_ip
Example:
ciscoasa(config)# dhcpd option 3 ip 10.10.1.1
Step 8
Enable the DHCP daemon within the ASA to listen for DHCP client requests on the enabled interface.
dhcpd enable interface_name
Example:
ciscoasa(config)# dhcpd enable outside
2.
3.
17-6
Chapter 17
For example, you can manually define the domain name that you want the DHCP clients to receive and
then enable DHCP automatic configuration. Although DHCP automatic configuration discovers the
domain together with the DNS and WINS servers, the manually defined domain name is passed to DHCP
clients with the discovered DNS and WINS server names, because the domain name discovered by the
DHCP automatic configuration process is superseded by the manually defined domain name.
Return an IP Address
To configure an DHCP option that returns one or two IP addresses, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# dhcpd option 2 ip 10.10.1.1 10.10.1.2
Example:
ciscoasa(config)# dhcpd option 2 ascii examplestring
Example:
ciscoasa(config)# dhcpd option 2 hex 22.0011.01.FF1111.00FF.0000.AAAA.1111.1111.1111.11
17-7
Chapter 17
Note
The ASA does not verify that the option type and value that you provide match the expected type and
value for the option code as defined in RFC 2132. For example, you can enter the dhcpd option 46 ascii
hello command, and the ASA accepts the configuration, although option 46 is defined in RFC 2132 to
expect a single-digit, hexadecimal value. For more information about option codes and their associated
types and expected values, see RFC 2132.
The following table shows the DHCP options that are not supported by the dhcpd option command.
Table 17-1
Option Code
Description
DHCPOPT_PAD
HCPOPT_SUBNET_MASK
12
DHCPOPT_HOST_NAME
50
DHCPOPT_REQUESTED_ADDRESS
51
DHCPOPT_LEASE_TIME
52
DHCPOPT_OPTION_OVERLOAD
53
DHCPOPT_MESSAGE_TYPE
54
DHCPOPT_SERVER_IDENTIFIER
58
DHCPOPT_RENEWAL_TIME
59
DHCPOPT_REBINDING_TIME
61
DHCPOPT_CLIENT_IDENTIFIER
67
DHCPOPT_BOOT_FILE_NAME
82
DHCPOPT_RELAY_INFORMATION
255
DHCPOPT_END
DHCP options 3, 66, and 150 are used to configure Cisco IP phones. For more information about
configuring these options, see Configure Cisco IP Phones with a DHCP Server, page 17-8.
Note
DHCP option 66 gives the IP address or the hostname of a single TFTP server.
Cisco IP phones can also include DHCP option 3 in their requests, which sets the default route.
A single request might include both options 150 and 66. In this case, the ASA DHCP server provides
values for both options in the response if they are already configured on the ASA.
17-8
Chapter 17
Provide information for DHCP requests that include an option number as specified in RFC 2132.
dhcpd option number value
Example:
ciscoasa(config)# dhcpd option 2
Option 66
To send information to use for option 66, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# dhcpd option 66 ascii exampleserver
Option 150
To send information to use for option 150, perform the following steps:
Procedure
Step 1
Provide the IP address or names of one or two TFTP servers for option 150.
dhcpd option 150 ip server_ip1 [server_ip2]
Example:
ciscoasa(config)# dhcpd option 150 ip 10.10.1.1
The server_ip1 is the IP address or name of the primary TFTP server while server_ip2 is the IP address
or name of the secondary TFTP server. A maximum of two TFTP servers can be identified using option
150.
17-9
Chapter 17
Option 3
To send information to use for option 3, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# dhcpd option 3 ip 10.10.1.1
Interface-specific DHCP serversWhen a DHCP request enters a particular interface, then the ASA
relays the request only to the interface-specific servers.
Global DHCP serversWhen a DHCP request enters an interface that does not have
interface-specific servers configured, the ASA relays the request to all global servers. If the interface
has interface-specific servers, then the global servers are not used.
Procedure
Step 1
Specify a global DHCP server IP address and the interface through which it is reachable.
dhcprelay server ip_address if_name
Example:
ciscoasa(config)# dhcprelay server 209.165.201.5 outside
ciscoasa(config)# dhcprelay server 209.165.201.8 outside
ciscoasa(config)# dhcprelay server 209.165.202.150 it
Specify the interface ID connected to the DHCP client network, and the DHCP server IP address to
be used for DHCP requests that enter that interface.
interface interface_id
dhcprelay server ip_address
Example:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
interface
dhcprelay
dhcprelay
interface
dhcprelay
dhcprelay
gigabitethernet 0/0
server 209.165.201.6
server 209.165.201.7
gigabitethernet 0/1
server 209.165.202.155
server 209.165.202.156
Note that you do not specify the egress interface for the requests, as in the global dhcprelay server
command; instead, the ASA uses the routing table to determine the egress interface.
17-10
Chapter 17
Step 2
Enable the DHCP relay service on the interface connected to the DHCP clients. You may enable DHCP
relay on multiple interfaces.
dhcprelay enable interface
Example:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
Step 3
dhcprelay
dhcprelay
dhcprelay
dhcprelay
dhcprelay
enable
enable
enable
enable
enable
inside
dmz
eng1
eng2
mktg
(Optional) Set the number of seconds allowed for DHCP relay address handling.
dhcprelay timeout seconds
Example:
ciscoasa(config)# dhcprelay timeout 25
Step 4
(Optional) Change the first default router address in the packet sent from the DHCP server to the address
of the ASA interface.
dhcprelay setroute interface_name
Example:
ciscoasa(config)# dhcprelay setroute inside
This action allows the client to set its default route to point to the ASA even if the DHCP server specifies
a different router.
If there is no default router option in the packet, the ASA adds one containing the interface address.
Step 5
Example:
ciscoasa(config)# interface gigabitethernet 0/0
ciscoasa(config-if)# dhcprelay information trusted
You can configure interfaces as trusted interfaces to preserve DHCP Option 82. DHCP Option 82 is
used by downstream switches and routers for DHCP snooping and IP Source Guard. Normally, if
the ASA DHCP relay agent receives a DHCP packet with Option 82 already set, but the giaddr field
(which specifies the DHCP relay agent address that is set by the relay agent before it forwards the
packet to the server) is set to 0, then the ASA will drop that packet by default. You can now preserve
Option 82 and forward the packet by identifying an interface as a trusted interface.
Example:
ciscoasa(config)# dhcprelay information trust-all
17-11
Chapter 17
Configure DDNS
Specify the IPv6 DHCP server destination address to which client messages are forwarded.
ipv6 dhcprelay server ipv6_address [interface]
Example:
ciscoasa(config)# ipv6 dhcprelay server 3FFB:C00:C18:6:A8BB:CCFF:FE03:2701
The ipv6-address argument can be a link-scoped unicast, multicast, site-scoped unicast, or global IPv6
address. Unspecified, loopback, and node-local multicast addresses are not allowed as the relay
destination. The optional interface argument specifies the egress interface for a destination. Client
messages are forwarded to the destination address through the link to which the egress interface is
connected. If the specified address is a link-scoped address, then you must specify the interface.
Step 2
Example:
ciscoasa(config)# ipv6 dhcprelay enable inside
Step 3
(Optional) Specify the amount of time in seconds that is allowed for responses from the DHCPv6 server
to pass to the DHCPv6 client through the relay binding for relay address handling.
ipv6 dhcprelay timeout seconds
Example:
ciscoasa(config)# ipv6 dhcprelay timeout 25
Valid values for the seconds argument range from 1 to 3600. The default is 60 seconds.
Configure DDNS
This section describes how to configure DDNS.
17-12
Chapter 17
Example:
ciscoasa(config)# ddns update method ddns-2
Step 2
Specify that the client update both the DNS A and PTR RRs.
ddns both
Example:
ciscoasa(DDNS-update-method)# ddns both
Step 3
Example:
ciscoasa(DDNS-update-method)# interface eth1
Step 4
Associate the DDNS method with the interface and an update hostname.
ddns update [method-name | hostname hostname]
Example:
ciscoasa(config-if)# ddns update ddns-2
ciscoasa(config-if)# ddns update hostname asa.example.com
Step 5
Example:
ciscoasa(config-if)# ip address 10.0.0.40 255.255.255.0
Configure the DHCP client to request that the DHCP server perform no updates.
dhcp-client update dns [server {both | none}]
Example:
ciscoasa(config)# dhcp-client update dns server none
Step 2
Example:
ciscoasa(config)# ddns update method ddns-2
Step 3
Specify that the client update both the DNS A and PTR RRs.
17-13
Chapter 17
Configure DDNS
ddns both
Example:
ciscoasa(DDNS-update-method)# ddns both
Step 4
Example:
ciscoasa(DDNS-update-method)# interface Ethernet0
Step 5
Associate the DDNS method with the interface and an update hostname.
ddns update [method-name | hostname hostname]
Example:
ciscoasa(config-if)# ddns update ddns-2
ciscoasa(config-if)# ddns update hostname asa.example.com
Step 6
Example:
ciscoasa(if-config)# ip address dhcp
Step 7
Example:
ciscoasa(if-config)# dhcpd update dns
Example:
ciscoasa(config)# ddns update method ddns-2
Step 2
Specify that the client updates both the DNS A and PTR RRs.
ddns both
Example:
ciscoasa(DDNS-update-method)# ddns both
17-14
Chapter 17
Step 3
Example:
ciscoasa(DDNS-update-method)# interface Ethernet0
Step 4
Associate the DDNS method with the interface and an update hostname.
ddns update [method-name | hostname hostname]
Example:
ciscoasa(config-if)# ddns update ddns-2
ciscoasa(config-if)# ddns update hostname asa.example.com
Step 5
Configure the DHCP client to request that the DHCP server perform no updates.
dhcp-client update dns [server {both | none}]
Example:
ciscoasa(config)# dhcp-client update dns server none
Step 6
Example:
ciscoasa(if-config)# ip address dhcp
Step 7
Example:
ciscoasa(if-config)# dhcpd update dns both override
Configure an interface.
interface mapped_name
Example:
ciscoasa(config)# interface Ethernet0
Step 2
Request that the DHCP server update both the DNS A and PTR RRs.
dhcp-client update dns [server {both | none}]
Example:
ciscoasa(config-if)# dhcp-client update dns both
17-15
Chapter 17
Configure DDNS
Step 3
Example:
ciscoasa(config-if)# ddns update hostname asa
Step 4
Example:
ciscoasa(config-if)# dhcpd update dns
Step 5
Example:
ciscoasa(config-if)# dhcpd domain example.com
Example:
ciscoasa(config)# ddns update method ddns-2
Step 2
Example:
ciscoasa(DDNS-update-method)# ddns both
Step 3
Configure an interface.
interface mapped_name
Example:
ciscoasa(DDNS-update-method)# interface Ethernet0
Step 4
Configure the update parameters that the DHCP client passes to the DHCP server.
dhcp-client update dns [server {both | none}]
Example:
ciscoasa(config-if)# dhcp-client update dns
17-16
Chapter 17
Step 5
Associate the DDNS method with the interface and an update hostname.
ddns update [method-name | hostname hostname]
Example:
ciscoasa(config-if)# ddns update ddns-2
ciscoasa(config-if)# ddns update hostname asa
Step 6
Example:
ciscoasa(if-config)# dhcpd update dns
Step 7
Example:
ciscoasa(config-if)# dhcpd domain example.com
17-17
Chapter 17
Feature Name
Platform
Releases
DHCP
7.0(1)
Description
The ASA can provide a DHCP server or DHCP relay services to DHCP clients
attached to ASA interfaces.
We introduced the following commands: dhcp client update dns, dhcpd address,
dhcpd domain, dhcpd enable, dhcpd lease, dhcpd option, dhcpd ping timeout,
dhcpd update dns, dhcpd wins, dhcp-network-scope, dhcprelay enable,
dhcprelay server, dhcprelay setroute, dhcp-server. show running-config dhcpd,
and show running-config dhcprelay.
DDNS
7.0(1)
9.0(1)
9.1(2)
17-18
Chapter 17
Table 17-2
Feature Name
DHCP trusted
interfaces
Platform
Releases
9.1(2)
Description
You can now configure interfaces as trusted interfaces to preserve DHCP Option 82.
DHCP Option 82 is used by downstream switches and routers for DHCP snooping
and IP Source Guard. Normally, if the ASA DHCP relay agent receives a DHCP
packet with Option 82 already set, but the giaddr field (which specifies the DHCP
relay agent address that is set by the relay agent before it forwards the packet to the
server) is set to 0, then the ASA will drop that packet by default. You can now
preserve Option 82 and forward the packet by identifying an interface as a trusted
interface.
We introduced or modified the following commands: dhcprelay information
trusted, dhcprelay information trust-all, show running-config dhcprelay.
During the DHCP rebind phase, the client now tries to rebind to other DHCP servers
in the tunnel group list. Before this release, the client did not rebind to an alternate
server when the DHCP lease fails to renew.
We did not introduce or modify any commands.
9.4(1)
17-19
Chapter 17
History for DHCP and DDNS Services
17-20
CH AP TE R
18
Digital Certificates
This chapter describes how to configure digital certificates.
A CA certificate is used to sign other certificates. It is self-signed and called a root certificate. A
certificate that is issued by another CA certificate is called a subordinate certificate.
CAs also issue identity certificates, which are certificates for specific systems or hosts.
Code-signer certificates are special certificates that are used to create digital signatures to sign code,
with the signed code itself revealing the certificate origin.
The local CA integrates an independent certificate authority feature on the ASA, deploys certificates,
and provides secure revocation checking of issued certificates. The local CA provides a secure,
configurable, in-house authority for certificate authentication with user enrollment through a website
login page.
Note
CA certificates and identity certificates apply to both site-to-site VPN connections and remote access
VPN connections. Procedures in this document refer to remote access VPN use in the ASDM GUI.
18-1
Chapter 18
Digital Certificates
Digital certificates provide digital identification for authentication. A digital certificate includes
information that identifies a device or user, such as the name, serial number, company, department, or IP
address. CAs are trusted authorities that sign certificates to verify their authenticity, thereby
guaranteeing the identity of the device or user. CAs issue digital certificates in the context of a PKI,
which uses public-key or private-key encryption to ensure security.
For authentication using digital certificates, at least one identity certificate and its issuing CA certificate
must exist on an ASA. This configuration allows multiple identities, roots, and certificate hierarchies.
Descriptions of several different types of available digital certificates follow:
A CA certificate is used to sign other certificates. It is self-signed and called a root certificate.
CAs are responsible for managing certificate requests and issuing digital certificates. A digital certificate
includes information that identifies a user or device, such as a name, serial number, company,
department, or IP address. A digital certificate also includes a copy of the public key for the user or
device. A CA can be a trusted third party, such as VeriSign, or a private (in-house) CA that you establish
within your organization.
Tip
For an example of a scenario that includes certificate configuration and load balancing, see the following
URL: https://supportforums.cisco.com/docs/DOC-5964.
Certificate Scalability
Without digital certificates, you must manually configure each IPsec peer for each peer with which it
communicates; as a result, each new peer that you add to a network would require a configuration change
on each peer with which it needs to communicate securely.
When you use digital certificates, each peer is enrolled with a CA. When two peers try to communicate,
they exchange certificates and digitally sign data to authenticate each other. When a new peer is added
to the network, you enroll that peer with a CA and none of the other peers need modification. When the
new peer attempts an IPsec connection, certificates are automatically exchanged and the peer can be
authenticated.
18-2
Chapter 18
Digital Certificates
About Digital Certificates
With a CA, a peer authenticates itself to the remote peer by sending a certificate to the remote peer and
performing some public key cryptography. Each peer sends its unique certificate, which was issued by
the CA. This process works because each certificate encapsulates the public key for the associated peer,
each certificate is authenticated by the CA, and all participating peers recognize the CA as an
authenticating authority. The process is called IKE with an RSA signature.
The peer can continue sending its certificate for multiple IPsec sessions, and to multiple IPsec peers,
until the certificate expires. When its certificate expires, the peer administrator must obtain a new one
from the CA.
CAs can also revoke certificates for peers that no longer participate in IPsec. Revoked certificates are
not recognized as valid by other peers. Revoked certificates are listed in a CRL, which each peer may
check before accepting a certificate from another peer.
Some CAs have an RA as part of their implementation. An RA is a server that acts as a proxy for the
CA, so that CA functions can continue when the CA is unavailable.
Key Pairs
Key pairs are RSA keys, which have the following characteristics:
For the purposes of generating keys, the maximum key modulus for RSA keys is 2048 bits. The
default size is 1024. Many SSL connections using identity certificates with RSA key pairs that
exceed 1024 bits can cause a high CPU usage on the ASA and rejected clientless logins.
For signature operations, the supported maximum key size is 4096 bits. We recommend using a key
size of at least 2048.
You can generate a general purpose RSA key pair, used for both signing and encryption, or you can
generate separate RSA key pairs for each purpose. Separate signing and encryption keys help to
reduce exposure of the keys, because SSL uses a key for encryption but not signing. However, IKE
uses a key for signing but not encryption. By using separate keys for each, exposure of the keys is
minimized.
Trustpoints
Trustpoints let you manage and track CAs and certificates. A trustpoint is a representation of a CA or
identity pair. A trustpoint includes the identity of the CA, CA-specific configuration parameters, and an
association with one, enrolled identity certificate.
After you have defined a trustpoint, you can reference it by name in commands requiring that you specify
a CA. You can configure many trustpoints.
Note
If the Cisco ASA has multiple trustpoints that share the same CA, only one of these trustpoints sharing
the CA can be used to validate user certificates. To control which trustpoint sharing a CA is used for
validation of user certificates issued by that CA, use the support-user-cert-validation command.
For automatic enrollment, a trustpoint must be configured with an enrollment URL, and the CA that the
trustpoint represents must be available on the network and must support SCEP.
18-3
Chapter 18
Digital Certificates
You can export and import the keypair and issued certificates associated with a trustpoint in PKCS12
format. This format is useful to manually duplicate a trustpoint configuration on a different ASA.
Certificate Enrollment
The ASA needs a CA certificate for each trustpoint and one or two certificates for itself, depending upon
the configuration of the keys used by the trustpoint. If the trustpoint uses separate RSA keys for signing
and encryption, the ASA needs two certificates, one for each purpose. In other key configurations, only
one certificate is needed.
The ASA supports automatic enrollment with SCEP and with manual enrollment, which lets you paste
a base-64-encoded certificate directly into the terminal. For site-to-site VPNs, you must enroll each
ASA. For remote access VPNs, you must enroll each ASA and each remote access VPN client.
Revocation Checking
When a certificate is issued, it is valid for a fixed period of time. Sometimes a CA revokes a certificate
before this time period expires; for example, because of security concerns or a change of name or
association. CAs periodically issue a signed list of revoked certificates. Enabling revocation checking
forces the ASA to check that the CA has not revoked a certificate each time that it uses the certificate
for authentication.
When you enable revocation checking, the ASA checks certificate revocation status during the PKI
certificate validation process, which can use either CRL checking, OCSP, or both. OCSP is only used
when the first method returns an error (for example, indicating that the server is unavailable).
With CRL checking, the ASA retrieves, parses, and caches CRLs, which provide a complete list of
revoked (and unrevoked) certificates with their certificate serial numbers. The ASA evaluates certificates
according to CRLs, also called authority revocation lists, from the identity certificate up the chain of
subordinate certificate authorities.
OCSP offers a more scalable method of checking revocation status in that it localizes certificate status
through a validation authority, which it queries for status of a specific certificate.
18-4
Chapter 18
Digital Certificates
About Digital Certificates
Supported CA Servers
The ASA supports the following CA servers:
Cisco IOS CS, ASA Local CA, and third-party X.509 compliant CA vendors including, but not limited
to:
Baltimore Technologies
Entrust
Digicert
Geotrust
GoDaddy
iPlanet/Netscape
RSA Keon
Thawte
VeriSign
CRLs
CRLs provide the ASA with one way of determining whether a certificate that is within its valid time
range has been revoked by the issuing CA. CRL configuration is part of configuration of a trustpoint.
You can configure the ASA to make CRL checks mandatory when authenticating a certificate by using
the revocation-check crl command. You can also make the CRL check optional by using the
revocation-check crl none command, which allows the certificate authentication to succeed when the
CA is unavailable to provide updated CRL data.
The ASA can retrieve CRLs from CAs using HTTP, SCEP, or LDAP. CRLs retrieved for each trustpoint
are cached for a configurable amount of time for each trustpoint.
When the ASA has cached a CRL for longer than the amount of time it is configured to cache CRLs, the
ASA considers the CRL too old to be reliable, or stale. The ASA tries to retrieve a newer version of
the CRL the next time that a certificate authentication requires a check of the stale CRL.
The ASA caches CRLs for an amount of time determined by the following two factors:
The number of minutes specified with the cache-time command. The default value is 60 minutes.
The NextUpdate field in the CRLs retrieved, which may be absent from CRLs. You control whether
the ASA requires and uses the NextUpdate field with the enforcenextupdate command.
If the NextUpdate field is not required, the ASA marks CRLs as stale after the length of time defined
by the cache-time command.
If the NextUpdate field is required, the ASA marks CRLs as stale at the sooner of the two times
specified by the cache-time command and the NextUpdate field. For example, if the cache-time
command is set to 100 minutes and the NextUpdate field specifies that the next update is 70 minutes
away, the ASA marks CRLs as stale in 70 minutes.
If the ASA has insufficient memory to store all CRLs cached for a given trustpoint, it deletes the least
recently used CRL to make room for a newly retrieved CRL.
18-5
Chapter 18
Digital Certificates
OCSP
OCSP provides the ASA with a way of determining whether a certificate that is within its valid time
range has been revoked by the issuing CA. OCSP configuration is part of trustpoint configuration.
OCSP localizes certificate status on a validation authority (an OCSP server, also called the responder)
which the ASA queries for the status of a specific certificate. This method provides better scalability and
more up-to-date revocation status than does CRL checking, and helps organizations with large PKI
installations deploy and expand secure networks.
Note
Note
1.
The OCSP URL defined in a match certificate override rule by using the match certificate
command).
2.
3.
To configure a trustpoint to validate a self-signed OCSP responder certificate, you import the self-signed
responder certificate into its own trustpoint as a trusted CA certificate. Then you configure the match
certificate command in the client certificate validating trustpoint to use the trustpoint that includes the
self-signed OCSP responder certificate to validate the responder certificate. Use the same procedure for
configuring validating responder certificates external to the validation path of the client certificate.
The OCSP server (responder) certificate usually signs the OCSP response. After receiving the response,
the ASA tries to verify the responder certificate. The CA normally sets the lifetime of the OCSP
responder certificate to a relatively short period to minimize the chance of being compromised. The CA
usually also includes an ocsp-no-check extension in the responder certificate, which indicates that this
certificate does not need revocation status checking. However, if this extension is not present, the ASA
tries to check revocation status using the same method specified in the trustpoint. If the responder
certificate is not verifiable, revocation checks fail. To avoid this possibility, use the revocation-check
none command to configure the responder certificate validating trustpoint, and use the revocation-check
ocsp command to configure the client certificate.
The Local CA
The local CA performs the following tasks:
Deploys certificates.
Provides a certificate authority on the ASA for use with browser-based and client-based SSL VPN
connections.
18-6
Chapter 18
Digital Certificates
About Digital Certificates
Provides trusted digital certificates to users, without the need to rely on external certificate
authorization.
Provides a secure, in-house authority for certificate authentication and offers straightforward user
enrollment by means of a website login.
The Local CA
191783
Security Device
with Local CA
Configured
18-7
Chapter 18
Digital Certificates
Authentication
Enabled by the authentication server group setting in the tunnel group (also called ASDM
Connection Profile)
Uses the username and password as credentials
Authorization
Enabled by the authorization server group setting in the tunnel group (also called ASDM
Connection Profile)
Uses the username as a credential
Certificates
If user digital certificates are configured, the ASA first validates the certificate. It does not, however, use
any of the DNs from certificates as a username for the authentication.
If both authentication and authorization are enabled, the ASA uses the user login credentials for both
user authentication and authorization.
Authentication
Enabled by the authentication server group setting
Uses the username and password as credentials
Authorization
Enabled by the authorization server group setting
Uses the username as a credential
If authentication is disabled and authorization is enabled, the ASA uses the primary DN field for
authorization.
Authentication
DISABLED (set to None) by the authentication server group setting
No credentials used
Authorization
Enabled by the authorization server group setting
Uses the username value of the certificate primary DN field as a credential
18-8
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Note
If the primary DN field is not present in the certificate, the ASA uses the secondary DN field value as
the username for the authorization request.
For example, consider a user certificate that includes the following Subject DN fields and values:
Cn=anyuser,OU=sales;O=XYZCorporation;L=boston;S=mass;C=us;ea=anyuser@example.com
If the Primary DN = EA (E-mail Address) and the Secondary DN = CN (Common Name), then the
username used in the authorization request would be anyuser@example.com.
Failover Guidelines
IPv6 Guidelines
Make sure that the ASA is configured correctly to support certificates. An incorrectly configured
ASA can cause enrollment to fail or request a certificate that includes inaccurate information.
Make sure that the hostname and domain name of the ASA are configured correctly. To view the
currently configured hostname and domain name, enter the show running-config command.
Make sure that the ASA clock is set accurately before configuring the CA. Certificates have a date
and time that they become valid and expire. When the ASA enrolls with a CA and obtains a
certificate, the ASA checks that the current time is within the valid range for the certificate. If it is
outside that range, enrollment fails.
Thirty days before the local CA certificate expires, a rollover replacement certificate is generated,
and a syslog message informs the administrator that it is time for local CA rollover. The new local
CA certificate must be imported onto all necessary devices before the current certificate expires. If
the administrator does not respond by installing the rollover certificate as the new local CA
certificate, validations may fail.
The local CA certificate rolls over automatically after expiration using the same keypair. The
rollover certificate is available for export in base 64 format.
The following example shows a base 64 encoded local CA certificate:
MIIXlwIBAzCCF1EGCSqGSIb3DQEHAaCCF0IEghc+MIIXOjCCFzYGCSqGSIb3DQEHBqCCFycwghcjAgEAMIIXHA
YJKoZIhvcNAQcBMBsGCiqGSIb3DQEMAQMwDQQIjph4SxJoyTgCAQGAghbw3v4bFy+GGG2dJnB4OLphsUM+IG3S
DOiDwZG9n1SvtMieoxd7Hxknxbum06JDrujWKtHBIqkrm+td34qlNE1iGeP2YC94/NQ2z+4kS+uZzwcRhl1KEZ
TS1E4L0fSaC3uMTxJq2NUHYWmoc8pi4CIeLj3h7VVMy6qbx2AC8I+q57+QG5vG5l5Hi5imwtYfaWwPEdPQxaWZ
18-9
Chapter 18
Digital Certificates
PrzoG1J8BFqdPa1jBGhAzzuSmElm3j/2dQ3Atro1G9nIsRHgV39fcBgwz4fEabHG7/Vanb+fj81d5nlOiJjDYY
bP86tvbZ2yOVZR6aKFVI0b2AfCr6PbwfC9U8Z/aF3BCyM2sN2xPJrXva94CaYrqyotZdAkSYA5KWScyEcgdqmu
BeGDKOncTknfgy0XM+fG5rb3qAXy1GkjyFI5Bm9Do6RUROoG1DSrQrKeq/hj.
END OF CERTIFICATE
AnyConnect Secure Mobility Client 3.0 or later must be running at the endpoint.
The authentication method, configured in the connection profile for your group policy, must be set
to use both AAA and certificate authentication.
To maintain the local CA certificate database, make sure that you save the certificate database file,
LOCAL-CA-SERVER.cdb, with the write memory command each time that a change to the database
occurs. The local CA certificate database includes the following files:
The LOCAL-CA-SERVER.p12 file is the archive of the local CA certificate and keypair that is
generated when the local CA server is initially enabled.
The LOCAL-CA-SERVER.ser file keeps track of the issued certificate serial numbers.
Additional Guidelines
For ASAs that are configured as CA servers or clients, limit the validity period of the certificate to
less than the recommended end date of 03:14:08 UTC, January 19, 2038. This guideline also applies
to imported certificates from third-party vendors.
You cannot configure the local CA when failover is enabled. You can only configure the local CA
server for standalone ASAs without failover. For more information, see CSCty43366.
When a certificate enrollment is completed, the ASA stores a PKCS12 file containing the user's
keypair and certificate chain, which requires about 2 KB of flash memory or disk space per
enrollment. The actual amount of disk space depends on the configured RSA key size and certificate
fields. Keep this guideline in mind when adding a large number of pending certificate enrollments
on an ASA with a limited amount of available flash memory, because these PKCS12 files are stored
in flash memory for the duration of the configured enrollment retrieval timeout. We recommend
using a key size of at least 2048.
The lifetime ca-certificate command takes effect when the local CA server certificate is first
generated (that is, when you initially configure the local CA server and issue the no shutdown
command). When the CA certificate expires, the configured lifetime value is used to generate the
new CA certificate. You cannot change the lifetime value for existing CA certificates.
You should configure the ASA to use an identity certificate to protect ASDM traffic and HTTPS
traffic to the management interface. Identity certificates that are automatically generated with SCEP
are regenerated after each reboot, so make sure that you manually install your own identity
certificates. For an example of this procedure that applies only to SSL, see the following URL:
http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a00809fcf91
.shtml.
18-10
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
The ASA and the AnyConnect clients can only validate certificates in which the X520Serialnumber
field (the serial number in the Subject Name) is in PrintableString format. If the serial number
format uses encoding such as UTF8, the certificate authorization will fail.
Use only valid characters and values for certificate parameters when you import them on the ASA.
To use a wildcard (*) symbol, make sure that you use encoding on the CA server that allows this
character in the string value. Although RFC 5280 recommends using either a UTF8String or
PrintableString, you should use UTF8String because PrintableString does not recognize the
wildcard as a valid character. The ASA rejects the imported certificate if an invalid character or
value is found during the import. For example:
ERROR: Failed to parse or verify imported certificate ciscoasa(config)# Read
162*Hytes as CA certificate:0U0= \Ivr"phV30 CRYPTO_PKI(make trustedCerts list)
CERT-C: E ../cert-c/source/certlist.c(302): Error #711h
CRYPTO_PKI: Failed to verify the ID certificate using the CA certificate in trustpoint
mm.
CERT-C: E ../cert-c/source/p7contnt.c(169): Error #703h
crypto_certc_pkcs7_extract_certs_and_crls failed (1795):
crypto_certc_pkcs7_extract_certs_and_crls failed
CRYPTO_PKI: status = 1795: failed to verify or insert the cert into storage
Example:
ciscoasa/contexta(config)# crypto key generate rsa
The default key modulus is 1024. To specify other modulus sizes, use the modulus keyword.
Note
Step 2
Many SSL connections using identity certificates with RSA key pairs that exceed 1024 bits can
cause high CPU usage on the ASA and rejected clientless logins.
Example:
ciscoasa/contexta(config)# crypto key generate rsa label exchange
The label is referenced by the trustpoint that uses the key pair. If you do not assign a label, the key pair
is automatically labeled, Default-RSA-Key.
Step 3
Example:
18-11
Chapter 18
Digital Certificates
Step 4
Example:
ciscoasa(config)# write memory
Step 5
If necessary, remove existing key pairs so that you can generate new ones.
crypto key zeroize rsa
Example:
ciscoasa(config)# crypto key zeroize rsa
Step 6
Example:
ciscoasa# copy LOCAL-CA-SERVER_0001.pl2 tftp://10.1.1.22/user6/
This command copies the local CA server certificate and keypair and all files from the ASA using either
FTP or TFTP.
Note
Make sure that you back up all local CA files as often as possible.
Examples
Configure Trustpoints
To configure a trustpoint, perform the following steps:
Procedure
Step 1
Create a trustpoint that corresponds to the CA from which the ASA needs to receive a certificate.
crypto ca trustpoint trustpoint-name
Example:
ciscoasa/contexta(config)# crypto ca trustpoint Main
You enter the crypto ca trustpoint configuration mode, which controls CA-specific trustpoint parameters
that you may configure starting in Step 3.
18-12
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Note
Step 2
When you try to connect, a warning occurs to indicate that the trustpoint does not contain an ID
certificate when an attempt is made to retrieve the ID certificate from the trustpoint.
Request automatic enrollment using SCEP with the specified trustpoint and configures the
enrollment URL.
enrollment url url
Example:
ciscoasa/contexta(config-ca-trustpoint)# enrollment url
http://10.29.67.142:80/certsrv/mscep/mscep.dll
Request manual enrollment with the specified trustpoint by pasting the certificate received from the
CA into the terminal.
enrollment terminal
Example:
ciscoasa/contexta(config-ca-trustpoint)# enrollment terminal
Step 3
Example:
ciscoasa/contexta(config-ca-trustpoint)# revocation-check crl none
ciscoasa/contexta(config-ca-trustpoint)# revocation-check crl
ciscoasa/contexta(config-ca-trustpoint)# revocation-check none
Note
Step 4
To enable either required or optional CRL checking, make sure that you configure the trustpoint
for CRL management after obtaining certificates.
Example:
ciscoasa/contexta(config-ca-trustpoint)# crl configure
Step 5
During enrollment, ask the CA to include the specified e-mail address in the Subject Alternative Name
extension of the certificate.
email address
Example:
ciscoasa/contexta(config-ca-trustpoint)# email example.com
Step 6
(Optional) Specify a retry period in minutes, and applies only to SCEP enrollment.
enrollment retry period
Example:
ciscoasa/contexta(config-ca-trustpoint)# enrollment retry period 5
18-13
Chapter 18
Digital Certificates
Step 7
(Optional) Specify a maximum number of permitted retries, and applies only to SCEP enrollment.
enrollment retry count
Example:
ciscoasa/contexta(config-ca-trustpoint)# enrollment retry period 2
Step 8
During enrollment, ask the CA to include the specified fully qualified domain name in the Subject
Alternative Name extension of the certificate.
fqdn fqdn
Example:
ciscoasa/contexta(config-ca-trustpoint)# fqdn example.com
Step 9
During enrollment, ask the CA to include the IP address of the ASA in the certificate.
ip-address ip-address
Example:
ciscoasa/contexta(config-ca-trustpoint)# ip-address 10.10.100.1
Step 10
Example:
ciscoasa/contexta(config-ca-trustpoint)# keypair exchange
Step 11
Configure OCSP URL overrides and trustpoints to use for validating OCSP responder certificates.
match certificate map-name override ocsp
Example:
ciscoasa/contexta(config-ca-trustpoint)# match certificate examplemap override ocsp
Step 12
Disable the nonce extension on an OCSP request. The nonce extension cryptographically binds requests
with responses to avoid replay attacks.
ocsp disable-nonce
Example:
ciscoasa/contexta(config-ca-trustpoint)# ocsp disable-nonce
Step 13
Configure an OCSP server for the ASA to use to check all certificates associated with a trustpoint rather
than the server specified in the AIA extension of the client certificate.
ocsp url
Example:
ciscoasa/contexta(config-ca-trustpoint)# ocsp url
Step 14
Specify a challenge phrase that is registered with the CA during enrollment. The CA usually uses this
phrase to authenticate a subsequent revocation request.
password string
Example:
ciscoasa/contexta(config-ca-trustpoint)# password mypassword
18-14
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Step 15
Set one or more methods for revocation checking: CRL, OCSP, and none.
revocation check
Example:
ciscoasa/contexta(config-ca-trustpoint)# revocation check
Step 16
During enrollment, ask the CA to include the specified subject DN in the certificate. If a DN string
includes a comma, enclose the value string within double quotes (for example, O=Company, Inc.).
subject-name X.500 name
Example:
ciscoasa/contexta(config-ca-trustpoint)# myname X.500 examplename
Step 17
During enrollment, ask the CA to include the ASA serial number in the certificate.
serial-number
Example:
ciscoasa/contexta(config-ca-trustpoint)# serial number JMX1213L2A7
Step 18
Example:
ciscoasa/contexta(config)# write memory
Enter crypto ca trustpoint configuration mode for the trustpoint whose CRL configuration you want to
modify.
crypto ca trustpoint trustpoint-name
Example:
ciscoasa (config)# crypto ca trustpoint Main
Note
Step 2
Make sure that you have enabled CRLs before entering this command. In addition, the CRL must
be available for authentication to succeed.
Example:
18-15
Chapter 18
Digital Certificates
Tip
Step 3
To set all CRL configuration parameters to default values, use the default command. At any time
during CRL configuration, reenter this command to restart the procedure.
CRLs are retrieved only from the CRL distribution points that are specified in authenticated
certificates.
policy cdp
Example:
ciscoasa(config-ca-crl)# policy cdp
Note
To continue, go to Step 5.
Example:
ciscoasa(config-ca-crl)# policy static
To continue, go to Step 4.
CRLs are retrieved from CRL distribution points specified in authenticated certificates and from
URLs that you configure.
policy both
Example:
ciscoasa(config-ca-crl)# policy both
To continue, go to Step 4.
Step 4
If you used the static or both keywords when you configured the CRL policy, you must configure URLs
for CRL retrieval. You can enter up to five URLs, ranked 1 through 5. The n argument is the rank
assigned to the URL.
url n url
Example:
ciscoasa (config-ca-crl)# url 2 http://www.example.com
Example:
ciscoasa(config-ca-crl)# protocol http
18-16
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Step 6
Configure how long the ASA caches CRLs for the current trustpoint. The refresh-time argument is the
number of minutes that the ASA waits before considering a CRL stale.
cache-time refresh-time
Example:
ciscoasa(config-ca-crl)# cache-time 420
Step 7
Require the NextUpdate field to be present in CRLs. This is the default setting.
enforcenextupdate
Example:
ciscoasa(config-ca-crl)# enforcenextupdate
Example:
ciscoasa(config-ca-crl)# no enforcenextupdate
Step 8
Identify the LDAP server to the ASA if LDAP is specified as the retrieval protocol. You can specify the
server by DNS hostname or by IP address. You can also provide a port number if the server listens for
LDAP queries on a port other than the default of 389.
ldap-defaults server
Example:
ciscoasa (config-ca-crl)# ldap-defaults ldap1
Note
Step 9
If you use a hostname instead of an IP address to specify the LDAP server, make sure that you
have configured the ASA to use DNS.
Example:
ciscoasa (config-ca-crl)# ldap-dn cn=admin,ou=devtest,o=engineering c00lRunZ
Step 10
Retrieve the current CRL from the CA represented by the specified trustpoint and test the CRL
configuration for the current trustpoint.
crypto ca crl request trustpoint
Example:
ciscoasa (config-ca-crl)# crypto ca crl request Main
Step 11
Example:
ciscoasa (config)# write memory
18-17
Chapter 18
Digital Certificates
Export a trustpoint configuration with all associated keys and certificates in PKCS12 format.
crypto ca export trustpoint
Example:
ciscoasa(config)# crypto ca export Main
The ASA displays the PKCS12 data in the terminal. You can copy the data. The trustpoint data is
password protected; however, if you save the trustpoint data in a file, make sure that the file is in a secure
location.
Examples
The following example exports PKCS12 data for the trustpoint Main with the passphrase Wh0zits:
ciscoasa(config)# crypto ca export Main pkcs12 Wh0zits
Exported pkcs12 follows:
[ PKCS12 data omitted ]
---End - This line not part of the pkcs12---
Import keypairs and issued certificates that are associated with a trustpoint configuration.
crypto ca import trustpoint pkcs12
Example:
ciscoasa(config)# crypto ca import Main pkcs12
The ASA prompts you to paste the text into the terminal in base 64 format. The key pair imported with
the trustpoint is assigned a label that matches the name of the trustpoint that you create.
Note
If an ASA has trustpoints that share the same CA, you can use only one of the trustpoints that
share the CA to validate user certificates. To control which trustpoint that shares a CA is used
for validation of user certificates issued by that CA, use the support-user-cert-validation
keyword.
18-18
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Examples
The following example manually imports PKCS12 data to the trustpoint Main with the passphrase
Wh0zits:
ciscoasa (config)# crypto ca import Main pkcs12 Wh0zits
Enter the base 64 encoded pkcs12.
End with a blank line or the word "quit" on a line by itself:
[ PKCS12 data omitted ]
quit
INFO: Import PKCS12 operation completed successfully
The following example manually imports a certificate for the trustpoint Main:
ciscoasa (config)# crypto ca import Main certificate
% The fully-qualified domain name in the certificate will be:
securityappliance.example.com
Enter the base 64 encoded certificate.
End with a blank line or the word quit on a line by itself
[ certificate data omitted ]
quit
INFO: Certificate successfully imported
Enter CA certificate map configuration mode for the rule you want to configure and specify the rule
index number.
crypto ca certificate map sequence-number
Example:
ciscoasa(config)# crypto ca certificate map 1
Step 2
Specify the distinguished name of all issued certificates. which is also the subject-name DN of the
self-signed CA certificate.
issuer-name DN-string
Example:
ciscoasa(config-ca-cert-map)# issuer-name cn=asa.example.com
Use commas to separate attribute-value pairs. Insert quotation marks around any value that includes a
comma. An issuer-name must be less than 500 alphanumeric characters. The default issuer-name is
cn=hostame.domain-name.
Step 3
Specify tests that the ASA can apply to values found in the Subject field of certificates.
subject-name attr tag eq | co | ne | nc string
18-19
Chapter 18
Digital Certificates
Example:
ciscoasa(config-ca-cert-map)# subject-name attr cn eq mycert
The tests can apply to specific attributes or to the entire field. You can configure many tests per rule, and
all the tests you specify with these commands must be true for a rule to match a certificate. The following
are valid operators:
Step 4
coPart or all of the field or attribute must match the value given.
ncNo part of the field or attribute can match the value given.
Example:
ciscoasa(config)# write memory
You must have already obtained a base-64 encoded CA certificate from the CA represented by the
trustpoint.
To obtain certificates manually, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# crypto ca authenticate Main
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
MIIDRTCCAu+gAwIBAgIQKVcqP/KW74VP0NZzL+JbRTANBgkqhkiG9w0BAQUFADCB
[ certificate data omitted ]
/7QEM8izy0EOTSErKu7Nd76jwf5e4qttkQ==
quit
INFO: Certificate has the following attributes:
Fingerprint:
24b81433 409b3fd5 e5431699 8d490d34
Do you accept this certificate? [yes/no]: y
Trustpoint CA certificate accepted.
% Certificate successfully imported
Whether a trustpoint requires that you manually obtain certificates is determined by the use of the
enrollment terminal command when you configure the trustpoint.
Step 2
18-20
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Example:
ciscoasa(config)# crypto ca enroll Main
% Start certificate enrollment ..
% The fully-qualified domain name in the certificate will be:
securityappliance.example.com
% Include the device serial number in the subject name? [yes/no]: n
Display Certificate Request to terminal? [yes/no]: y
Certificate Request follows:
MIIBoDCCAQkCAQAwIzEhMB8GCSqGSIb3DQEJAhYSRmVyYWxQaXguY2lzY28uY29t
[ certificate request data omitted ]
jF4waw68eOxQxVmdgMWeQ+RbIOYmvt8g6hnBTrd0GdqjjVLt
---End - This line not part of the certificate request--Redisplay enrollment request? [yes/no]: n
This command generates a certificate for signing data and depending on the type of keys that you have
configured, for encrypting data. If you use separate RSA keys for signing and encryption, the crypto ca
enroll command displays two certificate requests, one for each key. If you use general-purpose RSA
keys for both signing and encryption, the crypto ca enroll command displays one certificate request.
To complete enrollment, obtain a certificate for all certificate requests generated by the crypto ca enroll
command from the CA represented by the applicable trustpoint. Make sure that the certificate is in
base-64 format.
Step 3
Import each certificate you receive from the CA and make sure that you paste the certificate to the
terminal in base-64 format.
crypto ca import trustpoint certificate
Example:
ciscoasa (config)# crypto ca import Main certificate
% The fully-qualified domain name in the certificate will be:
securityappliance.example.com
Enter the base 64 encoded certificate.
End with a blank line or the word quit on a line by itself
[ certificate data omitted ]
quit
INFO: Certificate successfully imported
Step 4
Verify that the enrollment process was successful by displaying certificate details issued for the ASA
and the CA certificate for the trustpoint.
show crypto ca server certificate
Example:
ciscoasa(config)# show crypto ca server certificate Main
Step 5
Example:
ciscoasa(config)# write memory
18-21
Chapter 18
Digital Certificates
Step 6
Repeat these steps for each trustpoint that you configure for manual enrollment.
You must have already obtained a base-64 encoded CA certificate from the CA represented by the
trustpoint.
To obtain certificates automatically using SCEP, perform the following steps:
Procedure
Step 1
Example:
ciscoasa/contexta(config)# crypto ca authenticate Main
When you configure the trustpoint, use of the enrollment url command determines whether or not you
must obtain certificates automatically via SCEP.
Step 2
Enroll the ASA with the trustpoint. This command retrieves a certificate for signing data and depending
on the type of keys that you have configured, for encrypting data. Before entering this command, contact
the CA administrator, who may need to authenticate the enrollment request manually before the CA
grants certificates.
crypto ca enroll trustpoint
Example:
ciscoasa/contexta(config)# crypto ca enroll Main
If the ASA does not receive a certificate from the CA within one minute (the default) of sending a
certificate request, it resends the certificate request. The ASA continues sending a certificate request
each minute until a certificate is received.
If the fully qualified domain name configured for the trustpoint is not identical to the fully qualified
domain name of the ASA, including the case of the characters, a warning appears. To resolve this issue,
exit the enrollment process, make any necessary corrections, and reenter the crypto ca enroll command.
Note
Step 3
If the ASA reboots after you have issued the crypto ca enroll command but before you have
received the certificate, reenter the crypto ca enroll command and notify the CA administrator.
Verify that the enrollment process was successful by displaying certificate details issued for the ASA
and the CA certificate for the trustpoint.
show crypto ca server certificate
Example:
18-22
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Step 4
Example:
ciscoasa/contexta(config)# write memory
Example:
ciscoasa(config)# tunnel-group remotegrp ipsec-attributes
Step 2
Example:
ciscoasa(config-tunnel-ipsec)# crypto ikev2 enable outside client-services
Note
Step 3
Example:
ciscoasa(config)# tunnel-group 209.165.200.225 general-attributes
Step 4
Example:
ciscoasa(config-tunnel-general)# scep-enrollment enable
INFO: 'authentication aaa certificate' must be configured to complete setup of this
option.
Step 5
18-23
Chapter 18
Digital Certificates
Example:
ciscoasa(config)# group-policy FirstGroup attributes
Step 6
Enroll the SCEP CA for the group policy. Enter this command once per group policy to support a
third-party digital certificate.
scep-forwarding-url value URL
Example:
ciscoasa(config-group-policy)# scep-forwarding-url value http://ca.example.com:80/
Supply a common, secondary password when a certificate is unavailable for WebLaunch support of the
SCEP proxy.
secondary-pre-fill-username clientless hide use-common-password password
Example:
ciscoasa(config)# tunnel-group remotegrp webvpn-attributes
ciscoasa(config-tunnel-webvpn)# secondary-pre-fill-username clientless hide
use-common-password secret
You must use the hide keyword to support the SCEP proxy.
For example, a certificate is not available to an endpoint requesting one. Once the endpoint has the
certificate, AnyConnect disconnects, then reconnects to the ASA to qualify for a DAP policy that
provides access to internal network resources.
Step 8
Example:
ciscoasa(config-tunnel-webvpn)# secondary-pre-fill-username ssl-client hide
use-common-password secret
Despite the ssl-client keyword inherited from earlier releases, use this command to support AnyConnect
sessions that use either IKEv2 or SSL.
You must use the hide keyword to support the SCEP proxy.
Step 9
Example:
ciscoasa(config-tunnel-webvpn)# secondary-username-from-certificate CN
no-certificate-fallback cisco-secure-desktop machine-unique-id
18-24
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Before enabling the local CA server, you must first create a passphrase of at least seven characters to
encode and archive a PKCS12 file that includes the local CA certificate and keypair to be generated. The
passphrase unlocks the PKCS12 archive if the CA certificate or keypair is lost.
To enable the local CA server, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# crypto ca server
Step 2
Example:
ciscoasa(config-ca-server)# no shutdown
This command generates the local CA server certificate, keypair and necessary database files, and
archives the local CA server certificate and keypair in a PKCS12 file. You must enter an 8-65
alphanumeric password. After initial startup, you can disable the local CA without being prompted for
the password.
Step 3
Save the configuration to make sure that the local CA certificate and keypair are not lost after a reboot
occurs.
write memory
Example:
ciscoasa(config)# write memory
Examples
The following is sample output that shows local CA server configuration and status:
Certificate Server LOCAL-CA-SERVER:
Status: enabled
State: enabled
18-25
Chapter 18
Digital Certificates
Example:
ciscoasa(config)# crypto ca server
Step 2
Specify the SMTP from-address, a valid e-mail address that the local CA uses as a from address when
sending e-mail messages that deliver one-time passwords (OTPs) for an enrollment invitation to users.
smtp from-address e-mail_address
Example:
ciscoasa(config-ca-server) # smtp from-address SecurityAdmin@example.com
Step 3
(Optional) Specify the subject-name DN that is appended to each username on issued certificates.
subject-name-default dn
Example:
ciscoasa(config-ca-server)# subject-name-default cn=engineer, o=asc systems, c=US
The subject-name DN and the username combine to form the DN in all user certificates that are issued
by the local CA server. If you do not specify a subject-name DN, you must specify the exact subject name
DN to be included in a user certificate each time that you add a user to the user database.
Note
Step 4
Make sure that you review all optional parameters carefully before you enable the configured
local CA, because you cannot change issuer-name and keysize server values after you enable the
local CA for the first time.
Create the self-signed certificate and associate it with the local CA on the ASA.
no shutdown
Example:
ciscoasa(config-ca-server)# no shutdown
18-26
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
The self-signed certificate key usage extension has key encryption, key signature, CRL signing, and
certificate signing capabilities.
Note
After the self-signed local CA certificate has been generated, to change any characteristics, you
must delete the existing local CA server and completely recreate it.
The local CA server keeps track of user certificates, so the administrator can revoke or restore privileges
as needed.
Examples
The following example shows how to configure the local CA server using the predefined default values
for all required parameters:
ciscoasa(config)# crypto ca
ciscoasa(config-ca-server)#
ciscoasa(config-ca-server)#
ciscoasa(config-ca-server)#
server
smtp from-address SecurityAdmin@example.com
subject-name-default cn=engineer, o=asc Systems, c=US
no shutdown
Example:
ciscoasa(config)# crypto ca server
Step 2
Example:
ciscoasa(config-ca-server)# issuer-name cn=xx5520,cn=30.132.0.25,ou=DevTest,ou=QA,o=ASC
Systems
Step 3
Customize the text that appears in the subject field of all e-mail messages sent from the local CA server.
smtp subject subject-line
Example:
ciscoasa(config-ca-server)# smtp subject Priority E-Mail: Enclosed Confidential
Information is Required for Enrollment
Step 4
Specify the e-mail address that is to be used as the From: field of all e-mail messages that are generated
by the local CA server.
smtp from-address e-mail_address
18-27
Chapter 18
Digital Certificates
Example:
ciscoasa(config-ca-server)# smtp from-address SecurityAdmin@example.com
Step 5
Example:
ciscoasa(config-ca-server)# subject-name default cn=engineer, o=ASC Systems, c=US
The default subject-name DN becomes part of the username in all user certificates issued by the local
CA server.
The allowed DN attribute keywords are as follows:
C = Country
CN = Common Name
EA = E-mail Address
L = Locality
O = Organization Name
OU = Organization Unit
ST = State/Province
SN = Surname
ST = State/Province
Note
Example:
ciscoasa(config)# crypto ca server
Step 2
Example:
ciscoasa(config-ca-server)# shutdown
INFO: Local CA Server has been shutdown.
18-28
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
This command disables website enrollment, allows you to modify the local CA server configuration, and
stores the current configuration and associated files. After initial startup, you can reenable the local CA
without being prompted for the password.
Enter one of the following commands to remove an existing local CA server (either enabled or disabled):
no crypto ca server
Example:
ciscoasa(config)# no crypto ca server
Note
Deleting the local CA server removes the configuration from the ASA. After the configuration has been
deleted, it is unrecoverable.
Make sure that you also delete the associated local CA server database and configuration files (that is,
all files with the wildcard name, LOCAL-CA-SERVER.*).
Example:
ciscoasa(config)# crypto ca server
Step 2
Determine the expiration date to be included in the certificate. The default lifetime of a local CA
certificate is three years.
lifetime ca-certificate time
Example:
18-29
Chapter 18
Digital Certificates
Make sure that you limit the validity period of the certificate to less than the recommended end date of
03:14:08 UTC, January 19, 2038.
Step 3
(Optional) Reset the local CA certificate lifetime to the default value of three years.
no lifetime ca-certificate
Example:
ciscoasa(config-ca-server)# no lifetime ca-certificate
The local CA server automatically generates a replacement CA certificate 30 days before it expires,
which allows the replacement certificate to be exported and imported onto any other devices for
certificate validation of user certificates that have been issued by the local CA certificate after the current
local CA certificate has expired. The following pre-expiration syslog message is generated:
%ASA-1-717049: Local CA Server certificate is due to expire in days days and a replacement
certificate is available for export.
Note
When notified of this automatic rollover, the administrator must make sure that the new local
CA certificate is imported onto all required devices before it expires.
Example:
ciscoasa(config)# crypto ca server
Step 2
Set the length of time that you want user certificates to remain valid.
lifetime certificate time
Example:
ciscoasa(config-ca-server)# lifetime certificate 60
18-30
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Note
Before a user certificate expires, the local CA server automatically initiates certificate renewal
processing by granting enrollment privileges to the user several days ahead of the certificate
expiration date, setting renewal reminders, and delivering an e-mail message that includes the
enrollment username and OTP for certificate renewal. Make sure that you limit the validity
period of the certificate to less than the recommended end date of 03:14:08 UTC, January 19,
2038.
Example:
ciscoasa(config)# crypto ca server
Step 2
Set the length of time that you want the CRL to remain valid.
lifetime crl time
Example:
ciscoasa(config-ca-server)# lifetime crl 10
The local CA updates and reissues the CRL each time that a user certificate is revoked or unrevoked, but
if no revocation changes occur, the CRL is reissued automatically once each CRL lifetime. If you do not
specify a CRL lifetime, the default time period is six hours.
Step 3
Force the issuance of a CRL at any time, which immediately updates and regenerates a current CRL to
overwrite the existing CRL.
crypto ca server crl issue
Example:
ciscoasa(config-ca-server)# crypto ca server crl issue
A new CRL has been issued.
Note
Do not use this command unless the CRL file has been removed in error or has been corrupted
and must be regenerated.
18-31
Chapter 18
Digital Certificates
Example:
ciscoasa(config)# crypto ca server
Step 2
Specify the size of the public and private keys generated at user-certificate enrollment.
keysize server
Example:
ciscoasa(config-ca-server)# keysize server 2048
The keypair size options are 512, 768, 1024, 2048 bits, and the default value is 1024 bits.
Note
After you have enabled the local CA, you cannot change the local CA keysize, because all issued
certificates would be invalidated. To change the local CA keysize, you must delete the current
local CA and reconfigure a new one.
Examples
The following is sample output that shows two user certificates in the database.
Username: user1
Renewal allowed until: Not Allowed
Number of times user notified: 0
PKCS12 file stored until: 12:45:52 UTC Fri Jan 4 2017
Certificates Issued:
serial:
0x71
issued:
12:45:52 UTC Thu Jan 3 2008
expired: 12:17:37 UTC Sun Dec 31 2017
status:
Not Revoked
Username: user2
Renewal allowed until: Not Allowed
Number of times user notified: 0
PKCS12 file stored until: 12:27:59 UTC Fri Jan 4 2008
Certificates Issued:
serial:
0x2
issued:
12:27:59 UTC Thu Jan 3 2008
expired: 12:17:37 UTC Sun Dec 31 2017
status:
Not Revoked
<--- More --->
18-32
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Example:
ciscoasa(config)# mount mydata type cifs
Step 2
Example:
ciscoasa(config-mount-cifs)# mount mydata type cifs
server 10.1.1.10 share myshare
domain example.com
username user6
password ********
status enable
Note
Step 3
Only the user who mounts a file system can unmount it with the no mount command.
Example:
ciscoasa(config)# crypto ca server
Step 4
Specify the location of mydata, the premounted CIFS file system to be used for the local CA server
database.
database path mount-name directory-path
Example:
ciscoasa(config-ca-server)# database path mydata:newuser
This command establishes a path to the server and then specifies the local CA file or folder name to use
for storage and retrieval. To return local CA file storage to the ASA flash memory, use the no database
path command.
Note
Step 5
To secure stored local CA files on an external server requires a premounted file system of file
type CIFS or FTP that is username-protected and password-protected.
Example:
18-33
Chapter 18
Digital Certificates
For external local CA file storage, each time that you save the ASA configuration, user information is
saved from the ASA to the premounted file system and file location, mydata:newuser.
For flash memory storage, user information is saved automatically to the default location for the start-up
configuration.
Examples
The following example shows the list of local CA files that appear in flash memory or in external storage:
ciscoasa(config-ca-server)# dir LOCAL* //
Directory of disk0:/LOCAL*
75
77
69
81
72
-rwx
-rwx
-rwx
-rwx
-rwx
32
229
0
232
1603
13:07:49
13:07:49
01:09:28
19:09:10
01:09:28
Jan
Jan
Jan
Jan
Jan
20
20
20
20
20
2007
2007
2007
2007
2007
LOCAL-CA-SERVER.ser
LOCAL-CA-SERVER.cdb
LOCAL-CA-SERVER.udb
LOCAL-CA-SERVER.crl
LOCAL-CA-SERVER.p12
Example:
ciscoasa(config)# crypto ca server
Step 2
Open a port on an interface to make the CRL accessible from that interface. The specified interface and
port are used to listen for incoming requests for the CRL.
publish-crl interface interface port portnumber
Example:
ciscoasa(config-ca-server)# publish-crl outside 70
insideName of interface/GigabitEthernet0/1
outsideName of interface/GigabitEthernet0/0
Port numbers can range from 1-65535. TCP port 80 is the HTTP default port number.
18-34
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Note
If you do not specify this command, the CRL is not accessible from the CDP location, because
this command is required to open an interface to download the CRL file.
The CDP URL can be configured to use the IP address of an interface, and the path of the CDP URL and
the filename can also be configured (for example, http://10.10.10.100/user8/my_crl_file).
In this case, only the interface with that IP address configured listens for CRL requests, and when a
request comes in, the ASA matches the path, /user8/my_crl_file to the configured CDP URL. When the
path matches, the ASA returns the stored CRL file.
Note
Step 3
Specify the CDP to be included in all issued certificates. If you do not configure a specific location for
the CDP, the default URL location is http://hostname.domain/+CSCOCA+/asa_ca.crl.
cdp-url url
Example:
ciscoasa(config-ca-server)# cdp-url http://172.16.1.1/pathname/myca.crl
The local CA updates and reissues the CRL each time a user certificate is revoked or unrevoked. If no
revocation changes occur, the CRL is reissued once each CRL lifetime.
If this command is set to serve the CRL directly from the local CA ASA, see Download and Store CRLs,
page 18-34 for instructions about opening a port on an interface to make the CRL accessible from that
interface.
The CRL exists for other devices to validate the revocation of certificates issued by the local CA. In
addition, the local CA tracks all issued certificates and status within its own certificate database.
Revocation checking is performed when a validating party needs to validate a user certificate by
retrieving the revocation status from an external server, which might be the CA that issued the certificate
or a server designated by the CA.
Example:
ciscoasa(config)# crypto ca server
Step 2
Specify the number of hours that an issued OTP for the local CA enrollment page is valid. The default
expiration time is 72 hours.
otp expiration timeout
18-35
Chapter 18
Digital Certificates
Example:
ciscoasa(config-ca-server)# otp expiration 24
Note
Step 3
The user OTP to enroll for a certificate on the enrollment website is also used as the password
to unlock the PKCS12 file that includes the issued certificate and keypair for the specified user.
Specify the number of hours an already-enrolled user can retrieve a PKCS12 enrollment file.
enrollment-retrieval timeout
Example:
ciscoasa(config-ca-server)# enrollment-retrieval 120
This time period begins when the user is successfully enrolled. The default retrieval period is 24 hours.
Valid values for the retrieval period range from 1 to 720 hours. The enrollment retrieval period is
independent of the OTP expiration period.
After the enrollment retrieval time expires, the user certificate and keypair are no longer available. The
only way a user may receive a certificate is for the administrator to reinitialize certificate enrollment and
allow a user to log in again.
Example:
ciscoasa(config-ca-server)# crypto ca server user-db add user1 dn user1@example.com,
Engineer, Example Company, US, email user1@example.com
The username argument is a string of 4-64 characters, which is the simple username for the user being
added. The username can be an e-mail address, which then is used to contact the user as necessary for
enrollment invitations.
The dn argument is the distinguished name, a global, authoritative name of an entry in the OSI Directory
(X.500) (for example, cn=user1@example.com, cn=Engineer, o=Example Company, c=US).
The e-mail-address argument is the e-mail address of the new user to which OTPs and notices are to be
sent.
Step 2
Example:
ciscoasa(config-ca-server)# crypto ca server user-db allow user
18-36
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Step 3
Notify a user in the local CA database to enroll and download a user certificate, which automatically
e-mails the OTP to that user.
crypto ca server user-db email-otp username
Example:
ciscoasa(config-ca-server)# crypto ca server user-db email-otp exampleuser1
Note
Step 4
When an administrator wants to notify a user through e-mail, the administrator must specify the
e-mail address in the username field or in the e-mail field when adding that user.
Example:
ciscoasa(config-ca-server)# crypto ca server user-db show-otp
Step 5
Set the enrollment time limit in hours. The default expiration time is 72 hours.
otp expiration timeout
Example:
ciscoasa(config-ca-server)# otp expiration 24
This command defines the amount of time that the OTP is valid for user enrollment. This time period
begins when the user is allowed to enroll.
After a user enrolls successfully within the time limit and with the correct OTP, the local CA server
creates a PKCS12 file, which includes a keypair for the user and a user certificate that is based on the
public key from the keypair generated and the subject-name DN specified when the user is added. The
PKCS12 file contents are protected by a passphrase, the OTP. The OTP can be handled manually, or the
local CA can e-mail this file to the user to download after the administrator allows enrollment.
The PKCS12 file is saved to temporary storage with the name, username.p12. With the PKCS12 file in
storage, the user can return within the enrollment-retrieval time period to download the PKCS12 file as
many times as needed. When the time period expires, the PKCS12 file is removed from storage
automatically and is no longer available to download.
Note
If the enrollment period expires before the user retrieves the PKCS12 file that includes the user
certificate, enrollment is not permitted.
Renew Users
To specify the timing of renewal notices, perform the following steps:
Procedure
Step 1
18-37
Chapter 18
Digital Certificates
Example:
ciscoasa(config)# crypto ca server
Step 2
Specifies the number of days (1-90) before the local CA certificate expires that an initial reminder to
re-enroll is sent to certificate owners.
renewal-reminder time
Example:
ciscoasa(config-ca-server)# renewal-reminder 7
If a certificate expires, it becomes invalid. Renewal notices and the times they are e-mailed to users are
variable, and can be configured by the administrator during local CA server configuration.
Three reminders are sent. An e-mail is automatically sent to the certificate owner for each of the three
reminders, provided an e-mail address is specified in the user database. If no e-mail address exists for
the user, a syslog message alerts you of the renewal requirement.
The ASA automatically grants certificate renewal privileges to any user who holds a valid certificate that
is about to expire, as long as the user still exists in the user database. Therefore, if an administrator does
not want to allow a user to renew automatically, the administrator must remove the user from the
database before the renewal time period.
Restore Users
To restore a user and a previously revoked certificate that was issued by the local CA server, perform the
following steps:
Procedure
Step 1
Example:
ciscoasa(config)# crypto ca server
Step 2
Restore a user and unrevoke a previously revoked certificate that was issued by the local CA server.
crypto ca server unrevoke cert-serial-no
Example:
ciscoasa(config-ca-server)# crypto ca server unrevoke 782ea09f
The local CA maintains a current CRL with serial numbers of all revoked user certificates. This list is
available to external devices and can be retrieved directly from the local CA if it is configured to do so
with the cdp-url command and the publish-crl command. When you revoke (or unrevoke) any current
certificate by certificate serial number, the CRL automatically reflects these changes.
18-38
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Remove Users
To delete a user from the user database by username, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# crypto ca server
Step 2
Remove a user from the user database and allow revocation of any valid certificates that were issued to
that user.
crypto ca server user-db remove username
Example:
ciscoasa(config-ca-server)# crypto ca server user-db remove user1
Revoke Certificates
To revoke a user certificate, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# crypto ca server
Step 2
Example:
ciscoasa(config-ca-server)# crypto ca server revoke 782ea09f
This command marks the certificate as revoked in the certificate database on the local CA server and in
the CRL, which is automatically reissued.
Note
The password is also required if the certificate for the ASA needs to be revoked, so make sure
that you record it and store it in a safe place.
18-39
Chapter 18
Digital Certificates
Note
Note
We currently support a feature for IKEv2 where if a session is brought up with a certificate nearing
expiration, the session is logged off as soon as the certificate expires. This feature continues as usual.
Restrictions
Periodic certificate authentication will not work with any other Non-VPN sessions/connections. All
VPN sessions support the periodic certificate authentication (IKEv1 RA and L2L, IKEv2 RA and L2L
including third party standards based, SSL Client and Clientless, L2TP and EZVPN).
Cached CRLs
ASA caches the CRLs received during a certificate validation for a configurable duration and reuses
them for validating other certificates within that duration. Caching provides performance benefits by
bypassing the step of requesting and verifying the CRLs repeatedly from the server for every connection
attempt. A periodic certificate validation is similar to a normal certificate validation.
Revocation Check
ASA can be configured with a none option for revocation checking along with a CRL or an OCSP check:
revocation-check [crl] [ocsp] [none]
If a CRL is unavailable in the cache, the first connection with the none option configured will spawn off
a request for CRL without waiting for the response. This first connection succeeds without the
revocation status check. The first connection without a CRL in the cache always skips the revocation
check. If the CRL download fails or if the CRL/OCSP server is unreachable, the original behavior
remains, and the connection stays. The difference between a normal authentication and period
reauthentication is that with periodic reauthentication, we always try to retrieve the CRL and wait for it
to come back. If we fail to retrieve the CRL while checking the certificate using the received CRL, the
behavior is similar to normal authentication, and the connection is allowed. When revocation checking
is disabled, the periodic verification does all the other checks normally done during session
establishment.
18-40
Chapter 18
Digital Certificates
Guidelines for Digital Certificates
Local CA
VPN sessions using the certificates issued by the Local CA can also do periodic certificate validation,
including revocation checking just like the certificates issued by third-party CAs.
Inactive Sessions
AnyConnect sessions can go into an inactive state after an IKEv2 or SSL tunnel goes down. The session
continues to exist to allow session resumption without re-authentication. The periodic authentication
continues on the inactive sessions similar to a normal session with the certificate provided during the
initial connect. The inactive sessions may be logged off based on the periodic authentication result as
well.
Failover
The client certificates are synced to the standby during the session initialization. Active and Standby will
maintain and manage their own separate databases for storing these certificates as sessions come up and
down. The database is optimized to avoid storing duplicate CA certificates. No duplicate checking is
done on ID certificates since the ID certificates are generally unique for each session.
Clustering
Clustering supports L2L VPN only. In addition, the VPN sessions are established only to the master
device and are not synced to any other device. If the master goes down, the sessions need to be
re-established.
Irrespective of the alerts configuration, a reminder is sent every day during the last week of expiration.
The following show and clear commands have also been added:
clear conf crypto ca alerts
show run crypto ca alerts
In addition to the renewal reminder, if an already expired certificate is found in the configuration, a
syslog is generated once every day to rectify the configuration by either renewing the certificate or
removing the expired certificate.
For example, assume that the expiration alerts are configured to begin at 60 days and repeat every 6 days
after that. If the ASA is rebooted at 40 days, an alert is sent on that day, and the next alert is sent on the
36th day.
18-41
Chapter 18
Digital Certificates
Note
Expiration checking is not done on trust pool certificates. The Local CA trust point is treated as a regular
trustpoint for expiration checking too.
Procedure
Step 3
Step 4
Step 5
Step 6
18-42
Chapter 18
Digital Certificates
Monitoring Digital Certificates
Note
show running-config
This command shows local CA certificate map rules.
Examples
18-43
Chapter 18
Digital Certificates
89028181
159108c9
75b88df1
6afe56ad
f7f50d13
00ea51b7
f5e49103
8092a9f8
c1d2c01c
79020301 0001
The following example shows output of the show running-config command, in which local CA
certificate map rules appear:
crypto ca certificate map 1
issuer-name co asc
subject-name attr ou eq Engineering
18-44
Chapter 18
Digital Certificates
History for Certificate Management
Feature Name
Platform
Releases
Certificate management
7.0(1)
Certificate management
7.2(1)
Description
18-45
Chapter 18
Digital Certificates
Table 18-1
Feature Name
Platform
Releases
Description
Certificate management
8.0(2)
SCEP proxy
8.4(1)
18-46
PART
IP Routing
CH AP TE R
19
Routing Overview
This chapter describes underlying concepts of how routing behaves within the Cisco ASA, and the
routing protocols that are supported. Routing is the act of moving information across a network from a
source to a destination. Along the way, at least one intermediate node is typically encountered. Routing
involves two basic activities: determining optimal routing paths and transporting packets through a
network.
Path Determination
Routing protocols use metrics to evaluate what path will be the best for a packet to travel. A metric is a
standard of measurement, such as path bandwidth, that is used by routing algorithms to determine the
optimal path to a destination. To aid the process of path determination, routing algorithms initialize and
maintain routing tables, which include route information. Route information varies depending on the
routing algorithm used.
Routing algorithms fill routing tables with a variety of information. Destination or next hop associations
tell a router that a particular destination can be reached optimally by sending the packet to a particular
router representing the next hop on the way to the final destination. When a router receives an incoming
packet, it checks the destination address and attempts to associate this address with a next hop.
Routing tables also can include other information, such as data about the desirability of a path. Routers
compare metrics to determine optimal routes, and these metrics differ depending on the design of the
routing algorithm used.
Routers communicate with one another and maintain their routing tables through the transmission of a
variety of messages. The routing update message is one such message that generally consists of all or a
portion of a routing table. By analyzing routing updates from all other routers, a router can build a
detailed picture of network topology. A link-state advertisement, another example of a message sent
19-1
Chapter 19
Routing Overview
between routers, informs other routers of the state of the sender links. Link information also can be used
to build a complete picture of network topology to enable routers to determine optimal routes to network
destinations.
Note
Asymmetric routing is only supported for Active/Active failover in multiple context mode.
19-2
Chapter 19
Routing Overview
How Routing Behaves Within the ASA
19-3
Chapter 19
Routing Overview
If a destination IP translating XLATE already exists, the egress interface for the packet is determined
from the XLATE table, but not from the routing table.
2.
If a destination IP translating XLATE does not exist, but a matching static translation exists, then
the egress interface is determined from the static NAT rule and an XLATE is created, and the routing
table is not used.
3.
If a destination IP translating XLATE does not exist and no matching static translation exists, the
packet is not destination IP translated. The ASA processes this packet by looking up the route to
select the egress interface, then source IP translation is performed (if necessary).
For regular dynamic outbound NAT, initial outgoing packets are routed using the route table and
then creating the XLATE. Incoming return packets are forwarded using existing XLATE only. For
static NAT, destination translated incoming packets are always forwarded using existing XLATE or
static translation rules.
ECMP Routing
The ASA supports Equal-Cost Multi-Path (ECMP) routing.
19-4
Chapter 19
Routing Overview
Supported Internet Protocols for Routing
Without zones, you can have up to 3 equal cost static or dynamic routes per interface. For example, you
can configure three default routes on the outside interface that specify different gateways:
route outside 0 0 10.1.1.2
route outside 0 0 10.1.1.3
route outside 0 0 10.1.1.4
In this case, traffic is load-balanced on the outside interface between 10.1.1.2, 10.1.1.3, and 10.1.1.4.
Traffic is distributed among the specified gateways based on an algorithm that hashes the source and
destination IP addresses.
ECMP is not supported across multiple interfaces, so you cannot define a route to the same destination
on a different interface. The following route is disallowed when configured with any of the routes above:
route outside2 0 0 10.2.1.1
With zones, you can have up to 8 equal cost static or dynamic routes across up to 8 interfaces within a
zone. For example, you can configure three default routes across three interfaces in the zone:
route outside1 0 0 10.1.1.2
route outside2 0 0 10.2.1.2
route outside3 0 0 10.3.1.2
Similarly, your dynamic routing protocol can automatically configure equal cost routes. The ASA
load-balances traffic across the interfaces with a more robust load balancing mechanism.
When a route is lost, the ASA seamlessly moves the flow to a different route.
19-5
Chapter 19
Routing Overview
Routing Table
BGP is an interautonomous system routing protocol. BGP is used to exchange routing information
for the Internet and is the protocol used between Internet service providers (ISP). Customers connect
to ISPs, and ISPs use BGP to exchange customer and ISP routes. When BGP is used between
autonomous systems (AS), the protocol is referred to as External BGP (EBGP). If a service provider
is using BGP to exchange routes within an AS, then the protocol is referred to as Interior BGP
(IBGP).
For more information about configuring BGP, see Configure BGP, page 23-4
Routing Table
If the two routes have different network prefix lengths (network masks), then both routes are
considered unique and are entered into the routing table. The packet forwarding logic then
determines which of the two to use.
For example, if the RIP and OSPF processes discovered the following routes:
RIP: 192.168.32.0/24
OSPF: 192.168.32.0/19
Even though OSPF routes have the better administrative distance, both routes are installed in the
routing table because each of these routes has a different prefix length (subnet mask). They are
considered different destinations and the packet forwarding logic determines which route to use.
If the ASA learns about multiple paths to the same destination from a single routing protocol, such
as RIP, the route with the better metric (as determined by the routing protocol) is entered into the
routing table.
Metrics are values associated with specific routes, ranking them from most preferred to least
preferred. The parameters used to determine the metrics differ for different routing protocols. The
path with the lowest metric is selected as the optimal path and installed in the routing table. If there
are multiple paths to the same destination with equal metrics, load balancing is done on these equal
cost paths.
If the ASA learns about a destination from more than one routing protocol, the administrative
distances of the routes are compared, and the routes with lower administrative distance are entered
into the routing table.
19-6
Chapter 19
Routing Overview
Routing Table
Route Source
Connected interface
Static route
External BGP
20
Internal EIGRP
90
OSPF
110
RIP
120
170
Internal BGP
200
Unknown
255
The smaller the administrative distance value, the more preference is given to the protocol. For example,
if the ASA receives a route to a certain network from both an OSPF routing process (default
administrative distance - 110) and a RIP routing process (default administrative distance - 120), the ASA
chooses the OSPF route because OSPF has a higher preference. In this case, the router adds the OSPF
version of the route to the routing table.
In this example, if the source of the OSPF-derived route was lost (for example, due to a power shutdown),
the ASA would then use the RIP-derived route until the OSPF-derived route reappears.
The administrative distance is a local setting. For example, if you use the distance-ospf command to
change the administrative distance of routes obtained through OSPF, that change would only affect the
routing table for the ASA on which the command was entered. The administrative distance is not
advertised in routing updates.
Administrative distance does not affect the routing process. The EIGRP, OSPF, RIP and BGP routing
processes only advertise the routes that have been discovered by the routing process or redistributed into
the routing process. For example, the RIP routing process advertises RIP routes, even if routes
discovered by the OSPF routing process are used in the ASA routing table.
19-7
Chapter 19
Routing Overview
Routing Table
Backup Routes
A backup route is registered when the initial attempt to install the route in the routing table fails because
another route was installed instead. If the route that was installed in the routing table fails, the routing
table maintenance process calls each routing protocol process that has registered a backup route and
requests them to reinstall the route in the routing table. If there are multiple protocols with registered
backup routes for the failed route, the preferred route is chosen based on administrative distance.
Because of this process, you can create floating static routes that are installed in the routing table when
the route discovered by a dynamic routing protocol fails. A floating static route is simply a static route
configured with a greater administrative distance than the dynamic routing protocols running on the
ASA. When the corresponding route discovered by a dynamic routing process fails, the static route is
installed in the routing table.
If the destination does not match an entry in the routing table, the packet is forwarded through the
interface specified for the default route. If a default route has not been configured, the packet is
discarded.
If the destination matches a single entry in the routing table, the packet is forwarded through the
interface associated with that route.
If the destination matches more than one entry in the routing table, and the entries all have the same
network prefix length, the two entries with identical network prefixes and different interfaces cannot
coexist in the routing table.
If the destination matches more than one entry in the routing table, and the entries have different
network prefix lengths, then the packet is forwarded out of the interface associated with the route
that has the longer network prefix length.
For example, a packet destined for 192.168.32.1 arrives on an interface of an ASA with the following
routes in the routing table:
ciscoasa# show route
....
R
192.168.32.0/24 [120/4] via 10.1.1.2
O
192.168.32.0/19 [110/229840] via 10.1.1.3
....
In this case, a packet destined to 192.168.32.1 is directed toward 10.1.1.2, because 192.168.32.1 falls
within the 192.168.32.0/24 network. It also falls within the other route in the routing table, but the
192.168.32.0/24 has the longest prefix within the routing table (24 bits verses 19 bits). Longer prefixes
are always preferred over shorter ones when forwarding a packet.
19-8
Chapter 19
Routing Overview
Routing Table
19-9
Chapter 19
Routing Overview
Route Maps
and Prefix Lists
EIGRP
OSPFv2
N/A
N/A
N/A
All CLIs that are available in single mode are also available in multiple context mode.
Each CLI has an effect only in the context in which it is used.
19-10
Chapter 19
Routing Overview
Display the Routing Table
that the return traffic of the VPN clients towards the internal hosts will go to the wrong interface and will
get dropped. In this case, you need to disable proxy ARP requests for the interface on which you do not
want them.
Procedure
Step 1
Example:
ciscoasa(config)# sysopt noproxyarp exampleinterface
19-11
Chapter 19
Display the Routing Table
19-12
Routing Overview
CH AP TE R
20
Default Route
The simplest option is to configure a default route to send all traffic to an upstream router, relying on the
router to route the traffic for you. A default route identifies the gateway IP address to which the ASA
sends all IP packets for which it does not have a learned or static route. A default static route is simply
a static route with 0.0.0.0/0 as the destination IP address.
20-1
Chapter 20
Static Routes
You might want to use static routes in single context mode in the following cases:
Your networks use a different router discovery protocol from BGP, EIGRP, RIP, or OSPF.
Your network is small and you can easily manage static routes.
You do not want the traffic or CPU overhead associated with routing protocols.
In some cases, a default route is not enough. The default gateway might not be able to reach the
destination network, so you must also configure more specific static routes. For example, if the
default gateway is outside, then the default route cannot direct traffic to any inside networks that are
not directly connected to the ASA.
Route Priorities
Routes that identify a specific destination take precedence over the default route.
When multiple routes exist to the same destination (either static or dynamic), then the administrative
distance for the route determines priority. Static routes are set to 1, so they typically are the highest
priority routes.
When you have multiple static routes to the same destination with the same administrative distance,
see ECMP Routing, page 19-4.
For traffic emerging from a tunnel with the Tunneled option, this route overrides any other
configured or learned default routes.
20-2
Chapter 20
Clustering
Do not enable unicast RPF (ip verify reverse-path command) on the egress interface of a tunneled
route, because this setting causes the session to fail.
Do not enable TCP intercept on the egress interface of the tunneled route, because this setting causes
the session to fail.
Do not use the VoIP inspection engines (CTIQBE, H.323, GTP, MGCP, RTSP, SIP, SKINNY), the
DNS inspection engine, or the DCE RPC inspection engine with tunneled routes, because these
inspection engines ignore the tunneled route.
You cannot define more than one default route with the tunneled option.
20-3
Chapter 20
Procedure
Step 1
IPv6:
ipv6 route if_name ::/0 next_hop_ipv6_addr [distance | tunneled]
Example:
ciscoasa(config)# route outside 0.0.0.0 0.0.0.0 192.168.2.4
ciscoasa(config)# route inside 0.0.0.0 0.0.0.0 10.1.2.3 tunneled
ciscoasa(config)# ipv6 route inside ::/0 3FFE:1100:0:CC00::1
The if_name is the interface through which you want to send the specific traffic.
The distance argument is the administrative distance for the route, between 1 and 254. The default is 1
if you do not specify a value. Administrative distance is a parameter used to compare routes among
different routing protocols. The default administrative distance for static routes is 1, giving it precedence
over routes discovered by dynamic routing protocols but not directly connect routes. The default
administrative distance for routes discovered by OSPF is 110. If a static route has the same
administrative distance as a dynamic route, the static routes take precedence. Connected routes always
take precedence over static or dynamically discovered routes.
Note
If you have two default routes configured on different interfaces that have different metrics, the
connection to the ASA that is made from the higher metric interface fails, but connections to the
ASA from the lower metric interface succeed as expected.
You can define a separate default route for tunneled traffic along with the standard default route using
the tunneled keyword. When you create a default route with the tunneled option, all traffic from a tunnel
terminating on the ASA that cannot be routed using learned or static routes is sent to this route.
Tip
You can enter 0 0 instead of 0.0.0.0 0.0.0.0 for the destination network address and mask, as shown in
the following example:
ciscoasa(config)# route outside 0 0 192.168.2.4
20-4
Chapter 20
Example:
ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.1.1
The if_name is the interface through which you want to send the specific traffic. To black hole
unwanted traffic, enter the null0 interface.
The dest_ip and mask arguments indicate the IP address for the destination network and the gateway_ip
argument is the address of the next-hop router. The addresses you specify for the static route are the
addresses that are in the packet before entering the ASA and performing NAT.
The distance argument is the administrative distance for the route. The default is 1 if you do not specify
a value. Administrative distance is a parameter used to compare routes among different routing
protocols. The default administrative distance for static routes is 1, giving it precedence over routes
discovered by dynamic routing protocols but not directly connected routes. The default administrative
distance for routes discovered by OSPF is 110. If a static route has the same administrative distance as
a dynamic route, the static route takes precedence. Connected routes always take precedence over static
or dynamically discovered routes.
Examples
The following example shows static routes for 3 networks that go to the same gateway, and another
network that goes to a separate gateway:
route
route
route
route
The next hop gateway address (if you are concerned about the availability of the gateway)
A server on the target network, such as a AAA server, that the ASA needs to communicate with
20-5
Chapter 20
Note
IPv4 traffic.
Procedure
Step 1
Example:
ciscoasa(config)# sla monitor 5
ciscoasa(config-sla-monitor)#
Step 2
Specify the monitoring protocol, the target host on the tracked network, and the interface through which
you reach the network:
type echo protocol ipicmpecho target_ip interface if_name
Example:
ciscoasa(config-sla-monitor)# type echo protocol ipicmpecho 172.29.139.134
ciscoasa(config-sla-monitor-echo)#
The target_ip argument is the IP address of the network object whose availability the tracking process
monitors. While this object is available, the tracking process route is installed in the routing table. When
this object becomes unavailable, the tracking process removes the route and the backup route is used in
its place.
Step 3
(Optional) Configure monitoring options. See the command reference for the following commands:
frequency, num-packets, request-data-size, threshold, timeout, and tos.
Step 4
Example:
ciscoasa(config)# sla monitor schedule 5 life forever start-time now
Typically, you will use the sla monitor schedule sla_id life forever start-time now command for the
monitoring schedule, and allow the monitoring configuration to determine how often the testing occurs.
20-6
Chapter 20
However, you can schedule this monitoring process to begin in the future and to only occur at specified
times.
Step 5
Example:
ciscoasa(config)# track 6 rtr 5 reachability
The track_id argument is a tracking number you assign with this command. The sla_id argument is the
ID number of the SLA process.
Step 6
Static route:
route if_name dest_ip mask gateway_ip [distance] track track_id
Example:
ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.1.1 track 6
Step 7
show route
Displays the routing table.
20-7
Chapter 20
Feature Name
Platform
Releases
7.2(1)
Feature Information
The static route tracking feature provides a method for
tracking the availability of a static route and installing a
backup route if the primary route should fail.
We introduced the following commands: clear configure
sla, frequency, num-packets, request-data-size, show sla
monitor, show running-config sla, sla monitor, sla
monitor schedule, threshold, timeout, tos, track rtr
9.2(1)
20-8
CH AP TE R
21
Quality of Service
21-1
Chapter 21
Cost Saving
Load Sharing
Quality of Service
By tagging packets with policy based routing, network administrators can classify the network traffic at
the perimeter of the network for various classes of service and then implementing those classes of service
in the core of the network using priority, custom or weighted fair queuing (as shown in the figure below).
This setup improves network performance by eliminating the need to classify the traffic explicitly at each
WAN interface in the core of backbone network.
21-2
Chapter 21
Cost Saving
An organization can direct the bulk traffic associated with a specific activity to use a higher-bandwidth
high-cost link for a short time and continues basic connectivity over a lower-bandwidth low-cost link for
interactive traffic by defining the topology as show below.
Load Sharing
In addition to the dynamic load-sharing capabilities offered by ECMP load balancing, network
administrators can now implement policies to distribute traffic among multiple paths based on the traffic
characteristics.
As an example, in the topology depicted in the Equal-Access Source Sensitive Routing scenario, an
administrator can configure policy based routing to load share the traffic from HR network through ISP1
and traffic from Eng network through ISP2.
Implementation of PBR
The ASA uses ACLs to match traffic and then perform routing actions on the traffic. Specifically, you
configure a route map that specifies an ACL for matching, and then you specify one or more actions for
that traffic. Finally, you associate the route map with an interface where you want to apply PBR on all
incoming traffic
Supported only in routed firewall mode. Transparent firewall mode is not supported.
Clustering
21-3
Chapter 21
Additional Guidelines
All existing route map related configuration restrictions and limitations will be carried forward.
When a route map is configured with both IPv4 and IPv6 match/set clauses or when a unified ACL
matching IPv4 and IPv6 traffic is used, the set actions will be applied based on destination IP
version.
When multiple next-hops or interfaces are configured as set action, all these options are evaluated
one after the other until a valid usable option is found. No load balancing will be done among the
configured multiple options.
When a route map with match ACLs containing IPv6 addresses is attached to an interface, all IPv6
related ACLs will be discarded with a warning.
Verify-availability option uses track object configuration to track and verify the status of configured
next-hop. Since track object configuration is not supported in multi-mode, we will not support
verify-availability option too.
Procedure
Step 1
Define an access-list:
access-list access_list_name {permit | deny} ip {any4|ip_address...}
Example:
ciscoasa(config)# access-list testacl permit ip 10.1.1.0 255.255.255.0 20.1.1.0
255.255.255.0
Step 2
Example:
ciscoasa(config)# route-map testmap {permit} [12]
Route map entries are read in order. You can identify the order using the sequence_number argument, or
the ASA uses the order in which you add route map entries.
Note
Step 3
When a route-map is configured without a permit or deny action and without a sequence-number, it by default
will assume the action as permit and sequence-number as 10
Define the match criteria to be applied using an access-list:
match ip-address <access-list name> [access-list name]
Example:
ciscoasa(config-route-map)# match ip-address testacl
21-4
Chapter 21
Step 4
Indicate where to output packets that pass a match clause of a route map for policy routing:
set ip default next-hop [ip_address/ ipv6_address]
Example:
ciscoasa(config-route-map)# set ip default next-hop 10.86.118.3
Step 5
Example:
ciscoasa(config-route-map)# set ip next-hop recursive 10. 86.118.1
Verify if the next hops of a route map are Cisco Discovery Protocol (CDP) neighbors before policy
routing to those next hops:
set ip next-hop verify-availability next-hop-address sequence number track object
Example:
ciscoasa(config-route-map)# set ip next-hop verify-availability 10.86.118.3 56 track
10
or
set interface null0
Example:
ciscoasa(config-route-map)# set interface GigabitEthernet0/0
Example:
ciscoasa(config-route-map)# set ip df 0
Classify IP traffic by setting a Differentiated Services Code Point (DSCP) or an IP-precedence value
in the packet:
set ip dscp new-dscp
Example:
ciscoasa(config-route-map)# set ip dscp af33
Note
When multiple set actions are configured, PBR will evaluate them in the following order:
set ip next-hop verify-availability
set ip next-hop
set ip next-hop recursive
set interface
set ip default next-hop
set default interface
21-5
Chapter 21
Step 6
Example:
ciscoasa(config)# interface GigabitEthernet0/0
Step 7
Example:
ciscoasa(config-if)# policy-route route-map testmap
In the following example, since no match criteria is specified, an implicit match 'any' is assumed.:
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# set ip next-hop 1.1.1.10
In this example, all traffic matching <acl> will be policy routed and forwarded through outside interface.
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl>
ciscoasa(config-route-map)# set interface outside
In this example, since there are no interface or next-hop actions are configured, all traffic matching <acl>
will have df bit and dscp fields modified as per configuration and are forwarding using normal routing
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl>
set ip df 1
set ip precedence af11
In the following example, all traffic matching <acl_1> is forwarded using next-hop 1.1.1.10, all traffic
matching <acl_2> is forwarded using next-hop 2.1.1.10 and rest of the traffic is dropped. No "match"
criteria implies an implicit match "any".
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address <acl_1>
ciscoasa(config-route-map)# set ip next-hop 1.1.1.10
ciscoasa(config)# route-map testmap permit 20
ciscoasa(config-route-map)# match ip address <acl_2>
21-6
Chapter 21
In the following example, the route-map evaluation will be such that (i) a route-map action permit and
acl action permit will apply the set actions (ii) a route-map action deny and acl action permit will skip
to normal route lookup (iii) a route-map action of permit/deny and acl action deny will continue with
next route-map entry. When no next route-map entry available, we will fallback to normal route lookup.
ciscoasa(config)# route-map testmap permit 10
ciscoasa(config-route-map)# match ip address permit_acl_1 deny_acl_2
ciscoasa(config-route-map)# set ip next-hop 1.1.1.10
ciscoasa(config)# route-map testmap deny 20
ciscoasa(config-route-map)# match ip address permit_acl_3 deny_acl_4
ciscoasa(config-route-map)# set ip next-hop 2.1.1.10
ciscoasa(config)# route-map testmap permit 30
ciscoasa(config-route-map)# match ip address deny_acl_5
ciscoasa(config-route-map)# set interface outside
In the following example, when multiple set actions are configured, they are evaluated in the order
mentioned above. Only when all options of a set action are evaluated and cannot be applied, the next set
actions will be considered. This ordering will ensure that the most available and least distant next-hop
will be tried first followed by next most available and least distant next-hop and so on.
ciscoasa(config)#route-map testmap permit 10
ciscoasa(config-route-map)# match ip address acl_1
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.10 1 track 1
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.11 2 track 2
ciscoasa(config-route-map)# set ip next-hop verify-availability 1.1.1.12 3 track 3
ciscoasa(config-route-map)# set ip next-hop 2.1.1.10 2.1.1.11 2.1.1.12
ciscoasa(config-route-map)# set ip next-hop recursive 3.1.1.10
ciscoasa(config-route-map)# set interface outside-1 outside-2
ciscoasa(config-route-map)# set ip default next-hop 4.1.1.10 4.1.1.11
ciscoasa(config-route-map)# set default interface Null0
21-7
Chapter 21
We need to configure a route-map by specifying the above access-list as match criteria along with the
required set actions.
21-8
Chapter 21
We will use the above test setup to configure policy based routing with different match criteria & set
actions and see how they get evaluated and applied.
First, we will start with the basic configuration for all the devices involved in the setup. Here, A, B, C
& D are assumed as ASA devices and H1, H2 as IOS routers.
ASA-A:
21-9
Chapter 21
Examples for Policy Based Routing
ASA-B:
ASA-C:
ASA-D:
21-10
Chapter 21
H1:
H2:
pbr: policy based route lookup called for 15.1.1.100/44397 to 65.1.1.100/0 proto 1
sub_proto 8 received on interface inside
pbr: First matching rule from ACL(2)
pbr: route map testmap, sequence 10, permit; proceed with policy routing
pbr: evaluating next-hop 25.1.1.61
pbr: policy based routing applied; egress_ifc = outside : next_hop = 25.1.1.61
21-11
Chapter 21
The packet is forwarded as expected using the next-hop address in the route-map.
When a next-hop is configured, we do a lookup in input route table to identify a connected route to the
configured next-hop and use the corresponding interface. The input route table for this example is shown
below (with the matching route entry highlighted).
in
in
in
in
in
in
in
in
255.255.255.255
15.1.1.60
25.1.1.60
35.1.1.60
10.127.46.17
15.1.1.0
25.1.1.0
35.1.1.0
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.0
255.255.255.0
identity
identity
identity
identity
identity
inside
outside
dmz
Next let's configure ASA-A to route packets from H1 loopback2 out of ASA-A dmz interface.
and, the route entry chosen from input route table is shown below:
in
in
in
in
in
in
in
255.255.255.255
15.1.1.60
25.1.1.60
35.1.1.60
10.127.46.17
15.1.1.0
25.1.1.0
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.255
255.255.255.0
255.255.255.0
21-12
identity
identity
identity
identity
identity
inside
outside
Chapter 21
in
35.1.1.0
255.255.255.0
dmz
Feature Name
Platform
Releases
9.4(1)
Feature Information
Policy Based Routing (PBR) is a mechanism by which traffic
is routed through specific paths with a specified QoS using
ACLs. ACLs let traffic be classified based on the content of the
packets Layer 3 and Layer 4 headers. This solution lets
administrators provide QoS to differentiated traffic, distribute
interactive and batch traffic among low-bandwidth, low-cost
permanent paths and high-bandwidth, high-cost switched
paths, and allows Internet service providers and other
organizations to route traffic originating from various sets of
users through well-defined Internet connections.
We introduced the following commands: set ip next-hop
verify-availability, set ip next-hop, set ip next-hop
recursive, set interface, set ip default next-hop, set
default interface, set ip df, set ip dscp, policy-route
route-map, show policy-route, debug policy-route
9.3.2
9.4.1
21-13
Chapter 21
History for Policy Based Routing
21-14
CH AP TE R
22
Route Maps
This chapter describes how to configure and customize route-maps, for Cisco ASA.
They are an ordered sequence of individual statements, each has a permit or deny result. Evaluation
of ACL or route maps consists of a list scan, in a predetermined order, and an evaluation of the
criteria of each statement that matches. A list scan is aborted once the first statement match is found
and an action associated with the statement match is performed.
They are generic mechanismsCriteria matches and match interpretation are dictated by the way
that they are applied. The same route map applied to different tasks might be interpreted differently.
These are some of the differences between route maps and ACLs:
The main result from the evaluation of an ACL is a yes or no answerAn ACL either permits or
denies input data. Applied to redistribution, an ACL determines if a particular route can (route
matches ACLs permit statement) or can not (matches deny statement) be redistributed. Typical route
maps not only permit (some) redistributed routes but also modify information associated with the
route, when it is redistributed into another protocol.
Route maps are more flexible than ACLs and can verify routes based on criteria which ACLs can
not verify. For example, a route map can verify if the type of route is internal.
22-1
Chapter 22
Route Maps
Each ACL ends with an implicit deny statement, by design convention; there is no similar
convention for route maps. If the end of a route map is reached during matching attempts, the result
depends on the specific application of the route map. Fortunately, route maps that are applied to
redistribution behave the same way as ACLs: if the route does not match any clause in a route map
then the route redistribution is denied, as if the route map contained deny statement at the end.
The dynamic protocol redistribute command allows you to apply a route map. In Cisco ASDM, this
capability for redistribution can be found when you add or edit a new route map (see Define a Route
Map, page 22-4). Route maps are preferred if you intend to either modify route information during
redistribution or if you need more powerful matching capability than an ACL can provide. If you simply
need to selectively permit some routes based on their prefix or mask, we recommend that you use a route
map to map to an ACL (or equivalent prefix list) directly in the redistribute command. If you use a route
map to selectively permit some routes based on their prefix or mask, you typically use more
configuration commands to achieve the same goal.
Note
You must use a standard ACL as the match criterion for your route map. Using an extended ACL will
not work, and your routes will never be redistributed. We recommend that you number clauses in
intervals of 10 to reserve numbering space in case you need to insert clauses in the future.
If you use an ACL in a route map using a permit clause, routes that are permitted by the ACL are
redistributed.
If you use an ACL in a route map deny clause, routes that are permitted by the ACL are not
redistributed.
If you use an ACL in a route map permit or deny clause, and the ACL denies a route, then the route
map clause match is not found and the next route-map clause is evaluated.
A set value modifies information that will be redistributed into the target protocol.
For each route that is being redistributed, the router first evaluates the match criteria of a clause in the
route map. If the match criteria succeed, then the route is redistributed or rejected as dictated by the
permit or deny clause, and some of its attributes might be modified by the values set from the Set Value
tab in ASDM or from the set commands. If the match criteria fail, then this clause is not applicable to
22-2
Chapter 22
Route Maps
About Route Maps
the route, and the software proceeds to evaluate the route against the next clause in the route map.
Scanning of the route map continues until a clause is found whose match command(s), or Match Clause
as set from the Match Clause tab in ASDM, match the route or until the end of the route map is reached.
A match or set value in each clause can be missed or repeated several times, if one of these conditions
exists:
Note
If several match commands or Match Clause values in ASDM are present in a clause, all must
succeed for a given route in order for that route to match the clause (in other words, the logical AND
algorithm is applied for multiple match commands).
If a match command or Match Clause value in ASDM refers to several objects in one command,
either of them should match (the logical OR algorithm is applied). For example, in the match ip
address 101 121 command, a route is permitted if ACL 101 or ACL 121 permits it.
If a match command or Match Clause value in ASDM is not present, all routes match the clause. In
the previous example, all routes that reach clause 30 match; therefore, the end of the route map is
never reached.
If a set command, or Set Value in ASDM, is not present in a route map permit clause, then the route
is redistributed without modification of its current attributes.
Do not configure a set command in a route map deny clause because the deny clause prohibits route
redistributionthere is no information to modify.
A route map clause without a match or set command, or Match or Set Value as set on the Match or Set
Value tab in ASDM, performs an action. An empty permit clause allows a redistribution of the remaining
routes without modification. An empty deny clause does not allows a redistribution of other routes (this
is the default action if a route map is completely scanned, but no explicit match is found).
match as-path
match community
match policy-list
match tag
The following new route-map set clauses are now supported with BGP:
set as-path
set automatic-tag
set community
set local-preference
set origin
set weight
22-3
Chapter 22
Route Maps
For each BGP route that is being redistributed, the ASA first evaluates the BGP match criteria of a clause
in the route map. If the BGP match criteria succeeds, then the route is redistributed or rejected as dictated
by the permit or deny clause, and some of its attributes might be modified by the values set from the BGP
Set Clause tab in ASDM or from the set commands. If the match criteria fail, then this clause is not
applicable to the route, and the software proceeds to evaluate the route against the next clause in the route
map. Scanning of the route map continues until a clause is found whose match command(s), as set from
the BGP Match Clause tab in ASDM, match the route or until the end of the route map is reached.
Supported only in routed firewall mode. Transparent firewall mode is not supported.
Additional Guidelines
Route maps do not support ACLs that include a user, user group, or fully qualified domain name objects.
Example:
ciscoasa(config)# route-map name {permit} [12]
Route map entries are read in order. You can identify the order using the sequence_number argument, or
the ASA uses the order in which you add route map entries.
22-4
Chapter 22
Route Maps
Customize a Route Map
Step 1
Example:
ciscoasa(config)# route-map name {permit} [12]
Route map entries are read in order. You can identify the order using the sequence_number option, or
the ASA uses the order in which you add route map entries.
Step 2
Match any routes that have a destination network that matches a standard ACL or prefix list:
match ip address acl_id [acl_id] [...] [prefix-list]
Example:
ciscoasa(config-route-map)# match ip address acl1
If you specify more than one ACL, then the route can match any of the ACLs.
Step 3
Example:
ciscoasa(config-route-map)# match metric 200
Match any routes that have a next hop router address that matches a standard ACL:
match ip next-hop acl_id [acl_id] [...]
Example:
ciscoasa(config-route-map)# match ip next-hop acl2
If you specify more than one ACL, then the route can match any of the ACLs.
Step 5
Example:
ciscoasa(config-route-map)# match interface if_name
If you specify more than one interface, then the route can match either interface.
Step 6
Match any routes that have been advertised by routers that match a standard ACL:
match ip route-source acl_id [acl_id] [...]
Example:
ciscoasa(config-route-map)# match ip route-source acl_id [acl_id] [...]
If you specify more than one ACL, then the route can match any of the ACLs.
Step 7
22-5
Chapter 22
Route Maps
Step 1
Example:
ciscoasa(config)# route-map name {permit} [12]
Route map entries are read in order. You can identify the order using the sequence_number argument, or
the ASA uses the order in which you add route map entries.
Step 2
Example:
ciscoasa(config-route-map)# set metric 200
Example:
ciscoasa(config-route-map)# set metric-type type-2
1-to-2 permit
match metric 1
set metric 5
set metric-type type-1
The following example shows how to redistribute the 10.1.1.0 static route into eigrp process 1 with the
configured metric value:
ciscoasa(config)# route outside 10.1.1.0 255.255.255.0 192.168.1.1
ciscoasa(config-route-map)# access-list mymap2 line 1 permit 10.1.1.0 255.255.255.0
22-6
Chapter 22
Route Maps
Feature History for Route Maps
Feature Name
Platform
Releases
Feature Information
Route maps
7.0(1)
8.0(2)
9.0(1)
9.2(1)
9.3.2
22-7
Chapter 22
Feature History for Route Maps
22-8
Route Maps
CH AP TE R
23
BGP
This chapter describes how to configure the Cisco ASA to route data, perform authentication, and
redistribute routing information using the Border Gateway Protocol (BGP).
About BGP
BGP is an inter autonomous system routing protocol. An autonomous system is a network or group of
networks under a common administration and with common routing policies. BGP is used to exchange
routing information for the Internet and is the protocol used between Internet service providers (ISP).
Note
When a BGPv6 ASA joins the cluster, it generates a soft traceback when logging level 7 is enabled.
23-1
Chapter 23
BGP
About BGP
Weight -- This is a Cisco-defined attribute that is local to a router. The weight attribute is not
advertised to neighboring routers. If the router learns about more than one route to the same
destination, the route with the highest weight is preferred.
Local preference -- The local preference attribute is used to select an exit point from the local AS.
Unlike the weight attribute, the local preference attribute is propagated throughout the local AS. If
there are multiple exit points from the AS, the exit point with the highest local preference attribute
is used as an exit point for a specific route.
Origin -- The origin attribute indicates how BGP learned about a particular route. The origin
attribute can have one of three possible values and is used in route selection.
IGP- The route is interior to the originating AS. This value is set when the network router
AS_path -- When a route advertisement passes through an autonomous system, the AS number is added
to an ordered list of AS numbers that the route advertisement has traversed. Only the route with the
shortest AS_path list is installed in the IP routing table.
Next hop -- The EBGP next-hop attribute is the IP address that is used to reach the advertising router.
For EBGP peers, the next-hop address is the IP address of the connection between the peers. For IBGP,
the EBGP next-hop address is carried into the local AS.
23-2
Chapter 23
BGP
Guidelines for BGP
If the path specifies a next hop that is inaccessible, drop the update.
If the weights are the same, prefer the path with the largest local preference.
If the local preferences are the same, prefer the path that was originated by BGP running on this
router.
If no route was originated, prefer the route that has the shortest AS_path.
If all paths have the same AS_path length, prefer the path with the lowest origin type (where IGP is
lower than EGP, and EGP is lower than incomplete).
If the origin codes are the same, prefer the path with the lowest MED attribute.
If the paths have the same MED, prefer the external path over the internal path.
If the paths are still the same, prefer the path through the closest IGP neighbor.
If both paths are external, prefer the path that was received first (the oldest one).
Prefer the path with the lowest IP address, as specified by the BGP router ID.
If the originator or router ID is the same for multiple paths, prefer the path with the minimum cluster
list length.
Prefer the path that comes from the lowest neighbor address.
Does not support transparent firewall mode. BGP is supported only in router mode.
Failover Guidelines
Note
BGP is supported only in L2 (EtherChannel Type) and L3 (Individual Interface Type) clustering modes.
Note
When you delete and reapply the BGP configuration in the user context allow a delay of 60
seconds, to enable the slave/ standby ASA unit to sync.
23-3
Chapter 23
BGP
Configure BGP
IPv6 Guidelines
Supports IPv6. Graceful restart is not supported for IPv6 address family.
Configure BGP
This section describes how to enable and configure the BGP process on your system.
Procedure
Step 1
Step 2
Define the best path for the BGP routing process and configure the best path configuration parameters.
Step 3
Step 4
Step 5
Step 6
Enable BGP
This section describes the steps required to enable BGP routing, establish a BGP routing process and
configure general BGP parameters.
Procedure
Step 1
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Discard routes that have as-path segments that exceed a specified value:
bgp maxas-limit number
Example:
ciscoasa(config-router)# bgp maxas-limit 15
The number argument specifies the maximum number of autonomous system segments, allowed. Valid
values are from 1 to 254.
Step 3
Step 4
Enable BGP to automatically discover the best TCP path MTU for each BGP session:
bgp transport path-mtu-discovery
23-4
Chapter 23
BGP
Configure BGP
Step 5
Enable BGP to terminate external BGP sessions of any directly adjacent peer if the link used to reach
the peer goes down; without waiting for the hold-down timer to expire:
bgp fast-external-fallover
Step 6
Allow a BGP routing process to discard updates received from an external BGP (eBGP) peers that do
not list their autonomous system (AS) number as the first AS path segment in the AS_PATH attribute of
the incoming route:
bgp enforce-first-as
Step 7
Change the default display and regular expression match format of BGP 4-byte autonomous system
numbers from asplain (decimal values) to dot notation:
bgp asnotation dot
Step 8
Example:
ciscoasa(config-router)# timers bgp 80 120
Step 9
keepalive frequency (in seconds) with which the ASA sends keepalive messages to its peer. The
default value 60 seconds.
holdtime interval (in seconds) after not receiving a keepalive message that the ASA declares a
peer dead. The default is 180 seconds.
(Optional) min-holdtime interval (in seconds) after not receiving a keepalive message from a
neighbor, that the ASA declares a neighbor dead.
Example:
ciscoasa(config-router)# bgp graceful-restart restart-time 200
restart-time maximum time period (in seconds) that the ASA will wait for a
graceful-restart-capable neighbor to return to normal operation after a restart event occurs. The
default is 120 seconds. Valid values are from 1 to 3600 seconds.
stalepath-time maximum time period (in seconds) that the ASA will hold stale paths for a
restarting peer. All stale paths are deleted after this timer expires. The default value is 360 seconds.
Valid values are from 1 to 3600 seconds.
Enable a BGP routing process, which places the ASA in router configuration mode:
23-5
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config)# router bgp 2
Step 2
Example:
ciscoasa(config-router)# bgp default local-preference 500
The number argument is any value between 0 and 4294967295. Higher values indicate higher preference.
The default value is 100.
Step 3
Enable Multi Exit Discriminator (MED) comparison among paths learned from neighbors in different
autonomous systems:
bgp always-compare-med
Step 4
Compare between similar routes received from external BGP (eBGP) peers during the best path selection
process and switch the best path to the route with the lowest router ID:
bgp bestpath compare-routerid
Step 5
Select the best MED path advertised from the neighboring AS:
bgp deterministic-med
Step 6
Set a path with a missing MED attribute as the least preferred path:
bgp bestpath med missing-as-worst
Enable the policy-map configuration mode and allows you to create a BGP policy list:
policy-list policy_list_name {permit | deny}
Example:
ciscoasa(config)# policy-list Example-policy-list1 permit
Distribute routes that have their next hop out one of the interfaces specified:
match interface [...interface_name]
23-6
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-policy-list)# match interface outside
Step 3
Redistribute routes by matching either or all of the following: the destination address, next hop router
address, and router/access server source:
match ip {address | next-hop | route-source}
Step 4
Step 5
Example:
ciscoasa(config-policy-list)# match community ExampleCommunity1
Step 6
exact-match indicates that an exact match is required. All of the communities and only those
communities specified must be present.
Step 7
Redistribute routes in the routing table that match the specified tags:
match tag
Note
The as-path access-lists are not the same as the regular firewall ACLs.
Procedure
Step 1
Configure an autonomous system path filter using a regular expression in the global configuration mode:
as-path access-list acl-number {permit|deny} regexp
Example:
ciscoasa(config)# as-path access-list 35 permit testaspath
23-7
Chapter 23
BGP
Configure BGP
regexp regular expression that defines the AS-path filter. The autonomous system number is
expressed in the range from 1 to 65535.
Example:
ciscoasa(config)# community-list standard excomm1 permit 100 internet no-advertise
no-export
standard configures a standard community list using a number from 1 to 99 to identify one or
more permit or deny groups of communities.
AA:NN an autonomous system number and network number entered in the 4-byte new community
format. This value is configured with two 2-byte numbers separated by a colon. A number from 1 to
65535 can be entered for each 2-byte number. A single community can be entered or multiple
communities can be entered, each separated by a space.
(Optional) internet specifies the Internet community. Routes with this community are advertised
to all peers (internal and external).
(Optional) no-advertise specifies the no-advertise community. Routes with this community are
not advertised to any peer (internal or external).
(Optional) no-export specifies the no-export community. Routes with this community are
advertised to only peers in the same autonomous system or to only other subautonomous systems
within a confederation. These routes are not advertised to external peers.
(Optional) expanded configures an expanded community list number from 100 to 500 to identify
one or more permit or deny groups of communities.
regexp regular expression that defines the AS-path filter. The autonomous system number is
expressed in the range from 1 to 65535.
Note
23-8
Chapter 23
BGP
Configure BGP
Enable a BGP routing process, which places the router in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
(Optional) Configure a fixed router ID for the local BGP routing process:
bgp router-id A.B.C.D
Example:
ciscoasa(config-router-af)# bgp router-id 10.86.118.3
The argument A.B.C.D specifies a router identifier in the form of an IP address. If you do not specify a
router ID, it is automatically assigned.
Step 4
(Optional) Configure a cluster pool of IP addresses in the Individual Interface (L3) mode:
bgp router-id cluster-pool
Example:
ciscoasa(config-router-af)# bgp router-id cp
23-9
Chapter 23
BGP
Configure BGP
Note
Step 5
In an L3 cluster, you cannot define a BGP neighbor as one of the cluster pool IP addresses.
Example:
ciscoasa(config-router-af)# distance bgp 80 180 180
Step 6
external-distance administrative distance for external BGP routes. Routes are external when
learned from an external autonomous system. The range of values for this argument are from 1 to
255.
internal-distance administrative distance for internal BGP routes. Routes are internal when
learned from peer in the local autonomous system. The range of values for this argument are from
1 to 255.
local-distance administrative distance for local BGP routes. Local routes are those networks
listed with a network router configuration command, often as back doors, for the router or for the
networks that is being redistributed from another process. The range of values for this argument are
from 1 to 255.
Modify metric and tag values when the IP routing table is updated with BGP learned routes:
table-map {WORD|route-map_name}
Example:
ciscoasa(config-router-af)# table-map example1
The argument route-map_name specifies the route map name from the route-map command.
Step 7
Step 8
Step 9
Suppress the advertisement of routes that are not installed in the routing information base (RIB):
bgp suppress-inactive
Step 10
Synchronize between BGP and your Interior Gateway Protocol (IGP) system:
synchronization
Step 11
Step 12
Example:
ciscoasa(config-router-af)# bgp scan-time 15
23-10
Chapter 23
BGP
Configure BGP
The argument scanner-interval specifies scanning interval of BGP routing information. Valid values are
from 5 to 60 seconds. The default is 60 seconds.
Step 13
Example:
ciscoasa(config-router-af)# bgp nexthop trigger delay 15
Step 14
trigger specifies the use of BGP next-hop address tracking. Use this keyword with the delay
keyword to change the next-hop tracking delay. Use this keyword with the enable keyword to enable
next-hop address tracking.
delay changes the delay interval between checks on updated next-hop routes installed in the
routing table.
Control the maximum number of parallel iBGP routes that can be installed in a routing table:
maximum-paths {number_of_paths|ibgp number_of_paths}
Example:
ciscoasa(config-router-af)# maximum-paths ibgp 2
The number_of_paths argument specifies the number of routes to install to the routing table. Valid values
are between 1 and 8.
Note
If the ibgp keyword is not used, then the number_of_paths argument controls the maximum number of
parallel EBGP routes.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
23-11
Chapter 23
BGP
Configure BGP
Step 3
Example:
ciscoasa(config-router-af) aggregate-address 10.86.118.0 255.255.255.0 as-set summary-only
suppress-map example1 advertise-map example1 attribute-map example1
(Optional) Suppress-map map-name specifies the name of the route map used to select the routes
to be suppressed.
(Optional) Advertise-map map-name specifies the name of the route map used to select the
routes to create AS_SET origin communities.
(Optional) Attribute-map map-name specifies the name of the route map used to set the attribute
of the aggregate route.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
Example:
ciscoasa(config-router-af)# distribute-list ExampleAcl in bgp 2
The argument acl-number specifies IP access list number. The access list defines which networks are to
be received and which are to be suppressed in routing updates.
23-12
Chapter 23
BGP
Configure BGP
The keyword in specifies that the filter must be applied to incoming BGP updates and out specifies that
the filter must be applied to outgoing BGP updates.
Enable a BGP routing process, which places the router in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 remote-as 3
Step 4
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 shutdown 3
Step 5
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 activate
Step 6
Enable or disable the Border Gateway Protocol (BGP) graceful restart capability for a BGP neighbor:
neighbor ip-address ha-mode graceful-restart [disable]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 ha-mode graceful-restart
(Optional) The disable keyword disables BGP graceful restart capability for a neighbor.
Step 7
23-13
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 distribute-list ExampleAcl in
Step 8
access-list-number the number of a standard or extended access list. The range of a standard
access list number is from 1 to 99. The range of an extended access list number is from 100 to 199.
expanded-list-number the number of an expanded access list number. The range of an expanded
access list is from 1300 to 2699.
out that the access list is applied to outgoing advertisements to that neighbor.
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 route-map example1 in
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 prefix-list NewPrefixList in
The keyword in implies that the prefix list is applied to incoming advertisements from that neighbor.
The keyword out implies that the prefix list is applied to outgoing advertisements to that neighbor.
Step 10
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 filter-list 5 in
Step 11
access-list-name specifies the number of an autonomous system path access list. You define this
access list with the ip as-path access-list command.
in that the access list is applied to incoming advertisements from that neighbor.
out that the access list is applied to outgoing advertisements to that neighbor.
Example:
23-14
Chapter 23
BGP
Configure BGP
Step 12
(Optional) threshold integer specifying at what percentage of maximum the router starts to
generate a warning message. The range is from 1 to 100; the default is 75 (percent).
(Optional) restart interval integer value (in minutes) that specifies the time interval after which
the BGP neighbor restarts.
(Optional) warning-only allows the router to generate a log message when the maximum number
of prefixes is exceeded, instead of terminating the peering.
Allow a BGP speaker (the local router) to send the default route 0.0.0.0 to a neighbor for use as a default
route:
neighbor {ip-address} default-originate [route-map map-name]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 default-originate route-map example1
The argument map-name is the name of the route-map.The route map allows route 0.0.0.0 to be injected
conditionally.
Step 13
Set the minimum interval between the sending of BGP routing updates:
neighbor {ip-address} advertisement-interval seconds
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 advertisement-interval 15
The argument seconds is the time (in seconds). Valid values are from 0 to 600.
Step 14
Advertise the routes in the BGP table that matches the configured route-map:
neighbor {ip-address} advertise-map map-name {exist-map map-name |non-exist-map
map-name}[check-all-paths]
Example:
ciscoasa(config-router-af)# neighbor 10.2.1.1 advertise-map MAP1 exist-map MAP2
Step 15
advertise-map map name the name of the route map that will be advertised if the conditions of
the exist map or non-exist map are met.
exist-map map name the name of the exist-map that is compared with the routes in the BGP table
to determine whether the advertise-map route is advertised or not.
non-exist-map map name the name of the non-exist-map that is compared with the routes in the
BGP table to determine whether the advertise-map route is advertised or not.
(Optional) check all paths enables checking of all paths by the exist-map with a prefix in the
BGP table.
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 remove-private-as
Step 16
23-15
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 timers 15 20 12
Step 17
keepalive the frequency (in seconds) with which the ASA sends keepalive messages to its peer.
The default is 60 seconds. Valid values are from 0 to 65535.
holdtime the interval (in seconds) after not receiving a keepalive message that the ASA declares
a peer dead. The default is 180 seconds.
min holdtime the minimum interval (in seconds) after not receiving a keepalive message that the
ASA declares a peer dead.
Enable Message Digest 5 (MD5) authentication on a TCP connection between two BGP peers:
neighbor {ip-address} password string
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 password test
Note
Step 18
The first character cannot be a number. You cannot specify a password in the format
number-space-anything. The space after the number can cause authentication to fail.
Specify that communities attributes should be sent to a BGP neighbor:
neighbor {ip-address} send-community[both|standard|extended]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 send-community
Step 19
(Optional) both keyword both standard and extended communities will be sent.
Configure the router as the next hop for a BGP-speaking neighbor or peer group:
neighbor {ip-address}next-hop-self
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 next-hop-self
Step 20
Accept and attempt BGP connections to external peers residing on networks that are not directly
connected:
neighbor {ip-address} ebgp-multihop [ttl]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 ebgp-multihop 5
The argument ttl specifies time-to-live in the range from 1 to 255 hops.
23-16
Chapter 23
BGP
Configure BGP
Step 21
Disable connection verification to establish an eBGP peering session with a single-hop peer that uses a
loopback interface:
neighbor {ip-address} disable-connected-check
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 disable-connected-check
Step 22
Secure a BGP peering session and configures the maximum number of hops that separate two external
BGP (eBGP) peers:
neighbor {ip-address} ttl-security hops hop-count
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 ttl-security hops 15
The argument hop-count is the number of hops that separate the eBGP peers. The TTL value is calculated
by the router from the configured hop-count argument. Valid values are from 1 to 254.
Step 23
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 weight 30
The argument number is the weight to assign to a neighbor connection. Valid values are from 0 to 65535.
Step 24
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 version 4
The argument number specifies the BGP version number. The version can be set to 2 to force the
software to use only Version 2 with the specified neighbor. The default is to use Version 4 and
dynamically negotiate down to Version 2 if requested.
Step 25
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 transport path-mtu-discovery
Step 26
path-mtu-discovery enables TCP transport path maximum transmission unit (MTU) discovery.
TCP path MTU discovery is enabled by default.
Customize the AS_PATH attribute for routes received from an external Border Gateway Protocol (eBGP)
neighbor:
neighbor {ip-address} local-as [autonomous-system-number[no-prepend]]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 local-as 5 no-prepend replace-as
23-17
Chapter 23
BGP
Configure BGP
(Optional) no-prepend does not prepend the local autonomous system number to any routes
received from the eBGP neighbor.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
Example:
ciscoasa(config-router-af)# network 10.86.118.13 mask 255.255.255.255 route-map example1
(Optional) map-tag the identifier of a configured route map. The route map should be examined
to filter the networks to be advertised. If not specified, all networks are advertised.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
23-18
Chapter 23
BGP
Configure BGP
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
Example:
ciscoasa(config-router)# address-family ipv4[unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
Redistribute routes from another routing domain into a BGP autonomous system:
redistribute protocol [process-id] [metric] [route-map [map-tag]]
Example:
ciscoasa(config-router-af)# redistribute ospf 2 route-map example1 match external
Note
protocol the source protocol from which routes are being redistributed. It can be one of the
following: Connected, EIGRP, OSPF, RIP or Static.
The route map should be examined to filter the networks to be redistributed. If not specified, all networks
are redistributed.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 4
(IPv4) address prefixes:
address-family ipv4 [unicast]
Example:
ciscoasa(config-router)# address-family ipv4[unicast]
The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.
Step 3
Configure conditional route injection to inject more specific routes into a BGP routing table:
23-19
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# bgp inject-map example1 exist-map example2 copy-attributes
inject-map the name of the route map that specifies the prefixes to inject into the local BGP
routing table.
exist-map the name of the route map containing the prefixes that the BGP speaker will track.
(Optional) copy-attributes configures the injected route to inherit attributes of the aggregate
route.
Enable a BGP routing process, which places the router in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Step 3
23-20
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# distance bgp 80 180 180
Step 4
external-distance administrative distance for external BGP routes. Routes are external when
learned from an external autonomous system. The range of values for this argument are from 1 to
255.
internal-distance administrative distance for internal BGP routes. Routes are internal when
learned from peer in the local autonomous system. The range of values for this argument are from
1 to 255.
local-distance administrative distance for local BGP routes. Local routes are those networks
listed with a network router configuration command, often as back doors, for the router or for the
networks that is being redistributed from another process. The range of values for this argument are
from 1 to 255.
(Optional) Configure a BGP routing process to distribute a default route (network 0.0.0.0):
default-information originate
Step 5
(Optional) Suppress the advertisement of routes that are not installed in the routing information base
(RIB):
bgp suppress-inactive
Step 6
Synchronize between BGP and your Interior Gateway Protocol (IGP) system:
synchronization
Step 7
Step 8
Example:
ciscoasa(config-router-af)# bgp scan-time 15
Valid values for the scanner-interval argument from 5 to 60 seconds. The default is 60 seconds.
Step 9
Control the maximum number of parallel iBGP routes that can be installed in a routing table:
maximum-paths {number_of_paths|ibgp number_of_paths}
Example:
ciscoasa(config-router-af)# maximum-paths ibgp 2
23-21
Chapter 23
BGP
Configure BGP
Procedure
Step 1
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 unicast
Step 3
Example:
ciscoasa(config-router-af) aggregate-address 2000::1/8 summary-only
Step 4
(Optional) suppress-map map-name specifies the name of the route map used to select the routes
to be suppressed.
(Optional) advertise-map map-name specifies the name of the route map used to select the routes
to create AS_SET origin communities.
(Optional) attribute-map map-name specifies the name of the route map used to set the attribute
of the aggregate route.
Example:
ciscoasa(config-router-af)bgp aggregate-timer 20
Enable a BGP routing process, which places the router in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
23-22
Chapter 23
BGP
Configure BGP
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Step 3
Example:
ciscoasa(config-router-af)# neighbor 2000::1/8 remote-as 3
The argument ipv6-address specifies the IPv6 address of the next hop that can be used to reach the
specified network.TheIPv6 address of the next hop need not be directly connected; recursion is done to
find the IPv6 address of the directly connected next hop.When an interface type and interface number
are specified, you can optionally specify the IPv6 address of the next hop to which packets are
output.You must specify an interface type and an interface number when using a link-local address as
the next hop (the link-local next hop must also be an adjacent device).
Note
Step 4
This argument must be in the form documented in RFC 2373 where the address is specified in
hexadecimal using 16-bit values between colons.
Example:
ciscoasa(config-router-af)# neighbor 2000::1/8 shutdown 3
Step 5
Example:
ciscoasa(config-router-af)# neighbor 2000::1/8 activate
Step 6
Example:
ciscoasa(config-router-af)# neighbor 2000::1 route-map example1 in
Example:
ciscoasa(config-router-af)# neighbor 2000::1 prefix-list NewPrefixList in
The keyword in implies that the prefix list is applied to incoming advertisements from that neighbor.
The keyword out implies that the prefix list is applied to outgoing advertisements to that neighbor.
23-23
Chapter 23
BGP
Configure BGP
Step 8
Example:
ciscoasa(config-router-af)# neighbor 2000::1 filter-list 5 in
Step 9
access-list-name specifies the number of an autonomous system path access list. You define this
access list with the ip as-path access-list command.
in that the access list is applied to incoming advertisements from that neighbor.
out that the access list is applied to outgoing advertisements to that neighbor.
Example:
ciscoasa(config-router-af)# neighbor 2000::1 maximum-prefix 7 75 restart 12
Step 10
(Optional) threshold integer specifying at what percentage of maximum the router starts to
generate a warning message. The range is from 1 to 100; the default is 75 (percent).
(Optional) restart interval integer value (in minutes) that specifies the time interval after which
the BGP neighbor restarts.
(Optional) warning-only allows the router to generate a log message when the maximum number
of prefixes is exceeded, instead of terminating the peering.
Allow a BGP speaker (the local router) to send the default route 0.0.0.0 to a neighbor for use as a default
route:
neighbor {ipv6-address} default-originate [route-map map-name]
Example:
ciscoasa(config-router-af)# neighbor 2000::1 default-originate route-map example1
The argument map-name is the name of the route-map.The route map allows route 0.0.0.0 to be injected
conditionally.
Step 11
Set the minimum interval between the sending of BGP routing updates:
neighbor {ipv6-address} advertisement-interval seconds
Example:
ciscoasa(config-router-af)# neighbor 2000::1 advertisement-interval 15
The argument seconds is the time (in seconds). Valid values are from 0 to 600.
Step 12
Example:
ciscoasa(config-router-af)# neighbor 2000::1 remove-private-as
Step 13
Advertise the routes in the BGP table that matches the configured route-map:
neighbor {ipv6-address} advertise-map map-name {exist-map map-name |non-exist-map
map-name}[check-all-paths]
23-24
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# neighbor 2000::1 advertise-map MAP1 exist-map MAP2
Step 14
advertise-map map name the name of the route map that will be advertised if the conditions of
the exist map or non-exist map are met.
exist-map map name the name of the exist-map that is compared with the routes in the BGP table
to determine whether the advertise-map route is advertised or not.
non-exist-map map name the name of the non-exist-map that is compared with the routes in the
BGP table to determine whether the advertise-map route is advertised or not.
(Optional) check all paths enables checking of all paths by the exist-map with a prefix in the
BGP table.
Example:
ciscoasa(config-router-af)# neighbor 2000::1 timers 15 20 12
Step 15
keepalive the frequency (in seconds) with which the ASA sends keepalive messages to its peer.
The default is 60 seconds. Valid values are from 0 to 65535.
holdtime the interval (in seconds) after not receiving a keepalive message that the ASA declares
a peer dead. The default is 180 seconds.
min holdtime the minimum interval (in seconds) after not receiving a keepalive message that the
ASA declares a peer dead.
Enable Message Digest 5 (MD5) authentication on a TCP connection between two BGP peers:
neighbor {ipv6-address} password string
Example:
ciscoasa(config-router-af)# neighbor 2000::1 password test
Note
Step 16
The first character cannot be a number. You cannot specify a password in the format
number-space-anything. The space after the number can cause authentication to fail.
Specify that communities attributes should be sent to a BGP neighbor:
neighbor {ipv6-address} send-community [standard]
Example:
ciscoasa(config-router-af)# neighbor 2000::1 send-community
Step 17
Configure the router as the next hop for a BGP-speaking neighbor or peer group:
neighbor {ipv6-address}next-hop-self
23-25
Chapter 23
BGP
Configure BGP
Example:
ciscoasa(config-router-af)# neighbor 2000::1 next-hop-self
Step 18
Accept and attempt BGP connections to external peers residing on networks that are not directly
connected:
neighbor {ipv6-address} ebgp-multihop [ttl]
Example:
ciscoasa(config-router-af)# neighbor 2000::1 ebgp-multihop 5
The argument ttl specifies time-to-live in the range from 1 to 255 hops.
Step 19
Disable connection verification to establish an eBGP peering session with a single-hop peer that uses a
loopback interface:
neighbor {ipv6-address} disable-connected-check
Example:
ciscoasa(config-router-af)# neighbor 2000::1 disable-connected-check
Step 20
Secure a BGP peering session and configures the maximum number of hops that separate two external
BGP (eBGP) peers:
neighbor {ipv6-address} ttl-security hops hop-count
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 ttl-security hops 15
The argument hop-count is the number of hops that separate the eBGP peers. The TTL value is calculated
by the router from the configured hop-count argument. Valid values are from 1 to 254.
Step 21
Example:
ciscoasa(config-router-af)# neighbor 2000::1 weight 30
The argument number is the weight to assign to a neighbor connection. Valid values are from 0 to 65535.
Step 22
Example:
ciscoasa(config-router-af)# neighbor 2000::1 version 4
The argument number specifies the BGP version number. The default is Version 4. Currently only BGP
version 4 is supported.
Step 23
Example:
ciscoasa(config-router-af)# neighbor 2000::1 transport connection-mode active
23-26
Chapter 23
BGP
Configure BGP
Step 24
path-mtu-discovery enables TCP transport path maximum transmission unit (MTU) discovery.
TCP path MTU discovery is enabled by default.
Customize the AS_PATH attribute for routes received from an external Border Gateway Protocol (eBGP)
neighbor:
neighbor {ipv6-address} local-as [autonomous-system-number[no-prepend]]
Example:
ciscoasa(config-router-af)# neighbor 10.86.118.12 local-as 5 no-prepend replace-as
Caution
(Optional) no-prepend does not prepend the local autonomous system number to any routes
received from the eBGP neighbor.
BGP prepends the autonomous system number from each BGP network that a route traverses to maintain
network reachability information and to prevent routing loops. This command should be configured only
for autonomous system migration, and should be removed after the transition has been completed. This
procedure should be attempted only by an experienced network operator. Routing loops can be created
through improper configuration.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Step 3
Example:
ciscoasa(config-router-af)# network 2001:1/64 route-map test_route_map
23-27
Chapter 23
BGP
Configure BGP
(Optional) route-map name the identifier of a configured route map. The route map should be
examined to filter the networks to be advertised. If not specified, all networks are advertised.
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Example:
ciscoasa(config-router)# address-family ipv6[unicast]
Step 3
Redistribute routes from another routing domain into a BGP autonomous system:
redistribute protocol [process-id][autonomous-num][metric metric value][match{internal|
external1|external2|NSSA external 1|NSSA external 2}][route-map [map-tag]][subnets]
Example:
ciscoasa(config-router-af)# redistribute ospf 2 route-map example1 match external
protocol the source protocol from which routes are being redistributed. It can be one of the
following: Connected, EIGRP, OSPF, RIP or Static.
(Optional) process-id For the ospf protocol, this is an appropriate OSPF process ID from which
routes are to be redistributed. This identifies the routing process. This value takes the form of a
nonzero decimal number.
Note
(Optional) metric metric value When redistributing from one OSPF process to another OSPF
process on the same router, the metric will be carried through from one process to the other if no
metric value is specified. When redistributing other processes to an OSPF process, the default metric
is 20 when no metric value is specified. The default value is 0.
(Optional) match internal | external1 | external2 | NSSA external 1 | NSSA external 2 For the
criteria by which OSPF routes are redistributed into other routing domains. It can be one of the
following:
internal Routes that are internal to a specific autonomous system.
external 1 Routes that are external to the autonomous system, but are imported into BGP as
23-28
Chapter 23
BGP
Configure BGP
external 2 Routes that are external to the autonomous system, but are imported into BGP as
Note
The route map should be examined to filter the networks to be redistributed. If not specified, all networks
are redistributed
Enable a BGP routing process, which places the ASA in router configuration mode:
router bgp autonomous-num
Example:
ciscoasa(config)# router bgp 2
Step 2
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Example:
ciscoasa(config-router)# address-family ipv6 [unicast]
Step 3
Configure conditional route injection to inject more specific routes into a BGP routing table:
bgp inject-map inject-map exist-map exist-map [copy-attributes]
Example:
ciscoasa(config-router-af)# bgp inject-map example1 exist-map example2 copy-attributes
inject-map the name of the route map that specifies the prefixes to inject into the local BGP
routing table.
exist-map the name of the route map containing the prefixes that the BGP speaker will track.
(Optional) copy-attributes configures the injected route to inherit attributes of the aggregate
route.
23-29
Chapter 23
BGP
Monitoring BGP
Monitoring BGP
You can use the following commands to monitor the BGP routing process. For examples and descriptions
of the command output, see the command reference. Additionally, you can disable the logging of
neighbor change messages and neighbor warning messages.
To monitor various BGP routing statistics, enter one of the following commands:
23-30
Chapter 23
BGP
Monitoring BGP
Displays IPv6 Border Gateway Protocol (BGP) routes matching the autonomous system path regular
expression as a quoted string of characters.
Note
To disable BGP Log messages, enter the no bgp log-neighbor-changes command in the router
configuration mode. This disables the logging of neighbor change messages. Enter this command in
router configuration mode for the BGP routing process.
By default, neighbor changes are logged.
23-31
Chapter 23
BGP
Define the conditions for redistributing routes from one routing protocol into another, or enable policy
routing:
ciscoasa(config)# route-map mymap2 permit 10
Step 2
Redistribute any routes that have a route address or match packet that is passed by one of the access lists
specified:
ciscoasa(config-route-map)# match ip address acl_dmz1 acl_dmz2
Step 3
Indicate where to output packets that pass a match clause of a route map for policy routing:
ciscoasa(config-route-map)# set ip next-hop peer address
Step 4
Step 5
Configure a fixed router ID for the local Border Gateway Protocol (BGP) routing process in the address
family configuration mode:
ciscoasa(config)# address-family ipv4
ciscoasa(config-router-af)# bgp router-id 19.168.254.254
Step 6
Step 7
This example shows how to enable and configure BGPv6 with various optional processes.
Step 1
Define the conditions for redistributing routes from one routing protocol into another, or enable policy
routing:
ciscoasa(config)# route-map mymap1 permit 10
Step 2
Redistribute any routes that have a route address or match packet that is passed by one of the access lists
specified:
ciscoasa(config-route-map)# match ipv6 address acl_dmz1 acl_dmz2
Step 3
Indicate where to output packets that pass a match clause of a route map for policy routing:
ciscoasa(config-route-map)# set ipv6 next-hop peer address
Step 4
Step 5
Configure a fixed router ID for the local Border Gateway Protocol (BGP) routing process in the address
family configuration mode:
ciscoasa(config)# address-family ipv4
23-32
Chapter 23
BGP
History for BGP
Step 6
Enter address family configuration mode to configure a routing session using standard IP Version 6
(IPv6) address prefixes:
address-family ipv6 [unicast]
Step 7
Step 8
23-33
Chapter 23
BGP
Table 23-1
Feature Name
Platform
Releases
BGP Support
9.2(1)
Feature Information
Support was added for routing data, performing
authentication, and redistributing and monitoring routing
information using the Border Gateway Protocol.
We introduced the following commands: router bgp, bgp
maxas-limit, bgp log-neighbor-changes, bgp transport
path-mtu-discovery, bgp fast-external-fallover, bgp
enforce-first-as, bgp asnotation dot, timers bgp, bgp
default local-preference, bgp always-compare-med, bgp
bestpath compare-routerid, bgp deterministic-med, bgp
bestpath med missing-as-worst, policy-list, match
as-path, match community, match metric, match tag,
as-path access-list, community-list, address-family ipv4,
bgp router-id, distance bgp, table-map, bgp
suppress-inactive, bgp redistribute-internal, bgp
scan-time, bgp nexthop, aggregate-address, neighbor,
bgp inject-map, show bgp, show bgp cidr-only, show bgp
all community, show bgp all neighbors, show bgp
community, show bgp community-list, show bgp
filter-list, show bgp injected-paths, show bgp ipv4
unicast, show bgp neighbors, show bgp paths, show bgp
pending-prefixes, show bgp prefix-list, show bgp regexp,
show bgp replication, show bgp rib-failure, show bgp
route-map, show bgp summary, show bgp system-config,
show bgp update-group, clear route network,
maximum-path, network.
We modified the following commands: show route, show
route summary, show running-config router, clear
config router, clear route all, timers lsa arrival, timers
pacing, timers throttle, redistribute bgp.
9.3(1)
9.3(1)
9.3(1)
23-34
Chapter 23
BGP
History for BGP
Table 23-1
Feature Name
Platform
Releases
Feature Information
9.3(2)
23-35
Chapter 23
History for BGP
23-36
BGP
Chapter 23
BGP
History for BGP
23-37
Chapter 23
History for BGP
23-38
BGP
Chapter 23
BGP
History for BGP
23-39
Chapter 23
History for BGP
23-40
BGP
Chapter 23
BGP
History for BGP
23-41
Chapter 23
History for BGP
23-42
BGP
Chapter 23
BGP
History for BGP
23-43
Chapter 23
History for BGP
23-44
BGP
Chapter 23
BGP
History for BGP
23-45
Chapter 23
History for BGP
23-46
BGP
Chapter 23
BGP
History for BGP
23-47
Chapter 23
History for BGP
23-48
BGP
CH AP TE R
24
OSPF
This chapter describes how to configure the Cisco ASA to route data, perform authentication, and
redistribute routing information using the Open Shortest Path First (OSPF) routing protocol.
The chapter includes the following sections:
About OSPF
OSPF is an interior gateway routing protocol that uses link states rather than distance vectors for path
selection. OSPF propagates link-state advertisements rather than routing table updates. Because only
LSAs are exchanged instead of the entire routing tables, OSPF networks converge more quickly than RIP
networks.
OSPF uses a link-state algorithm to build and calculate the shortest path to all known destinations. Each
router in an OSPF area contains an identical link-state database, which is a list of each of the router
usable interfaces and reachable neighbors.
The advantages of OSPF over RIP include the following:
OSPF link-state database updates are sent less frequently than RIP updates, and the link-state
database is updated instantly, rather than gradually, as stale information is timed out.
24-1
Chapter 24
OSPF
About OSPF
Routing decisions are based on cost, which is an indication of the overhead required to send packets
across a certain interface. The ASA calculates the cost of an interface based on link bandwidth rather
than the number of hops to the destination. The cost can be configured to specify preferred paths.
The disadvantage of shortest path first algorithms is that they require a lot of CPU cycles and memory.
The ASA can run two processes of OSPF protocol simultaneously on different sets of interfaces. You
might want to run two processes if you have interfaces that use the same IP addresses (NAT allows these
interfaces to coexist, but OSPF does not allow overlapping addresses). Or you might want to run one
process on the inside and another on the outside, and redistribute a subset of routes between the two
processes. Similarly, you might need to segregate private addresses from public addresses.
You can redistribute routes into an OSPF routing process from another OSPF routing process, a RIP
routing process, or from static and connected routes configured on OSPF-enabled interfaces.
The ASA supports the following OSPF features:
Virtual links.
LSA flooding.
Configuring the ASA as a designated router or a designated backup router. The ASA also can be set
up as an ABR.
OSPF supports MD5 and clear text neighbor authentication. Authentication should be used with all
routing protocols when possible because route redistribution between OSPF and other protocols (such
as RIP) can potentially be used by attackers to subvert routing information.
If NAT is used, if OSPF is operating on public and private areas, and if address filtering is required, then
you need to run two OSPF processesone process for the public areas and one for the private areas.
A router that has interfaces in multiple areas is called an Area Border Router (ABR). A router that acts
as a gateway to redistribute traffic between routers using OSPF and routers using other routing protocols
is called an Autonomous System Boundary Router (ASBR).
An ABR uses LSAs to send information about available routes to other OSPF routers. Using ABR Type
3 LSA filtering, you can have separate private and public areas with the ASA acting as an ABR. Type 3
LSAs (interarea routes) can be filtered from one area to other, which allows you to use NAT and OSPF
together without advertising private networks.
Note
Only Type 3 LSAs can be filtered. If you configure the ASA as an ASBR in a private network, it will
send Type 5 LSAs describing private networks, which will get flooded to the entire AS, including public
areas.
If NAT is employed but OSPF is only running in public areas, then routes to public networks can be
redistributed inside the private network, either as default or Type 5 AS external LSAs. However, you
need to configure static routes for the private networks protected by the ASA. Also, you should not mix
public and private networks on the same ASA interface.
You can have two OSPF routing processes, one RIP routing process, and one EIGRP routing process
running on the ASA at the same time.
24-2
Chapter 24
OSPF
About OSPF
24-3
Chapter 24
OSPF
Use of the IPv6 link-local address for neighbor discovery and other features.
Authentication support using the IPsec ESP standard for OSPFv3 routing protocol traffic, as
specified by RFC-4552.
OSPF supports routed firewall mode only. OSPF does not support transparent firewall mode.
Failover Guidelines
The ASA installs OSPFv3 routes into the IPv6 RIB, provided it is the best route.
OSPFv3 packets can be filtered out using IPv6 ACLs in the capture command.
24-4
Chapter 24
OSPF
Guidelines for OSPF
Clustering Guidelines
OSPFv3 encryption is not supported. An error message appears if you try to configure OSPFv3
encryption in a clustering environment.
In the spanned interface mode, dynamic routing is not supported on management-only interfaces.
In individual interface mode, make sure that you establish the master and slave units as either
OSPFv2 or OSPFv3 neighbors.
When you configure both OSPFv2 and EIGRP, you can use either spanned interface mode or
individual interface mode; you cannot use the two modes at the same time.
In individual interface mode, OSPFv2 adjacencies can only be established between two contexts on
a shared interface on the master unit. Configuring static neighbors is supported only on point-to
point-links; therefore, only one neighbor statement is allowed on an interface.
The router ID is optional in the OSPFv2, OSPFv3, and EIGRP router configuration mode. If you do
not explicitly set a router ID, then a router ID is automatically generated and set to the highest IPv4
address on any data interface in each of the cluster units.
If the cluster interface mode has not been configured, then only a single, dotted-decimal IPv4
address is allowed as the router ID, and the cluster pool option is disabled.
If the cluster interface mode is set to a spanned configuration, then only a single, dotted-decimal
IPv4 address is allowed as the router ID, and the cluster pool option is disabled.
If the cluster interface mode is set to an individual configuration, then the cluster pool option is
mandatory, and a single, dotted-decimal IPv4 address is not allowed as the router ID.
When the cluster interface mode is changed from a spanned to an individual configuration and vice
versa without specifying the check-detail or nocheck options, then the entire configuration
including the router ID is removed.
If any of the dynamic routing protocol router ID configurations are incompatible with the new
interface mode, then an error message appears on the console and the interface mode CLI fails. The
error message has one line per dynamic routing protocol (OSPFv2, OSPFv3, and EIGRP) and lists
the names of each context in which the incompatible configuration occurs.
If the nocheck option is specified for the cluster interface mode command, then the interface mode
is allowed to change although all the router ID configurations may not be compatible with the new
mode.
When the cluster is enabled, the router ID compatibility checks are repeated. If any incompatibility
is detected, then the cluster enable command fails. The administrator needs to correct the
incompatible router ID configuration before the cluster can be enabled.
When a unit enters a cluster as a slave, then we recommend that you specify the nocheck option for
the cluster interface mode command to avoid any router ID compatibility check failures. The slave
unit still inherits the router configuration from the master unit.
When a mastership role change occurs in the cluster, the following behavior occurs:
In spanned interface mode, the router process is active only on the master unit and is in a
suspended state on the slave units. Each cluster unit has the same router ID because the
configuration has been synchronized from the master unit. As a result, a neighboring router does
not notice any change in the router ID of the cluster during a role change.
In individual interface mode, the router process is active on all the individual cluster units. Each
cluster unit chooses its own distinct router ID from the configured cluster pool. A mastership
role change in the cluster does not change the routing topology in any way.
24-5
Chapter 24
OSPF
Configure OSPFv2
Additional Guidelines
OSPFv2 supports Cisco NSF Graceful Restart and IETF NSF Graceful Restart mechanisms as
defined in RFCs 4811, 4812 & 3623 respectively.
Configure OSPFv2
This section describes how to enable an OSPFv2 process on the ASA.
After you enable OSPFv2, you need to define a route map. For more information, see Define a Route
Map, page 22-4. Then you generate a default route. For more information, see Configure a Static Route,
page 20-4.
After you have defined a route map for the OSPFv2 process, you can customize it for your particular
needs, To learn how to customize the OSPFv2 process on the ASA, see Customize OSPFv2, page 24-7.
To enable OSPFv2, you need to create an OSPFv2 routing process, specify the range of IP addresses
associated with the routing process, then assign area IDs associated with that range of IP addresses.
You can enable up to two OSPFv2 process instances. Each OSPFv2 process has its own associated areas
and networks.
To enable OSPFv2, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
If there is only one OSPF process enabled on the ASA, then that process is selected by default. You
cannot change the OSPF process ID when editing an existing area.
Step 2
Define the IP addresses on which OSPF runs and the area ID for that interface:
network ip_address mask area area_id
Example:
ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0
24-6
Chapter 24
OSPF
Configure OSPF Fast Hello Packets
When adding a new area, enter the area ID. You can specify the area ID as either a decimal number or
an IP address. Valid decimal values range from 0 to 4294967295. You cannot change the area ID when
editing an existing area.
Step 1
Configure an interface:
interface port-channel number
Example:
ciscoasa(config)# interface port-channel 10
Set the interval during which at least one hello packet must be received, or else the neighbor is
considered down:
ospf dead-interval minimal hello-multiplier no.of times
Example:
ciscoasa(config-if)# ospf dead-interval minimal hell0-multiplier 5
ciscoasa
The no. of times argument indicates the number of hello packets to be sent every second. Valid values
are between 3 and 20.
In this example, OSPF Support for Fast Hello Packets is enabled by specifying the minimal keyword and
the hello-multiplier keyword and value. Because the multiplier is set to 5, five hello packets will be sent
every second.
Customize OSPFv2
This section explains how to customize the OSPFv2 processes.
Configure Route Summarization When Redistributing Routes Into OSPFv2, page 24-9
24-7
Chapter 24
OSPF
Customize OSPFv2
Configure an IP Address Pool for Clustering (OSPFv2 and OSPFv3), page 24-16
Note
If you want to redistribute a route by defining which of the routes from the specified routing protocol
are allowed to be redistributed into the target routing process, you must first generate a default route. See
Configure a Static Route, page 20-4, and then define a route map according to Define a Route Map,
page 22-4.
To redistribute static, connected, RIP, or OSPFv2 routes into an OSPFv2 process, perform the following
steps:
Procedure
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config)# redistribute connected 5 type-1 route-map-practice
Step 3
Example:
ciscoasa(config)# redistribute static 5 type-1 route-map-practice
Step 4
Redistribute routes from an OSPF routing process into another OSPF routing process:
redistribute ospf pid [match {internal | external [1 | 2] | nssa-external [1 | 2]}]
[metric metric-value] [metric-type {type-1 | type-2}] [tag tag_value] [subnets] [route-map
map_name]
24-8
Chapter 24
OSPF
Customize OSPFv2
Example:
ciscoasa(config)# route-map 1-to-2 permit
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-route-map)# router ospf 2
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2
You can either use the match options in this command to match and set route properties, or you can use
a route map. The subnets option does not have equivalents in the route-map command. If you use both
a route map and match options in the redistribute command, then they must match.
The example shows route redistribution from OSPF process 1 into OSPF process 2 by matching routes
with a metric equal to 1. The ASA redistributes these routes as external LSAs with a metric of 5 and a
metric type of Type 1.
Step 5
Redistribute routes from a RIP routing process into the OSPF routing process:
redistribute rip [metric metric-value] [metric-type {type-1 | type-2}] [tag tag_value]
[subnets] [route-map map_name]
Example:
ciscoasa(config)# redistribute rip 5
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2
Step 6
Redistribute routes from an EIGRP routing process into the OSPF routing process:
redistribute eigrp as-num [metric metric-value] [metric-type {type-1 | type-2}]
[tag tag_value] [subnets] [route-map map_name]
Example:
ciscoasa(config)# redistribute eigrp 2
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2
24-9
Chapter 24
OSPF
Customize OSPFv2
Step 1
Example:
ciscoasa(config)# router ospf 1
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config)# router ospf 1
ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0
In this example, the summary address 10.1.0.0 includes addresses 10.1.1.0, 10.1.2.0, 10.1.3.0, and so on.
Only the 10.1.0.0 address is advertised in an external link-state advertisement.
Step 1
Create an OSPF routing process and enters router configuration mode for this OSPF process:
router ospf process_id
24-10
Chapter 24
OSPF
Customize OSPFv2
Example:
ciscoasa(config)# router ospf 1
The process_id argument is an internally used identifier for this routing process. It can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# area 17 range 12.1.0.0 255.255.0.0
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Define the IP addresses on which OSPF runs and the area ID for that interface:
network ip_address mask area area_id
Example:
ciscoasa(config)# router ospf 2
ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0
Step 3
Example:
ciscoasa(config)# interface my_interface
24-11
Chapter 24
OSPF
Customize OSPFv2
Step 4
Example:
ciscoasa(config-interface)# ospf authentication message-digest
Step 5
Assign a password to be used by neighboring OSPF routers on a network segment that is using the OSPF
simple password authentication:
ospf authentication-key key
Example:
ciscoasa(config-interface)# ospf authentication-key cisco
The key argument can be any continuous string of characters up to 8 bytes in length.
The password created by this command is used as a key that is inserted directly into the OSPF header
when the ASA software originates routing protocol packets. A separate password can be assigned to each
network on a per-interface basis. All neighboring routers on the same network must have the same
password to be able to exchange OSPF information.
Step 6
Example:
ciscoasa(config-interface)# ospf cost 20
Set the number of seconds that a device must wait before it declares a neighbor OSPF router down
because it has not received a hello packet:
ospf dead-interval seconds
Example:
ciscoasa(config-interface)# ospf dead-interval 40
The value must be the same for all nodes on the network.
Step 8
Specify the length of time between the hello packets that the ASA sends on an OSPF interface:
ospf hello-interval seconds
Example:
ciscoasa(config-interface)# ospf hello-interval 10
The value must be the same for all nodes on the network.
Step 9
Example:
ciscoasa(config-interface)# ospf message-digest-key 1 md5 cisco
24-12
Chapter 24
OSPF
Customize OSPFv2
Set the priority to help determine the OSPF designated router for a network:
ospf priority number_value
Example:
ciscoasa(config-interface)# ospf priority 20
Specify the number of seconds between LSA retransmissions for adjacencies belonging to an OSPF
interface:
ospf retransmit-interval seconds
Example:
ciscoasa(config-interface)# ospf retransmit-interval seconds
The value for seconds must be greater than the expected round-trip delay between any two routers on the
attached network. The range is from 1 to 8192 seconds. The default value is 5 seconds.
Step 12
Set the estimated number of seconds required to send a link-state update packet on an OSPF interface:
ospf transmit-delay seconds
Example:
ciscoasa(config-interface)# ospf transmit-delay 5
The seconds value ranges from 1 to 8192 seconds.The default value is 1 second.
Step 13
Example:
ciscoasa(config-if)# ospf dead-interval minimal hello-multiplier 6
Example:
ciscoasa(config-interface)# ospf network point-to-point non-broadcast
24-13
Chapter 24
OSPF
Customize OSPFv2
When you designate an interface as point-to-point and non-broadcast, you must manually define the
OSPF neighbor; dynamic neighbor discovery is not possible. See Define Static OSPFv2 Neighbors,
page 24-16 for more information. Additionally, you can only define one OSPF neighbor on that
interface.
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# area 0 authentication
Step 3
Example:
ciscoasa(config-rtr)# area 0 authentication message-digest
24-14
Chapter 24
OSPF
Customize OSPFv2
You can set a Type 7 default route that can be used to reach external destinations. When configured,
the router generates a Type 7 default into the NSSA or the NSSA area boundary router.
Every router within the same area must agree that the area is NSSA; otherwise, the routers cannot
communicate with each other.
Procedure
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process. It can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# area 0 nssa
Step 3
Set the summary address and helps reduce the size of the routing table:
summary-address ip_address mask [not-advertise] [tag tag]
Example:
ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0
Using this command for OSPF causes an OSPF ASBR to advertise one external route as an aggregate
for all redistributed routes that are covered by the address.
24-15
Chapter 24
OSPF
Customize OSPFv2
In this example, the summary address 10.1.0.0 includes addresses 10.1.1.0, 10.1.2.0, 10.1.3.0, and so on.
Only the 10.1.0.0 address is advertised in an external link-state advertisement.
Note
To assign a range of IPv4 addresses for the router ID cluster pool in Individual Interface clustering for
OSPFv2 and OSPFv3, enter the following command:
Step 1
Example:
hostname(config)# ip local pool rpool 1.1.1.1-1.1.1.4
hostname(config)# router ospf 1
hostname(config-rtr)# router-id cluster-pool rpool
hostname(config-rtr)# network 17.5.0.0 255.255.0.0 area 1
hostname(config-rtr)# log-adj-changes
The cluster-pool keyword enables configuration of an IP address pool when Individual Interface
clustering is configured. The hostname | A.B.C.D. keyword specifies the OSPF router ID for this OSPF
process. The ip_pool argument specifies the name of the IP address pool.
Note
If you are using clustering, then you do not need to specify an IP address pool for the router ID. If you
do not configure an IP address pool, then the ASA uses the automatically generated router ID.
24-16
Chapter 24
OSPF
Customize OSPFv2
Procedure
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# neighbor 255.255.0.0 [interface my_interface]
The addr argument is the IP address of the OSPFv2 neighbor. The if_name argument is the interface used
to communicate with the neighbor. If the OSPF v2neighbor is not on the same network as any of the
directly connected interfaces, you must specify the interface.
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Example:
ciscoasa(config-router)# timers throttle spf 500 500 600
24-17
Chapter 24
OSPF
Configure OSPFv3
The spf-start argument is the delay time (in milliseconds) between when OSPF receives a topology
change and when it starts an SPF calculation. It can be an integer from 0 to 600000.
The spf-hold argument is the minimum time (in milliseconds) between two consecutive SPF
calculations. It can be an integer from 0 to 600000.
The spf-maximum argument is the maximum time (in milliseconds) between two consecutive SPF
calculations. It can be integer from 0 to 600000.
Step 1
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Configure OSPFv3
This section describes how to configure OSPFv3 routing processes.
24-18
Chapter 24
OSPF
Configure OSPFv3
Generate a Default External Route into an OSPFv3 Routing Domain, page 24-35
Enable OSPFv3
To enable OSPFv3, you need to create an OSPFv3 routing process, create an area for OSPFv3, enable
an interface for OSPFv3, then redistribute the route into the targeted OSPFv3 routing processes.
Procedure
Step 1
Example:
ciscoasa(config)# ipv6 router ospf 10
The process-id argument is an internally used tag for this routing process and can be any positive integer.
This tag does not have to match the tag on any other device; it is for internal use only. You can use a
maximum of two processes.
Step 2
Enable an interface:
interface interface_name
Example:
ciscoasa(config)# interface Gigabitethernet0/0
Step 3
Create the OSPFv3 routing process with the specified process ID and an area for OSPFv3 with the
specified area ID:
ipv6 ospf process-id area area_id
Example:
ciscoasa(config)# ipv6 ospf 200 area 100
24-19
Chapter 24
OSPF
Configure OSPFv3
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 10
The process-id argument is an internally used tag for this routing process and can be any positive integer.
This tag does not have to match the tag on any other device; it is for internal use only. You can use a
maximum of two processes.
Step 2
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
The area-num argument is the area for which authentication is to be enabled and can be either a decimal
value or an IP address. The instance keyword specifies the area instance ID that is to be assigned to an
interface. An interface can have only one OSPFv3 area. You can use the same area on multiple interfaces,
and each interface can use a different area instance ID.
Step 3
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
24-20
Chapter 24
OSPF
Configure OSPFv3
The interface-cost argument specifies an unsigned integer value expressed as the link-state metric, which
can range in value from 1 to 65535. The default cost is based on the bandwidth.
Step 4
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf database-filter all out
Set the time period in seconds for which hello packets must not be seen before neighbors indicate that
the router is down:
ipv6 ospf dead-interval seconds
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf dead-interval 60
The value must be the same for all nodes on the network and can range from 1 to 65535. The default is
four times the interval set by the ipv6 ospf hello-interval command.
Step 6
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
24-21
Chapter 24
OSPF
Configure OSPFv3
The ipsec keyword specifies the IP security protocol. The spi spi keyword-argument pair specifies the
security policy index, which must be in the range of 256 to 42949667295 and entered as a decimal.
The esp keyword specifies the encapsulating security payload. The encryption-algorithm argument
specifies the encryption algorithm to be used with ESP. Valid values include the following:
The key argument specifies the number used in the calculation of the message digest. The number is 32
hexadecimal digits (16 bytes) long. The size of the key depends on the encryption algorithm used. Some
algorithms, such as AES-CDC, allow you to choose the size of the key. The authentication-algorithm
argument specifies the encryption authentication algorithm to be used, which can be one of the
following:
sha1Enables SHA-1.
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf flood reduction
Step 8
Specify the interval in seconds between hello packets sent on the interface:
ipv6 ospf hello-interval seconds
Example:
24-22
Chapter 24
OSPF
Configure OSPFv3
The value must be the same for all nodes on a specific network and can range from 1 to 65535. The
default interval is 10 seconds for Ethernet interfaces and 30 seconds for non-broadcast interfaces.
Step 9
Disable the OSPF MTU mismatch detection when DBD packets are received:
ipv6 ospf mtu-ignore
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf mtu-ignore
Set the OSPF network type to a type other than the default, which depends on the network type:
ipv6 ospf network {broadcast | point-to-point non-broadcast}
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf network point-to-point non-broadcast
The point-to-point non-broadcast keyword sets the network type to point-to-point non-broadcast. The
broadcast keyword sets the network type to broadcast.
Step 11
Set the router priority, which helps determine the designated router for a network:
ipv6 ospf priority number-value
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
24-23
Chapter 24
OSPF
Configure OSPFv3
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf priority 4
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01
Step 13
Specify the time in seconds between LSA retransmissions for adjacencies that belong to the interface:
ipv6 ospf retransmit-interval seconds
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
ip address 10.20.200.30 255.255.255.0 standby 10.20.200.31
ipv6 address 3001::1/64 standby 3001::8
ipv6 address 6001::1/64 standby 6001::8
ipv6 enable
ospf priority 255
ipv6 ospf cost 100
ipv6 ospf 100 area 10 instance 200
ipv6 ospf retransmit-interval 8
The time must be greater than the expected round-trip delay between any two routers on the attached
network. Valid values range from 1 to 65535 seconds. The default is 5 seconds.
Step 14
Set the estimated time in seconds to send a link-state update packet on the interface:
ipv6 ospf transmit-delay seconds
Example:
ciscoasa(config-if)# interface GigabitEthernet3/2.200
vlan 200
nameif outside
security-level 100
24-24
Chapter 24
OSPF
Configure OSPFv3
Step 1
Example:
ciscoasa(config)# ipv6 router ospf 10
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# area 10
Supported parameters include the area ID as a decimal value from 0 to 4294967295 and the area ID in
the IP address format of A.B.C.D.
Step 3
Example:
ciscoasa(config-rtr)# default originate
Step 5
Define the OSPFv3 route administrative distance based on the route type:
distance
Example:
ciscoasa(config-rtr)# distance 200
24-25
Chapter 24
OSPF
Configure OSPFv3
Supported parameters include the administrative distance with values from 1 to 254 and ospf for the
OSPFv3 distance.
Step 6
Suppress the sending of syslog messages with the lsa parameter when the router receives a link-state
advertisement (LSA) for Type 6 Multicast OSPF (MOSPF) packets:
ignore
Example:
ciscoasa(config-rtr)# ignore lsa
Step 7
Configure the router to send a syslog message when an OSPFv3 neighbor goes up or down:
log-adjacency-changes
Example:
ciscoasa(config-rtr)# log-adjacency-changes detail
Example:
ciscoasa(config-rtr)# passive-interface inside
The interface_name argument specifies the name of the interface on which the OSPFv3 process is
running.
Step 9
Configure the redistribution of routes from one routing domain into another according to the following
parameters:
redistribute
Example:
ciscoasa(config-rtr)# redistribute ospf
Step 10
Create a fixed router ID for a specified process with the following parameters:
A.B.C.DSpecifies the OSPF router ID in IP address format.
cluster-poolConfigures an IP address pool when Individual Interface clustering is configured. For
more information about IP address pools used in clustering, see Configure an IP Address Pool for
Clustering (OSPFv2 and OSPFv3), page 24-16.
router-id
Example:
ciscoasa(config-rtr)# router-id 10.1.1.1
Step 11
Example:
24-26
Chapter 24
OSPF
Configure OSPFv3
timers
Example:
ciscoasa(config)# ipv6 router ospf 10
ciscoasa(config-rtr)# timers throttle spf 6000 12000 14000
Step 1
Example:
ciscoasa(config)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535.
This ID does not have to match the ID on any other device; it is for internal administrative use only. You
can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# area 1 default-cost nssa
Step 3
Summarize routes that match the address and mask for border routers only:
area area-id range ipv6-prefix/ prefix-length [advertise | not advertise] [cost cost]
Example:
ciscoasa(config-rtr)# area 1 range FE01:1::1/64
The area-id argument identifies the area for which routes are to be summarized. The value can be
specified as a decimal or an IPv6 prefix.
24-27
Chapter 24
OSPF
Configure OSPFv3
Step 4
The ipv6-prefix argument specifies the IPv6 prefix. The prefix-length argument specifies the prefix
length.
The advertise keyword sets the address range status to advertised and generates a Type 3 summary
LSA.
The Type 3 summary LSA is suppressed, and the component networks remain hidden from other
networks.
The cost cost keyword-argument pair specifies the metric or cost for the summary route, which is
used during OSPF SPF calculations to determine the shortest paths to the destination.
Example:
ciscoasa(config-rtr)# area 1 nssa
Step 5
Example:
ciscoasa(config-rtr)# area 1 stub
Step 6
Example:
ciscoasa(config-rtr)# area 1 virtual-link 192.168.255.1 hello-interval 5
The area-id argument identifies the area for which routes are to be summarized. The virtual link
keyword specifies the creation of a virtual link neighbor.
The router-id argument specifies the router ID that is associated with the virtual link neighbor.
Enter the show ospf or show ipv6 ospf command to display the router ID. There is no default value.
The hello-interval keyword specifies the time in seconds between the hello packets that are sent on
an interface. The hello interval is an unsigned integer that is to be advertised in the hello packets.
The value must be the same for all routers and access servers that are attached to a common network.
Valid values range from 1 to 8192. The default is 10.
The retransmit-interval seconds keyword-argument pair specifies the time in seconds between
LSA retransmissions for adjacencies that belong to the interface. The retransmit interval is the
expected round-trip delay between any two routers on the attached network. The value must be
greater than the expected round-trip delay, and can range from 1 to 8192. The default is 5.
The transmit-delay seconds keyword-argument pair specifies the estimated time in seconds that is
required to send a link-state update packet on the interface. The integer value must be greater than
zero. LSAs in the update packet have their own ages incremented by this amount before
transmission. The range of values can be from 1 to 8192. The default is 1.
24-28
Chapter 24
OSPF
Configure OSPFv3
The dead-interval seconds keyword-argument pair specifies the time in seconds that hello packets
are not seen before a neighbor indicates that the router is down. The dead interval is an unsigned
integer. The default is four times the hello interval, or 40 seconds. The value must be the same for
all routers and access servers that are attached to a common network. Valid values range from 1 to
8192.
The ttl-security hops keyword configures the time-to-live (TTL) security on a virtual link. The
hop-count argument value can range from 1 to 254.
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process_id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# passive-interface inside
The interface_name argument specifies the name of the interface on which the OSPFv3 process is
running. If the no interface_name argument is specified, all of the interfaces in the OSPFv3 process
process_id are made passive.
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
24-29
Chapter 24
OSPF
Configure OSPFv3
The process_id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# distance ospf external 200
The ospf keyword specifies OSPFv3 routes. The external keyword specifies the external Type 5 and
Type 7 routes for OSPFv3. The inter-area keyword specifies the inter-area routes for OSPVv3. The
intra-area keyword specifies the intra-area routes for OSPFv3. The distance argument specifies the
administrative distance, which is an integer from 10 to 254.
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Set the minimum interval at which the ASA accepts the same LSA from OSPF neighbors:
timers lsa arrival milliseconds
Example:
ciscoasa(config-rtr)# timers lsa arrival 2000
The milliseconds argument specifies the minimum delay in milliseconds that must pass between
acceptance of the same LSA arriving from neighbors. The range is from 0 to 6,000,000 milliseconds.
The default is 1000 milliseconds.
Step 3
Example:
ciscoasa(config-rtr)# timers lsa flood 20
24-30
Chapter 24
OSPF
Configure OSPFv3
The milliseconds argument specifies the time in milliseconds at which LSAs in the flooding queue are
paced in between updates. The configurable range is from 5 to 100 milliseconds. The default value is 33
milliseconds.
Step 4
Change the interval at which OSPFv3 LSAs are collected into a group and refreshed, checksummed, or
aged:
timers pacing lsa-group seconds
Example:
ciscoasa(config-rtr)# timers pacing lsa-group 300
The seconds argument specifies the number of seconds in the interval at which LSAs are grouped,
refreshed, check summed, or aged. The range is from 10 to 1800 seconds. The default value is 240
seconds.
Step 5
Example:
ciscoasa(config-rtr)# timers pacing retransmission 100
The milliseconds argument specifies the time in milliseconds at which LSAs in the retransmission queue
are paced. The configurable range is from 5 to 200 milliseconds. The default value is 66 milliseconds.
Step 6
Example:
ciscoasa(config-rtr)# timers throttle lsa 500 6000 8000
Step 7
The milliseconds1 argument specifies the delay in milliseconds to generate the first occurrence of
the LSA. The milliseconds2 argument specifies the maximum delay in milliseconds to originate the
same LSA. The milliseconds3 argument specifies the minimum delay in milliseconds to originate
the same LSA.
For LSA throttling, if the minimum or maximum time is less than the first occurrence value, then
OSPFv3 automatically corrects to the first occurrence value. Similarly, if the maximum delay
specified is less than the minimum delay, then OSPFv3 automatically corrects to the minimum delay
value.
The milliseconds1 argument specifies the delay in milliseconds to receive a change to the SPF
calculation. The milliseconds2 argument specifies the delay in milliseconds between the first and
second SPF calculations. The milliseconds3 argument specifies the maximum wait time in
milliseconds for SPF calculations.
For SPF throttling, if milliseconds2 or milliseconds3 is less than milliseconds1, then OSPFv3
automatically corrects to the milliseconds1 value. Similarly, if milliseconds3 is less than
milliseconds2, then OSPFv3 automatically corrects to the milliseconds2 value.
24-31
Chapter 24
OSPF
Configure OSPFv3
For milliseconds2 and milliseconds3, the default value of SPF throttling is 10000 milliseconds.
Step 1
Enable an OSPFv3 routing process and enters IPv6 router configuration mode.
ipv6 router ospf process-id
Example:
ciscoasa(config)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-if)# interface ethernet0/0 ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01
Example:
ciscoasa(config-if)# ipv6 router ospf 1
24-32
Chapter 24
OSPF
Configure OSPFv3
The process_id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# default metric 5
The area keyword specifies the OSPFv3 area parameters. The auto-cost keyword specifies the
OSPFv3 interface cost according to bandwidth.
The discard-route keyword enables or disables the discard-route installation. The distance
keyword specifies the administrative distance.
The ignore keyword ignores a specific event. The log-adjacency-changes keyword logs changes in
the adjacency state.
The redistribute keyword redistributes IPv6 prefixes from another routing protocol.
The router-id keyword specifies the router ID for the specified routing process.
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Configure the router to send a syslog message when an OSPFv3 neighbor goes up or down:
24-33
Chapter 24
OSPF
Configure OSPFv3
log-adjacency-changes [detail]
Example:
ciscoasa(config-rtr)# log-adjacency-changes detail
The detail keyword sends a syslog message for each state, not only when an OSPFv3 neighbor goes up
or down.
Step 1
Example:
ciscoasa(config-if)# router ospf 1
The process_id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Suppress the sending of syslog messages when the router receives unsupported LSA Type 6 MOSPF
packets:
ignore lsa mospf
Example:
ciscoasa(config-rtr)# ignore lsa mospf
Step 1
Restore the methods that are used to calculate summary route costs according to RFC 1583:
compatible rfc1583
Example:
ciscoasa (config-rtr)# compatible rfc1583
24-34
Chapter 24
OSPF
Configure OSPFv3
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# default-information originate always metric 3 metric-type 2
The always keyword advertises the default route whether or not the default route exists.
The metric metric-value keyword-argument pair specifies the metric used for generating the default
route.
If you do not specify a value using the default-metric command, the default value is 10. Valid
metric values range from 0 to 16777214.
The metric-type type-value keyword-argument pair specifies the external link type that is
associated with the default route that is advertised into the OSPFv3 routing domain. Valid values
can be one of the following:
1Type 1 external route
2Type 2 external route
The route-map map-name keyword-argument pair specifies the routing process that generates the
default route if the route map is satisfied.
Step 1
24-35
Chapter 24
OSPF
Configure OSPFv3
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process_id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-if)# ipv6 router ospf 1
ciscoasa(config-rtr)# router-id 192.168.3.3
ciscoasa(config-rtr)# summary-prefix FECO::/24
ciscoasa(config-rtr)# redistribute static
The prefix argument is the IPv6 route prefix for the destination. The not-advertise keyword suppresses
routes that match the specified prefix and mask pair. This keyword applies to OSPFv3 only. The tag
tag-value keyword-argument pair specifies the tag value that can be used as a match value for controlling
redistribution through route maps. This keyword applies to OSPFv3 only.
Step 1
Example:
ciscoasa(config-if)# ipv6 router ospf 1
The process-id argument is an internally used identifier for this routing process, is locally assigned, and
can be any positive integer from 1 to 65535. This ID does not have to match the ID on any other device;
it is for internal administrative use only. You can use a maximum of two processes.
Step 2
Example:
ciscoasa(config-rtr)# redistribute connected 5 type-1
The source-protocol argument specifies the source protocol from which routes are being
redistributed, which can be static, connected, or OSPFv3.
The process-id argument is the number that is assigned administratively when the OSPFv3 routing
process is enabled.
24-36
Chapter 24
OSPF
Configure Graceful Restart
The include-connected keyword allows the target protocol to redistribute routes learned by the
source protocol and connected prefixes on those interfaces over which the source protocol is
running.
The level-1 keyword specifies that for Intermediate System-to-Intermediate System (IS-IS), Level
1 routes are redistributed into other IP routing protocols independently.
The level-1-2 keyword specifies that for IS-IS, both Level 1 and Level 2 routes are redistributed into
other IP routing protocols.
The level-2 keyword specifies that for IS-IS, Level 2 routes are redistributed into other IP routing
protocols independently.
For the metric metric-value keyword-argument pair, when redistributing routes from one OSPFv3
process into another OSPFv3 process on the same router, the metric is carried through from one
process to the other if no metric value is specified. When redistributing other processes into an
OSPFv3 process, the default metric is 20 when no metric value is specified.
The metric transparent keyword causes RIP to use the routing table metric for redistributed routes
as the RIP metric.
The metric-type type-value keyword-argument pair specifies the external link type that is
associated with the default route that is advertised into the OSPFv3 routing domain. Valid values
can be one of the following: 1 for a Type 1 external route or 2 for a Type 2 external route. If no value
is specified for the metric-type keyword, the ASA adopts a Type 2 external route. For IS-IS, the link
type can be one of the following: internal for an IS-IS metric that is less than 63 or external for an
IS-IS metric that is greater than 64 and less than 128. The default is internal.
The match keyword redistributes routes into other routing domains and is used with one of the
following options: external [1|2] for routes that are external to the autonomous system, but are
imported into OSPFv3 as Type 1 or Type 2 external routes; internal for routes that are internal to a
specific autonomous system; nssa-external [1|2] for routes that are external to the autonomous
system, but are imported into OSPFv3 in an NSSA for IPv6 as Type 1 or Type 2 external routes.
The tag tag-value keyword-argument pair specifies the 32-bit decimal value that is attached to each
external route, which may be used to communicate information between ASBRs. If none is
specified, then the remote autonomous system number is used for routes from BGP and EGP. For
other protocols, zero is used. Valid values range from 0 to 4294967295.
The route-map keyword specifies the route map to check for filtering the importing of routes from
the source routing protocol to the current routing protocol. If this keyword is not specified, all routes
are redistributed. If this keyword is specified, but no route map tags are listed, no routes are
imported. The map-tag argument identifies a configured route map.
24-37
Chapter 24
OSPF
Graceful restart is supported on both OSPFv2 and OSPFv3. You can configure graceful restart on OSPFv2 by
using either using NSF Cisco (RFC 4811 and RFC 4812) or NSF IETF (RFC 3623). You can configure
graceful restart on OSPFv3 using graceful-restart (RFC 5187).
Configuring the NSF graceful-restart feature involves two steps; configuring capabilities and configuring a
device as NSF-capable or NSF-aware. A NSF-capable device can indicate its own restart activities to
neighbors and a NSF-aware device can help a restarting neighbor.
A device can be configured as NSF-capable or NSF-aware, depending on some conditions:
Note
A device has to be in either Failover or Spanned Etherchannel (L2) cluster mode to be configured
as NSF-capable.
For a device to be either NSF-aware or NSF-capable, it should be configured with the capability of
handling opaque Link State Advertisements (LSAs)/ Link Local Signaling (LLS) block as required.
When fast hellos are configured for OSPFv2, graceful restart does not occur when the active unit reloads
and the standby unit becomes active. This is because the time taken for the role change is more than the
configured dead interval.
Configure capabilities
The Cisco NSF Graceful Restart mechanism depends on the LLS capability as it sends an LLS block
with the RS-bit set in the Hello packet, to indicate the restart activity. The IETF NSF mechanism depends
on the opaque LSA capability as it sends opaque-LSAs of type-9 to indicate the restart activity. To
configure capabilities enter the following commands:
Procedure
Step 1
Create an OSPF routing process and enters router configuration mode for the OSPF process that you
want to redistribute:
router ospf process_id
Example:
ciscoasa(config)# router ospf 2
The process_id argument is an internally used identifier for this routing process and can be any positive
integer. This ID does not have to match the ID on any other device; it is for internal use only. You can
use a maximum of two processes.
Step 2
Enable the use of LLS data block or opaque LSAs to enable NSF:
capability {lls|opaque}
Example:
ciscoasa(config-router)# capability lls
The lls keyword is used to enable LLS capability for Cisco NSF Graceful Restart mechanism.
The opaque keyword is used to enable opaque LSA capability for IETF NSF Graceful Restart
mechanism.
24-38
Chapter 24
OSPF
Configure Graceful Restart
Step 1
Example:
ciscoasa(config-router)# nsf cisco
The enforce global keyword cancels NSF restart when non-NSF-aware neighbor devices are detected.
Step 2
Example:
ciscoasa(config-router)# capability lls
This command is enabled by default. Using the no form of the command disables it.
Step 1
Example:
ciscoasa(config-router)# nsf ietf restart interval 80
The restart interval seconds specifies the length of the graceful restart interval, in seconds. Valid values
are from 1 to 1800 seconds. The default value is 120 seconds.
24-39
Chapter 24
OSPF
Graceful restart might be terminated when restart interval is configured with a value less than the time
taken for the adjacency to come up.For example, a restart interval below 30 seconds, is not supported.
Step 2
Example:
ciscoasa(config-router)# nsf ietf helper
The strict-LSA-checking keyword indicates that the helper router will terminate the process of the
restarting router if it detects that there is a change to a LSA that would be flooded to the restarting router,
or if there is a changed LSA on the retransmission list of the restarting router when the graceful restart
process is initiated.
This command is enabled by default. Using the no form of the command disables it.
Step 1
Enable IPv6 processing on an interface that has not been configured with an explicit IPv6 address:
interface physical_interface
ipv6 enable
Example:
ciscoasa(config)# interface ethernet 0/0
ciscoasa(config-if)# ipv6 enable
The physical_interface argument identifies the interface that participates in OSPFv3 NSF.
Step 2
Example:
ciscoasa(config-router)# graceful-restart restart interval 80
The restart interval seconds specifies the length of the graceful restart interval, in seconds. Valid values
are from 1 to 1800 seconds. The default value is 120 seconds.
Graceful restart might be terminated when restart interval is configured with a value less than the time
taken for the adjacency to come up.For example, a restart interval below 30 seconds, is not supported.
Step 3
Example:
ciscoasa(config-router)# graceful-restart helper strict-lsa-checking
24-40
Chapter 24
OSPF
Example for OSPFv2
The strict-LSA-checking keyword indicates that the helper router will terminate the process of the
restarting router if it detects that there is a change to a LSA that would be flooded to the restarting router,
or if there is a changed LSA on the retransmission list of the restarting router when the graceful restart
process is initiated.
The graceful-restart helper mode is enabled by default.
Step 1
Example:
ciscoasa(config)# clear configure router ospf 1000
After the configuration is cleared, you must reconfigure OSPF using the router ospf command.
Step 1
Example:
ciscoasa(config)# clear configure ipv6 router ospf 1000
After the configuration is cleared, you must reconfigure OSPFv3 using the ipv6 router ospf command.
24-41
Chapter 24
OSPF
Step 2
(Optional) To redistribute routes from one OSPFv2 process to another OSPFv2 process, enter the
following commands:
ciscoasa(config)# route-map 1-to-2 permit
ciscoasa(config-route-map)# match metric 1
ciscoasa(config-route-map)# set metric 5
ciscoasa(config-route-map)# set metric-type type-1
ciscoasa(config-route-map)# router ospf 2
ciscoasa(config-rtr)# redistribute ospf 1 route-map 1-to-2
Step 3
Step 4
Step 5
(Optional) To configure the route calculation timers and show the log neighbor up and down messages,
enter the following commands:
ciscoasa(config-rtr)# timers spf 10 120
ciscoasa(config-rtr)# log-adj-changes [detail]
Step 6
(Optional) To show current OSPFv2 configuration settings, enter the show ospf command.
The following is sample output from the show ospf command:
ciscoasa(config)# show ospf
Routing Process ospf 2 with ID 10.1.89.2 and Domain ID 0.0.0.2
Supports only single TOS(TOS0) routes
Supports opaque LSA
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
Number of external LSA 5. Checksum Sum 0x 26da6
Number of opaque AS LSA 0. Checksum Sum 0x
0
Number of DCbitless external and opaque AS LSA 0
Number of DoNotAge external and opaque AS LSA 0
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
External flood list length 0
Area BACKBONE(0)
Number of interfaces in this area is 1
Area has no authentication
SPF algorithm executed 2 times
Area ranges are
Number of LSA 5. Checksum Sum 0x 209a3
Number of opaque link LSA 0. Checksum Sum 0x
0
Number of DCbitless LSA 0
Number of indication LSA 0
24-42
Chapter 24
OSPF
Examples for OSPFv3
Step 7
The following is sample output from the show running-config ipv6 command:
ciscoasa (config)# show running-config ipv6
ipv6 router ospf 1
log-adjacency-changes
The following is sample output from the show running-config interface command:
ciscoasa (config-if)# show running-config interface GigabitEthernet3/1
interface GigabitEthernet3/1
nameif fda
security-level 100
ip address 1.1.11.1 255.255.255.0 standby 1.1.11.2
ipv6 address 9098::10/64 standby 9098::11
ipv6 enable
ipv6 ospf 1 area 1
(config)#
(config)#
(config)#
(config)#
(config)#
(config)#
(config)#
(config)#
(config)#
24-43
Chapter 24
OSPF
Monitoring OSPF
For an example of how to configure an OSPFv3 virtual link, see the following URL:
http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a0080b8fd06.shtm
l
Monitoring OSPF
You can display specific statistics such as the contents of IP routing tables, caches, and databases. You
can also use the information provided to determine resource utilization and solve network problems. You
can also display information about node reachability and discover the routing path that your device
packets are taking through the network.
To monitor or display various OSPFv2 routing statistics, enter one of the following commands:
Command
Purpose
24-44
Chapter 24
OSPF
Monitoring OSPF
Command
Purpose
To monitor or display various OSPFv3 routing statistics, enter one of the following commands:
Command
Purpose
24-45
Chapter 24
OSPF
Monitoring OSPF
Command
Purpose
24-46
Chapter 24
OSPF
Additional References
Additional References
RFCs
RFC
Title
2328
OSPFv2
4552
OSPFv3 Authentication
5340
Feature Name
Platform Releases
Feature Information
OSPF Support
7.0(1)
Support was added for route data, authentication, and redistribution and
monitoring of routing information using the Open Shortest Path First (OSPF)
routing protocol.
We introduced the following command: route ospf
24-47
Chapter 24
OSPF
Table 24-1
Feature Name
Platform Releases
Feature Information
Dynamic Routing in
Multiple Context
Mode
9.0(1)
Clustering
24-48
Chapter 24
OSPF
History for OSPF
Table 24-1
Feature Name
Platform Releases
Feature Information
OSPF supports the Fast Hello Packets feature, resulting in a configuration that
results in faster convergence in an OSPF network.
We modified the following command: ospf dead-interval
Timers
OSPF Monitoring
enhancements
OSPF redistribute
BGP
24-49
Chapter 24
History for OSPF
24-50
OSPF
CH AP TE R
25
EIGRP
This chapter describes how to configure the Cisco ASA to route data, perform authentication, and
redistribute routing information using the Enhanced Interior Gateway Routing Protocol (EIGRP).
About EIGRP
EIGRP is an enhanced version of IGRP developed by Cisco. Unlike IGRP and RIP, EIGRP does not send
out periodic route updates. EIGRP updates are sent out only when the network topology changes. Key
capabilities that distinguish EIGRP from other routing protocols include fast convergence, support for
variable-length subnet mask, support for partial updates, and support for multiple network layer
protocols.
A router running EIGRP stores all the neighbor routing tables so that it can quickly adapt to alternate
routes. If no appropriate route exists, EIGRP queries its neighbors to discover an alternate route. These
queries propagate until an alternate route is found. Its support for variable-length subnet masks permits
routes to be automatically summarized on a network number boundary. In addition, EIGRP can be
configured to summarize on any bit boundary at any interface. EIGRP does not make periodic updates.
Instead, it sends partial updates only when the metric for a route changes. Propagation of partial updates
is automatically bounded so that only those routers that need the information are updated. As a result of
these two capabilities, EIGRP consumes significantly less bandwidth than IGRP.
Neighbor discovery is the process that the ASA uses to dynamically learn of other routers on directly
attached networks. EIGRP routers send out multicast hello packets to announce their presence on the
network. When the ASA receives a hello packet from a new neighbor, it sends its topology table to the
neighbor with an initialization bit set. When the neighbor receives the topology update with the
initialization bit set, the neighbor sends its topology table back to the ASA.
25-1
Chapter 25
EIGRP
The hello packets are sent out as multicast messages. No response is expected to a hello message. The
exception to this is for statically defined neighbors. If you use the neighbor command, or configure the
Hello Interval in ASDM, to configure a neighbor, the hello messages sent to that neighbor are sent as
unicast messages. Routing updates and acknowledgements are sent out as unicast messages.
Once this neighbor relationship is established, routing updates are not exchanged unless there is a change
in the network topology. The neighbor relationship is maintained through the hello packets. Each hello
packet received from a neighbor includes a hold time. This is the time in which the ASA can expect to
receive a hello packet from that neighbor. If the ASA does not receive a hello packet from that neighbor
within the hold time advertised by that neighbor, the ASA considers that neighbor to be unavailable.
The EIGRP protocol uses four key algorithm technologies, four key technologies, including neighbor
discovery/recovery, Reliable Transport Protocol (RTP), and DUAL, which is important for route
computations. DUAL saves all routes to a destination in the topology table, not just the least-cost route.
The least-cost route is inserted into the routing table. The other routes remain in the topology table. If
the main route fails, another route is chosen from the feasible successors. A successor is a neighboring
router used for packet forwarding that has a least-cost path to a destination. The feasibility calculation
guarantees that the path is not part of a routing loop.
If a feasible successor is not found in the topology table, a route recomputation must occur. During route
recomputation, DUAL queries the EIGRP neighbors for a route, who in turn query their neighbors.
Routers that do no have a feasible successor for the route return an unreachable message.
During route recomputation, DUAL marks the route as active. By default, the ASA waits for three
minutes to receive a response from its neighbors. If the ASA does not receive a response from a neighbor,
the route is marked as stuck-in-active. All routes in the topology table that point to the unresponsive
neighbor as a feasibility successor are removed.
Note
EIGRP neighbor relationships are not supported through the IPsec tunnel without a GRE tunnel.
Supported only in routed firewall mode. Transparent firewall mode is not supported.
Failover Guidelines
Supports Spanned EtherChannel and Individual Interface clustering when configured to use both
EIGRP and OSPFv2.
In a Individual Interface cluster setup, EIGRP adjacencies can only be established between two
contexts on a shared interface on the master unit. You can manually configure multiple neighbor
statements corresponding to each cluster node separately to work around this issue.
25-2
Chapter 25
EIGRP
Configure EIGRP
Additional Guidelines
EIGRP instances cannot form adjacencies with each other across shared interfaces because
inter-context exchange of multicast traffic is not supported.
Configure EIGRP
This section describes how to enable the EIGRP process on your system. After you have enabled EIGRP,
see the following sections to learn how to customize the EIGRP process on your system.
Enable EIGRP
You can only enable one EIGRP routing process on the ASA.
To enable EIGRP, perform the following steps:
Procedure
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Configure Interfaces for EIGRP, page 25-6.
25-3
Chapter 25
EIGRP
Configure EIGRP
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see section Configure Passive Interfaces, page 25-8.
Step 3
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router)# eigrp stub {receive-only | [connected] [redistributed] [static]
[summary]}
You must specify which networks are advertised by the stub routing process to the distribution router.
Static and connected networks are not automatically redistributed into the stub routing process.
25-4
Chapter 25
EIGRP
Customize EIGRP
Note
A stub routing process does not maintain a full topology table. At a minimum, stub routing needs a
default route to a distribution router, which makes the routing decisions.
Customize EIGRP
This section describes how to customize the EIGRP routing.
Customize the EIGRP Hello Interval and Hold Time, page 25-14
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
25-5
Chapter 25
EIGRP
Customize EIGRP
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Configure Passive Interfaces, page 25-8.
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Define a Network for an EIGRP Routing Process, page 25-5.
Step 3
25-6
Chapter 25
EIGRP
Customize EIGRP
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router)# no default-information {in | out | WORD}
Entering the no default-information in command causes the candidate default route bit to be blocked
on received routes.
Entering the no default-information out command disables the setting of the default route bit in
advertised routes.
For more information see, Configure Default Information in EIGRP, page 25-16.
Step 4
Example:
ciscoasa(config)# authentication mode eigrp 2 md5
The as-num argument is the autonomous system number of the EIGRP routing process configured on the
ASA. If EIGRP is not enabled or if you enter the wrong number, the ASA returns the following error
message:
% Asystem(100) specified does not exist
For more information see Enable EIGRP Authentication on an Interface, page 25-10.
Step 5
Example:
ciscoasa(config-if)# delay 200
The value argument entered is in tens of microseconds. To set the delay for 2000 microseconds, you enter
a value of 200.
To view the delay value assigned to an interface, use the show interface command.
For more information see Change the Interface Delay Value, page 25-9.
Step 6
Example:
ciscoasa(config)# hello-interval eigrp 2 60
For more information see Customize the EIGRP Hello Interval and Hold Time, page 25-14.
Step 7
Example:
ciscoasa(config)# hold-time eigrp 2 60
For more information see Customize the EIGRP Hello Interval and Hold Time, page 25-14.
25-7
Chapter 25
EIGRP
Customize EIGRP
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Configure the interfaces and networks that participate in EIGRP routing You can configure one or more
network statements with this command:
ciscoasa(config-router)# network ip-addr [mask]
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Define a Network for an EIGRP Routing Process, page 25-5.
Step 3
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router)# passive-interface {default}
Using the default keyword disables EIGRP routing updates on all interfaces. Specifying an interface
name, as defined by the nameif command, disables EIGRP routing updates on the specified interface.
You can use multiple passive-interface commands in your EIGRP router configuration.
25-8
Chapter 25
EIGRP
Customize EIGRP
Step 1
Enter interface configuration mode for the interface on which you are changing the delay value used by
EIGRP:
interface phy_if
Example:
ciscoasa(config)# interface inside
Step 2
Example:
ciscoasa(config-if)# summary-address eigrp 2 address mask [20]
By default, EIGRP summary addresses that you define have an administrative distance of 5. You can
change this value by specifying the optional distance argument in the summary-address command.
Step 1
Enter interface configuration mode for the interface on which you are changing the delay value used by
EIGRP:
interface phy_if
Example:
ciscoasa(config)# interface inside
Step 2
Example:
ciscoasa(config-if)# delay 200
The value argument entered is in tens of microseconds. To set the delay for 2000 microseconds, you enter
a value of 200.
Note
To view the delay value assigned to an interface, use the show interface command.
25-9
Chapter 25
EIGRP
Customize EIGRP
Note
Before you can enable EIGRP route authentication, you must enable EIGRP.
To enable EIGRP authentication on an interface, perform the following steps:
Procedure
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
hostname(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
hostname(config)# router eigrp 2
hostname(config-router)# network 10.0.0.0
255.0.0.0
Step 3
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the
ASA. Additionally, only interfaces with an IP address that falls within the defined network
participate in the EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is
attached to a network that you want advertised, see Configure EIGRP, page 25-3.
Enter interface configuration mode for the interface on which you are configuring EIGRP message
authentication:
interface phy_if
Example:
hostname(config)# interface inside
Step 4
Example:
hostname(config)# authentication mode eigrp 2 md5
25-10
Chapter 25
EIGRP
Customize EIGRP
The as-num argument is the autonomous system number of the EIGRP routing process configured on the
ASA. If EIGRP is not enabled or if you enter the wrong number, the ASA returns the following error
message:
% Asystem(100) specified does not exist
Step 5
Example:
hostname(config)# authentication key eigrp 2 cisco key-id 200
The as-num argument is the autonomous system number of the EIGRP routing process configured
on the ASA. If EIGRP is not enabled or if you enter the wrong number, the ASA returns the
following error message:
% Asystem(100) specified does not exist%
The key argument can include up to 16 characters, including alphabets, numbers and special
characters.White spaces are not allowed, in the key argurment.
Step 1
Create an EIGRP routing process and enters router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# neighbor 10.0.0.0 interface interface1
25-11
Chapter 25
EIGRP
Customize EIGRP
The if-name argument is the name of the interface, as specified by the nameif command, through which
that neighbor is available. You can define multiple neighbors for an EIGRP routing process.
Note
For RIP only: Before you begin this procedure, you must create a route map to further define which
routes from the specified routing protocol are redistributed in to the RIP routing process. See Chapter 22,
Route Maps, for more information about creating a route map.
To redistribute routes into the EIGRP routing process, perform the following steps:
Procedure
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
(Optional) Specifies the default metrics that should be applied to routes redistributed into the EIGRP
routing process:
default-metric bandwidth delay reliability loading mtu
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# default-metric bandwidth delay reliability loading mtu
If you do not specify a default metric in the EIGRP router configuration, you must specify the metric
values in each redistribute command. If you specify the EIGRP metrics in the redistribute command
and have the default-metric command in the EIGRP router configuration, the metrics in the
redistribute command are used.
Step 3
Example:
ciscoasa(config-router): redistribute connected [metric bandwidth delay reliability
loading mtu] [route-map map_name]
You must specify the EIGRP metric values in the redistribute command if you do not have a
default-metric command in the EIGRP router configuration.
25-12
Chapter 25
EIGRP
Customize EIGRP
Step 4
Example:
ciscoasa(config-router): redistribute static [metric bandwidth delay reliability loading
mtu] [route-map map_name]
Step 5
Redistribute routes from an OSPF routing process into the EIGRP routing process:
redistribute ospf pid [match {internal | external [1 | 2] | nssa-external [1 | 2]}]
[metric bandwidth delay reliability loading mtu] [route-map map_name]
Example:
ciscoasa(config-router): redistribute ospf pid [match {internal | external [1 | 2] |
nssa-external [1 | 2]}] [metric bandwidth delay reliability loading mtu] [route-map
map_name]
Step 6
Redistribute routes from a RIP routing process into the EIGRP routing process:
redistribute rip
Example:
(config-router): redistribute rip [metric bandwidth delay reliability load mtu] [route-map
map_name]
Before you begin this process, you must create a standard ACL that defines the routes that you want to
advertise. That is, create a standard ACL that defines the routes that you want to filter from sending or
receiving updates.
To filter networks in EIGRP, perform the following steps:
Procedure
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
25-13
Chapter 25
EIGRP
Customize EIGRP
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Configure Interfaces for EIGRP, page 25-6.
Step 3
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router): distribute-list acl out [connected]
You can specify an interface to apply the filter to only those updates that are sent by that specific
interface.
You can enter multiple distribute-list commands in your EIGRP router configuration.
Step 4
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router): distribute-list acl in [interface interface1]
You can specify an interface to apply the filter to only those updates that are received by that interface.
Step 1
Enter interface configuration mode for the interface on which you are configuring the hello interval or
advertised hold time:
25-14
Chapter 25
EIGRP
Customize EIGRP
interface phy_if
Example:
ciscoasa(config)# interface inside
Step 2
Example:
ciscoasa(config)# hello-interval eigrp 2 60
Step 3
Example:
ciscoasa(config)# hold-time eigrp 2 60
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config-router)# no auto-summary
25-15
Chapter 25
EIGRP
Customize EIGRP
Step 1
Create an EIGRP routing process and enter router configuration mode for this EIGRP process:
router eigrp as-num
Example:
ciscoasa(config)# router eigrp 2
The as-num argument is the autonomous system number of the EIGRP routing process.
Step 2
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
You can configure one or more network statements with this command.
Directly connected and static networks that fall within the defined network are advertised by the ASA.
Additionally, only interfaces with an IP address that fall within the defined network participate in the
EIGRP routing process.
If you have an interface that you do not want to have participate in EIGRP routing, but that is attached
to a network that you want advertised, see Configure Interfaces for EIGRP, page 25-6.
Step 3
Example:
ciscoasa(config)# router eigrp 2
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
ciscoasa(config-router)# no default-information {in | out | WORD}
Note
Entering the no default-information in command causes the candidate default route bit to be
blocked on received routes. Entering the no default-information out command disables the
setting of the default route bit in advertised routes.
25-16
Chapter 25
EIGRP
Customize EIGRP
Step 1
Enter interface configuration mode for the interface on which you are changing the delay value used by
EIGRP:
interface phy_if
Example:
ciscoasa(config)# interface phy_if
Step 2
Example:
ciscoasa(config-if)# no split-horizon eigrp 2
Step 1
Example:
ciscoasa(config)# clear eigrp pid 10 neighbors
25-17
Chapter 25
EIGRP
Purpose
Note
no eigrp log-neighbor-changes
no eigrp log-neighbor-warnings
25-18
Chapter 25
EIGRP
History for EIGRP
Step 2
To configure an interface from sending or receiving EIGRP routing messages, enter the following
command:
ciscoasa(config-router)# passive-interface {default}
Step 3
Step 4
To configure the interfaces and networks that participate in EIGRP routing, enter the following
command:
ciscoasa(config-router)# network 10.0.0.0 255.0.0.0
Step 5
To change the interface delay value used in EIGRP distance calculations, enter the following commands:
ciscoasa(config-router)# exit
ciscoasa(config)# interface phy_if
ciscoasa(config-if)# delay 200
Feature Name
Platform
Releases
EIGRP Support
7.0(1)
Feature Information
Support was added for routing data, performing
authentication, and redistributing and monitoring routing
information using the Enhanced Interior Gateway Routing
Protocol (EIGRP).
We introduced the following command: route eigrp.
9.0(1)
Clustering
9.0(1)
EIGRP Auto-Summary
9.2(1)
25-19
Chapter 25
History for EIGRP
25-20
EIGRP
CH AP TE R
26
Multicast Routing
This chapter describes how to configure the Cisco ASA to use the multicast routing protocol.
Note
The UDP and non-UDP transports are both supported for multicast routing. However, the non-UDP
transport has no FastPath optimization.
26-1
Chapter 26
Multicast Routing
Note
If the ASA is the PIM Rendezvous Point, use the untranslated outside address of the ASA as the
Rendezvous Point address.
Multicast Addresses
Multicast addresses specify an arbitrary group of IP hosts that have joined the group and want to receive
traffic sent to this group.
Clustering
Multicast routing supports clustering. In Layer 2 clustering, the master unit sends all multicast routing
packets and data packets until fast-path forwarding is established. After fast-path forwarding is
established, slave units may forward multicast data packets. All data flows are full flows. Stub
forwarding flows are also supported. Because only one unit receives multicast packets in Layer 2
26-2
Chapter 26
Multicast Routing
Guidelines for Multicast Routing
clustering, redirection to the master unit is common. In Layer 3 clustering, units do not act
independently. All data and routing packets are processed and forwarded by the master unit. Slave units
drop all packets that have been sent.
For more information about clustering, see Chapter 8, ASA Cluster.
Supported in single context mode. In multiple context mode, unshared interfaces and shared interfaces
are not supported.
Firewall Mode Guidelines
Supported only in routed firewall mode. Transparent firewall mode is not supported.
IPv6 Guidelines
In clustering, for IGMP and PIM, this feature is only supported on the master unit.
Note
Step 1
Example:
ciscoasa(config)# multicast-routing
The number of entries in the multicast routing tables are limited by the amount of RAM on the ASA.
26-3
Chapter 26
Multicast Routing
Table 26-1 lists the maximum number of entries for specific multicast tables based on the amount of
RAM on the ASA. Once these limits are reached, any new entries are discarded.
Table 26-1
Table
16 MB 128 MB 128+ MB
MFIB
1000
3000
30000
IGMP Groups
1000
3000
30000
PIM Routes
3000
7000
72000
Configure Stub Multicast Routing and Forward IGMP Messages, page 26-4
Step 1
Example:
ciscoasa(config-if)# igmp forward interface interface1
26-4
Chapter 26
Multicast Routing
Customize Multicast Routing
Step 1
Example:
ciscoasa(config)# mroute src_ip src_mask {input_if_name | rpf_neighbor} [distance]
Step 2
Example:
ciscoasa(config)# mroute src_ip src_mask input_if_name [dense output_if_name] [distance]
The dense output_if_name keyword and argument pair is only supported for stub multicast routing.
26-5
Chapter 26
Multicast Routing
Note
Only the no igmp command appears in the interface configuration when you use the show run
command. If the multicast-routing command appears in the device configuration, then IGMP is
automatically enabled on all interfaces.
This section describes how to configure optional IGMP setting on a per-interface basis.
Step 1
Example:
ciscoasa(config-if)# no igmp
Note
Note
If you want to forward multicast packets for a specific group to an interface without the ASA accepting
those packets as part of the group, see Configure a Statically Joined IGMP Group, page 26-7.
26-6
Chapter 26
Multicast Routing
Customize Multicast Routing
Procedure
Step 1
Example:
ciscoasa(config-if)# igmp join-group mcast-group
Step 1
Example:
ciscoasa(config-if)# igmp static-group group-address
Step 1
Example:
ciscoasa(config)# access-list acl1 standard permit 192.52.662.25
You can create more than one entry for a single ACL. You can use extended or standard ACLs.
26-7
Chapter 26
Multicast Routing
The ip_addr mask argument is the IP address of the multicast group being permitted or denied.
Step 2
Example:
ciscoasa(config)# access-list acl2 extended permit protocol src_ip_addr src_mask
dst_ip_addr dst_mask
The dst_ip_addr argument is the IP address of the multicast group being permitted or denied.
Step 3
Example:
ciscoasa(config-if)# igmp access-group acl
Step 1
Example:
ciscoasa(config-if)# igmp limit 50
Valid values range from 0 to 500, with 500 being the default value.
Setting this value to 0 prevents learned groups from being added, but manually defined memberships
(using the igmp join-group and igmp static-group commands) are still permitted. The no form of this
command restores the default value.
26-8
Chapter 26
Multicast Routing
Customize Multicast Routing
Note
The igmp query-timeout and igmp query-interval commands require IGMP Version 2.
To change the query interval, query response time, and query timeout value, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config-if)# igmp query-interval 30
Example:
ciscoasa(config-if)# igmp query-timeout 30
Example:
ciscoasa(config-if)# igmp query-max-response-time 30
Step 4
26-9
Chapter 26
Multicast Routing
Step 1
Control the version of IGMP that you want to run on the interface:
igmp version {1 | 2}
Example:
ciscoasa(config-if)# igmp version 2
Note
PIM is not supported with PAT. The PIM protocol does not use ports, and PAT only works with protocols
that use ports.
This section describes how to configure optional PIM settings.
Step 1
26-10
Chapter 26
Multicast Routing
Customize Multicast Routing
pim
Example:
ciscoasa(config-if)# pim
Step 2
Example:
ciscoasa(config-if)# no pim
Note
Note
The ASA does not support Auto-RP or PIM BSR. You must use the pim rp-address command to specify
the RP address.
You can configure the ASA to serve as RP to more than one group. The group range specified in the ACL
determines the PIM RP group mapping. If an ACL is not specified, then the RP for the group is applied
to the entire multicast group range (224.0.0.0/4).
To configure the address of the PIM PR perform the following steps.
Procedure
Step 1
The ip_address argument is the unicast IP address of the router assigned to be a PIM RP.
The acl argument is the name or number of a standard ACL that defines with which multicast groups the
RP should be used. Do not use a host ACL with this command.
Excluding the bidir keyword causes the groups to operate in PIM sparse mode.
Note
The ASA always advertises the bidirectional capability in the PIM hello messages, regardless of the
actual bidirectional configuration.
26-11
Chapter 26
Multicast Routing
Step 1
Example:
ciscoasa(config-if)# pim dr-priority 500
Step 1
Example:
ciscoasa(config)# pim accept-register {list acl1 | route-map map2}
In the example, the ASA filters PIM register messages acl1 and route map map2.
26-12
Chapter 26
Multicast Routing
Customize Multicast Routing
Step 1
Example:
ciscoasa(config-if)# pim hello-interval 60
Valid values for the seconds argument range from 1 to 3600 seconds.
Step 2
Change the amount of time (in seconds) that the ASA sends PIM join or prune messages:
pim join-prune-interval seconds
Example:
ciscoasa(config-if)# pim join-prune-interval 60
Valid values for the seconds argument range from 10 to 600 seconds.
To define neighbors that can become a PIM neighbor, perform the following steps:
Procedure
Step 1
Use a standard ACL to define the routers that you want to have participate in PIM:
access-list pim_nbr deny router-IP_addr PIM neighbor
Example:
ciscoasa(config)# access-list pim_nbr deny 10.1.1.1 255.255.255.255
In the example, the following ACL, when used with the pim neighbor-filter command, prevents the
10.1.1.1 router from becoming a PIM neighbor.
Step 2
Example:
ciscoasa(config)# interface GigabitEthernet0/3
ciscoasa(config-if)# pim neighbor-filter pim_nbr
In the example, the 10.1.1.1 router is prevented from becoming a PIM neighbor on interface
GigabitEthernet0/3.
26-13
Chapter 26
Multicast Routing
If a permitted neighbor does not support bidir, then the DF election does not occur.
If a denied neighbor supports bidir, then the DF election does not occur.
If a denied neighbor does not support bidir, the DF election can occur.
To define the neighbors that can become a PIM bidirectional neighbor filter, perform the following steps:
Procedure
Step 1
Use a standard ACL to define the routers that you want to have participate in PIM:
access-list pim_nbr deny router-IP_addr PIM neighbor
Example:
ciscoasa(config)# access-list pim_nbr deny 10.1.1.1 255.255.255.255
In the example, the following ACL, when used with the pim neighbor-filter command, prevents the
10.1.1.1 router from becoming a PIM neighbor.
Step 2
Example:
ciscoasa(config)# interface GigabitEthernet0/3
ciscoasa(config-if)# pim bidirectional neighbor-filter pim_nbr
26-14
Chapter 26
Multicast Routing
Example for Multicast Routing
In the example, the 10.1.1.1 router is prevented from becoming a PIM bidirectional neighbor on interface
GigabitEthernet0/3.
Step 1
Example:
ciscoasa(config-if)# multicast boundary acl1 [filter-autorp]
Step 2
26-15
Chapter 26
Multicast Routing
Step 3
Feature Name
Platform
Releases
7.0(1)
Feature Information
Support was added for multicast routing data,
authentication, and redistribution and monitoring of routing
information using the multicast routing protocol.
We introduced the multicast-routing command.
Clustering support
9.0(1)
26-16
CH AP TE R
27
27-1
Chapter 27
27-2
Chapter 27
If the duplicate address is the link-local address of the interface, the processing of IPv6 packets is
disabled on the interface. If the duplicate address is a global address, the address is not used. However,
all configuration commands associated with the duplicate address remain as configured while the state
of the address is set to DUPLICATE.
If the link-local address for an interface changes, Duplicate Address Detection is performed on the new
link-local address and all of the other IPv6 address associated with the interface are regenerated
(Duplicate Address Detection is performed only on the new link-local address).
The ASA uses neighbor solicitation messages to perform Duplicate Address Detection. By default, the
number of times an interface performs Duplicate Address Detection is 1.
One or more IPv6 prefix that nodes on the local link can use to automatically configure their IPv6
addresses.
Sets of flags that indicate the type of autoconfiguration (stateless or stateful) that can be completed.
Default router information (whether the router sending the advertisement should be used as a default
router and, if so, the amount of time (in seconds) the router should be used as a default router).
Additional information for hosts, such as the hop limit and MTU a host should use in packets that it
originates.
The amount of time between neighbor solicitation message retransmissions on a given link.
Router advertisements are also sent in response to router solicitation messages (ICMPv6 Type 133).
Router solicitation messages are sent by hosts at system startup so that the host can immediately
autoconfigure without needing to wait for the next scheduled router advertisement message. Because
router solicitation messages are usually sent by hosts at system startup, and the host does not have a
configured unicast address, the source address in router solicitation messages is usually the unspecified
IPv6 address (0:0:0:0:0:0:0:0). If the host has a configured unicast address, the unicast address of the
interface sending the router solicitation message is used as the source address in the message. The
destination address in router solicitation messages is the all-routers multicast address with a scope of the
link. When a router advertisement is sent in response to a router solicitation, the destination address in
the router advertisement message is the unicast address of the source of the router solicitation message.
You can configure the following settings for router advertisement messages:
The router lifetime value, which indicates the amount of time IPv6 nodes should consider the ASA
to be the default router.
Unless otherwise noted, the router advertisement message settings are specific to an interface and are
entered in interface configuration mode.
27-3
Chapter 27
The following IPv6 neighbor discovery commands are not supported in transparent firewall mode,
because they require router capabilities:
ipv6 nd prefix
ipv6 nd ra-interval
ipv6 nd ra-lifetime
ipv6 nd suppress-ra
The interval value is included in all IPv6 router advertisements that are sent out of this interface.
The configured time enables detecting unavailable neighbors. Shorter configured times enable
detecting unavailable neighbors more quickly; however, shorter times consume more IPv6 network
bandwidth and processing resources in all IPv6 network devices. Very short configured times are not
recommended in normal IPv6 operation.
The interval between transmissions should be less than or equal to the IPv6 router advertisement
lifetime if the ASA is configured as a default router by using the ipv6 nd ra-lifetime command. To
prevent synchronization with other IPv6 nodes, randomly adjust the actual value used to within 20
percent of the specified value.
The ipv6 nd prefix command allows control over the individual parameters per prefix, including
whether or not the prefix should be advertised.
By default, prefixes configured as addresses on an interface using the ipv6 address command are
advertised in router advertisements. If you configure prefixes for advertisement using the ipv6 nd
prefix command, then only these prefixes are advertised.
The default keyword can be used to set default parameters for all prefixes.
A date can be set to specify the expiration of a prefix. The valid and preferred lifetimes are counted
down in real time. When the expiration date is reached, the prefix will no longer be advertised.
When onlink is on (by default), the specified prefix is assigned to the link. Nodes sending traffic to
such addresses that contain the specified prefix consider the destination to be locally reachable on
the link.
27-4
Chapter 27
When autoconfig is on (by default), it indicates to hosts on the local link that the specified prefix
can be used for IPv6 autoconfiguration.
For stateless autoconfiguration to work correctly, the advertised prefix length in router
advertisement messages must always be 64 bits.
The router lifetime value is included in all IPv6 router advertisements sent out of the interface. The
value indicates the usefulness of the ASA as a default router on this interface.
Setting the value to a non-zero value indicates that the ASA should be considered a default router
on this interface. The non-zero value for the router lifetime value should not be less than the router
advertisement interval.
The following guidelines and limitations apply for configuring a static IPv6 neighbor:
The ipv6 neighbor command is similar to the arp command. If an entry for the specified IPv6
address already exists in the neighbor discovery cachelearned through the IPv6 neighbor
discovery processthe entry is automatically converted to a static entry. These entries are stored in
the configuration when the copy command is used to store the configuration.
Use the show ipv6 neighbor command to view static entries in the IPv6 neighbor discovery cache.
The clear ipv6 neighbor command deletes all entries in the IPv6 neighbor discovery cache except
static entries. The no ipv6 neighbor command deletes a specified static entry from the neighbor
discovery cache; the command does not remove dynamic entriesentries learned from the IPv6
neighbor discovery processfrom the cache. Disabling IPv6 on an interface by using the no ipv6
enable command deletes all IPv6 neighbor discovery cache entries configured for that interface
except static entries (the state of the entry changes to INCMP [Incomplete]).
Static entries in the IPv6 neighbor discovery cache are not modified by the neighbor discovery
process.
The clear ipv6 neighbor command does not remove static entries from the IPv6 neighbor discovery
cache; it only clears the dynamic entries.
The ICMP syslogs generated are caused by a regular refresh of IPv6 neighbor entries. The ASA
default timer for IPv6 neighbor entry is 30 seconds, so the ASA would generate ICMPv6 neighbor
discovery and response packets about every 30 seconds. If the ASA has both failover LAN and state
interfaces configured with IPv6 addresses, then every 30 seconds, ICMPv6 neighbor discovery and
response packets will be generated by both ASAs for both configured and link-local IPv6 addresses.
In addition, each packet will generate several syslogs (ICMP connection and local-host creation or
teardown), so it may appear that constant ICMP syslogs are being generated. The refresh time for
IPV6 neighbor entry is configurable on the regular data interface, but not configurable on the
failover interface. However, the CPU impact for this ICMP neighbor discovery traffic is minimal.
Parameters
Default
The default is 0.
27-5
Chapter 27
Table 27-1
Parameters
Default
prefix lifetime
on-link flag
autoconfig flag
Configure Address Config Flags for IPv6 DHCP Relay, page 27-10
Example:
27-6
Chapter 27
Step 1
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd ns-interval 9000
Valid values for the value argument range from 1000 to 3600000 milliseconds.
This information is also sent in router advertisement messages.
Step 1
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd reachable-time 1700000
Valid values for the value argument range from 0 to 3600000 milliseconds.
When 0 is used for the value, the reachable time is sent as undetermined. It is up to the receiving devices
to set and track the reachable time value.
27-7
Chapter 27
Step 1
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd ra-interval 201
The optional msec keyword indicates that the value provided is in milliseconds. If this keyword is not
present, the value provided is in seconds.
Valid values for the value argument range from 3 to 1800 seconds or from 500 to 1800000 milliseconds
if the msec keyword is provided.
The interval between transmissions should be less than or equal to the IPv6 router advertisement lifetime
if the ASA is configured as a default router. For more information, see Configure the Router Lifetime
Value, page 27-8. To prevent synchronization with other IPv6 nodes, randomly adjust the actual value
used to within 20 percent of the desired value.
Step 1
Specify the length of time that nodes on the local link should consider the ASA as the default router on
the link:
ipv6 nd ra-lifetime [msec] value
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd ra-lifetime 2000
The optional msec keyword indicates that the value provided is in milliseconds. If this keyword is
not present, the value provided is in seconds.
Valid values for the value argument range from 0 to 9000 seconds.
Entering 0 indicates that the ASA should not be considered a default router on the selected interface.
27-8
Chapter 27
Step 1
Specify the uniqueness of new unicast IPv6 addresses before they are assigned and ensure that duplicate
IPv6 addresses are detected in the network on a link basis:
ipv6 nd dad attempts value
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd dad attempts 20
Valid values for the value argument range from 0 to 600. A zero value disables DAD processing on the
specified interface.
Step 1
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd suppress-ra 900
The seconds argument specifies the validity of the ASA as a default router on this interface. Valid values
range from 0 to 9000 seconds.
A zero indicates that the ASA should not be considered a default router on the specified interface.
Note
Entering this command causes the ASA to appear as a regular IPv6 neighbor on the link and not as an
IPv6 router.
27-9
Chapter 27
Step 1
Set the Managed Address Config flag in the IPv6 router advertisement packet:
ipv6 nd managed-config-flag
Example:
hostname (config-if)# ipv6 nd managed-config-flag
This flag informs IPv6 autoconfiguration clients that they should use DHCPv6 to obtain addresses, in
addition to the derived stateless autoconfiguration address.
Step 2
Set the Other Address Config flag in the IPv6 router advertisement packet:
ipv6 nd other-config-flag
Example:
hostname (config-if)# ipv6 nd other-config-flag
This flag informs IPv6 autoconfiguration clients that they should use DHCPv6 to obtain additional
information from DHCPv6, such as the DNS server address.
Step 1
Example:
hostname (config)# interface gigabitethernet 0/0
hostname (config-if)# ipv6 nd prefix 2001:DB8::/32 1000 900
The prefix advertisement can be used by neighboring devices to autoconfigure their interface
addresses. Stateless autoconfiguration uses IPv6 prefixes provided in router advertisement messages
to create the global unicast address from the link-local address.
The at valid-date preferred-date syntax indicates the date and time at which the lifetime and
preference expire. The prefix is valid until this specified date and time are reached.
27-10
Chapter 27
The optional infinite keyword specifies that the valid lifetime does not expire.
The ipv6-prefix argument specifies the IPv6 network number to include in router advertisements.
This argument must be in the form documented in RFC 2373 where the address is specified in
hexadecimal using 16-bit values between colons.
The optional no-advertise keyword indicates to hosts on the local link that the specified prefix is
not to be used for IPv6 autoconfiguration.
The optional no-autoconfig keyword indicates to hosts on the local link that the specified prefix
cannot be used for IPv6 autoconfiguration.
The optional off-link keyword indicates that the specified prefix is not used for on-link
determination.
The preferred-lifetime argument specifies the amount of time (in seconds) that the specified IPv6
prefix is advertised as being preferred. Valid values range from 0 to 4294967295 seconds. The
maximum value represents infinity, which can also be specified with infinite. The default is 604800
(7 days).
The prefix-length argument specifies the length of the IPv6 prefix. This value indicates how many
of the high-order, contiguous bits of the address comprise the network portion of the prefix. The
slash (/) must precede the prefix length.
The valid-lifetime argument specifies the amount of time that the specified IPv6 prefix is advertised
as being valid. Valid values range from 0 to 4294967295 seconds. The maximum value represents
infinity, which can also be specified with infinite. The default is 2592000 (30 days).
Procedure
Step 1
Example:
hostname(config-if)# ipv6 neighbor 3001:1::45A inside 002.7D1A.9472
The ipv6_address argument is the link-local IPv6 address of the neighbor, the if_name argument is the
interface through which the neighbor is available, and the mac_address argument is the MAC address of
the neighbor interface.
27-11
Chapter 27
Purpose
Feature Name
Releases
Feature Information
7.0(1)
9.0(1)
27-12
PART
CH AP TE R
28
28-1
Chapter 28
Authentication
Authentication provides a way to identify a user, typically by having the user enter a valid username and
valid password before access is granted. The AAA server compares a user's authentication credentials
with other user credentials stored in a database. If the credentials match, the user is permitted access to
the network. If the credentials do not match, authentication fails and network access is denied.
You can configure the Cisco ASA to authenticate the following items:
Network access
VPN access
Authorization
Authorization is the process of enforcing policies: determining what types of activities, resources, or
services a user is permitted to access. After a user is authenticated, that user may be authorized for
different types of access or activity.
You can configure the ASA to authorize the following items:
Management commands
Network access
VPN access
Accounting
Accounting measures the resources a user consumes during access, which may include the amount of
system time or the amount of data that a user has sent or received during a session. Accounting is carried
out through the logging of session statistics and usage information, which is used for authorization
control, billing, trend analysis, resource utilization, and capacity planning activities.
28-2
Chapter 28
AAA Servers
The AAA server is a network server that is used for access control. Authentication identifies the user.
Authorization implements policies that determine which resources and services an authenticated user
may access. Accounting keeps track of time and data resources that are used for billing and analysis.
Console authentication
Command authorization
If you turn on command authorization using the local database, then the Cisco ASA refers to the
user privilege level to determine which commands are available. Otherwise, the privilege level is not
generally used. By default, all commands are either privilege level 0 or level 15.
For multiple context mode, you can configure usernames in the system execution space to provide
individual logins at the CLI using the login command; however, you cannot configure any AAA rules
that use the local database in the system execution space.
Note
You cannot use the local database for network access authorization.
Fallback Support
The local database can act as a fallback method for several functions. This behavior is designed to help
you prevent accidental lockout from the ASA.
When a user logs in, the servers in the group are accessed one at a time, starting with the first server that
you specify in the configuration, until a server responds. If all servers in the group are unavailable, the
ASA tries the local database if you have configured it as a fallback method (for management
authentication and authorization only). If you do not have a fallback method, the ASA continues to try
the AAA servers.
28-3
Chapter 28
For users who need fallback support, we recommend that their usernames and passwords in the local
database match their usernames and passwords on the AAA servers. This practice provides transparent
fallback support. Because the user cannot determine whether a AAA server or the local database is
providing the service, using usernames and passwords on AAA servers that are different than the
usernames and passwords in the local database means that the user cannot be certain which username
and password should be given.
The local database supports the following fallback functions:
Console and enable password authenticationIf the servers in the group are all unavailable, the
ASA uses the local database to authenticate administrative access, which can also include enable
password authentication.
Command authorizationIf the TACACS+ servers in the group are all unavailable, the local
database is used to authorize commands based on privilege levels.
28-4
Chapter 28
Example:
ciscoasa(config)# username exampleuser1 privilege 1
The username username keyword is a string from 3 to 64 characters long, using any combination of
ASCII printable characters (character codes 32-126), with the exception of spaces and the question mark.
The password password keyword is a string from 3 to 32 characters long, and can be any combination
of ASCII printable characters (character codes 32-126), with the exception of spaces and the question
mark. The privilege priv_level keyword sets the privilege level, which ranges from 0 to 15. The default
is 2. This privilege level is used with command authorization.
Caution
If you do not use command authorization (the aaa authorization console LOCAL command), then the
default level 2 allows management access to privileged EXEC mode. If you want to limit access to
privileged EXEC mode, either set the privilege level to 0 or 1, or use the service-type command.
The nopassword keyword creates a user account with no password. The encrypted keyword indicates
that the password is encrypted. When you define a password in the username command, the ASA
encrypts it when it saves it to the configuration for security purposes. When you enter the show
running-config command, the username command does not show the actual password; it shows the
encrypted password followed by the encrypted keyword. For example, if you enter the password test,
the show running-config output would appear as something similar to the following:
username user1 password DLaUiAX3l78qgoB5c7iVNw== encrypted
The only time you would actually enter the encrypted keyword at the CLI is if you are cutting and
pasting a configuration file for use in another ASA, and you are using the same password.
Step 2
Example:
ciscoasa(config)# username exampleuser1 attributes
The username argument is the username that you created in the first step.
By default, VPN users that you add with this command have no attributes or group policy association.
You must configure all values explicitly using the username attributes command. See the VPN
configuration guide for more information.
Step 3
(Optional) Configure the user level if you configured management authorization using the aaa
authorization exec command.
service-type {admin | nas-prompt | remote-access}
Example:
ciscoasa(config-username)# service-type admin
28-5
Chapter 28
The admin keyword allows full access to any services specified by the aaa authentication console
LOCAL commands. The admin keyword is the default.
The nas-prompt keyword allows access to the CLI when you configure the aaa authentication {telnet
| ssh | serial} console command, but denies ASDM configuration access if you configure the aaa
authentication http console command. ASDM monitoring access is allowed. If you enable
authentication with the aaa authentication enable console command, the user cannot access privileged
EXEC mode using the enable command (or the login command).
The remote-access keyword denies management access. You cannot use any services specified by the
aaa authentication console commands (excluding the serial keyword; serial access is allowed).
Step 4
Enable public key authentication for SSH connections to the ASA on a per-user basis.
ssh authentication {pkf | publickey key [hashed]}
Example:
ciscoasa(config-username)# ssh authentication pkf
Enter an SSH public key formatted file.
End with the word "quit" on a line by itself:
---- BEGIN SSH2 PUBLIC KEY ---Comment: "4096-bit RSA, converted by xxx@xxx from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAACAQDNUvkgza37lB/Q/fljpLAv1BbyAd5PJCJXh/U4LO
hleR/qgIROjpnFaS7Az8/+sjHmq0qXC5TXkzWihvRZbhefyPhPHCi0hIt4oUF2ZbXESA/8
jUT4ehXIUE7FrChffBBtbD4d9FkV8A2gwZCDJBxEM26ocbZCSTx9QC//wt6E/zRcdoqiJG
p4ECEdDaM+56l+yf73NUigO7wYkqcrzjmI1rZRDLVcqtj8Q9qD3MqsV+PkJGSGiqZwnyIl
QbfYxXHU9wLdWxhUbA/xOjJuZ15TQMa7KLs2u+RtrpQgeTGTffIh6O+xKh93gwTgzaZTK4
CQ1kuMrRdNRzza0byLeYPtSlv6Lv6F6dGtwlqrX5a+w/tV/aw9WUg/rapekKloz3tsPTDe
p866AFzU+Z7pVR1389iNuNJHQS7IUA2m0cciIuCM2we/tVqMPYJl+xgKAkuHDkBlMS4i8b
Wzyd+4EUMDGGZVeO+corKTLWFO1wIUieRkrUaCzjComGYZdzrQT2mXBcSKQNWlSCBpCHsk
/r5uTGnKpCNWfL7vd/sRCHyHKsxjsXR15C/5zgHmCTAaGOuIq0Rjo34+61+70PCtYXebxM
Wwm19e3eH2PudZd+rj1dedfr2/IrislEBRJWGLoR/N+xsvwVVM1Qqw1uL4r99CbZF9NghY
NRxCQOY/7K77II==
---- END SSH2 PUBLIC KEY ----quit
INFO: Import of an SSH public key formatted file SUCCEEDED.
ciscoasa(config-username)#
You can specify a public key file (PKF) formatted key (the pkf keyword) or a Base64 key (the publickey
keyword). For a publickey, the key is a Base64-encoded public key. You can generate the key using any
SSH key generation software (such as ssh keygen) that can generate SSH-RSA raw keys (with no
certificates).
For a pkf key, you are prompted to paste in a PKF formatted key, up to 4096 bits. Use this format for
keys that are too large to paste inline in Base64 format. For example, you can generate a 4096-bit key
using ssh keygen, then convert it to PKF, and use the pkf keyword to be prompted for the key.
Note
You can use the pkf option with failover, but the PKF key is not automatically replicated to the
standby system. You must enter the write standby command to synchronize the PKF key.
When you view the key on the ASA using the show running-config username command, the key is
encrypted using a SHA-256 hash. Even if you entered the key as pkf, the ASA hashes the key, and shows
it as a hashed publickey. If you need to copy the key from show output, specify the publickey type with
the hashed keyword.
28-6
Chapter 28
Step 5
(Optional) If you are using this username for VPN authentication, you can configure many VPN
attributes for the user. See the VPN configuration guide for more information.
Examples
The following example assigns a privilege level of 15 to the admin user account:
ciscoasa(config)# username admin password password privilege 15
The following example enables management authorization, creates a user account with a password,
enters username configuration mode, and specifies a service-type of nas-prompt:
ciscoasa(config)# aaa authorization exec authentication-server
ciscoasa(config)# username user1 password gOgeOus
ciscoasa(config)# username user1 attributes
ciscoasa(config-username)# service-type nas-prompt
Generate the ssh-rsa public and private keys for 4096 bits on your computer:
jcrichton-mac:~ john$ ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/john/.ssh/id_rsa):
/Users/john/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): pa$$phrase
Enter same passphrase again: pa$$phrase
Your identification has been saved in /Users/john/.ssh/id_rsa.
Your public key has been saved in /Users/john/.ssh/id_rsa.pub.
The key fingerprint is:
c0:0a:a2:3c:99:fc:00:62:f1:ee:fa:f8:ef:70:c1:f9 john@jcrichton-mac
The key's randomart image is:
+--[ RSA 4096]----+
| .
|
| o .
|
|+... o
|
|B.+.....
|
|.B ..+ S
|
| =
o
|
|
+ . E
|
| o o
|
| ooooo
|
+-----------------+
Step 2
28-7
Chapter 28
---- BEGIN SSH2 PUBLIC KEY ---Comment: "4096-bit RSA, converted by ramona@rboersma-mac from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAACAQDNUvkgza37lB/Q/fljpLAv1BbyAd5PJCJXh/U4LO
hleR/qgIROjpnDaS7Az8/+sjHmq0qXC5TXkzWihvRZbhefyPhPHCi0hIt4oUF2ZbXESA/8
jUT4ehXIUE7FrChffBBtbD4d9FkV8A2gwZCDJBxEM26ocbZCSTx9QC//wt6E/zRcdoqiJG
p4ECEdDaM+56l+yf73NUigO7wYkqcrzjmI1rZRDLVcqtj8Q9qD3MqsV+PkJGSGiqZwnyIl
QbfYxXHU9wLdWxhUbA/xOjJuZ15TQMa7KLs2u+RtrpQgeTGTffIh6O+xKh93gwTgzaZTK4
CQ1kuMrRdNRzza0byLeYPtSlv6Lv6F6dGtwlqrX5a+w/tV/aw9WUg/rapekKloz3tsPTDe
p866AFzU+Z7pVR1389iNuNJHQS7IUA2m0cciIuCM2we/tVqMPYJl+xgKAkuHDkBlMS4i8b
Wzyd+4EUMDGGZVeO+corKTLWFO1wIUieRkrUaCzjComGYZdzrQT2mXBcSKQNWlSCBpCHsk
/r5uTGnKpCNWfL7vd/sRCHyHKsxjsXR15C/5zgHmCTAaGOuIq0Rjo34+61+70PCtYXebxM
Wwm19e3eH2PudZd+rj1dedfr2/IrislEBRJWGLoR/N+xsvwVVM1Qqw1uL4r99CbZF9NghY
NRxCQOY/7K77IQ==
---- END SSH2 PUBLIC KEY ---jcrichton-mac:.ssh john$
Step 3
Step 4
Connect to the ASA CLI, and add the public key to your username:
ciscoasa(config)# username test attributes
ciscoasa(config-username)# ssh authentication pkf
Enter an SSH public key formatted file.
End with the word "quit" on a line by itself:
---- BEGIN SSH2 PUBLIC KEY ---Comment: "4096-bit RSA, converted by ramona@rboersma-mac from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAACAQDNUvkgza37lB/Q/fljpLAv1BbyAd5PJCJXh/U4LO
hleR/qgIROjpnDaS7Az8/+sjHmq0qXC5TXkzWihvRZbhefyPhPHCi0hIt4oUF2ZbXESA/8
jUT4ehXIUE7FrChffBBtbD4d9FkV8A2gwZCDJBxEM26ocbZCSTx9QC//wt6E/zRcdoqiJG
p4ECEdDaM+56l+yf73NUigO7wYkqcrzjmI1rZRDLVcqtj8Q9qD3MqsV+PkJGSGiqZwnyIl
QbfYxXHU9wLdWxhUbA/xOjJuZ15TQMa7KLs2u+RtrpQgeTGTffIh6O+xKh93gwTgzaZTK4
CQ1kuMrRdNRzza0byLeYPtSlv6Lv6F6dGtwlqrX5a+w/tV/aw9WUg/rapekKloz3tsPTDe
p866AFzU+Z7pVR1389iNuNJHQS7IUA2m0cciIuCM2we/tVqMPYJl+xgKAkuHDkBlMS4i8b
Wzyd+4EUMDGGZVeO+corKTLWFO1wIUieRkrUaCzjComGYZdzrQT2mXBcSKQNWlSCBpCHsk
/r5uTGnKpCNWfL7vd/sRCHyHKsxjsXR15C/5zgHmCTAaGOuIq0Rjo34+61+70PCtYXebxM
Wwm19e3eH2PudZd+rj1dedfr2/IrislEBRJWGLoR/N+xsvwVVM1Qqw1uL4r99CbZF9NghY
NRxCQOY/7K77IQ==
---- END SSH2 PUBLIC KEY ---quit
INFO: Import of an SSH public key formatted file completed successfully.
Step 5
The following dialog box appears for you to enter your passphrase:
28-8
Chapter 28
show aaa-server
This command shows the configured database statistics. To clear the AAA server configuration,
enter the clear aaa-server statistics command.
Feature Name
Platform
Releases
Description
7.0(1)
9.1(2)
28-9
Chapter 28
History for the Local Database
28-10
CH AP TE R
29
RSA RADIUS in RSA Authentication Manager 5.2, 6.1, 7.x, and 8.x.
Microsoft
Note
MS-CHAPv2For L2TP-over-IPsec connections, and for regular IPsec remote access connections
when the password management feature is enabled. You can also use MS-CHAPv2 with clientless
connections.
Authentication Proxy modesFor RADIUS-to Active-Directory, RADIUS-to-RSA/SDI, RADIUSto-Token server, and RSA/SDI-to-RADIUS connections,
To enable MS-CHAPv2 as the protocol used between the ASA and the RADIUS server for a VPN
connection, password management must be enabled in the tunnel group general attributes. Enabling
password management generates an MS-CHAPv2 authentication request from the ASA to the RADIUS
server. See the description of the password-management command for details.
29-1
Chapter 29
If you use double authentication and enable password management in the tunnel group, then the primary
and secondary authentication requests include MS-CHAPv2 request attributes. If a RADIUS server does
not support MS-CHAPv2, then you can configure that server to send a non-MS-CHAPv2 authentication
request by using the no mschapv2-capable command.
Cisco VSA (Cisco-Priv-Level), which provides a standard 0-15 numeric ranking of privileges, with
1 being the lowest level and 15 being the highest level. A zero level indicates no privileges. The first
level (login) allows privileged EXEC access for the commands available at this level. The second
level (enable) allows CLI configuration privileges.
Note
RADIUS attribute names do not contain the cVPN3000 prefix. Cisco Secure ACS 4.x supports this new
nomenclature, but attribute names in pre-4.0 ACS releases still include the cVPN3000 prefix. The ASAs
enforce the RADIUS attributes based on attribute numeric ID, not attribute name.
All attributes listed in the following table are downstream attributes that are sent from the RADIUS
server to the ASA except for the following attribute numbers: 146, 150, 151, and 152. These attribute
numbers are upstream attributes that are sent from the ASA to the RADIUS server. RADIUS attributes
29-2
Chapter 29
146 and 150 are sent from the ASA to the RADIUS server for authentication and authorization requests.
All four previously listed attributes are sent from the ASA to the RADIUS server for accounting start,
interim-update, and stop requests. Upstream RADIUS attributes 146, 150, 151, and 152 were introduced
in Version 8.4(3).
Cisco ACS 5.x and Cisco ISE do not support IPv6 framed IP addresses for IP address assignment using
RADIUS authentication in Version 9.0(1).
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
Access-Hours
String
Single
Access-List-Inbound
86
String
Single
ACL ID
Access-List-Outbound
87
String
Single
ACL ID
Address-Pools
217
String
Single
Allow-Network-Extension-Mode
64
Boolean Single
0 = Disabled
1 = Enabled
Authenticated-User-Idle-Timeout
50
Integer
Single
1-35791394 minutes
Authorization-DN-Field
67
String
Single
66
Integer
Single
0 = No
1 = Yes
Authorization-Required
Description or Value
Authorization-Type
65
Integer
Single
0 = None
1 = RADIUS
2 = LDAP
Banner1
15
String
Single
Banner2
36
String
Single
Cisco-IP-Phone-Bypass
51
Integer
Single
0 = Disabled
1 = Enabled
Cisco-LEAP-Bypass
75
Integer
Single
0 = Disabled
1 = Enabled
29-3
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
Client Type
150
Integer
Single
Client-Type-Version-Limiting
77
String
Single
DHCP-Network-Scope
61
String
Single
IP Address
Extended-Authentication-On-Rekey
122
Integer
Single
0 = Disabled
1 = Enabled
Group-Policy
25
String
Single
Description or Value
IE-Proxy-Bypass-Local
83
Integer
Single
0 = None
1 = Local
IE-Proxy-Exception-List
82
String
Single
133
String
Single
IE-Proxy-Server
80
String
Single
IP address
IE-Proxy-Server-Policy
81
Integer
Single
1 = No Modify
2 = No Proxy
3 = Auto detect
4 = Use Concentrator Setting
IE-Proxy-PAC-URL
IKE-KeepAlive-Confidence-Interval
68
Integer
Single
10-300 seconds
IKE-Keepalive-Retry-Interval
84
Integer
Single
2-10 seconds
IKE-Keep-Alives
41
Boolean Single
0 = Disabled
1 = Enabled
Intercept-DHCP-Configure-Msg
62
Boolean Single
0 = Disabled
1 = Enabled
IPsec-Allow-Passwd-Store
16
Boolean Single
0 = Disabled
1 = Enabled
29-4
Chapter 29
Table 29-1
Attribute Name
Syntax/
Type
Single
or
MultiValued
13
Integer
Single
Attr.
ASA No.
IPsec-Authentication
Description or Value
0 = None
1 = RADIUS
2 = LDAP (authorization only)
3 = NT Domain
4 = SDI
5 = Internal
6 = RADIUS with Expiry
7 = Kerberos/Active Directory
IPsec-Auth-On-Rekey
42
Boolean Single
0 = Disabled
1 = Enabled
IPsec-Backup-Server-List
60
String
Single
IPsec-Backup-Servers
59
String
Single
57
String
Single
IPsec-Client-Firewall-Filter-Name
IPsec-Client-Firewall-Filter-Optional
58
Integer
Single
0 = Required
1 = Optional
IPsec-Default-Domain
28
String
Single
IPsec-IKE-Peer-ID-Check
40
Integer
Single
1 = Required
2 = If supported by peer certificate
3 = Do not check
IPsec-IP-Compression
39
Integer
Single
0 = Disabled
1 = Enabled
IPsec-Mode-Config
31
Boolean Single
0 = Disabled
1 = Enabled
IPsec-Over-UDP
34
Boolean Single
0 = Disabled
1 = Enabled
IPsec-Over-UDP-Port
35
Integer
Single
IPsec-Required-Client-Firewall-Capability
56
Integer
Single
0 = None
1 = Policy defined by remote FW
Are-You-There (AYT)
2 = Policy pushed CPP
4 = Policy from server
12
String
Single
29
String
Single
IPsec-Sec-Association
IPsec-Split-DNS-Names
29-5
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
IPsec-Split-Tunneling-Policy
55
Integer
Single
0 = No split tunneling
1 = Split tunneling
2 = Local LAN permitted
IPsec-Split-Tunnel-List
27
String
Single
IPsec-Tunnel-Type
30
Integer
Single
1 = LAN-to-LAN
2 = Remote access
33
Boolean Single
0 = Disabled
1 = Enabled
IPsec-User-Group-Lock
Description or Value
IPv6-Address-Pools
218
String
Single
IPv6-VPN-Filter
219
String
Single
ACL value
L2TP-Encryption
21
Integer
Single
Bitmap:
1 = Encryption required
2 = 40 bits
4 = 128 bits
8 = Stateless-Req
15= 40/128-Encr/Stateless-Req
L2TP-MPPC-Compression
38
Integer
Single
0 = Disabled
1 = Enabled
145
String
Single
Member-Of
Engineering, Sales
63
Boolean Single
An IP address
NAC-Default-ACL
92
String
ACL
NAC-Enable
89
Integer
Single
0 = No
1 = Yes
NAC-Revalidation-Timer
91
Integer
Single
300-86400 seconds
141
String
Single
90
Integer
Single
30-1800 seconds
88
Boolean Single
0 = No
1 = Yes
20
Integer
Bitmap:
1 = Encryption required
2 = 40 bits
4 = 128 bits
8 = Stateless-Required
15= 40/128-Encr/Stateless-Req
NAC-Settings
NAC-Status-Query-Timer
Perfect-Forward-Secrecy-Enable
PPTP-Encryption
29-6
Single
Chapter 29
Table 29-1
Attribute Name
Syntax/
Type
Single
or
MultiValued
37
Integer
Single
0 = Disabled
1 = Enabled
Attr.
ASA No.
PPTP-MPPC-Compression
Description or Value
Primary-DNS
String
Single
An IP address
Primary-WINS
String
Single
An IP address
Privilege-Level
220
Integer
Single
Required-Client- Firewall-Vendor-Code
45
Integer
Single
Required-Client-Firewall-Description
47
String
Single
String
Required-Client-Firewall-Product-Code
46
Integer
Single
Required-Individual-User-Auth
49
Integer
Single
0 = Disabled
1 = Enabled
Require-HW-Client-Auth
48
Boolean Single
0 = Disabled
1 = Enabled
Secondary-DNS
String
Single
An IP address
Secondary-WINS
String
Single
An IP address
Integer
Single
Not used
152
Integer
Single
0 = None
1 = Clientless
2 = Client
3 = Client Only
SEP-Card-Assignment
Session Subtype
29-7
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
Session Type
151
Integer
Single
0 = None
1 = AnyConnect Client SSL VPN
2 = AnyConnect Client IPSec VPN (IKEv2)
3 = Clientless SSL VPN
4 = Clientless Email Proxy
5 = Cisco VPN Client (IKEv1)
6 = IKEv1 LAN-LAN
7 = IKEv2 LAN-LAN
8 = VPN Load Balancing
Simultaneous-Logins
Integer
Single
0-2147483647
Smart-Tunnel
136
String
Single
Smart-Tunnel-Auto
138
Integer
Single
0 = Disabled
1 = Enabled
2 = AutoStart
Smart-Tunnel-Auto-Signon-Enable
139
String
Single
Strip-Realm
135
Boolean Single
0 = Disabled
1 = Enabled
SVC-Ask
131
String
Single
0 = Disabled
1 = Enabled
3 = Enable default service
5 = Enable default clientless
(2 and 4 not used)
SVC-Ask-Timeout
132
Integer
Single
5-120 seconds
SVC-DPD-Interval-Client
108
Integer
Single
0 = Off
5-3600 seconds
SVC-DPD-Interval-Gateway
109
Integer
Single
0 = Off)
5-3600 seconds
SVC-DTLS
123
Integer
Single
0 = False
1 = True
SVC-Keepalive
107
Integer
Single
0 = Off
15-600 seconds
SVC-Modules
127
String
Single
SVC-MTU
125
Integer
Single
MTU value
256-1406 in bytes
SVC-Profiles
128
String
Single
SVC-Rekey-Time
110
Integer
Single
0 = Disabled
1-10080 minutes
146
String
Single
1-253 characters
Tunnel-Group-Lock
85
String
Single
29-8
Description or Value
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
Tunneling-Protocols
11
Integer
Single
17
Boolean Single
0 = Disabled
1 = Enabled
Use-Client-Address
Description or Value
1 = PPTP
2 = L2TP
4 = IPSec (IKEv1)
8 = L2TP/IPSec
16 = WebVPN
32 = SVC
64 = IPsec (IKEv2)
8 and 4 are mutually exclusive.
0 - 11, 16 - 27, 32 - 43, 48 - 59 are legal
values.
VLAN
140
Integer
Single
0-4094
WebVPN-Access-List
73
String
Single
Access-List name
WebVPN ACL
73
String
Single
WebVPN-ActiveX-Relay
137
Integer
Single
0 = Disabled
Otherwise = Enabled
WebVPN-Apply-ACL
102
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Auto-HTTP-Signon
124
String
Single
Reserved
WebVPN-Citrix-Metaframe-Enable
101
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Content-Filter-Parameters
69
Integer
Single
1 = Java ActiveX
2 = Java Script
4 = Image
8 = Cookies in images
WebVPN-Customization
113
String
Single
WebVPN-Default-Homepage
76
String
Single
WebVPN-Deny-Message
116
String
Single
WebVPN-Download_Max-Size
157
Integer
Single
0x7fffffff
WebVPN-File-Access-Enable
94
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-File-Server-Browsing-Enable
96
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-File-Server-Entry-Enable
95
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Group-based-HTTP/HTTPS-Proxy
-Exception-List
78
String
Single
29-9
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
WebVPN-Hidden-Shares
126
Integer
Single
WebVPN-Home-Page-Use-Smart-Tunnel
228
Boolean Single
WebVPN-HTML-Filter
69
Bitmap
Single
1 = Java ActiveX
2 = Scripts
4 = Image
8 = Cookies
WebVPN-HTTP-Compression
120
Integer
Single
0 = Off
1 = Deflate Compression
WebVPN-HTTP-Proxy-IP-Address
74
String
Single
WebVPN-Idle-Timeout-Alert-Interval
148
Integer
Single
0-30. 0 = Disabled.
WebVPN-Keepalive-Ignore
121
Integer
Single
0-900
WebVPN-Macro-Substitution
223
String
Single
Description or Value
0 = None
1 = Visible
http://www.cisco.com/en/US/docs/security/
asa/asa80/asdm60/ssl_vpn_deployment_gui
de/deploy.html
WebVPN-Macro-Substitution
224
String
Single
WebVPN-Port-Forwarding-Enable
97
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Port-Forwarding-Exchange-ProxyEnable
98
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Port-Forwarding-HTTP-Proxy
99
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-Port-Forwarding-List
72
String
Single
WebVPN-Port-Forwarding-Name
79
String
Single
WebVPN-Post-Max-Size
159
Integer
Single
0x7fffffff
WebVPN-Session-Timeout-Alert-Interval
149
Integer
Single
0-30. 0 = Disabled.
29-10
Chapter 29
Table 29-1
Single
or
MultiValued
Attribute Name
Attr.
ASA No.
Syntax/
Type
WebVPN Smart-Card-Removal-Disconnect
225
Boolean Single
0 = Disabled
1 = Enabled
WebVPN-Smart-Tunnel
136
String
Single
WebVPN-Smart-Tunnel-Auto-Sign-On
139
String
Single
WebVPN-Smart-Tunnel-Auto-Start
138
Integer
Single
0 = Disabled
1 = Enabled
2 = Auto Start
WebVPN-Smart-Tunnel-Tunnel-Policy
227
String
Single
WebVPN-SSL-VPN-Client-Enable
103
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-SSL-VPN-Client-KeepInstallation
105
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-SSL-VPN-Client-Required
104
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-SSO-Server-Name
114
String
Single
Valid string
WebVPN-Storage-Key
162
String
Single
WebVPN-Storage-Objects
161
String
Single
WebVPN-SVC-Keepalive-Frequency
107
Integer
Single
WebVPN-SVC-Client-DPD-Frequency
108
Integer
Single
WebVPN-SVC-DTLS-Enable
123
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-SVC-DTLS-MTU
125
Integer
Single
WebVPN-SVC-Gateway-DPD-Frequency
109
Integer
Single
WebVPN-SVC-Rekey-Time
110
Integer
Single
WebVPN-SVC-Rekey-Method
111
Integer
Single
WebVPN-SVC-Compression
112
Integer
Single
WebVPN-UNIX-Group-ID (GID)
222
Integer
Single
WebVPN-UNIX-User-ID (UIDs)
221
Integer
Single
WebVPN-Upload-Max-Size
158
Integer
Single
0x7fffffff
WebVPN-URL-Entry-Enable
93
Integer
Single
0 = Disabled
1 = Enabled
WebVPN-URL-List
71
String
Single
Description or Value
29-11
Chapter 29
Table 29-1
Attribute Name
Attr.
ASA No.
Syntax/
Type
Single
or
MultiValued
WebVPN-User-Storage
160
String
Single
WebVPN-VDI
163
String
Single
Description or Value
List of settings
Attribute Name
Attr.
ASA No.
IETF-Radius-Class
Syntax/
Type
25
Single or
MultiValued
Description or Value
Single
IETF-Radius-Filter-Id
11
String
Single
IETF-Radius-Framed-IP-Address
n/a
String
Single
An IP address
IETF-Radius-Framed-IP-Netmask
n/a
String
Single
An IP address mask
IETF-Radius-Idle-Timeout
28
Integer
Single
Seconds
IETF-Radius-Service-Type
Integer
Single
IETF-Radius-Session-Timeout
27
Integer
Single
Seconds
29-12
Chapter 29
The AAA server must use an IPv4 address, but endpoints can use IPv6.
Additional Guidelines
You can have up to 100 server groups in single mode or 4 server groups per context in multiple mode.
Each group can have up to 16 servers in single mode or 4 servers in multiple mode.
Related Topics
29-13
Chapter 29
Load the ASA attributes into the RADIUS server. The method that you use to load the attributes depends
on which type of RADIUS server that you are using:
If you are using Cisco ACS: the server already has these attributes integrated. You can skip this step.
For RADIUS servers from other vendors (for example, Microsoft Internet Authentication Service):
you must manually define each ASA attribute. To define an attribute, use the attribute name or
number, type, value, and vendor code (3076).
Step 2
Add a RADIUS server group. See Configure RADIUS Server Groups, page 29-14.
Step 3
For a server group, add a server to the group. See Add a RADIUS Server to a Group, page 29-17.
Example:
ciscoasa(config)# aaa-server servergroup1 protocol radius
ciscoasa(config-aaa-server-group)#
When you enter the aaa-server protocol command, you enter aaa-server group configuration mode.
Step 2
Merge a downloadable ACL with the ACL received in the Cisco AV pair from a RADIUS packet.
merge-dacl {before-avpair | after-avpair}
Example:
ciscoasa(config-aaa-server-group)# merge-dacl before-avpair
The default setting is no merge dacl, which specifies that downloadable ACLs will not be merged with
Cisco AV pair ACLs. If both an AV pair and a downloadable ACL are received, the AV pair has priority
and is used.
The before-avpair option specifies that the downloadable ACL entries should be placed before the Cisco
AV pair entries.
29-14
Chapter 29
The after-avpair option specifies that the downloadable ACL entries should be placed after the Cisco
AV pair entries. This option applies only to VPN connections. For VPN users, ACLs can be in the form
of Cisco AV pair ACLs, downloadable ACLs, and an ACL that is configured on the ASA. This option
determines whether or not the downloadable ACL and the AV pair ACL are merged, and does not apply
to any ACLs configured on the ASA.
Step 3
Specify the maximum number of requests that can be sent to a RADIUS server in the group before the
ASA tries the next server.
max-failed-attempts number
Example:
ciscoasa(config-aaa-server-group)# max-failed-attempts 2
Specify the method (reactivation policy) by which failed servers in a group are reactivated.
reactivation-mode {depletion [deadtime minutes] | timed}
Example:
ciscoasa(config-aaa-server-group)# reactivation-mode deadtime 20
The depletion keyword reactivates failed servers only after all of the servers in the group are inactive.
The deadtime minutes keyword-argument pair specifies the amount of time in minutes, between 0 and
1440, that elapses between the disabling of the last server in the group and the subsequent reenabling of
all servers. The default is 10 minutes.
The timed keyword reactivates failed servers after 30 seconds of down time.
Step 5
Example:
ciscoasa(config-aaa-server-group)# accounting-mode simultaneous
Enter the accounting-mode single command to restore the default of sending messages only to the active
server.
Step 6
Identify the server and the AAA server group to which it belongs.
aaa-server server_group [interface_name] host server_ip
Example:
ciscoasa(config)# aaa-server servergroup1 outside host 10.10.1.1
When you enter the aaa-server host command, you enter aaa-server host configuration mode.
Step 7
Enable the RADIUS Dynamic Authorization (CoA) services for the AAA server group.
dynamic-authorization {port port-number}
Example:
29-15
Chapter 29
Once defined, the corresponding RADIUS server group will be registered for CoA notification and the
ASA will listen to the port for the CoA policy updates from ISE.
The valid range of the CoA listening port-number is 1 to 65535.
If the port number or interface specified in the no form of this command does not match a line in the
current configuration, an error message appears.
Step 8
Example:
ciscoasa(config-aaa-server-group)# authorize-only
When this server group is used for authorization, the RADIUS Access Request message will be built as
an Authorize Only request instead of the configured password methods that are available now.
The Authorize-Only request includes a Service-Type attribute with value Authorize-Only (17) and
message authenticator within the Access-Request.
The support of the authorize-only mode eliminates the need of including the RADIUS common password
in the Access-Request. Thus, it does not require the configuration of common password using the
radius-common-pw CLI in the aaa-server-host mode.
Note
Step 9
The authorize-only mode is configured for the server group; however, the common password is
host-specific. Thus, once authorize-only mode is configured, the common password configured
for an individual AAA server would be ignored.
Switch off hostscan processing for connections that are made to a specific tunnel group.
without-csd {anyconnect}
Example:
ciscoasa(config-tunnel-webvpn)# without-csd anyconnect
This setting currently applies to clientless and Layer 3 connections. This command has been modified
to allow this setting to be applied to AnyConnect connections only.
Examples
The following example shows how to add one RADIUS group with a single server:
ciscoasa(config)# aaa-server AuthOutbound protocol radius
ciscoasa(config-aaa-server-group)# exit
ciscoasa(config)# aaa-server AuthOutbound (inside) host 10.1.1.3
ciscoasa(config-aaa-server-host)# key RadUauthKey
ciscoasa(config-aaa-server-host)# exit
The following example shows how to configure an ISE server object for authorization-only, dynamic
authorization (CoA) updates, and hourly periodic accounting:
ciscoasa(config)# aaa-server ise protocol radius
ciscoasa(config-aaa-server-group)# authorize-only
ciscoasa(config-aaa-server-group)# interim-accounting-update periodic 1
ciscoasa(config-aaa-server-group)# dynamic-authorization
ciscoasa(config-aaa-server-group)# exit
29-16
Chapter 29
ciscoasa(config-aaa-server-group)# authorize-only
ciscoasa(config)# aaa-server ise (inside) host 10.1.1.3
ciscoasa(config-aaa-server-host)# key sharedsecret
ciscoasa(config-aaa-server-host)# exit
The following example shows how to configure a tunnel group for password authentication with ISE:
ciscoasa(config)# tunnel-group aaa-coa general-attributes
ciscoasa(config-tunnel-general)# address-pool vpn
ciscoasa(config-tunnel-general)# authentication-server-group ise
ciscoasa(config-tunnel-general)# accounting-server-group ise
ciscoasa(config-tunnel-general)# exit
The following example shows how to configure a tunnel group for local certificate validation and
authorization with ISE:
ciscoasa(config)# tunnel-group aaa-coa general-attributes
ciscoasa(config-tunnel-general)# address-pool vpn
ciscoasa(config-tunnel-general)# authentication certificate
ciscoasa(config-tunnel-general)# authorization-server-group ise
ciscoasa(config-tunnel-general)# accounting-server-group ise
ciscoasa(config-tunnel-general)# exit
Identify the RADIUS server and the AAA server group to which it belongs.
aaa-server server_group [interface_name] host server_ip
Example:
ciscoasa(config-aaa-server-group)# aaa-server servergroup1 outside host 10.10.1.1
When you enter the aaa-server host command, you enter aaa-server host configuration mode.
Step 2
Specify how the ASA treats netmasks received in a downloadable ACL from a RADIUS server that is
accessed by using the aaa-server host command.
acl-netmask-convert {auto-detect | standard | wildcard}
Example:
ciscoasa(config-aaa-server-host)# acl-netmask-convert standard
The auto-detect keyword specifies that the ASA should attempt to determine the type of netmask
expression used. If the ASA detects a wildcard netmask expression, it converts it to a standard netmask
expression.
The standard keyword specifies that the ASA assumes downloadable ACLs received from the RADIUS
server contain only standard netmask expressions. No translation from wildcard netmask expressions is
performed.
The wildcard keyword specifies that the ASA assumes downloadable ACLs received from the RADIUS
server contain only wildcard netmask expressions and converts them all to standard netmask expressions
when the ACLs are downloaded.
29-17
Chapter 29
Step 3
Specify a common password to be used for all users who are accessing a RADIUS authorization server
through the ASA.
radius-common-pw string
Example:
ciscoasa(config-aaa-server-host)# radius-common-pw examplepassword123abc
Example:
ciscoasa(config-aaa-server-host)# mschapv2-capable
Step 5
Specify the length of time, in seconds, that the ASA waits for a response from the primary server before
sending the request to the backup server.
timeout hh:mm:ss
Example:
ciscoasa(config-aaa-server-host)# timeout 15
Step 6
Configure the amount of time between retry attempts for a particular AAA server designated in a
previous aaa-server host command.
retry-interval seconds
Example:
ciscoasa(config-aaa-server-host)# retry-interval 8
The seconds argument specifies the retry interval (1-10 seconds) for the request. This is the time that the
ASA waits before retrying a connection request.
Note
Step 7
The interval between subsequent retries will always be 50 or 100 milliseconds, regardless of the
retry-interval settings you have entered. This is the intended behavior.
Example:
ciscoasa(config-aaa-server-group)# accounting-mode simultaneous
Enter the accounting-mode single command to restore the default of sending messages only to the active
server.
Step 8
Specify the authentication port as port number1645, or the server port to be used for authentication of
users.
authentication-port port
Example:
ciscoasa(config-aaa-server-host)# accounting-port 1646
29-18
Chapter 29
Step 9
Specify the accounting port as port number 1646, or the server port to be used for accounting for this
host.
accounting-port port
Example:
ciscoasa(config-aaa-server-host)# accounting-port 1646
Step 10
Specify the server secret value used to authenticate the RADIUS server to the ASA. The server secret
that you configure should match the one configured on the RADIUS server. If you do not know the server
secret value, ask the RADIUS server administrator. The maximum length is 64 characters.
key
Example:
ciscoasa(config-aaa-host)# key myexamplekey1
The server secret that you configure should match the one configured on the RADIUS server. If you do
not know the server secret value, ask the RADIUS server administrator. The maximum length is 64
characters.
Examples
The following example shows how to add a RADIUS server to an existing RADIUS server group:
ciscoasa(config)# aaa-server svrgrp1 protocol radius
ciscoasa(config-aaa-server-group)# aaa-server svrgrp1 host 192.168.3.4
ciscoasa(config-aaa-server-host)# acl-netmask-convert wildcard
ciscoasa(config-aaa-server-host)# radius-common-pw myexaplepasswordabc123
ciscoasa(config-aaa-server-host)# mschapv2-capable
ciscoasa(config-aaa-server-host)# timeout 9
ciscoasa(config-aaa-server-host)# retry-interval 7
ciscoasa(config-aaa-server-host)# accounting-mode simultaneous
ciscoasa(config-aaa-server-host)# authentication-port 1650
ciscoasa(config-aaa-server-host)# authorization-port 1645
ciscoasa(config-aaa-server-host)# key mysecretkeyexampleiceage2
ciscoasa(config-aaa-server-host)# exit
ciscoasa(config)#
show aaa-server
This command shows the configured RADIUS server statistics.
29-19
Chapter 29
Table 29-3
Feature Name
Platform
Releases
Description
7.0(1)
29-20
CH AP TE R
30
TACACS+ Attributes
The Cisco ASA provides support for TACACS+ attributes. TACACS+ attributes separate the functions
of authentication, authorization, and accounting. The protocol supports two types of attributes:
mandatory and optional. Both the server and client must understand a mandatory attribute, and the
mandatory attribute must be applied to the user. An optional attribute may or may not be understood or
used.
Note
To use TACACS+ attributes, make sure that you have enabled AAA services on the NAS.
The following table lists supported TACACS+ authorization response attributes for cut-through-proxy
connections.
Table 30-1
Attribute
Description
acl
30-1
Chapter 30
Table 30-1
Attribute
Description
idletime
timeout
Table 30-2
Attribute
Description
bytes_in
Specifies the number of input bytes transferred during this connection (stop
records only).
bytes_out
Specifies the number of output bytes transferred during this connection (stop
records only).
cmd
disc-cause
Indicates the numeric code that identifies the reason for disconnecting (stop
records only).
elapsed_time
Defines the elapsed time in seconds for the connection (stop records only).
foreign_ip
Specifies the IP address of the client for tunnel connections. Defines the address
on the lowest security interface for cut-through-proxy connections.
local_ip
Specifies the IP address that the client connected to for tunnel connections. Defines
the address on the highest security interface for cut-through-proxy connections.
NAS port
packs_in
packs_out
priv-level
Set to the user privilege level for command accounting requests or to 1 otherwise.
rem_iddr
service
Specifies the service used. Always set to shell for command accounting only.
task_id
username
The AAA server must use an IPv4 address, but endpoints can use IPv6.
30-2
Chapter 30
Additional Guidelines
You can have up to 100 server groups in single mode or 4 server groups per context in multiple mode.
Each group can have up to 16 servers in single mode or 4 servers in multiple mode.
Related Topics
Add a TACACS+ server group. See Configure TACACS+ Server Groups, page 30-3.
Step 2
For a server group, add a server to the group. See Add a TACACS+ Server to a Group, page 30-4.
Example:
ciscoasa(config)# aaa-server servergroup1 protocol tacacs+
When you enter the aaa-server protocol command, you enter aaa-server group configuration mode.
Step 2
Specify the maximum number of requests sent to a AAA server in the group before trying the next server.
max-failed-attempts number
Example:
ciscoasa(config-aaa-server-group)# max-failed-attempts 2
30-3
Chapter 30
default), so that additional AAA requests within that period do not attempt to contact the server group,
and the fallback method is used immediately. To change the unresponsive period from the default, see
the reactivation-mode command in the next step.
If you do not have a fallback method, the ASA continues to retry the servers in the group.
Step 3
Specify the method (reactivation policy) by which failed servers in a group are reactivated.
reactivation-mode {depletion [deadtime minutes] | timed}
Example:
ciscoasa(config-aaa-server-group)# reactivation-mode deadtime 20
The depletion keyword reactivates failed servers only after all of the servers in the group are inactive.
The deadtime minutes keyword-argument pair specifies the amount of time in minutes, between 0 and
1440, that elapses between the disabling of the last server in the group and the subsequent reenabling of
all servers. The default is 10 minutes.
The timed keyword reactivates failed servers after 30 seconds of down time.
Step 4
Example:
ciscoasa(config-aaa-server-group)# accounting-mode simultaneous
To restore the default of sending messages only to the active server, enter the accounting-mode single
command.
Examples
The following example shows how to add one TACACS+ group with one primary and one backup server:
ciscoasa(config)# aaa-server AuthInbound protocol tacacs+
ciscoasa(config-aaa-server-group)# max-failed-attempts 2
ciscoasa(config-aaa-server-group)# reactivation-mode depletion deadtime 20
ciscoasa(config-aaa-server-group)# exit
ciscoasa(config)# aaa-server AuthInbound (inside) host 10.1.1.1
ciscoasa(config-aaa-server-host)# key TACPlusUauthKey
ciscoasa(config-aaa-server-host)# exit
ciscoasa(config)# aaa-server AuthInbound (inside) host 10.1.1.2
ciscoasa(config-aaa-server-host)# key TACPlusUauthKey2
ciscoasa(config-aaa-server-host)# exit
Identify the TACACS+ server and the server group to which it belongs.
aaa-server server_group [interface_name] host server_ip
Example:
30-4
Chapter 30
When you enter the aaa-server host command, you enter aaa-server host configuration mode.
Step 2
Specify the length of time, in seconds, that the ASA waits for a response from the primary server before
sending the request to the backup server.
timeout hh:mm:ss
Example:
ciscoasa(config-aaa-server-host)# timeout 15
Step 3
Specify the server port as port number 49, or the TCP port number used by the ASA to communicate
with the TACACS+ server.
server-port port_number
Example:
ciscoasa(config-aaa-server-host)# server-port 49
Step 4
Specify the server secret value used to authenticate the NAS to the TACACS+ server.
key
Example:
ciscoasa(config-aaa-host)# key myexamplekey1
This value is a case-sensitive, alphanumeric keyword of up to 127 characters, which is the same value
as the key on the TACACS+ server. Any characters over 127 are ignored. The key is used between the
client and the server to encrypt data between them and must be the same on both the client and server
systems. The key cannot contain spaces, but other special characters are allowed.
show aaa-server
This command shows the configured TACACS+ server statistics. Enter the clear aaa-server
statistics command to clear the TACACS+ server statistics.
30-5
Chapter 30
Feature Name
Platform
Releases
Description
TACACS+ Servers
7.0(1)
30-6
CH AP TE R
31
Sun Microsystems JAVA System Directory Server, now part of Oracle Directory Server Enterprise
Edition, and formerly named the Sun ONE Directory Server
Novell
OpenLDAP
By default, the ASA autodetects whether it is connected to Microsoft Active Directory, Sun LDAP,
Novell, OpenLDAP, or a generic LDAPv3 directory server. However, if autodetection fails to determine
the LDAP server type, you can manually configure it.
Digest-MD5The ASA responds to the LDAP server with an MD5 value computed from the
username and password.
KerberosThe ASA responds to the LDAP server by sending the username and realm using the
GSSAPI Kerberos mechanism.
31-1
Chapter 31
The ASA and LDAP server supports any combination of these SASL mechanisms. If you configure
multiple mechanisms, the ASA retrieves the list of SASL mechanisms that are configured on the server,
and sets the authentication mechanism to the strongest one configured on both the ASA and the server.
For example, if both the LDAP server and the ASA support both mechanisms, the ASA selects Kerberos,
the stronger of the two.
When user LDAP authentication has succeeded, the LDAP server returns the attributes for the
authenticated user. For VPN authentication, these attributes generally include authorization data that is
applied to the VPN session. In this case, using LDAP accomplishes authentication and authorization in
a single step.
Note
For more information about LDAP, see RFCs 1777, 2251, and 2849.
LDAP Hierarchy
Your LDAP configuration should reflect the logical hierarchy of your organization. For example,
suppose an employee at your company, Example Corporation, is named Employee1. Employee1 works
in the Engineering group. Your LDAP hierarchy could have one or many levels. You might decide to set
up a single-level hierarchy in which Employee1 is considered a member of Example Corporation. Or you
could set up a multi-level hierarchy in which Employee1 is considered to be a member of the department
Engineering, which is a member of an organizational unit called People, which is itself a member of
Example Corporation. See the following figure for an example of a multi-level hierarchy.
A multi-level hierarchy has more detail, but searches return results more quickly in a single-level
hierarchy.
Figure 31-1
Marketing
cn=User2
cn=User3
HR
Groups/Departments
cn=User4 Users
330368
cn=User1
OU=Organization Units
Equipment
People
Engineering
Root/Top
31-2
Chapter 31
LDAP Base DN defines where in the LDAP hierarchy that the server should begin searching for user
information when it receives an authorization request from the ASA.
Search Scope defines the extent of the search in the LDAP hierarchy. The search proceeds this many
levels in the hierarchy below the LDAP Base DN. You can choose to have the server search only the
level immediately below it, or it can search the entire subtree. A single level search is quicker, but
a subtree search is more extensive.
Naming Attribute(s) defines the RDN that uniquely identifies an entry in the LDAP server. Common
naming attributes can include cn (Common Name), sAMAccountName, and userPrincipalName.
The figure shows a sample LDAP hierarchy for Example Corporation. Given this hierarchy, you could
define your search in different ways. The following table shows two sample search configurations.
In the first example configuration, when Employee1 establishes the IPsec tunnel with LDAP
authorization required, the ASA sends a search request to the LDAP server, indicating it should search
for Employee1 in the Engineering group. This search is quick.
In the second example configuration, the ASA sends a search request indicating that the server should
search for Employee1 within Example Corporation. This search takes longer.
Table 31-1
Search
Scope
Naming
Attribute
Result
dc=ExampleCorporation,dc=com
Subtree
SASL Kerberos
Note
As an LDAP client, the ASA does not support the transmission of anonymous binds or requests.
31-3
Chapter 31
Setting policy permissions (also called authorization attributes), such as ACLs, bookmark lists, DNS
or WINS settings, and session timers.
The ASA uses LDAP attribute maps to translate native LDAP user attributes to Cisco ASA attributes.
You can bind these attribute maps to LDAP servers or remove them. You can also show or clear attribute
maps.
The LDAP attribute map does not support multi-valued attributes. For example, if a user is a member of
several AD groups, and the LDAP attribute map matches more than one group, the value chosen is based
on the alphabetization of the matched entries.
To use the attribute mapping features correctly, you need to understand LDAP attribute names and
values, as well as the user-defined attribute names and values.
The names of frequently mapped LDAP attributes and the type of user-defined attributes that they would
commonly be mapped to include the following:
IETF-Radius-Class (Group_Policy in ASA version 8.2 and later)Sets the group policy based on
the directory department or user group (for example, Microsoft Active Directory memberOf)
attribute value. The group policy attribute replaced the IETF-Radius-Class attribute with ASDM
version 6.2/ASA version 8.2 or later.
IETF-Radius-Filter-IdApplies an access control list or ACL to VPN clients, IPsec, and SSL.
Banner1Displays a text banner when the VPN remote access user logs in.
Tunneling-ProtocolsAllows or denies the VPN remote access session based on the access type.
Note
A single LDAP attribute map may contain one or many attributes. You can only map one LDAP
attribute from a specific LDAP server.
The AAA server must use an IPv4 address, but endpoints can use IPv6.
Additional Guidelines
The DN configured on the ASA to access a Sun directory server must be able to access the default
password policy on that server. We recommend using the directory administrator, or a user with
directory administrator privileges, as the DN. Alternatively, you can place an ACL on the default
password policy.
31-4
Chapter 31
You must configure LDAP over SSL to enable password management with Microsoft Active
Directory and Sun servers.
The ASA does not support password management with Novell, OpenLDAP, and other LDAPv3
directory servers.
The VPN 3000 concentrator and the ASA/PIX 7.0 software required a Cisco LDAP schema for
authorization operations. Beginning with Version 7.1(x), the ASA performs authentication and
authorization using the native LDAP schema, and the Cisco schema is no longer needed.
You can have up to 100 LDAP server groups in single mode or 4 LDAP server groups per context in
multiple mode.
Each group can have up to 16 LDAP servers in single mode or 4 LDAP servers in multiple mode.
When a user logs in, the LDAP servers are accessed one at a time, starting with the first server that
you specify in the configuration, until a server responds. If all servers in the group are unavailable,
the ASA tries the local database if you configured it as a fallback method (management
authentication and authorization only). If you do not have a fallback method, the ASA continues to
try the LDAP servers.
Configure LDAP attribute maps. See Configure LDAP Attribute Maps, page 31-5.
Step 2
Add an LDAP server group. See Configure LDAP Server Groups, page 31-7.
Step 3
(Optional) Configure authorization from an LDAP server that is separate and distinct from the
authentication mechanism. See Configure Authorization with LDAP for VPN, page 31-9.
Example:
ciscoasa(config)# ldap attribute-map att_map_1
Step 2
Example:
ciscoasa(config-ldap-attribute-map)# map-name department IETF-Radius-Class
31-5
Chapter 31
Step 3
Map the user-defined map value department to the user-defined attribute value and the Cisco attribute
value.
map-value user-attribute-name Cisco-attribute-name
Example:
ciscoasa(config-ldap-attribute-map)# map-value department Engineering group1
Step 4
Identify the server and the AAA server group to which it belongs.
aaa-server server_group [interface_name] host server_ip
Example:
ciscoasa(config)# aaa-server ldap_dir_1 host 10.1.1.4
Step 5
Example:
ciscoasa(config-aaa-server-host)# ldap-attribute-map att_map_1
Examples
The following example shows how to limit management sessions to the ASA based on an LDAP attribute
called accessType. The accessType attribute may have one of these values:
VPN
admin
helpdesk
The following example shows how each value is mapped to one of the valid IETF-Radius-Service-Type
attributes that the ASA supports: remote-access (Service-Type 5) Outbound, admin (Service-Type 6)
Administrative, and nas-prompt (Service-Type 7) NAS Prompt.
ciscoasa(config)# ldap attribute-map
ciscoasa(config-ldap-attribute-map)#
ciscoasa(config-ldap-attribute-map)#
ciscoasa(config-ldap-attribute-map)#
ciscoasa(config-ldap-attribute-map)#
MGMT
map-name accessType IETF-Radius-Service-Type
map-value accessType VPN 5
map-value accessType admin 6
map-value accessType helpdesk 7
The following example shows how to display the complete list of Cisco LDAP attribute names:
ciscoasa(config)# ldap attribute-map att_map_1
ciscoasa(config-ldap-attribute-map)# map-name att_map_1?
ldap mode commands/options:
cisco-attribute-names:
Access-Hours
31-6
Chapter 31
Allow-Network-Extension-Mode
Auth-Service-Type
Authenticated-User-Idle-Timeout
Authorization-Required
Authorization-Type
:
:
X509-Cert-Data
ciscoasa(config-ldap-attribute-map)#
You must add an attribute map before you may add an LDAP server to an LDAP server group.
To create and configure an LDAP server group, then add an LDAP server to that group, perform the
following steps:
Procedure
Step 1
Example:
ciscoasa(config)# aaa-server servergroup1 protocol ldap
ciscoasa(config-aaa-server-group)#
When you enter the aaa-server protocol command, you enter aaa-server group configuration mode.
Step 2
Specify the maximum number of requests sent to an LDAP server in the group before trying the next
server.
max-failed-attempts number
Example:
ciscoasa(config-aaa-server-group)# max-failed-attempts 2
Specify the method (reactivation policy) by which failed servers in a group are reactivated.
reactivation-mode {depletion [deadtime minutes] | timed}
Example:
ciscoasa(config-aaa-server-group)# reactivation-mode deadtime 20
31-7
Chapter 31
The depletion keyword reactivates failed servers only after all of the servers in the group are inactive.
The deadtime minutes keyword-argument pair specifies the amount of time in minutes, between 0 and
1440, that elapses between the disabling of the last server in the group and the subsequent reenabling of
all servers. The default is 10 minutes.
The timed keyword reactivates failed servers after 30 seconds of down time.
Step 4
Identify the LDAP server and AAA server group to which it belongs.
aaa-server server_group [interface_name] host server_ip
Example:
ciscoasa(config)# aaa-server servergroup1 outside host 10.10.1.1
When you enter the aaa-server host command, you enter aaa-server host configuration mode. As
needed, use host configuration mode commands to further configure the AAA server.
The following table lists the available commands for LDAP servers, and whether or not a new LDAP
server definition has a default value for that command. If no default value is provided (indicated by
), use the command to specify the value.
Table 31-2
Command
Default Value
Description
ldap-attribute-map
ldap-base-dn
ldap-login-dn
ldap-login-password
ldap-naming-attribute
ldap-over-ssl
636
If not set, the ASA uses sAMAccountName for LDAP requests. Whether
using SASL or plain text, you can secure communications between the ASA
and the LDAP server with SSL. If you do not configure SASL, we strongly
recommend that you secure LDAP communications with SSL.
ldap-scope
sasl-mechanism
server-port
389
server-type
autodiscovery
If autodetection fails to determine the LDAP server type, and you know the
server is either a Microsoft, Sun or generic LDAP server, you can manually
configure the server type.
timeout
10 seconds
Examples
The following example shows how to configure an LDAP server group named watchdogs and add an
LDAP server to the group. Because the example does not define a retry interval or the port that the LDAP
server listens to, the ASA uses the default values for these two server-specific parameters.
ciscoasa(config)# aaa-server watchdogs protocol ldap
ciscoasa(config-aaa-server-group)# aaa-server watchdogs host 192.168.3.4
ciscoasa(config-aaa-server-host)# exit
31-8
Chapter 31
ciscoasa(config)#
Example:
ciscoasa(config)# tunnel-group remotegrp
Step 2
Example:
ciscoasa(config)# tunnel-group remotegrp general-attributes
Step 3
Assign a new tunnel group to a previously created AAA server group for authorization.
authorization-server-group group-tag
Example:
ciscoasa(config-general)# authorization-server-group ldap_dir_1
Examples
While there are other authorization-related commands and options available for specific requirements,
the following example shows commands for enabling user authorization with LDAP. The example then
creates an IPsec remote access tunnel group named remote-1, and assigns that new tunnel group to the
previously created ldap_dir_1 AAA server group for authorization:
ciscoasa(config)# tunnel-group remote-1 type ipsec-ra
ciscoasa(config)# tunnel-group remote-1 general-attributes
ciscoasa(config-general)# authorization-server-group ldap_dir_1
ciscoasa(config-general)#
After you complete this configuration work, you can then configure additional LDAP authorization
parameters such as a directory password, a starting point for searching a directory, and the scope of a
directory search by entering the following commands:
31-9
Chapter 31
show aaa-server
This command shows the configured AAA server statistics. Use the clear aaa-server statistics
command to clear the AAA server configuration.
Feature Name
Platform
Releases
7.0(1)
Description
LDAP Servers describe support for AAA and how to
configure LDAP servers.
We introduced the following commands:
username, aaa authorization exec authentication-server,
aaa authentication console LOCAL, aaa authorization
exec LOCAL, service-type, ldap attribute-map,
aaa-server protocol, aaa authentication {telnet | ssh |
serial} console LOCAL, aaa authentication http console
LOCAL, aaa authentication enable console LOCAL,
max-failed-attempts, reactivation-mode,
accounting-mode simultaneous, aaa-server host,
authorization-server-group, tunnel-group, tunnel-group
general-attributes, map-name, map-value,
ldap-attribute-map.
31-10
PART
System Administration
CH AP TE R
32
Management Access
This chapter describes how to access the Cisco ASA for system management through Telnet, SSH, and
HTTPS (using ASDM), how to authenticate and authorize users, and how to create login banners.
For the ASASM, a session from the switch to the ASASM is a Telnet session, but Telnet access
configuration according to this section is not required.
VPN Guidelines
Note
For the configurations that follow, 192.168.10.0/24 is the VPN pool for AnyConnect or IPsec VPN
clients. Each configuration allows VPN client users to connect to ASDM or SSH to the ASA using the
management interface IP address.
To allow only VPN client users access to ASDM or HTTP (and deny access to all other users), enter
the following commands:
ciscoasa(config)# http server enable
ciscoasa(config)# http 192.168.10.0 255.255.255.0 management_interface
To allow only VPN client users access to the ASA using SSH (and deny access to all other users),
enter the following command:
ciscoasa(config)# ssh 192.168.10.0 255.255.255.0 management_interface
32-1
Chapter 32
Management Access
Additional Guidelines
To access the ASA interface for management access, you do not also need an access rule allowing
the host IP address. You only need to configure management access according to the sections in this
chapter.
You cannot use Telnet to the lowest security interface unless you use Telnet inside a VPN tunnel.
Management access to an interface other than the one from which you entered the ASA is not
supported. For example, if your management host is located on the outside interface, you can only
initiate a management connection directly to the outside interface. The only exception to this rule is
through a VPN connection.
The ASA supports the SSH remote shell functionality provided in SSH Versions 1 and 2 and
supports DES and 3DES ciphers.
(8.4 and later) The SSH default username is no longer supported. You can no longer connect to the
ASA using SSH with the pix or asa username and the login password. To use SSH, you must
configure AAA authentication using the aaa authentication ssh console LOCAL command; then
define a local user by entering the username command. If you want to use a AAA server for
authentication instead of the local database, we recommend also configuring local authentication as
a backup method.
(9.1(2) and later) The default Telnet login password was removed; you must manually set the
password before using Telnet.
To gain access to the ASA CLI using Telnet, enter the login password set by the password
command. You must manually set the password before using Telnet.
If you configure Telnet authentication, then enter the username and password defined by the AAA
server or local database.
When starting an SSH session, a dot (.) displays on the ASA console before the following SSH user
authentication prompt appears:
ciscoasa(config)#.
The display of the dot does not affect the functionality of SSH. The dot appears at the console when
generating a server key or decrypting a message using private keys during SSH key exchange before
user authentication occurs. These tasks can take up to two minutes or longer. The dot is a progress
indicator that verifies that the ASA is busy and has not hung. You can alternatively configure a
public key instead of using a password.
If you cannot make a Telnet or SSH connection to the ASA interface, make sure that you enabled
Telnet or SSH to the ASA according to the instructions in this chapter.
From a security perspective, it is important that your banner discourage unauthorized access. Do not
use the words welcome or please, as they appear to invite intruders in. The following banner
sets the correct tone for unauthorized access:
32-2
Chapter 32
Management Access
You have logged in to a secure device. If you are not authorized to access this
device, log out immediately or risk possible criminal consequences.
After a banner has been added, Telnet or SSH sessions to the ASA may close if:
There is not enough system memory available to process the banner message(s).
A TCP write error occurs when trying to display banner message(s).
Related Topics
Set the Hostname, Domain Name, and the Enable and Telnet Passwords, page 16-1
AAA authentication with User authorization using username provided by the user
Certificate authentication and AAA authentication with User authorization using username provided
by the user
Certificate authentication and AAA authentication with prefilled username using username from
certificate
Certificate authentication and AAA authentication with prefilled username using username from
certificate with User authorization using the same username
The primary-attr specifies the attribute to be used to derive the username. The secondary-attr
optionally specifies an additional attribute to use with the primary attribute to derive the username.
The optional pre-fill-username attribute when set, enables use of this name for authentication.
When enabled, this username along with the password typed in by the user will be used for
authentication. On the ASDM side, if the username is different from the one initially typed in by the
user, a new pop-up will be presented to the user with the username pre-filled. The user will be
allowed to enter a password for authentication.
32-3
Chapter 32
Management Access
Note
The http username-from-certificate command will not be available in transparent firewall and
multi-context modes. It will also not be available on platforms that do not support webvpn(ASA 1000v)
and platforms with No Payload Encryption (NPE) enabled.
Step 1
Note
Step 2
With this release, HTTP has its own CLI and the above command is applicable to the other management
sessions. The HTTP command is:
aaa authorization http console LOCAL|<aaa-server-group>
This CLI allows an authorization-server-group to be specified. It ensures that it is of the type that
supports authorization. The ones currently supported are RADIUS, TACACS+ and LDAP. LOCAL
server is also allowed. If the old command is detected in the configuration upon upgrade, it is
automatically converted to the new one.
Note
Similarly the aaa authorization http console command is also not available in transparent firewall and
Multi-Context modes. It is not available on platforms that do not support webvpn(ASA 1000v) and
platforms with No Payload Encryption (NPE) enabled.
32-4
Chapter 32
Management Access
Configure ASA Access for ASDM, Telnet, or SSH
Identify the IP addresses from which the ASA accepts connections for each address or subnet.
telnet source_IP_address mask source_interface
Example:
ciscoasa(config)# telnet 192.168.1.2 255.255.255.255 inside
If there is only one interface, you can configure Telnet to access that interface as long as the interface
has a security level of 100.
Step 2
Set the duration for how long a Telnet session can be idle before the ASA disconnects the session.
telnet timeout minutes
Example:
ciscoasa(config)# telnet timeout 30
Set the timeout from 1 to 1440 minutes. The default is 5 minutes. The default duration is too short in
most cases and should be increased until all pre-production testing and troubleshooting have been
completed.
Examples
The following example shows how to let a host on the inside interface with an address of 192.168.1.2
access the ASA:
ciscoasa(config)# telnet 192.168.1.2 255.255.255.255 inside
The following example shows how to allow all users on the 192.168.3.0 network to access the ASA on
the inside interface:
ciscoasa(config)# telnet 192.168.3.0 255.255.255.0 inside
Generate an RSA key pair, which is required for SSH (for physical ASAs only).
32-5
Chapter 32
Management Access
Example:
ciscoasa(config)# crypto key generate rsa modulus 1024
For the ASAv, the RSA key pairs are automatically created after deployment.
The modulus value (in bits) is 512, 768, 1024, or 2048. The larger the key modulus size you specify, the
longer it takes to generate an RSA key pair. We recommend a value of 1024.
Step 2
Example:
ciscoasa(config)# write memory
Step 3
Enable local authentication for SSH access. You can alternatively configure authentication using a AAA
server.
aaa authentication ssh console LOCAL
Example:
ciscoasa(config)# aaa authentication ssh console LOCAL
Step 4
Create a user in the local database that can be used for SSH access.
username username password password
Example:
ciscoasa(config)# username user1 password cisco123
Step 5
Identify the IP addresses from which the ASA accepts connections for each address or subnet, and the
interface on which you can use SSH. Unlike Telnet, you can SSH on the lowest security level interface.
ssh source_IP_address mask source_interface
Example:
ciscoasa(config)# ssh 192.168.3.0 255.255.255.0 inside
Step 6
(Optional) Set the duration for how long an SSH session can be idle before the ASA disconnects the
session.
ssh timeout minutes
Example:
ciscoasa(config)# ssh timeout 30
Set the timeout from 1 to 60 minutes. The default is 5 minutes. The default duration is too short in most
cases, and should be increased until all pre-production testing and troubleshooting have been completed
Step 7
(Optional) Limit access to SSH version 1 or 2. By default, SSH allows both versions 1 and 2.
ssh version version_number
Example:
ciscoasa(config)# ssh version 2
32-6
Chapter 32
Management Access
Configure ASA Access for ASDM, Telnet, or SSH
Examples
The following example shows how to generate RSA keys and let a host on the inside interface with an
address of 192.168.1.2 access the ASA:
ciscoasa(config)# crypto key generate rsa modulus 1024
ciscoasa(config)# write memory
ciscoasa(config)# aaa authentication ssh console LOCAL
WARNING: local database is empty! Use 'username' command to define local users.
ciscoasa(config)# username exampleuser1 password examplepassword1
ciscoasa(config)# ssh 192.168.1.2 255.255.255.255 inside
ciscoasa(config)# ssh timeout 30
The following example shows how to allow all users on the 192.168.3.0/24 network to access the ASA
on the inside interface:
ciscoasa(config)# ssh 192.168.3.0 255.255.255.0 inside
Identify the IP addresses from which the ASA accepts HTTPS connections for each address or subnet.
http source_IP_address mask source_interface
Example:
ciscoasa(config)# http 192.168.1.2 255.255.255.255 inside
Step 2
Example:
ciscoasa(config)# http server enable 443
By default, the port is 443. If you change the port number, be sure to include it in the ASDM access URL.
For example, if you change the port number to 444, enter the following:
https://10.1.1.1:444
Step 3
(Optional) Redirect HTTP requests to HTTPS requests, which makes it possible for users to enter
http:// in the ASDM URL and get to the HTTPS URL without error.
http redirect interface [port]
Example:
ciscoasa(config)# http redirect inside
32-7
Chapter 32
Management Access
Examples
The following example shows how to enable the HTTPS server and let a host on the inside interface with
an address of 192.168.1.2 access ASDM:
ciscoasa(config)# http server enable
ciscoasa(config)# http 192.168.1.2 255.255.255.255 inside
The following example shows how to allow all users on the 192.168.3.0/24 network to access ASDM on
the inside interface:
ciscoasa(config)# http 192.168.3.0 255.255.255.0 inside
Add a banner to display at one of three times: when a user first connects (message-of-the-day (motd)),
when a user logs in (login), and when a user accesses privileged EXEC mode (exec).
banner {exec | login | motd} text
Example:
ciscoasa(config)# banner motd Welcome to $(hostname).
When a user connects to the ASA, the message-of-the-day banner appears first, followed by the login
banner and prompts. After the user successfully logs in to the ASA, the exec banner appears.
To add more than one line, precede each line by the banner command.
For the banner text:
Spaces are allowed, but tabs cannot be entered using the CLI.
There are no limits for banner length other than those for RAM and flash memory.
You can dynamically add the hostname or domain name of the ASA by including the strings
$(hostname) and $(domain).
If you configure a banner in the system configuration, you can use that banner text within a context
by using the $(system) string in the context configuration.
Examples
32-8
Chapter 32
Management Access
Configure ASA Access for ASDM, Telnet, or SSH
(Single and multiple mode) Displays the cluster unit name. Each unit in a
cluster can have a unique name.
context
domain
hostname
priority
state
Displays the traffic-passing state of the unit. The following values appear for
the state:
stby Failover is enabled, and the unit is not passing traffic and is in a
standby, failed, or another inactive state.
Shows the role (master or slave) of a unit in a cluster. For example, in the
prompt ciscoasa/cl2/slave, the hostname is ciscoasa, the unit name is cl2, and
the state name is slave.
To customize the CLI prompt, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# firewall transparent
32-9
Chapter 32
Management Access
Specify the idle time in minutes (0 through 60) after which the privileged session ends. The default
timeout is 0, which means the session does not time out.
console timeout number
Example:
ciscoasa(config)# console timeout 0
Specify the name of the management interface that you want to access when entering the ASA from
another interface.
management-access management_interface
Example:
ciscoasa(config)# management-access inside
32-10
Chapter 32
Management Access
Configure AAA for System Administrators
No AuthenticationIf you do not enable any authentication for Telnet, you do not enter a username;
you enter the login password (set with the password command). (SSH is not available without
authentication). You access user EXEC mode.
AuthenticationIf you enable Telnet or SSH authentication according to this section, you enter the
username and password as defined on the AAA server or local user database. You access user EXEC
mode.
To enter privileged EXEC mode after logging in, enter the enable command. How enable works depends
on whether you enable authentication:
No AuthenticationIf you do not configure enable authentication, enter the system enable
password when you enter the enable command (set by the enable password command). However,
if you do not use enable authentication, after you enter the enable command, you are no longer
logged in as a particular user. To maintain your username, use enable authentication.
For enable authentication using the local database, you can use the login command instead of the enable
command. login maintains the username but requires no configuration to turn on authentication.
32-11
Chapter 32
Management Access
Note
Local privilege levelsConfigure the command privilege levels on the ASA. When a local,
RADIUS, or LDAP (if you map LDAP attributes to RADIUS attributes) user authenticates for CLI
access, the ASA places that user in the privilege level that is defined by the local database, RADIUS,
or LDAP server. The user can access commands at the assigned privilege level and below. Note that
all users access user EXEC mode when they first log in (commands at level 0 or 1). The user needs
to authenticate again with the enable command to access privileged EXEC mode (commands at level
2 or higher), or they can log in with the login command (local database only).
You can use local command authorization without any users in the local database and without
CLI or enable authentication. Instead, when you enter the enable command, you enter the
system enable password, and the ASA places you in level 15. You can then create enable
passwords for every level, so that when you enter enable n (2 to 15), the ASA places you in level
n. These levels are not used unless you enable local command authorization.
TACACS+ server privilege levelsOn the TACACS+ server, configure the commands that a user or
group can use after authenticating for CLI access. Every command that a user enters at the CLI is
validated with the TACACS+ server.
The user account is configured for serial-only authorization (no access to console or ASDM).
The following table shows how credentials are used in this case by the ASA.
Username and
Password
Credentials Required Authentication
Serial
Authorization
Username
Yes
No
No
Yes
Password
Yes
No
No
Yes
Privileged Mode
Password
No
No
Yes
No
32-12
Chapter 32
Management Access
Configure AAA for System Administrators
AAA settings are discrete per context, not shared among contexts.
When configuring command authorization, you must configure each security context separately.
This configuration provides you the opportunity to enforce different command authorizations for
different security contexts.
When switching between security contexts, administrators should be aware that the commands
permitted for the username specified when they login may be different in the new context session or
that command authorization may not be configured at all in the new context. Failure to understand
that command authorizations may differ between security contexts could confuse an administrator.
This behavior is further complicated by the next point.
New context sessions started with the changeto command always use the default enable_15
username as the administrator identity, regardless of which username was used in the previous
context session. This behavior can lead to confusion if command authorization is not configured for
the enable_15 user or if authorizations are different for the enable_15 user than for the user in the
previous context session.
This behavior also affects command accounting, which is useful only if you can accurately associate
each command that is issued with a particular administrator. Because all administrators with
permission to use the changeto command can use the enable_15 username in other contexts,
command accounting records may not readily identify who was logged in as the enable_15
username. If you use different accounting servers for each context, tracking who was using the
enable_15 username requires correlating the data from several servers.
When configuring command authorization, consider the following:
An administrator with permission to use the changeto command effectively has permission to
use all commands permitted to the enable_15 user in each of the other contexts.
If you intend to authorize commands differently per context, ensure that in each context the
enable_15 username is denied use of commands that are also denied to administrators who are
permitted use of the changeto command.
When switching between security contexts, administrators can exit privileged EXEC mode and enter
the enable command again to use the username that they need.
Note
The system execution space does not support AAA commands; therefore, command authorization is not
available in the system execution space.
show checksum
show curpriv
enable
help
32-13
Chapter 32
Management Access
show history
login
logout
pager
show pager
clear pager
quit
show version
If you move any configure mode commands to a lower level than 15, be sure to move the configure
command to that level as well, otherwise, the user cannot enter configuration mode.
You must configure SSH authentication to obtain SSH access; there is no default username.
To configure authentication for CLI, ASDM, and enable command access, perform the following steps:
Procedure
Step 1
Example:
ciscoasa(config)# aaa authentication ssh console radius_1 LOCAL
ciscoasa(config)# aaa authentication http console radius_1 LOCAL
ciscoasa(config)# aaa authentication serial console LOCAL
The telnet keyword controls Telnet access. For the ASASM, this keyword also affects the session from
the switch using the session command. The ssh keyword controls SSH access. The http keyword
controls ASDM access. The serial keyword controls console port access. For the ASASM, this keyword
affects the virtual console accessed from the switch using the service-module session command.
HTTP management authentication does not support the SDI protocol for a AAA server group.
If you use a AAA server group for authentication, you can configure the ASA to use the local database
as a fallback method if the AAA server is unavailable. Specify the server group name followed by
LOCAL (LOCAL is case sensitive). We recommend that you use the same username and password in
the local database as the AAA server, because the ASA prompt does not give any indication which
method is being used. You can alternatively use the local database as your primary method of
authentication (with no fallback) by entering LOCAL alone.
Step 2
32-14
Chapter 32
Management Access
Configure AAA for System Administrators
Example:
ciscoasa(config)# http username-from-certificate CN pre-fill-username
You can use this command in addition to the aaa authentication command for ASDM.
The primary-attr specifies the attribute to be used to derive the username. The secondary-attr
optionally specifies an additional attribute to use with the primary attribute to derive the username.
The optional pre-fill-username attribute when set enables the use of this name for authentication.
When enabled, this username along with the password typed in by the user is used for authentication.
On the ASDM side, if the username is different from the one initially typed in by the user, a new
pop-up is presented to the user with the username pre-filled. The user is allowed to enter a password
for authentication.
In this example, certificate authentication is performed. The CN from the certificate field is used as the
username.
Example:
ciscoasa(config)# aaa authentication enable console LOCAL
To log in as a user from the local database, perform the following steps:
Step 1
Example:
ciscoasa# login
32-15
Chapter 32
Management Access
The ASA prompts for your username and password. After you enter your password, the ASA places you
in the privilege level that the local database specifies.
Users can log in with their own username and password to access privileged EXEC mode, so you do not
have to provide the system enable password to everyone. To allow users to access privileged EXEC mode
(and all commands) when they log in, set the user privilege level to 2 (the default) through 15. If you
configure local command authorization, then the user can only enter commands assigned to that privilege
level or lower.
Caution
If you add users to the local database who can gain access to the CLI and whom you do not want to enter
privileged EXEC mode, you should configure command authorization. Without command authorization,
users can access privileged EXEC mode (and all commands) at the CLI using their own password if their
privilege level is 2 or greater (2 is the default). Alternatively, you can use a AAA server for
authentication, or you can set all local users to level 1 so you can control who can use the system enable
password to access privileged EXEC mode.
Note
Serial access is not included in management authorization, so if you configure the aaa authentication
serial consolecommand, then any user who authenticates can access the console port.
Procedure
To enable management authorization for local, RADIUS, LDAP (mapped), and TACACS+ users, enter
the following command:
Note
Note
You can configure any authorization server and set authorization and authentication to work
independently or together.
To configure the HTTP administrative session on the ASA for authorization to either the local server or
the authentication server, use the following command:
ciscoasa(config)# aaa authorization http console {authentication-server | LOCAL}
32-16
Chapter 32
Management Access
Configure AAA for System Administrators
Step 2
Step 3
To configure the user for management authorization, see the following requirements for each AAA
server type or local user:
authentication {telnet | ssh} console command, but denies ASDM configuration access if you
configure the aaa authentication http console command. ASDM monitoring access is allowed.
If you configure enable authentication with the aaa authentication enable console command,
the user cannot access privileged EXEC mode using the enable command. The Framed (2) and
Login (1) service types are treated the same way.
Service-Type 5 (Outbound)Denies management access. The user cannot use any services
specified by the aaa authentication console commands(excluding the serial keyword; serial
access is allowed). Remote access (IPsec and SSL) users can still authenticate and terminate
their remote access sessions. All other service types (Voice, FAX, and so on) are treated the
same way.
The RADIUS Cisco VSA privilege-level attribute (Vendor ID 3076, sub-ID 220), when sent in an
access-accept message, is used to designate the level of privilege for the user.
When an authenticated user tries administrative access to the ASA through ASDM, SSH, or Telnet,
but does not have the appropriate privilege level to do so, the ASA generates syslog message
113021. This message informs the user that the attempted login failed because of inappropriate
administrative privileges.
The following example shows how to define an LDAP attribute map. In this example, the security
policy specifies that users being authenticated through LDAP map the user record fields or
parameters title and company to the IETF-RADIUS service-type and privilege-level, respectively.
ciscoasa(config)# ldap attribute-map admin-control
ciscoasa(config-ldap-attribute-map)# map-name title IETF-RADIUS-Service-Type
ciscoasa(config-ldap-attribute-map)# map-name company Privilege-Level
The following example applies an LDAP attribute map to an LDAP AAA server:
ciscoasa(config)# aaa-server ldap-server (dmz1) host 10.20.30.1
ciscoasa(config-aaa-server-host)# ldap-attribute-map admin-control
TACACS+ users
Authorization is requested with service=shell, and the server responds with PASS or FAIL.
PASS, privilege level 1Allows access to ASDM, with limited read-only access to the
configuration and monitoring sections, and access for show commands that are privilege level
1 only.
32-17
Chapter 32
Management Access
PASS, privilege level 2 and higherAllows access to the CLI when you configure the aaa
authentication {telnet | ssh} console command, but denies ASDM configuration access if you
configure the aaa authentication http console command. ASDM monitoring access is allowed.
If you configure enable authentication with the aaa authentication enable console command,
the user cannot access privileged EXEC mode using the enable command. You are not allowed
to access privileged EXEC mode using the enable command if your enable privilege level is set
to 14 or less.
FAILDenies management access. You cannot use any services specified by the aaa
Local users
Set the service-type command for a given username. By default, the service-type is admin, which
allows full access to any services specified by the aaa authentication console command.
Procedure
Step 1
(Optional) Set the interval in days after which passwords expire for remote users (SSH, Telnet, HTTP).
password-policy lifetime days
Example:
ciscoasa(config)# password-policy lifetime 180
Note
Users at the console port are never locked out because of password expiration.
Valid values are between 0 and 65536 days. The default value is 0 days, a value indicating that passwords
will never expire.
Seven days before the password expires, a warning message appears. After the password expires, system
access is denied to remote users. To gain access after expiration, do one of the following:
32-18
Chapter 32
Management Access
Configure AAA for System Administrators
Step 2
Have another administrator change your password with the username command.
(Optional) Set the minimum number of characters that you must change between new and old passwords.
password-policy minimum-changes value
Example:
ciscoasa(config)# password-policy minimum-changes 2
Example:
ciscoasa(config)# password-policy minimum-length 8
Valid values are between 3 and 64 characters. We recommend a minimum password length of 8
characters.
Step 4
(Optional) Set the minimum number of upper case characters that passwords must have.
password-policy minimum-uppercase value
Example:
ciscoasa(config)# password-policy minimum-uppercase 3
Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.
Step 5
(Optional) Set the minimum number of lower case characters that passwords must have.
password-policy minimum-lowercase value
Example:
ciscoasa(config)# password-policy minimum-lowercase 6
Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.
Step 6
(Optional) Set the minimum number of numeric characters that passwords must have.
password-policy minimum-numeric value
Example:
ciscoasa(config)# password-policy minimum-numeric 1
Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.
Step 7
(Optional) Set the minimum number of special characters that passwords must have.
password-policy minimum-special value
Example:
ciscoasa(config)# password-policy minimum-special 2
Valid values are between 0 and 64 characters. Special characters include the following: !, @, #, $, %, ^,
&, *, '( and ). The default value is 0, which means there is no minimum.
32-19
Chapter 32
Management Access
Step 8
(Optional) Set whether users must change their password using the change-password command, instead
of letting users change their password with the username command.
password-policy authenticate enable
Example:
ciscoasa(config)# password-policy authenticate enable
The default setting is disabled: a user can use either method to change their password.
If you enable this feature and try to change your password with the username command, the following
error message appears:
ERROR: Changing your own password is prohibited
You also cannot delete your own account with the clear configure username command. If you try, the
following error message appears:
ERROR: You cannot delete all usernames because you are not allowed to delete yourself
Example:
ciscoasa# change-password old-password j0hncr1chton new-password a3rynsun
If you do not enter the old and new passwords in the command, the ASA prompts you for input.
32-20
Chapter 32
Management Access
Configure AAA for System Administrators
Example:
ciscoasa(config)# privilege show level 5 command filter
Repeat this command for each command that you want to reassign.
The options in this command are the following:
show | clear | cmdThese optional keywords let you set the privilege only for the show, clear, or
configure form of the command. The configure form of the command is typically the form that
causes a configuration change, either as the unmodified command (without the show or clear prefix)
or as the no form. If you do not use one of these keywords, all forms of the command are affected.
mode {enable | configure}If a command can be entered in user EXEC or privileged EXEC mode
as well as configuration mode, and the command performs different actions in each mode, you can
set the privilege level for these modes separately:
enableSpecifies both user EXEC mode and privileged EXEC mode.
configureSpecifies configuration mode, accessed using the configure terminal command.
Step 2
command commandThe command you are configuring. You can only configure the privilege
level of the main command. For example, you can configure the level of all aaa commands, but not
the level of the aaa authentication command and the aaa authorization command separately.
Support administrative user privilege levels from RADIUS and enforce user-specific access levels for
users who authenticate for management access.
aaa authorization exec authentication-server
Example:
ciscoasa(config)# aaa authorization exec authentication-server
Without this command, the ASA only supports privilege levels for local database users and defaults all
other types of users to level 15.
This command also enables management authorization for local, RADIUS, LDAP (mapped), and
TACACS+ users.
Use the aaa authorization exec LOCAL command to enable attributes to be taken from the local
database.
Step 3
Enable the use of local command privilege levels, which can be checked with the privilege level of users
in the local database, RADIUS server, or LDAP server (with mapped attributes).
32-21
Chapter 32
Management Access
Example:
ciscoasa(config)# aaa authorization command LOCAL
When you set command privilege levels, command authorization does not occur unless you configure
command authorization with this command.
Examples
You can set the privilege level separately for each form, or set the same privilege level for all forms by
omitting this option. The following example shows how to set each form separately:
ciscoasa(config)# privilege show level 5 command filter
ciscoasa(config)# privilege clear level 10 command filter
ciscoasa(config)# privilege cmd level 10 command filter
Alternatively, the following example shows how to set all filter commands to the same level:
ciscoasa(config)# privilege level 5 command filter
The following example shows an additional command, the configure command, which uses the mode
keyword:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
Note
privilege
privilege
privilege
privilege
The ASA sends the commands to be authorized as shell commands, so configure the commands on
the TACACS+ server as shell commands.
32-22
Chapter 32
Management Access
Configure AAA for System Administrators
Note
Cisco Secure ACS might include a command type called pix-shell. Do not use this type for
ASA command authorization.
The first word of the command is considered to be the main command. All additional words are
considered to be arguments, which need to be preceded by permit or deny.
For example, to allow the show running-configuration aaa-server command, add show
running-configuration to the command field, and type permit aaa-server in the arguments field.
You can permit all arguments of a command that you do not explicitly deny by checking the Permit
Unmatched Args check box.
For example, you can configure just the show command, then all the show commands are allowed.
We recommend using this method so that you do not have to anticipate every variant of a command,
including abbreviations and a question mark, which shows CLI usage.
For commands that are a single word, you must permit unmatched arguments, even if there are no
arguments for the command, for example enable or help.
When you abbreviate a command at the command line, the ASA expands the prefix and main
command to the full text, but it sends additional arguments to the TACACS+ server as you enter
them.
For example, if you enter sh log, then the ASA sends the entire command to the TACACS+ server,
show logging. However, if you enter sh log mess, then the ASA sends show logging mess to the
TACACS+ server, and not the expanded command show logging message. You can configure
multiple spellings of the same argument to anticipate abbreviations.
We recommend that you allow the following basic commands for all users:
show checksum
show curpriv
enable
help
show history
login
logout
pager
show pager
clear pager
quit
show version
32-23
Chapter 32
Management Access
Example:
ciscoasa(config)# aaa authorization command group_1 LOCAL
You can configure the ASA to use the local database as a fallback method if the TACACS+ server is
unavailable. To enable fallback, specify the server group name followed by LOCAL (LOCAL is case
sensitive). We recommend that you use the same username and password in the local database as the
TACACS+ server because the ASA prompt does not give any indication of which method is being used.
Be sure to configure users in the local database and command privilege levels.
32-24
Chapter 32
Management Access
Configure AAA for System Administrators
Example:
ciscoasa(config)# aaa accounting telnet console group_1
Example:
ciscoasa(config)# aaa accounting command privilege 15 group_1
The privilege level keyword-argument pair is the minimum privilege level and the server-tag argument
is the name of the TACACS+ server group to which the ASA should send command accounting
messages.
Example:
ciscoasa(config)# quota management-session 1000
Entering the no form of this command sets the quota value to 0, which means that there is no session
limit. Valid values range from 0 to 10000.
32-25
Chapter 32
Management Access
Step 1
Example:
ciscoasa(config)# ssh key-exchange group dh-group14 sha-1
ciscoasa# show running-config key-exchange
ssh key-exchange dh-group14-sha1
The key-exchange keyword specifies that either the DH group 1 or DH group 14 key-exchange method
will follow and should be used when exchanging keys.
The group keyword indicates that either the DH group 1 key-exchange method or the DH group 14
key-exchange method will follow and should be used when exchanging keys.
The dh-group1 keyword indicates that the DH group 1 key-exchange method will follow and should be
used when exchanging keys. DH group 2 is called DH group 1 for legacy reasons.
The dh-group14 keyword indicates that the DH group 14 key-exchange method will follow and should
be used when exchanging keys.
The sha-1 keyword indicates that the SHA-1 encryption algorithm should be used.
Use the show running-config ssh key-exchange command to display the DH group key-exchange
method currently being used.
32-26
Chapter 32
Management Access
Configure AAA for System Administrators
Feature
Local CLI
authentication
No users have
been configured
in the local
database.
TACACS+
command
authorization
The server is
down or
unreachable and
you do not have
the fallback
method
configured.
If the server is
unreachable, then you
cannot log in or enter
any commands.
TACACS+ CLI
authentication
RADIUS CLI
authentication
1.
2.
TACACS+
command
authorization
Local command
authorization
If the server is
unreachable because the
network configuration
is incorrect on the ASA,
session into the ASA
from the switch. From
the system execution
space, you can change
to the context and
reconfigure your
network settings.
2.
32-27
Chapter 32
Management Access
Examples
For the show running-config all privilege all command, the ASA displays the current assignment of
each CLI command to a privilege level. The following is sample output from this command:
ciscoasa(config)# show running-config all privilege all
privilege show level 15 command aaa
privilege clear level 15 command aaa
privilege configure level 15 command aaa
privilege show level 15 command aaa-server
privilege clear level 15 command aaa-server
privilege configure level 15 command aaa-server
privilege show level 15 command access-group
privilege clear level 15 command access-group
privilege configure level 15 command access-group
privilege show level 15 command access-list
privilege clear level 15 command access-list
privilege configure level 15 command access-list
privilege show level 15 command activation-key
privilege configure level 15 command activation-key
....
The following example shows the command assignments for privilege level 10:
ciscoasa(config)# show running-config privilege level 10
privilege show level 10 command aaa
The following example shows the command assignments for the access-list command:
ciscoasa(config)# show running-config privilege command access-list
privilege show level 15 command access-list
privilege clear level 15 command access-list
privilege configure level 15 command access-list
show curpriv
This command shows the currently logged-in user.
Examples
32-28
Chapter 32
Management Access
History for Management Access
Field
Description
Username
Username. If you are logged in as the default user, the name is enable_1 (user
EXEC) or enable_15 (privileged EXEC).
Current privilege level Levels range from 0 to 15. Unless you configure local command authorization
and assign commands to intermediate privilege levels, levels 0 and 15 are the
only levels that are used.
Current Modes
P_CONFConfiguration mode
Feature Name
Platform
Releases
Description
Management Access
7.0(1)
32-29
Chapter 32
Management Access
Table 32-3
Feature Name
Platform
Releases
Description
8.4(2)
8.4(4.1),
9.1(2)
8.4(4.1),
9.1(2)
8.4(4.1),
9.1(2)
32-30
Chapter 32
Management Access
History for Management Access
Table 32-3
Feature Name
Platform
Releases
Description
You can set the maximum number of simultaneous ASDM,
SSH, and Telnet sessions.
We introduced the following commands: quota
management-session, show running-config quota
management-session, show quota management-session.
8.5(1)
9.1(2)
9.2(1)
9.4(1)
32-31
Chapter 32
History for Management Access
32-32
Management Access
CH AP TE R
33
Set the ASA Image, ASDM, and Startup Configuration, page 33-18
Upgrade Path
See the following table for the upgrade path for your version. Some versions require an interim upgrade
before you can upgrade to the latest version.
Note: There are no special requirements for Zero Downtime Upgrades for failover and ASA clustering
with the following exception. Upgrading ASA clustering from 9.0(1) or 9.1(1): due to CSCue72961,
hitless upgrading is not supported.
33-1
Chapter 33
8.4(6)
9.4(1) or later
8.3(x)
8.4(6)
9.4(1) or later
9.4(1) or later
9.4(1) or later
8.5(1)
9.0(4) or 9.1(2)
9.4(1) or later
8.6(1)
9.0(4) or 9.1(2)
9.4(1) or later
9.0(1)
9.0(4) or 9.1(2)
9.4(1) or later
9.0(2) or later
9.4(1) or later
9.1(1)
9.1(2)
9.4(1) or later
9.1(2) or later
9.4(1) or later
9.2(x)
9.4(1) or later
9.3(x)
9.4(1) or later
Configuration Migration
Depending on your current version, you might experience one or more configuration migrations when
you upgrade. For example, when upgrading from 8.0 to 9.4, you will experience all of these migrations:
This procedure uses TFTP. For FTP or HTTP, see the copy command.
33-2
Chapter 33
Procedure
1.
(If there is a configuration migration) Show the configuration on the terminal so that you can back
up your configuration:
more system:running-config
Copy the output from this command, then paste the configuration in to a text file. For other methods
of backing up, see the configuration guide.
2.
Example:
ciscoasa# copy tftp://10.1.1.1/asa941-smp-k8.bin disk0:/asa941-smp-k8.bin
Example:
ciscoasa# copy tftp://10.1.1.1/,asdm-741.bin disk0:/asdm-741.bin
4.
If you are not already in global configuration mode, access global configuration mode:
configure terminal
5.
Example:
ciscoasa(config)# show running-config boot system
boot system disk0:/cdisk.bin
boot system disk0:/asa914-smp-k8.bin
The ASA uses the images in the order listed; if the first image is unavailable, the next image is used,
and so on. You cannot insert a new image URL at the top of the list; to specify the new image to be
first, you must remove any existing entries, and enter the image URLs in the order desired, according
to 6. and 7..
6.
Remove any existing boot image configurations so that you can enter the new boot image as your
first choice:
no boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# no boot system disk0:/cdisk.bin
ciscoasa(config)# no boot system disk0:/asa914-smp-k8.bin
7.
Set the ASA image to boot (the one you just uploaded):
boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# boot system disk0://asa941-smp-k8.bin
Repeat this command for any backup images that you want to use in case this image is unavailable.
For example, you can re-enter the images that you previously removed in 6..
33-3
Chapter 33
8.
Set the ASDM image to use (the one you just uploaded):
asdm image {disk0:/ | disk1:/}[path/]asdm_image_name
Example:
ciscoasa(config)# asdm image disk0:/asdm-741.bin
You can only configure one ASDM image to use, so you do not need to first remove the existing
configuration.
9.
(If there is a configuration migration) Show the configuration on the terminal so that you can back
up your configuration:
more system:running-config
Example:
active# more system:running-config
Copy the output from this command, then paste the configuration in to a text file. For other methods
of backing up, see the configuration guide.
2.
Example:
active# copy tftp://10.1.1.1/asa941-smp-k8.bin disk0:/asa941-smp-k8.bin
Copy the software to the standby unit; be sure to specify the same path as for the active unit:
33-4
Chapter 33
Example:
active# failover exec mate copy /noconfirm tftp://10.1.1.1/asa941-smp-k8.bin
disk0:/asa941-smp-k8.bin
4.
Example:
active# copy tftp://10.1.1.1/asdm-741.bin disk0:/asdm-741.bin
5.
Copy the ASDM image to the standby unit; be sure to specify the same path as for the active unit:
failover exec mate copy /noconfirm tftp://server[/path]/asdm_image_name {disk0:/ |
disk1:/}[path/]asdm_image_name
Example:
active# failover exec mate copy /noconfirm tftp://10.1.1.1/asdm-741.bin
disk0:/asdm-741.bin
6.
If you are not already in global configuration mode, access global configuration mode:
configure terminal
7.
Example:
ciscoasa(config)# show running-config boot system
boot system disk0:/cdisk.bin
boot system disk0:/asa931-smp-k8.bin
The ASA uses the images in the order listed; if the first image is unavailable, the next image is used,
and so on. You cannot insert a new image URL at the top of the list; to specify the new image to be
first, you must remove any existing entries, and enter the image URLs in the order desired, according
to 8. and 9..
8.
Remove any existing boot image configurations so that you can enter the new boot image as your
first choice:
no boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# no boot system disk0:/cdisk.bin
ciscoasa(config)# no boot system disk0:/asa931-smp-k8.bin
9.
Set the ASA image to boot (the one you just uploaded):
boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# boot system disk0://asa941-smp-k8.bin
Repeat this command for any backup images that you want to use in case this image is unavailable.
For example, you can re-enter the images that you previously removed in 8..
10. Set the ASDM image to use (the one you just uploaded):
33-5
Chapter 33
Example:
ciscoasa(config)# asdm image disk0:/asdm-741.bin
You can only configure one ASDM image to use, so you do not need to first remove the existing
configuration.
11. Save the new settings to the startup configuration:
write memory
Wait for the standby unit to finish loading. Use the show failover command to verify that the
standby unit is in the Standby Ready state.
13. Force the active unit to fail over to the standby unit:
no failover active
14. Reload the former active unit (now the new standby unit):
reload
If you want to restore this unit to be active after it reloads, enter the failover active command.
Perform these steps in the system execution space. Also perform these steps on the primary unit.
Procedure
1.
(If there is a configuration migration) Show the configuration on the terminal so that you can back
up your configuration:
more system:running-config
Copy the output from this command, then paste the configuration in to a text file. For other methods
of backing up, see the configuration guide.
2.
Example:
primary# copy tftp://10.1.1.1/asa941-smp-k8.bin disk0:/asa941-smp-k8.bin
Copy the software to the secondary unit; be sure to specify the same path as for the primary unit:
failover exec mate copy /noconfirm tftp://server[/path]/filename {disk0:/ |
disk1:/}[path/]filename
Example:
33-6
Chapter 33
4.
Example:
primary# copy tftp://10.1.1.1/asdm-741.bin disk0:/asdm-741.bin
5.
Copy the ASDM image to the secondary unit; be sure to specify the same path as for the active unit:
failover exec mate copy /noconfirm tftp://server[/path]/asdm_image_name {disk0:/ |
disk1:/}[path/]asdm_image_name
Example:
primary# failover exec mate copy /noconfirm tftp://10.1.1.1/asdm-741.bin
disk0:/asdm-741.bin
6.
7.
If you are not already in global configuration mode, access global configuration mode:
configure terminal
Example:
primary(config)# configure terminal
8.
Example:
ciscoasa(config)# show running-config boot system
boot system disk0:/cdisk.bin
boot system disk0:/asa931-smp-k8.bin
The ASA uses the images in the order listed; if the first image is unavailable, the next image is used,
and so on. You cannot insert a new image URL at the top of the list; to specify the new image to be
first, you must remove any existing entries, and enter the image URLs in the order desired, according
to 9. and 10..
9.
Remove any existing boot image configurations so that you can enter the new boot image as your
first choice:
no boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# no boot system disk0:/cdisk.bin
ciscoasa(config)# no boot system disk0:/asa931-smp-k8.bin
10. Set the ASA image to boot (the one you just uploaded):
boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# boot system disk0://asa941-smp-k8.bin
33-7
Chapter 33
Repeat this command for any backup images that you want to use in case this image is unavailable.
For example, you can re-enter the images that you previously removed in 9..
11. Set the ASDM image to use (the one you just uploaded):
asdm image {disk0:/ | disk1:/}[path/]asdm_image_name
Example:
ciscoasa(config)# asdm image disk0:/asdm-741.bin
You can only configure one ASDM image to use, so you do not need to first remove the existing
configuration.
12. Save the new settings to the startup configuration:
write memory
Wait for the secondary unit to finish loading. Use the show failover command to verify that both
failover groups are in the Standby Ready state.
14. Force both failover groups to become active on the secondary unit:
no failover active group 1
no failover active group 2
If the failover groups are configured with the preempt command, they automatically become active
on their designated unit after the preempt delay has passed. If the failover groups are not configured
with the preempt command, you can return them to active status on their designated units using the
failover active group command.
Copy the output from this command, then paste the configuration in to a text file. For other methods
of backing up, see the general operations configuration guide.
2.
Example:
master# cluster exec copy /noconfirm tftp://10.1.1.1/asa941-smp-k8.bin
disk0:/asa941-smp-k8.bin
33-8
Chapter 33
3.
Example:
master# cluster exec copy /noconfirm tftp://10.1.1.1/asdm-741.bin disk0:/asdm-741.bin
4.
If you are not already in global configuration mode, access global configuration mode:
configure terminal
5.
Example:
ciscoasa(config)# show running-config boot system
boot system disk0:/cdisk.bin
boot system disk0:/asa931-smp-k8.bin
The ASA uses the images in the order listed; if the first image is unavailable, the next image is used,
and so on. You cannot insert a new image URL at the top of the list; to specify the new image to be
first, you must remove any existing entries, and enter the image URLs in the order desired, according
to 6. and 7..
6.
Remove any existing boot image configurations so that you can enter the new boot image as your
first choice:
no boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# no boot system disk0:/cdisk.bin
ciscoasa(config)# no boot system disk0:/asa931-smp-k8.bin
7.
Set the ASA image to boot (the one you just uploaded):
boot system {disk0:/ | disk1:/}[path/]asa_image_name
Example:
ciscoasa(config)# boot system disk0://asa941-smp-k8.bin
Repeat this command for any backup images that you want to use in case this image is unavailable.
For example, you can re-enter the images that you previously removed in 6..
8.
Set the ASDM image to use (the one you just uploaded):
asdm image {disk0:/ | disk1:/}[path/]asdm_image_name
Example:
ciscoasa(config)# asdm image disk0:/asdm-741.bin
You can only configure one ASDM image to use, so you do not need to first remove the existing
configuration.
9.
10. Reload each slave unit when you repeat this command for each unit name:
cluster exec unit slave-unit reload noconfirm
33-9
Chapter 33
Manage Files
Example:
master# cluster exec unit unit2 reload noconfirm
To avoid connection loss and allow traffic to stabilize, wait for each unit to come back up
(approximately 5 minutes) before reloading the next unit. To view member names, enter cluster
exec unit ?, or enter the show cluster info command.
11. Disable clustering on the master unit:
no enable
Wait for 5 minutes for a new master to be selected and traffic to stabilize. Do not enter write
memory; when the master unit reloads, you want clustering to be enabled on it.
12. Reload the master unit:
reload noconfirm
A new election takes place for a new master unit. When the former master unit rejoins the cluster,
it will be a slave.
Manage Files
Example:
hostname# dir
Directory of
500
-rw2513
-rw2788
-rw2927
-rw-
disk0:/
4958208
4634
21601
8670632
22:56:20
19:32:48
20:51:46
20:42:48
Nov
Sep
Nov
Dec
33-10
29
17
23
08
2004
2004
2004
2004
cdisk.bin
first-backup
backup.cfg
asdmfile.bin
Chapter 33
Enter disk0: for the internal flash memory. The disk1: keyword represents the external flash memory.
The internal flash memory is the default.
Step 2
Example:
hostname# show file information cdisk.bin
disk0:/cdisk.bin:
type is image (XXX) []
file size is 4976640 bytes version 7.0(1)
By default, the file is deleted from the current working directory if you do not specify a path. You may
use wildcards when deleting files. You are prompted with the filename to delete, and then you must
confirm the deletion.
Connect to the ASA console port according to the instructions in Access the ASA Services Module
Console, page 2-2 or Access the Appliance Console, page 2-1.
Step 2
Step 3
During startup, press the Escape key when you are prompted to enter ROMMON mode.
Step 4
Enter the erase command, which overwrites all files and erases the file system, including hidden system
files:
rommon #1> erase [disk0: | disk1: | flash:]
33-11
Chapter 33
Manage Files
Example:
ciscoasa(config)# ftp mode passive
The server does not have directory support. The lack of directory support limits remote client access
to the ASA internal files.
Enable SSH on the ASA according to Configure SSH Access, page 32-5.
The ASA license must have the strong encryption (3DES/AES) license to support SSH Version 2
connections.
For multiple context mode, complete this procedure in the system execution space. To change from
the context to the system execution space, enter the changeto system command.
Procedure
Step 1
Step 2
33-12
Chapter 33
ssh stricthostkeycheck
Example:
ciscoasa# ssh stricthostkeycheck
ciscoasa# copy x scp://cisco@10.86.95.9/x
The authenticity of host '10.86.95.9 (10.86.95.9)' can't be established.
RSA key fingerprint is dc:2e:b3:e4:e1:b7:21:eb:24:e9:37:81:cf:bb:c3:2a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.86.95.9' (RSA) to the list of known hosts.
Source filename [x]?
Address or name of remote host [10.86.95.9]?
Destination username [cisco]?
Destination password []? cisco123
Destination filename [x]?
By default, this option is enabled. When this option is enabled, you are prompted to accept or reject the
host key if it is not already stored on the ASA. When this option is disabled, the ASA accepts the host
key automatically if it was not stored before.
Step 3
(Optional) Manually add or delete servers and their keys from the ASA database:
ssh pubkey-chain
[no] server ip_address
{key-string
key_string
exit|
key-hash {md5 | sha256} fingerprint}
Example:
ciscoasa(config)# ssh pubkey-chain
ciscoasa(config-ssh-pubkey-chain)# server 10.7.8.9
ciscoasa(config-ssh-pubkey-server)# key-string
Enter the base 64 encoded RSA public key.
End with the word "exit" on a line by itself
ciscoasa(config-ssh-pubkey-server-string)# c1:b1:30:29:d7:b8:de:6c:97:77:10:d7:46:41:63:87
ciscoasa(config-ssh-pubkey-server-string)# exit
ciscoasa(config-ssh-pubkey-server)# show running-config ssh pubkey-chain
ssh pubkey-chain
server 10.7.8.9
key-hash sha256
f1:22:49:47:b6:76:74:b2:db:26:fb:13:65:d8:99:19:e7:9e:24:46:59:be:13:7f:25:27:70:9b:0e:d2:
86:12
The ASA stores the SSH host key for each SCP server to which it connects. You can manually manage
keys if desired.
For each server, you can specify the key-string (public key) or key-hash (hashed value) of the SSH host.
The key_string is the Base64 encoded RSA public key of the remote peer. You can obtain the public key
value from an open SSH client; that is, from the .ssh/id_rsa.pub file. After you submit the Base64
encoded public key, that key is then hashed via SHA-256.
The key-hash {md5 | sha256} fingerprint enters the already hashed key (using an MD5 or SHA-256
key); for example, a key that you copied from show command output.
33-13
Chapter 33
Manage Files
Examples
From a client on the external host, perform an SCP file transfer. For example, in Linux enter the
following command:
scp -v -pw password source_filename username@asa_address:{disk0|disk1}:/dest_filename
The -v is for verbose, and if -pw is not specified, you will be prompted for a password.
The following example adds an already hashed host key for the server at 10.86.94.170:
ciscoasa(config)# ssh pubkey-chain
ciscoasa(config-ssh-pubkey-chain)# server 10.86.94.170
ciscoasa(config-ssh-pubkey-server)# key-hash sha256
65:d9:9d:fe:1a:bc:61:aa:64:9d:fc:ee:99:87:38:df:a8:8e:d9:e9:ff:42:de:e8:8d:2d:bf:a9:2b:85:
2e:19
The following example adds a host string key for the server at 10.7.8.9:
ciscoasa(config)# ssh pubkey-chain
ciscoasa(config-ssh-pubkey-chain)# server 10.7.8.9
ciscoasa(config-ssh-pubkey-server)# key-string
Enter the base 64 encoded RSA public key.
End with the word "exit" on a line by itself
ciscoasa(config-ssh-pubkey-server-string)# c1:b1:30:29:d7:b8:de:6c:97:77:10:d7:46:41:63:87
ciscoasa(config-ssh-pubkey-server-string)# exit
Predefine the TFTP server address and filename for use with configure net and copy commands:
tftp-server interface_name server_ip filename
Example:
ciscoasa(config)# tftp-server inside 10.1.4.7 files/config1.cfg
ciscoasa(config)# copy tftp: test.cfg
Address or name of remote host [10.1.4.7]?
Source filename [files/config1.cfg]?config2.cfg
Destination filename [test.cfg]?
Accessing tftp://10.1.4.7/files/config2.cfg;int=outside...
You can override the filename when you enter the command; for example, when you use the copy
command, you can take advantage of the predefined TFTP server address but still enter any filename at
the interactive prompts.
33-14
Chapter 33
For the copy command, enter tftp: to use the tftp-server value instead of tftp://url.
Related Topics
Copy a File to the ASA, page 33-15 and Back Up and Restore Configurations or Other Files, page 33-23
For the IPS SSP software module, before you download the IPS software to disk0, make sure at least
50% of the flash memory is free. When you install IPS, IPS reserves 50% of the internal flash
memory for its file system.
You cannot have two files with the same name but with different letter case in the same directory in
flash memory. For example, if you attempt to download the file, Config.cfg, to a location that
contains the file, config.cfg, you receive the following error message:
%Error opening disk0:/Config.cfg (File exists).
For information about installing the Cisco SSL VPN client, see the Cisco AnyConnect VPN Client
Administrator Guide. For information about installing Cisco Secure Desktop on the ASA, see the
Cisco Secure Desktop Configuration Guide for Cisco ASA 5500 Series Administrators.
To configure the ASA to use a specific application image or ASDM image if you have more than
one installed, or have installed them in external flash memory, see Set the ASA Image, ASDM, and
Startup Configuration, page 33-18.
For multiple context mode, you must be in the system execution space.
Procedure
Step 1
Example:
ciscoasa# copy tftp://10.1.1.67/files/context1.cfg disk0:/context1.cfg
Address or name of remote host [10.1.1.67]?
Source filename [files/context1.cfg]?
Destination filename [context1.cfg]?
Cryptochecksum: db8ba196 9ad189a8 7f5f501f 1bec469b
!!!!!!!!!!!
11143 bytes copied in 5.710 secs (2228 bytes/sec)
33-15
Chapter 33
Manage Files
Example:
ciscoasa# copy ftp://jcrichton:aeryn@10.1.1.67/files/context1.cfg
disk0:/contexts/context1.cfg
Address or name of remote host [10.1.1.67]?
Source username [jcrichton]?
Source password [aeryn]?
Source filename [files/context1.cfg]?
Destination filename [contexts/context1.cfg]?
Cryptochecksum: db8ba196 9ad189a8 7f5f501f 1bec469b
!!!!!!!!!!!
11143 bytes copied in 5.710 secs (2228 bytes/sec)
Example:
ciscoasa# copy https://asun:john@10.1.1.67/files/moya.cfg disk0:/contexts/moya.cfg
Address or name of remote host [10.1.1.67]?
Source username [asun]?
Source password [john]?
Source filename [files/moya.cfg]?
Destination filename [contexts/moya.cfg]?
Cryptochecksum: db8ba196 9ad189a8 7f5f501f 1bec469b
!!!!!!!!!!!
11143 bytes copied in 5.710 secs (2228 bytes/sec)
Example:
ciscoasa# copy /noconfirm smb://chiana:dargo@10.1.1.67/test.xml disk0:/test.xml
Cryptochecksum: db8ba196 9ad189a8 7f5f501f 1bec469b
!!!!!!!!!!!
11143 bytes copied in 5.710 secs (2228 bytes/sec)
33-16
Chapter 33
Example:
ciscoasa# copy scp://pilot@10.86.94.170/test.cfg disk0:/test.cfg
Address or name of remote host [10.86.94.170]?
Source username [pilot]?
Destination filename [test.cfg]?
The authenticity of host '10.86.94.170 (10.86.94.170)' can't be established.
RSA key fingerprint is
<65:d9:9d:fe:1a:bc:61:aa:64:9d:fc:ee:99:87:38:df:a8:8e:d9:e9:ff:42:de:e8:8d:2d:bf:a9:2
b:85:2e:19>(SHA256).
Are you sure you want to continue connecting (yes/no)? yes
Please use the following commands to add the hash key to the configuration:
ssh pubkey-chain
server 10.86.94.170
key-hash sha256
65:d9:9d:fe:1a:bc:61:aa:64:9d:fc:ee:99:87:38:df:a8:8e:d9:e9:ff:42:de:e8:8d:2d:bf:a9:2b
:85:2e:19
When you copy a configuration to the running configuration, you merge the two configurations. A merge
adds any new commands from the new configuration to the running configuration. If the configurations
are the same, no changes occur. If commands conflict or if commands affect the running of the context,
then the effect of the merge depends on the command. You might get errors, or you might have
unexpected results.
Procedure
Step 1
To copy a file to the startup configuration or running configuration, enter one of the following commands
for the appropriate download server:
Example:
ciscoasa# copy tftp://10.1.1.67/files/old-running.cfg running-config
33-17
Chapter 33
Example:
ciscoasa# copy ftp://jcrichton:aeryn@10.1.1.67/files/old-startup.cfg startup-config
Example:
ciscoasa# copy https://asun:john@10.1.1.67/files/new-running.cfg running-config
Example:
ciscoasa# copy /noconfirm smb://chiana:dargo@10.1.1.67/new-running.cfg running-config
Example:
ciscoasa# copy scp://pilot:moya@10.86.94.170/new-startup.cfg startup-config
The ;int=interface option bypasses the route lookup and always uses the specified interface to reach
the SCP server.
Examples
For example, to copy the configuration from a TFTP server, enter the following command:
ciscoasa# copy tftp://209.165.200.226/configs/startup.cfg startup-config
To copy the configuration from an FTP server, enter the following command:
ciscoasa# copy ftp://admin:letmein@209.165.200.227/configs/startup.cfg startup-config
To copy the configuration from an HTTP server, enter the following command:
ciscoasa# copy http://209.165.200.228/configs/startup.cfg startup-config
Related Topics
Set the ASA Image, ASDM, and Startup Configuration, page 33-18
33-18
Chapter 33
ASA Image:
Physical ASABoots the first application image that it finds in internal flash memory.
ASAvBoots the image in the read-only boot:/ partition that was created when you first
deployed. You can upgrade the image in flash memory and configure the ASAv to boot from
that image. Note that if you later clear your configuration (clear configure all), then the ASAv
will revert to loading the original deployment image.
ASDM Image on All ASAsBoots the first ASDM image that it finds in internal flash memory, or
if one does not exist in this location, then in external flash memory.
Startup ConfigurationBy default, the ASA boots from a startup configuration that is a hidden file.
Procedure
Step 1
Example:
ciscoasa(config)# boot system disk:/images/asa921.bin
{disk0:/ | disk1:/}[path/]filename
tftp://[user[:password]@]server[:port]/[path/]filename
The TFTP option is not supported on all models.
You can enter up to four boot system command entries to specify different images to boot from in order;
the ASA boots the first image it finds successfully. When you enter the boot system command, it adds
an entry at the bottom of the list. To reorder the boot entries, you must remove all entries using the the
clear configure boot system command, and re-enter them in the order you desire. Only one boot system
tftp command can be configured, and it must be the first one configured.
Note
Step 2
If the ASA is stuck in a cycle of constant booting, you can reboot the ASA into ROMMON mode.
For more information about the ROMMON mode, see View Debugging Messages, page 35-1.
Example:
ciscoasa(config)# asdm image disk0:/images/asdm721.bin
If you do not specify the image to boot, even if you have only one image installed, then the ASA inserts
the asdm image command into the running configuration. To avoid problems with Auto Update (if
configured), and to avoid the image search at each startup, you should specify the ASDM image that you
want to boot in the startup configuration.
Step 3
(Optional) Set the startup configuration to be a known file instead of the default hidden file:
boot config {disk0:/ | disk1:/}[path/]filename
Example:
ciscoasa(config)# boot config disk0:/configs/startup1.cfg
33-19
Chapter 33
Load an Image for the ASA 5500-X Series Using ROM Monitor, page 33-20
Load an Image for the ASASM Using ROM Monitor, page 33-21
Recover and Load an Image for the ASA 5506W-X Wireless Access Point, page 33-23
Load an Image for the ASA 5500-X Series Using ROM Monitor
To load a software image onto an ASA from the ROM monitor mode using TFTP, perform the following
steps.
Step 1
Connect to the ASA console port according to the instructions in Access the Appliance Console,
page 2-1.
Step 2
Step 3
During startup, press the Escape key when you are prompted to enter ROMMON mode.
Step 4
In ROMMOM mode, define the interface settings to the ASA, including the IP address, TFTP server
address, gateway address, software image file, and port, as follows:
rommon #1> ADDRESS=10.132.44.177
rommon #2> SERVER=10.129.0.30
rommon #3> GATEWAY=10.132.44.1
rommon #4> IMAGE=tftp-home/asa941-smp-k9.bin
rommon #5> PORT=GigabitEthernet0/0
GigabitEthernet0/0
Link is UP
MAC Address: 0012.d949.15b8
Step 5
Note
Note
The PORT command is ignored on the ASA 5506-X, ASA 5508-X, and ASA 5516-X models,
and you must perform TFTP recovery on these platforms from the Management 1/1 interface.
33-20
Chapter 33
RETRY=20
Step 6
Step 7
After the software image is successfully loaded, the ASA automatically exits ROMMON mode.
Step 8
Verify that the correct software image has been loaded into the ASA by checking the version in the ASA:
ciscoasa# show version
Connect to the ASA console port according to the instructions in Access the ASA Services Module
Console, page 2-2.
Step 2
Step 3
During startup, press the Escape key when you are prompted to enter ROMMON mode.
Step 4
In ROMMOM mode, define the interface settings to the ASASM, including the IP address, TFTP server
address, gateway address, software image file, port, and VLAN, as follows:
rommon #1> ADDRESS=172.16.145.149
rommon #2> SERVER=172.16.171.125
rommon #3> GATEWAY=172.16.145.129
33-21
Chapter 33
Note
Step 5
Step 6
Step 7
After the software image is successfully loaded, the ASASM automatically exits ROMMON mode.
Note
Step 8
You must download the image to the system flash separately after ROMMON boot is complete;
booting the module into ROMMON mode does not preserve the system image across reloads.
Verify that the correct software image has been loaded into the ASA by checking the version in the ASA:
ciscoasa# show version
33-22
Chapter 33
Recover and Load an Image for the ASA 5506W-X Wireless Access Point
To recover and load a software image onto an ASA 5506W-X using TFTP, perform the following steps.
Procedure
Step 1
Session to the access point (AP) and enter the AP ROMMON (not the ASA ROMMON):
ciscoasa# hw-module module wlan recover image
Step 2
Follow the procedure in the Cisco IOS Software Configuration Guide for Cisco Aironet Access Points.
Back up the Single Mode Configuration or Multiple Mode System Configuration, page 33-27
Back Up Additional Files Using the Export and Import Commands, page 33-30
You should have at least 300 MB of disk space available at the backup or restore location before you
start a backup or restore.
If you make any configuration changes during or after a backup, those changes will not be included
in the backup. If you change a configuration after making the backup, then perform a restore, this
configuration change will be overwritten. As a result, the ASA might behave differently.
33-23
Chapter 33
You can only restore a configuration to the same ASA version as when you performed the original
backup. You cannot use the restore tool to migrate a configuration from one ASA version to another.
If a configuration migration is required, the ASA automatically upgrades the resident startup
configuration when it loads the new ASA OS.
If you use clustering, you can only back up or restore the startup-configuration,
running-configuration, and identity certificates. You must create and restore a backup separately for
each unit.
If you use failover, you must create and restore a backup separately for the active and standby units.
If you set a master passphrase for the ASA, then you need that master passphrase to restore the
backup configuration that you create with this procedure. If you do not know the master passphrase
for the ASA, see Configure the Master Passphrase, page 16-10 to learn how to reset it before
continuing with the backup.
If you import PKCS12 data (with the crypto ca trustpoint command) and the trustpoint uses RSA
keys, the imported key pair is assigned the same name as the trustpoint. Because of this limitation,
if you specify a different name for the trustpoint and its key pair after you have restored an ASDM
configuration, the startup configuration will be the same as the original configuration, but the
running configuration will include a different key pair name. This means that if you use different
names for the key pair and trustpoint, you cannot restore the original configuration. To work around
this issue, make sure that you use the same name for the trustpoint and its key pair.
You cannot back up using the CLI and restore using ASDM, or vice versa.
keys)
VPN pre-shared keys
SSL VPN configurations
Application Profile Custom Framework (APCF)
Bookmarks
Customizations
Dynamic Access Policy (DAP)
Plug-ins
Pre-fill scripts for connection profiles
Proxy Auto-config
Translation table
Web content
33-24
Chapter 33
Version information
Example:
ciscoasa# backup location disk0:/sample-backup]
Backup location [disk0:/sample-backup]?
In multiple context mode from the system execution space, enter the context keyword to backup the
specified context files.
During the backup of VPN certificates and preshared keys, a secret key identified by the passphrase
keyword is required to encode the certificates. You must provide a passphrase to be used for encoding
and decoding the certificates in PKCS12 format. The backup only includes RSA key pairs tied to the
certificates and excludes any standalone certificates.
The backup location can be a local disk or a remote URL. If you do not provide a location, the following
default names are used:
Step 2
Single modedisk0:hostname.backup.timestamp.tar.gz
Multiple modedisk0:hostname.context-ctx-name.backup.timestamp.tar.gz
33-25
Chapter 33
Example:
ciscoasa# restore location disk0:/5525-2051.backup.2014-07-09-223$
restore location [disk0:/5525-2051.backup.2014-07-09-223251.tar.gz]?
Step 2
33-26
Chapter 33
Example:
ciscoasa# copy running-config tftp://10.1.1.67/files/new-running.cfg
Example:
ciscoasa# copy startup-config ftp://jcrichton:aeryn@10.1.1.67/files/new-startup.cfg
33-27
Chapter 33
Example:
ciscoasa# copy /noconfirm running-config smb://chiana:dargo@10.1.1.67/new-running.cfg
Example:
ciscoasa# copy startup-config
scp://pilot:moya@10.86.94.170/new-startup.cfg
The ;int=interface option bypasses the route lookup and always uses the specified interface to reach
the SCP server.
Example:
ciscoasa# copy /noconfirm running-config disk0:/new-running.cfg
Be sure that the destination directory exists. If it does not exist, first create the directory using the
mkdir command.
Example:
ciscoasa# copy disk0:/asa-os.bin tftp://10.1.1.67/files/asa-os.bin
Example:
ciscoasa# copy disk0:/asa-os.bin ftp://jcrichton:aeryn@10.1.1.67/files/asa-os.bin
Example:
33-28
Chapter 33
Example:
ciscoasa# copy disk0:/context1.cfg
scp://pilot:moya@10.86.94.170/context1.cfg
The ;int=interface option bypasses the route lookup and always uses the specified interface to reach
the SCP server.
Example:
ciscoasa# copy /noconfirm disk1:/file1.cfg disk0:/file1.cfgnew-running.cfg
Be sure that the destination directory exists. If it does not exist, first create the directory using the
mkdir command.
Copy the running configuration to the startup configuration server (connected to the admin context):
ciscoasa/contexta# copy running-config startup-config
Step 2
Copy the running configuration to a TFTP server connected to the context network:
ciscoasa/contexta# copy running-config tftp:/server[/path]/filename
Step 2
Copy the output from this command, and then paste the configuration into a text file.
33-29
Chapter 33
Files that you import using the import webvpn command. Currently, these files include
customizations, URL lists, web content, plug-ins, and language translations.
The CLI lets you back up and restore individual elements of your configuration using the export and
import commands.
To back up these files, for example, those files that you imported with the import webvpn command or
certificates, perform the following steps.
Procedure
Step 1
Step 2
Run the export command for the file that you want to back up (in this example, the rdp file):
ciscoasa # export webvpn plug-in protocol rdp tftp://tftpserver/backupfilename
Note
You can alternatively use the backup and restore commands. See Perform a Complete System Backup
or Restoration, page 33-23 for more information.
33-30
Chapter 33
Install a TFTP server to send files from the ASA to the backup site.
Another option is to use a commercially available tool. You can put the logic of this script into such a
tool.
Step 2
At the command line, enter Perl scriptname, where scriptname is the name of the script file.
Step 3
Press Enter.
Step 4
The system prompts you for values for each option. Alternatively, you can enter values for the options
when you enter the Perl scriptname command before you press Enter. Either way, the script requires
that you enter a value for each option.
Step 5
The script starts running, printing out the commands that it issues, which provides you with a record of
the CLIs. You can use these CLIs for a later restore, which is particularly useful if you want to restore
only one or two files.
Sample Script
#!/usr/bin/perl
#Description: The objective of this script is to show how to back up
configurations/extensions.
# It currently backs up the running configuration, all extensions imported via "import
webvpn" command, the CSD configuration XML file, and the DAP configuration XML file.
#Requirements: Perl with Expect, SSH to the ASA, and a TFTP server.
#Usage: backupasa -option option_value
#
-h: ASA hostname or IP address
#
-u: User name to log in via SSH
#
-w: Password to log in via SSH
#
-e: The Enable password on the security appliance
#
-p: Global configuration mode prompt
#
-s: Host name or IP address of the TFTP server to store the configurations
#
-r: Restore with an argument that specifies the file name. This file is produced
during backup.
#If you don't enter an option, the script will prompt for it prior to backup.
#
#Make sure that you can SSH to the ASA.
use Expect;
use Getopt::Std;
#global variables
33-31
Chapter 33
%options=();
$restore = 0; #does backup by default
$restore_file = '';
$asa = '';
$storage = '';
$user = '';
$password = '';
$enable = '';
$prompt = '';
$date = date +%F;
chop($date);
my $exp = new Expect();
getopts("h:u:p:w:e:s:r:",\%options);
do process_options();
do login($exp);
do enable($exp);
if ($restore) {
do restore($exp,$restore_file);
}
else {
$restore_file = "$prompt-restore-$date.cli";
open(OUT,">$restore_file") or die "Can't open $restore_file\n";
do running_config($exp);
do lang_trans($exp);
do customization($exp);
do plugin($exp);
do url_list($exp);
do webcontent($exp);
do dap($exp);
do csd($exp);
close(OUT);
}
do finish($exp);
sub enable {
$obj = shift;
$obj->send("enable\n");
unless ($obj->expect(15, 'Password:')) {
print "timed out waiting for Password:\n";
}
$obj->send("$enable\n");
unless ($obj->expect(15, "$prompt#")) {
print "timed out waiting for $prompt#\n";
}
}
sub lang_trans {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn translation-table\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
s/^\s+//;
s/\s+$//;
next if /show import/ or /Translation Tables/;
next unless (/^.+\s+.+$/);
($lang, $transtable) = split(/\s+/,$_);
$cli = "export webvpn translation-table $transtable language $lang
$storage/$prompt-$date-$transtable-$lang.po";
33-32
Chapter 33
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub running_config {
$obj = shift;
$obj->clear_accum();
$cli ="copy /noconfirm running-config $storage/$prompt-$date.cfg";
print "$cli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
sub customization {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn customization\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
chop;
next if /^Template/ or /show import/ or /^\s*$/;
$cli = "export webvpn customization $_ $storage/$prompt-$date-cust-$_.xml";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub plugin {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn plug-in\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
chop;
next if /^Template/ or /show import/ or /^\s*$/;
$cli = "export webvpn plug-in protocol $_ $storage/$prompt-$date-plugin-$_.jar";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub url_list {
$obj = shift;
$obj->clear_accum();
33-33
Chapter 33
33-34
Chapter 33
33-35
Chapter 33
}
else {
print "Enter ASA host name or IP address:";
chop($asa=<>);
}
if (defined ($options{u})) {
$user= $options{u};
}
else {
print "Enter user name:";
chop($user=<>);
}
if (defined ($options{w})) {
$password= $options{w};
}
else {
print "Enter password:";
chop($password=<>);
}
if (defined ($options{p})) {
$prompt= $options{p};
}
else {
print "Enter ASA prompt:";
chop($prompt=<>);
}
if (defined ($options{e})) {
$enable = $options{e};
}
else {
print "Enter enable password:";
chop($enable=<>);
}
if (defined ($options{r})) {
$restore = 1;
$restore_file = $options{r};
}
}
33-36
Chapter 33
Downgrading to Version 8.1 or earlier versionsAfter you upgrade, if you activate additional
feature licenses that were introduced before 8.2, the activation key continues to be compatible with
earlier versions if you downgrade. However if you activate feature licenses that were introduced in
Version 8.2 or later versions, the activation key is not backwards compatible. If you have an
incompatible license key, see the following guidelines:
If you previously entered an activation key in an earlier version, the ASA uses that key (without
any of the new licenses you activated in Version 8.2 or later versions).
If you have a new system and do not have an earlier activation key, you need to request a new
Downgrading to Version 8.2 or earlier versionsVersion 8.3 introduced more robust time-based key
usage as well as failover license changes:
If you have more than one time-based activation key active, when you downgrade, only the most
recently activated time-based key can be active. Any other keys are made inactive.
If you have mismatched licenses on a failover pair, downgrading will disable failover. Even if
the keys are matching, the license used will no longer be a combined license.
For example:
ciscoasa(config)# downgrade /noconfirm disk0:/asa821-k8.bin disk0:/8_2_1_0_startup_cfg.sav
Where the /noconfirm option downgrades without prompting. The image_url is the path to the old image
on disk0, disk1, tftp, ftp, or smb. The old_config_url is the path to the saved, premigration configuration
(by default, t;his configuration was saved on disk0). If you need to revert to a pre-8.3 activation key, you
can enter the old activation key.
This command is a shortcut for completing the following functions:
1.
2.
3.
4.
Saving the running configuration to startup (write memory). This action sets the BOOT
environment variable to the old image, so when you reload, the old image is loaded.
5.
Copying the old configuration to the startup configuration (copy old_config_url startup-config).
6.
Reloading (reload).
33-37
Chapter 33
The Auto Update specification provides the infrastructure necessary for remote management
applications to download ASA configurations, software images, and to perform basic monitoring from
a centralized location or multiple locations.
The Auto Update specification allows the Auto Update server to either push configuration information
and send requests for information to the ASA, or to pull configuration information by having the ASA
periodically poll the Auto Update server. The Auto Update server can also send a command to the ASA
to send an immediate polling request at any time. Communication between the Auto Update server and
the ASA requires a communications path and local CLI configuration on each ASA.
33-38
Chapter 33
When loading a new platform software image, the failover pair stops passing traffic.
When using LAN-based failover, new configurations must not change the failover link
configuration. If they do, communication between the units will fail.
Only the primary unit will perform the call home to the Auto Update Server. The primary unit must
be in the active state to call home. If it is not, the ASA automatically fails over to the primary unit.
Only the primary unit downloads the software image or configuration file. The software image or
configuration is then copied to the secondary unit.
The interface MAC address and hardware-serial ID is from the primary unit.
The configuration file stored on the Auto Update Server or HTTP server is for the primary unit only.
Both units exchange the platform and ASDM software checksum and version information.
2.
The primary unit contacts the Auto Update Server. If the primary unit is not in the active state, the
ASA first fails over to the primary unit and then contacts the Auto Update Server.
3.
The Auto Update Server replies with software checksum and URL information.
4.
If the primary unit determines that the platform image file needs to be updated for either the active
or standby unit, the following occurs:
a. The primary unit retrieves the appropriate files from the HTTP server using the URL from the
the active unit and the primary unit reloads. The primary unit becomes the active unit when it
has finished loading.
If hitless upgrade cannot be performed when the standby unit boots, then both units reload at
33-39
Chapter 33
5.
If the ASA determines that the ASDM file needs to be updated for either the primary or secondary
unit, the following occurs:
a. The primary unit retrieves the ASDM image file from the HTTP server using the URL provided
If the primary unit determines that the configuration needs to be updated, the following occurs:
a. The primary unit retrieves the configuration file from the using the specified URL.
b. The new configuration replaces the old configuration on both units simultaneously.
c. The update process begins again at Step 1.
7.
If the checksums match for all image and configuration files, no updates are required. The process
ends until the next poll time.
If HTTPS is chosen as the protocol to communicate with the Auto Update server, the ASA uses SSL,
which requires the ASA to have a DES or 3DES license.
To specify the URL of the Auto Update Server, enter the following command:
ciscoasa(config)# auto-update server url [source interface] [verify-certificate |
no-verification]
The source interface keyword and argument specify which interface to use when sending requests to the
Auto Update Server. If you specify the same interface specified by the management-access command,
the Auto Update requests travel over the same IPsec VPN tunnel used for management access.
For HTTPS, the verify-certificate keyword (the default) verifies the certificate returned by the Auto
Update Server. To disable verification (not recommended), specify the no-verification keyword.
Step 2
(Optional) To identify the device ID to send when communicating with the Auto Update Server, enter
the following command:
ciscoasa(config)# auto-update device-id {hardware-serial | hostname | ipaddress [if-name]
| mac-address [if-name] | string text}
33-40
Chapter 33
Step 3
The ipaddress keyword specifies the IP address of the specified interface. If the interface name is
not specified, it uses the IP address of the interface used to communicate with the Auto Update
Server.
The mac-address keyword specifies the MAC address of the specified interface. If the interface
name is not specified, it uses the MAC address of the interface used to communicate with the Auto
Update Server.
The string keyword specifies the specified text identifier, which cannot include white space or the
characters , , , >, & and ?.
(Optional) To specify how often to poll the Auto Update Server for configuration or image updates, enter
the following command:
ciscoasa(config)# auto-update poll-period poll-period [retry-count [retry-period]]
The poll-period argument specifies how often (in minutes) to check for an update. The default is 720
minutes (12 hours).
The retry-count argument specifies how many times to try reconnecting to the server if the first attempt
fails. The default is zero.
The retry-period argument specifies how long to wait (in minutes) between retries. The default is five
minutes.
Step 4
(Optional) To schedule a specific time for the ASA to poll the Auto Update Server, enter the following
command:
ciscoasa(config)# auto-update poll-at days-of-the-week time [randomize minutes]
[retry_count [retry_period]]
The days-of-the-week argument is any single day or combination of days: Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday, and Sunday. Other possible values are daily (Monday through Sunday),
weekdays (Monday through Friday), and weekends (Saturday and Sunday).
The time argument specifies the time in the format HH:MM at which to start the poll. For example, 8:00
is 8:00 a.m. and 20:00 is 8:00 p.m.
The randomize minutes keyword and argument specify the period to randomize the poll time following
the specified start time. The range is from 1 to 1439 minutes.
The retry_count argument specifies how many times to try reconnecting to the Auto Update Server if the
first attempt fails. The default is zero.
The retry_period argument specifies how long to wait between connection attempts. The default is five
minutes. The range is from 1 to 35791 minutes.
Step 5
(Optional) If the Auto Update Server has not been contacted for a certain period of time, entering the
following command causes it to stop passing traffic:
ciscoasa(config)# auto-update timeout period
The period argument specifies the timeout period in minutes between 1 and 35791. The default is to
never time out (zero minutes). To restore the default, enter the no form of this command.
Use the auto-update timeout command to be sure that the ASA has the most recent image and
configuration. This condition is reported with system log message 201008.
33-41
Chapter 33
Examples
In the following example, an ASA is configured to poll an Auto Update Server with the IP address
209.165.200.224, at port number 1742, from the outside interface, with certificate verification.
The ASA is also configured to use the hostname as the device ID and to poll an Auto Update Server every
Friday and Saturday night at a random time between 10:00 p.m. and 11:00 p.m. On a failed polling
attempt, the ASA will try to reconnect to the Auto Update Server ten times, and will wait three minutes
between attempts at reconnecting, as shown in the following example:
ciscoasa(config)# auto-update server
https://jcrichton:farscape@209.165.200.224:1742/management source outside
verify-certificate
ciscoasa (config)# auto-update device-id hostname
hostname (config)# auto-update poll-at Friday Saturday 22:00 randomize 60 2 10
Step 2
Configure the following parameters for the client-update command that you want to apply to the ASAs:
client-update {component {asdm | image} | device-id dev_string |
family family_name | type type} url url-string rev-nums rev-nums}
The component {asdm | image} parameter specifies the software component, either ASDM or the boot
image of the ASA.
The device-id dev_string parameter specifies a unique string that the Auto Update client uses to identify
itself. The maximum length is 63 characters.
The family family_name parameter specifies the family name that the Auto Update client uses to identify
itself. It can be asa, pix, or a text string with a maximum length of seven characters.
The rev-nums rev-nums parameter specifies the software or firmware images for this client. Enter up to
four, in any order, separated by commas.
The type type parameter specifies the type of clients to notify of a client update. Because this command
is also used to update Windows clients, the list of clients includes several Windows operating systems.
The url url-string parameter specifies the URL for the software/firmware image. This URL must point
to a file appropriate for this client. For all Auto Update clients, you must use the protocol http:// or
https:// as the prefix for the URL.
Configure the parameters for the client update that you want to apply to all ASAs of a particular type.
That is, specify the type of ASA and the URL or IP address from which to get the updated image. In
addition, you must specify a revision number. If the revision number of the remote ASA matches one of
the specified revision numbers, there is no need to update the client, and the update is ignored.
To configure a client update for Cisco 5525-X ASAs, enter the following command:
ciscoasa(config)# client-update type asa5525 component asdm url
http://192.168.1.114/aus/asdm601.bin rev-nums 8.0(1)
33-42
Chapter 33
33-43
Chapter 33
mate
mate
mate
mate
mate
state:
state:
state:
state:
state:
20
20
20
20
20
mate state: 50
mate state: 50
The following syslog message is generated if the Auto Update process fails:
%ASA4-612002: Auto Update failed: file version: version reason: reason
The file is image, asdm, or configuration, depending on which update failed. The version is the
version number of the update. And the reason is the reason that the update failed.
33-44
Chapter 33
Feature Name
Platform
Releases
9.1(5)/9.2(1)
Feature Information
The ASA now supports the Secure Copy (SCP) client to
transfer files to and from a SCP server.
We introduced the following commands: ssh
pubkey-chain, server (ssh pubkey-chain), key-string,
key-hash, ssh stricthostkeycheck.
We modified the following command: copy scp.
9.2(1)
9.3(2)
9.4(1)
33-45
Chapter 33
History for Software and Configurations
33-46
CH AP TE R
34
Supported Events
The EEM supports the following events:
SyslogThe ASA uses syslog message IDs to identify syslog messages that trigger an event
manager applet. You may configure multiple syslog events, but the syslog message IDs may not
overlap within a single event manager applet.
TimersYou may use timers to trigger events. You may configure each timer only once for each
event manager applet. Each event manager applet may have up to three timers. The three types of
timers are the following:
Watchdog (periodic) timers trigger an event manager applet after the specified time period
period and do not restart unless they are removed, then re-added.
Absolute (once-a-day) timers cause an event to occur once a day at a specified time, and restart
34-1
Chapter 34
NoneThe none event is triggered when you run an event manager applet manually using the CLI
or ASDM.
CrashThe crash event is triggered when the ASA crashes. Regardless of the value of the output
command, the action commands are directed to the crashinfo file. The output is generated before
the show tech command.
Output Destinations
You may send the output from the actions to a specified location using the output command. Only one
output value may be enabled at any one time. The default value is output none. This value discards any
output from the action commands. The command runs in global configuration mode as a user with
privilege level 15 (the highest). The command may not accept any input, because it is disabled.You may
send the output of the action CLI commands to one of three locations:
File, which sends the output to a file. The following four file options are available:
Create a unique file, which creates a new, uniquely named file each time that an event manager
applet is invoked
Create/overwrite a file, which overwrites a specified file each time that an event manager
applet is invoked.
Create/append to a file, which appends to a specified file each time that an event manager
During a crash, the state of the ASA is generally unknown. Some commands may not be safe to run
during this condition.
You cannot modify the None event and Crashinfo event parameters.
Performance may be affected because syslog messages are sent to the EEM for processing.
34-2
Chapter 34
The default output is output none for each event manager applet. To change this setting, you must
enter a different output value.
You may have only one output option defined for each event manager applet.
Create an event manager applet, then configure various events. See Create an Event Manager Applet and
Configure Events, page 34-3.
Step 2
Configure an action on an event manager applet, then configure a destination for output from an action.
See Configure an Action and Destinations for Output from an Action, page 34-5.
Step 3
Run an event manager applet. See Run an Event Manager Applet, page 34-6.
Step 4
Track memory allocations and memory usage for the EEM. See Track Memory Allocation and Memory
Usage, page 34-6.
Create an event manager applet and enter event manager applet configuration mode.
event manager applet name
Example:
ciscoasa(config)# event manager applet exampleapplet1
The name argument may be up to 32 alphanumeric characters long. Spaces are not allowed.
To remove an event manager applet, enter the no form of this command.
Step 2
Example:
ciscoasa(config-applet)# description applet1example
The text argument may be up to 256 characters long. You may include spaces in description text if it is
placed within quotes.
Step 3
To configure a specified event, enter one of the following commands. To remove the configured event,
enter the no form of each of the commands.
To configure a syslog event, identify a single syslog message or a range of syslog messages that
trigger an event manager applet.
event syslog id nnnnnn[-nnnnnn] [occurs n] [period seconds]
34-3
Chapter 34
Example:
ciscoasa(config-applet)# event syslog id 106201
The nnnnnn argument identifies the syslog message ID. The occurs n keyword-argument pair
indicates the number of times that the syslog message must occur for an event manager applet to be
invoked. The default is 1 occurrence every 0 seconds. Valid values are from 1 - 4294967295. The
period seconds keyword-argument pair indicates the number of seconds in which the event must
occur, and limits how frequently an event manager applet is invoked to at most once in the
configured period. Valid values are from 0 - 604800. A value of 0 means that no period is defined.
To configure an event to occur once per configured period and restart automatically.
event timer watchdog time seconds
Example:
ciscoasa(config-applet)# event timer watchdog time 30
To configure an event to occur once and not restart unless it is removed, then re-added.
event timer countdown time seconds
Example:
ciscoasa(config-applet)# event timer countdown time 60
The number of seconds may range from 1 - 604800. Use the no form of this command remove a
countdown timer event.
Note
Example:
ciscoasa(config-applet)# event timer absolute time 10:30:20
The time-of-day format is in hh:mm:ss. The time range is from 00:00:00 (midnight) to 23:59:59.
Example:
ciscoasa(config-applet)# event crashinfo
Regardless of the value of the output command, the action commands are directed to the crashinfo
file. The output is generated before the show tech command.
34-4
Chapter 34
Example:
ciscoasa(config-applet)# action 1 cli command show version
The n option is an action ID. Valid IDs range from 0 - 4294967295. The value of the command option
must be in quotes; otherwise, an error occurs if the command consists of more than one word. The
command runs in global configuration mode as a user with privilege level 15 (the highest). The command
may not accept any input, because it is disabled. Use the noconfirm option if the command has it
available.
Step 2
Choose one of the available output destination options. Use the no form of each command to remove an
output destination,
The None option discards any output from the action commands, which is the default setting:
output none
Example:
ciscoasa(config-applet)# output none
The Console option sends the output of the action commands to the console.
output console
Example:
ciscoasa(config-applet)# output console
Note
The New File option sends the output of the action commands to a new file for each event manager
applet that is invoked.
output file new
Example:
ciscoasa(config-applet)# output file new
The filename has the format of eem-applet-timestamp.log, in which applet is the name of the event
manager applet and timestamp is a dated time stamp in the format of YYYYMMDD-hhmmss.
The New Set of Rotated Files option creates a set of files that are rotated. When a new file is to be
written, the oldest file is deleted, and all subsequent files are renumbered before the first file is
written.
output file rotate n
34-5
Chapter 34
Example:
ciscoasa(config-applet)# output file rotate 50
The newest file is indicated by 0, and the oldest file is indicated by the highest number (n-1). The n
option is the rotate value. Valid values range from 2 - 100. The filename format is eem-applet-x.log,
in which applet is the name of the applet, and x is the file number.
The Single Overwritten File option writes the action command output to a single file, which is
overwritten every time.
output file overwrite filename
Example:
ciscoasa(config-applet)# output file overwrite examplefile1
The filename argument is a local (to the ASA) filename. This command may also use FTP, TFTP,
and SMB targeted files.
The Single Appended File option writes the action command output to a single file, but that file is
appended to every time.
output file append filename
Example:
ciscoasa(config-applet)# output file append examplefile1
Example:
ciscoasa# event manager run exampleapplet1
If you run an event manager applet that has not been configured with the event none command, an error
occurs. The applet argument is the name of the event manager applet.
34-6
Chapter 34
Procedure
Step 1
Example:
ciscoasa(config)# memory logging 202980
The only required argument is the number of entries in the memory logging buffer. The wrap option tells
the memory logging utility to save the buffer when it wraps. It can only be saved once.
If the memory logging buffer wraps multiple times, it can be overwritten. When the buffer wraps, a
trigger is sent to the event manager to enable saving of the data. The size option monitors a particular
size. The process option monitors a particular process.
Note
The Checkheaps process is completely ignored as a process because it uses the memory allocator
in a non-standard way.
The context option records memory logging for a given virtual context by the given name.
To change memory logging parameters, you must disable it, then reenable it.
Step 2
Example:
ciscoasa# show memory logging
Number of free
6
Number of calloc
0
Number of malloc
8
Number of realloc-new
0
Number of realloc-free
0
Number of realloc-null
0
Number of realloc-same
0
Number of calloc-fail
0
Number of malloc-fail
0
Number of realloc-fail
0
Total operations 14
Buffer size: 50 (3688 x2 bytes)
process=[ci/console] time=[13:26:33.407] oper=[malloc]
addr=0x00007fff2cd0a6c0 size=72 @ 0x00000000016466ea 0x0000000002124542 0x000000000131911a
0x0000000000442bfd process=[ci/console] time=[13:26:33.407] oper=[free]
addr=0x00007fff2cd0a6c0 size=72 @ 0x00000000021246ef 0x00000000013193e8
0x0000000000443455 0x0000000001318f5b
process=[CMGR Server Process] time=[13:26:35.964] oper=[malloc]
addr=0x00007fff2cd0aa00 size=16 @ 0x00000000016466ea 0x0000000002124542 0x000000000182774d
0x000000000182cc8a process=[CMGR Server Process] time=[13:26:35.964] oper=[malloc]
addr=0x00007fff224bb9f0 size=512 @ 0x00000000016466ea 0x0000000002124542
0x0000000000bfef9a 0x0000000000bff606 process=[CMGR Server Process] time=[13:26:35.964]
oper=[free]
addr=0x00007fff224bb9f0 size=512 @ 0x00000000021246ef 0x0000000000bff3d8
0x0000000000bff606 0x000000000182ccb0
process=[CMGR Server Process] time=[13:26:35.964] oper=[malloc]
addr=0x00007fff224b9460 size=40 @ 0x00000000016466ea 0x0000000002124542
0x0000000001834188 0x000000000182ce83
34-7
Chapter 34
Without any options, show memory logging displays statistics and then the recorded operations. The
brief option shows only statistics. The wrap option shows the buffer upon wrap, then purges the data so
that duplicate data does not appear or get saved. The include option includes only the specified fields in
the output. You can specify the fields in any order, but they always appear in the following order:
1.
Process
2.
Time
34-8
Chapter 34
3.
4.
Operation (free/malloc/etc.)
5.
Address
6.
Size
7.
Callers
Example:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
The example shows an applet that records all memory allocations. When wrap is enabled for memory
logging, the memory logger sends an event to the event manager to trigger configured applets.
The following example shows an event manager applet that reboots the ASA every day at 1 am, saving
the configuration as needed:
ciscoasa(config)# event manager applet dailyreboot
ciscoasa(config-applet)# description Reboot every night
ciscoasa(config-applet)# event timer absolute time 1:00:00
ciscoasa(config-applet)# output none
ciscoasa(config-applet)# action 1 cli command reload save-config noconfirm
The following example shows event manager applets that disable the given interface between midnight
and 3 am.
ciscoasa(config)# event manager applet disableintf
ciscoasa(config-applet)# description Disable the interface at midnight
ciscoasa(config-applet)# event timer absolute time 0:00:00
ciscoasa(config-applet)# output none
ciscoasa(config-applet)# action 1 cli command interface GigabitEthernet 0/0
ciscoasa(config-applet)# action 2 cli command shutdown
ciscoasa(config-applet)# action 3 cli command write memory
34-9
Chapter 34
34-10
Chapter 34
Feature Name
Platform
Releases
Description
The EEM service enables you to debug problems and provides general purpose
logging for troubleshooting. There are two components: events to which the
EEM responds or listens, and event manager applets that define actions as well
as the events to which the EEM responds. You may configure multiple event
manager applets to respond to different events and perform different actions.
We introduced or modified the following commands: event manager applet,
description, event syslog id, event none, event timer {watchdog time seconds
| countdown time seconds | absolute time hh:mm:ss}, event crashinfo, action
cli command, output {none | console | file {append filename | new | overwrite
filename | rotate n}}, show running-config event manager, event manager
run, show event manager, show counters protocol eem, clear configure event
manager, debug event manager, debug menu eem.
9.4(1)
We have added a new debugging feature to log memory allocations and memory
usage, and to respond to memory logging wrap events.
We introduced or modified the following commands: memory logging, show
memory logging, show memory logging include, event
memory-logging-wrap.
34-11
Chapter 34
History for the EEM
34-12
CH AP TE R
35
Capture Packets
Capturing packets may be useful when troubleshooting connectivity problems or monitoring suspicious
activity. We recommend that you contact Cisco TAC if you want to use the packet capture service.
To capture packets, perform the following steps:
Procedure
Step 1
Enable packet capture capabilities for packet sniffing and network fault isolation.
[cluster exec] capture capture_name [type {asp-drop all [drop-code] | tls-proxy | raw-data
| lacp | isakmp [ikev1 | ikev2] | inline-tag [tag] | webvpn user webvpn-user}]
[access-list access_list_name] [interface asa_dataplane] [buffer buf_size] [ethernet-type
type] [interface interface_name] [reinject-hide] [packet-length bytes] [circular-buffer]
35-1
Chapter 35
Capture Packets
[trace trace_count] [real-time] [trace] [match prot {host source-ip | source-ip mask
|any}{host destination-ip |destination-ip mask | any} [operator port]
Example:
ciscoasa# capture captest interface inside
For the complete syntax description, see the command reference or the CLI help (help capture). Not all
options can be specified in one command. See the CLI help for allowed combinations.
Use the same capture_name on multiple capture statements to capture multiple types of traffic.
The type asp-drop keyword captures packets dropped by the accelerated security path. In a cluster,
dropped forwarded data packets from one unit to another are also captured. In multiple context mode,
when this option is issued in system context, all dropped data packets are captured; when this option is
issued in a user context, only dropped data packets that enter from interfaces belonging to the user
context are captured.
The inline-tag tag keyword-argument pair specifies a tag for a particular SGT value or leaves it
unspecified to capture a tagged packet with any SGT value.
The buffer keyword defines the buffer size used to store the packet. When the byte buffer is full, packet
capture stops. When used in a cluster, this is the per-unit size, not the sum of all units. The
circular-buffer keyword overwrites the buffer, starting from the beginning, when the buffer is full.
The interface keyword sets the name of the interface on which to use packet capture. You must configure
an interface for any packets to be captured.
To capture packets on the dataplane, use the asa_dataplane keyword. To filter packets captured on the
ASA CX backplane, use the asa_dataplane option and follow these guidelines. In single mode, the
backplane control packets bypass the access list and are captured. In multiple context mode, only control
packets are captured in the system context. Data packets are captured in the user context. The access-list
and match options are only available in the user context.
To capture the traffic on the cluster control link, use the cluster keyword. If you configure type lacp,
specify the physical interface ID instead of the nameif name.
The match keyword captures matching the protocol and source and destination IP addresses and optional
ports. You can use this keyword up to three times in one command. The operator can be one of the
following:
ltless than
gtgreater than
eqequal to
The type raw-data keywords capture inbound and outbound packets. This setting is the default.
The real-time keyword displays the captured packets continuously in real-time. To terminate real-time
packet capture, enter Ctrl + c. To permanently remove the capture, use the no form of this command.
This option applies only to raw-data and asp-drop captures. This option is not supported when you use
the cluster exec capture command.
The reinject-hide keyword specifies that no reinjected packets will be captured and applies only in a
clustering environment.
35-2
Chapter 35
Note
If ACL optimization is configured, you cannot use the access-list command in capture. You can
only use the access-group command. An error appears if you try to use the access-list command
in this case.
If the ASA receives packets with an incorrectly formatted TCP header and drops them because of
the invalid-tcp-hdr-length ASP drop reason, the show capture command output on the interface
where those packets are received does not show those packets.
You can only capture IP traffic; you cannot capture non-IP packets such as ARPs.
For cluster control link capture in multiple context mode, only the packet that is associated with the
context sent in the cluster control link is captured.
For inline SGT tagged packets, captured packets contain an additional CMD header that your PCAP
viewer might not understand.
In multiple context mode, the copy capture command is available only in the system space. The
syntax is as follows:
copy /pcap capture:Context-name/in-cap tftp:
Where in-cap is the capture configured in the context context-name
The cluster exec capture realtime command is not supported. The following error message
appears:
Error: Real-time capture can not be run in cluster exec mode.
35-3
Chapter 35
Capture Packets
You can only configure one capture for the VLAN; if you configure a capture in multiple
contexts on the shared VLAN, then only the last capture that was configured is used.
If you remove the last-configured (active) capture, no captures become active, even if you have
previously configured a capture in another context; you must remove the capture and add it
again to make it active.
All traffic that enters the interface to which the capture is attached is captured, including traffic
For egress traffic, only the traffic of the context with the active capture is captured. The only
exception is when you do not enable the ICMP inspection (therefore the ICMP traffic does not have
a session in the accelerated path). In this case, both ingress and egress ICMP traffic for all contexts
on the shared VLAN is captured.
Configuring a capture typically involves configuring an ACL that matches the traffic that needs to
be captured. After an ACL that matches the traffic pattern is configured, then you need to define a
capture and associate this ACL to the capture, along with the interface on which the capture needs
to be configured.
After you have performed a cluster-wide capture, to copy the same cluster-wide capture file to a
TFTP server, enter the following command on the master unit:
ciscoasa (cfg-cluster)# cluster exec copy /pcap capture: cap_name
tftp://location/path/filename.pcap
Multiple PCAP files, one from each unit, are copied to the TFTP server. The destination capture file
name is automatically attached with the unit name, such as filename_A.pcap, filename_B.pcap, and
so on. In this example, A and B are cluster unit names. A different destination name is generated if
you add the unit name at the end of the filename.
To enable cluster-wide capture on a specified interface, you can add the cluster exec keywords in
front of each of the commands shown in the examples. These capture commands can only be
replicated from the master unit to the slave units. However, you can still configure a capture on the
specified interface for the local unit using any of these capture commands.
Examples
The following example shows how to create a capture for control path packets in the clustering link:
ciscoasa (config)# capture cp interface cluster match udp any eq 49495 any
ciscoasa (config)# capture cp interface cluster match udp any any eq 49495
The following example shows how to create a capture for data path packets in the clustering link:
ciscoasa (config)# access-list cc1 extended permit udp any any eq 4193
ciscoasa (config)# access-list cc1 extended permit udp any eq 4193 any
ciscoasa (config)# capture dp interface cluster access-list ccl
The following example shows how to capture data path traffic through the cluster:
ciscoasa (config)# capture abc interface inside match tcp host 1.1.1.1 host 2.2.2.2 eq www
ciscoasa (config)# capture abc interface inside match udp host 1.1.1.1 any
ciscoasa (config)# capture abc interface inside access-list xxx
35-4
Chapter 35
The following example shows how to capture logical update messages for flows that match the real
source to the real destination, and capture packets forwarded over CCL that match the real source to the
real destination:
ciscoasa (config)# access-list dp permit ip real_src real_dst
The following example shows how to capture a certain type of data plane message, such as icmp echo
request/response, that is forwarded from one ASA to another ASA using the match keyword or the ACL
for the message type:
ciscoasa (config)# capture capture_name interface cluster access-list match icmp any any
The following example shows how to create a capture by using ACL 103 on a cluster control link:
ciscoasa (config)# access-list 103 permit ip A B
ciscoasa (config)# capture example1 interface cluster access-list 103
In the previous example, if A and B are IP addresses for the CCL interface, only the packets that are sent
between these two units are captured.
If A and B are IP addresses for through-device traffic, then the following is true:
Forwarded packets are captured as usual, provided the source and destination IP addresses are
matched with the ACL.
The data path logic update message is captured provided it is for the flow between A and B or for
an ACL (for example, access-list 103). The capture matches the five-tuple of the embedded flow.
Although the source and destination addresses in the UDP packet are CCL addresses, if this packet is to
update a flow that is associated with addresses A and B, then it is also captured. That is, as long as
addresses A and B that are embedded in the packet are matched, it is also captured.
35-5
Chapter 35
Overhead of moving packets between vSwitches, vNICs, and pNICs. This overhead can be quite
significant.
DP: 35%
External Processes: 5%
Overhead: 45%
The overhead is used to perform hypervisor functions and to move packets between NICs and vNICs
using the vSwitch.
Usage can exceed 100% because the ESXi server can use additional compute resources for overhead on
behalf of the ASAv.
Memory (type M while running) and network (type N while running), as well as statistics and the
number of RX drops
The vCenter graph numbers are always higher than the ASAv numbers.
The terms %CPU utilization and %CPU usage mean different things:
CPU usage provides statistics for logical CPUs, which is based on CPU hyperthreading. But because
only one vCPU is used, hyperthreading is not turned on.
35-6
Chapter 35
Loopback testing of two interfacesYou can initiate a ping from one interface to another on the
same ASA, as an external loopback test to verify basic up status and operation of each interface.
Pinging to an ASAYou can ping an interface on another ASA to verify that it is up and responding.
35-7
Chapter 35
Pinging through an ASAYou can ping through an intermediate ASA by pinging a device on the
other side of the ASA. The packets will pass through two of the intermediate ASAs interfaces as
they go in each direction. This action performs a basic test of the interfaces, operation, and response
time of the intermediate unit.
Pinging to test questionable operation of a network deviceYou can ping from an ASA interface to
a network device that you suspect is functioning incorrectly. If the interface is configured correctly
and an echo is not received, there might be problems with the device.
Pinging to test intermediate communicationsYou can ping from an ASA interface to a network
device that is known to be functioning correctly. If the echo is received, the correct operation of any
intermediate devices and physical connectivity is confirmed.
Enable ICMP
By default, you can ping from a high security interface to a low security interface. You just need to
enable ICMP inspection to allow returning traffic through. If you want to ping from low to high, then
you need to apply an ACL to allow traffic.
When pinging an ASA interface, any ICMP rules applied to the interface must allow Echo Request and
Echo Response packets. ICMP rules are optional: if you do not configure them, all ICMP traffic to an
interface is allowed.
This procedure explains all of ICMP configuration you might need to complete to enable ICMP pinging
of ASA interfaces, or for pinging through an ASA.
Procedure
Step 1
Step 2
35-8
Chapter 35
When pinging a host through an ASA, access rules must allow ICMP traffic to leave and return. The
access rule must at least allow Echo Request/Echo Reply ICMP packets. You can add these rules as
global rules.
Assuming you already have access rules applied to interfaces or applied globally, simply add these rules
to the relevant ACL, for example:
ciscoasa(config)# access-list outside_access_in extended permit icmp any any echo
ciscoasa(config)# access-list outside_access_in extended permit icmp any any echo-reply
If you do not have access rules, you will need to also allow the other type of traffic you want, because
applying any access rules to an interface adds an implicit deny, so all other traffic will be dropped. Use
the access-group command to apply the ACL to an interface or globally.
If you are simply adding the rule for testing purposes, you can use the no form of the access-list
command to remove the rule from the ACL. If the entire ACL is simply for testing purposes, use the no
access-group command to remove the ACL from the interface.
Step 3
Ping Hosts
To ping any device, you simply enter ping with the IP address or host name, such as ping 10.1.1.1 or
ping www.example.com. For TCP ping, you include the tcp keyword and the destination port, such as
ping tcp www.example.com 80. That is usually the extent of any test you need to run.
Example output for a successful ping:
Sending 5, 100-byte ICMP Echos to out-pc, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
If the ping fails, the output indicates ? for each failed attempt, and the success rate is less than 100
percent (complete failure is 0 percent):
Sending 5, 100-byte ICMP Echos to 10.132.80.101, timeout is 2 seconds:
?????
Success rate is 0 percent (0/5)
However, you can also add parameters to control some aspects of the ping. Following are your basic
options:
ICMP ping.
ping [if_name] host [repeat count] [timeout seconds] [data pattern] [size bytes] [validate]
Where:
35-9
Chapter 35
if_name is the name of the interface by which the host is accessible. If you do not include a
default is 2.
data pattern is the hexadecimal pattern to use in the packets sent. The default is 0xabcd.
size bytes is the length of the packet sent. The default is 100 bytes.
validate indicates that you want reply data validated.
TCP ping.
ping tcp [if_name] host [port] [repeat count] [timeout seconds] [source host ports]
Where:
if_name is the interface through which the source sends the ping. If you do not include a name,
Interactive ping.
ping
By entering ping without parameters, you are prompted for interface, destination, and other
parameters, including extended parameters not available as keywords. Use this method if you have
need for extensive control over the ping packets.
If you want to see the syslog messages mentioned in the procedure, enable logging (the logging enable
command, or Configuration > Device Management > Logging > Logging Setup in ASDM).
Although unnecessary, you can also enable ICMP debug to see messages on the ASA console as you ping
ASA interfaces from external devices (you will not see debug messages for pings that go through the
ASA). We recommend that you only enable pinging and debugging messages during troubleshooting, as
they can affect performance. The following example enables ICMP debugging, sets syslog messages to
be sent to Telnet or SSH sessions and sends them to those sessions, and enables logging. Instead of
logging monitor debug, you can alternately use the logging buffer debug command to send log
messages to a buffer, and then view them later using the show logging command.
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
35-10
Chapter 35
With this configuration, you would see something like the following for a successful ping from an
external host (209.165.201.2) to the ASA outside interface (209.165.201.1):
ciscoasa(config)# debug icmp trace
Inbound ICMP echo reply (len 32 id
Outbound ICMP echo request (len 32
Inbound ICMP echo reply (len 32 id
Outbound ICMP echo request (len 32
Inbound ICMP echo reply (len 32 id
Outbound ICMP echo request (len 32
Inbound ICMP echo reply (len 32 id
The output shows the ICMP packet length (32 bytes), the ICMP packet identifier (1), and the ICMP
sequence number (the ICMP sequence number starts at 0, and is incremented each time that a request is
sent).
When you are finished testing, disable debugging. Leaving the configuration in place can pose
performance and security risks. If you enabled logging just for testing, you can disable it also.
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
Procedure
Step 1
Draw a diagram of your single-mode ASA or security context that shows the interface names, security
levels, and IP addresses. The diagram should also include any directly connected routers and a host on
the other side of the router from which you will ping the ASA.
35-11
Chapter 35
Host
Host
Host
10.1.1.56
209.265.200.230
Router
dmz1
192.1
68.1.
Router
outside
209.165.201.1
security0
Host
10.1.3.6
209.165.201.24
Router
Router
dmz3
192.1
68.3.
outside
security0
Transp. ASA
10.1.0.3
Routed ASA
dmz2
192.168.2.1
security40
inside
192.168.0.1
security100
Router
Router
10.1.2.90
Step 2
inside
security100
Router
10.1.0.34
Host
Host
dmz4
192.168.4.1
security80
Router
10.1.4.67
10.1.1.5
Host
330857
Figure 35-1
Host
Ping each ASA interface from the directly connected routers. For transparent mode, ping the
management IP address. This test ensures that the ASA interfaces are active and that the interface
configuration is correct.
A ping might fail if the ASA interface is not active, the interface configuration is incorrect, or if a switch
between the ASA and a router is down (see the following figure). In this case, no debugging messages
or syslog messages appear, because the packet never reaches the ASA.
Ping Failure at the ASA Interface
Ping
Host
Router
ASA
330858
Figure 35-2
If the ping reply does not return to the router, then a switch loop or redundant IP addresses might exist
(see the following figure).
35-12
Figure 35-3
Ping
Router
192.168.1.2
192.168.1.1
Security
Appliance
126696
192.168.1.2
Host
Step 3
Ping each ASA interface from a remote host. For transparent mode, ping the management IP address.
This test checks whether the directly connected router can route the packet between the host and the
ASA, and whether the ASA can correctly route the packet back to the host.
A ping might fail if the ASA does not have a return route to the host through the intermediate router (see
the following figure). In this case, the debugging messages show that the ping was successful, but syslog
message 110001 appears, indicating a routing failure has occurred.
Figure 35-4
Ping
Router
Step 5
Ping from an ASA interface to a network device that you know is functioning correctly.
If the ping is not received, a problem with the transmitting hardware or interface configuration may
exist.
If the ASA interface is configured correctly and it does not receive an echo reply from the known
good device, problems with the interface hardware receiving function may exist. If a different
interface with known good receiving capability can receive an echo after pinging the same known
good device, the hardware receiving problem of the first interface is confirmed.
Ping from the host or router through the source interface to another host or router on another interface.
Repeat this step for as many interface pairs as you want to check. If you use NAT, this test shows that
NAT is operating correctly.
If the ping succeeds, a syslog message appears to confirm the address translation for routed mode
(305009 or 305011) and that an ICMP connection was established (302020). You can also enter either
the show xlate or show conns command to view this information.
The ping might fail because NAT is not configured correctly. In this case, a syslog message appears,
showing that the NAT failed (305005 or 305006). If the ping is from an outside host to an inside host,
and you do not have a static translation, you get message 106010.
Figure 35-5
Ping
Host
126694
Step 4
ASA
330860
Chapter 35
Router
Security
Appliance
Router
Host
35-13
Chapter 35
Step 2
Create an L3/L4 class map to identify the traffic for which you want to customize connection settings.
class-map name
match parameter
Example:
ciscoasa(config)# class-map CONNS
ciscoasa(config-cmap)# match any
For information on matching statements, see the Service Policy chapter in the firewall configuration
guide.
Step 2
Add or edit a policy map that sets the actions to take with the class map traffic, and identify the class
map.
policy-map name
class name
Example:
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class CONNS
In the default configuration, the global_policy policy map is assigned globally to all interfaces. If you
want to edit the global_policy, enter global_policy as the policy name. For the class map, specify the
class you created earlier in this procedure.
Step 3
Step 4
If you are editing an existing service policy (such as the default global policy called global_policy), you
can skip this step. Otherwise, activate the policy map on one or more interfaces.
service-policy policymap_name {global | interface interface_name}
Example:
35-14
Chapter 35
The global keyword applies the policy map to all interfaces, and interface applies the policy to one
interface. Only one global policy is allowed. You can override the global policy on an interface by
applying a service policy to that interface. You can only apply one policy map to each interface.
Step 5
Increase the rate limit on ICMP Unreachable messages so that the ASA will appear on trace route output.
icmp unreachable rate-limit rate burst-size size
Example
ciscoasa(config)# icmp unreachable rate-limit 50 burst-size 1
The rate limit can be 1-100, with 1 being the default. The burst size is meaningless, but must be 1-10.
Example
The following example decrements TTL for all traffic globally and increase the ICMP unreachable limit
to 50.
ciscoasa(config)# class-map global-policy
ciscoasa(config-cmap)# match any
ciscoasa(config-cmap)# exit
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class global-policy
ciscoasa(config-pmap-c)# set connection decrement-ttl
ciscoasa(config-pmap-c)# exit
ciscoasa(config)# icmp unreachable rate-limit 50 burst-size 6
Description
No response was received for the probe within the timeout period.
nn msec
For each node, the round-trip time (in milliseconds) for the specified number of
probes.
!N.
!H
!P
ICMP unreachable.
!A
35-15
Chapter 35
Procedure
Step 1
Normally, you simply include the destination IP address or hostname, such as traceroute
www.example.com. However, you can adjust the characteristics of the trace if desired:
source {source_ip | source-interface}Specifies the interface to use as the source of the trace. You
can specify the interface by name or by IP address. In transparent mode, you must use the
management address.
numericIndicates that only the IP addresses should be shown in the trace route. Without this
keyword, the trace route does DNS lookups for addresses and includes DNS names, assuming that
you configure DNS.
timeout timeout_valueHow long to wait for a response before timing out. The default is 3
seconds.
probe probe_numHow many probes to send at each TTL level. The default is 3.
ttl min_ttl max_ttlThe minimum and maximum time-to-live values for the probes. The minimum
default is one, but you can set it to a higher value to suppress the display of known hops. The
maximum default is 30. The traceroute terminates when the packet reaches the destination or when
the maximum value is reached.
Example
ciscoasa# traceroute 209.165.200.225
Type escape sequence to abort.
Tracing the route to 209.165.200.225
1
2
3
4
5
6
7
8
35-16
Chapter 35
Procedure
Step 1
The command is complicated, so we shall break it down into parts. Start by choosing the interface and
protocol for the trace:
packet-tracer input ifc_name {icmp | tcp | udp | rawip} [inline-tag tag] ...
Where:
Step 2
input ifc_nameThe name of the interface from which to start the trace.
icmp, tcp, udp, rawipThe protocol to use. rawip is raw IP, that is, IP packets that are not
TCP/UDP.
inline-tag tag(Optional.) The security group tag value embedded in the Layer 2 CMD header.
Valid values range from 0 - 65533.
Where:
Step 3
user usernameThe user identity in the format of domain\user. The most recently mapped address
for the user (if any) is used in the trace.
security-group {name name | tag tag}The source security group based on the IP-SGT lookup for
Trustsec. You can specify a security group name or a tag number.
fqdn fqdn-stringThe fully qualified domain name of the source host, IPv4 only.
ICMPEnter the ICMP type (1-255), ICMP code (0-255), and optionally, the ICMP identifier. You
must use numbers for each variable, for example, 8 for echo.
... type code [ident]...
Step 4
Finally, type in the destination address criteria, destination port for TCP/UDP traces, and optional
keywords, and press Enter.
...{dip | security-group {name name | tag tag} | fqdn fqdn-string}
dport
[detailed] [xml]
Where:
security-group {name name | tag tag}The destination security group based on the IP-SGT
lookup for Trustsec. You can specify a security group name or a tag number.
fqdn fqdn-stringThe fully qualified domain name of the destination host, IPv4 only.
dportThe destination port for TCP/UDP traces. Do not include this value for ICMP or raw IP
traces.
35-17
Chapter 35
Example
The following example traces a TCP packet for the HTTP port from 10.100.10.10 to 10.100.11.11. The
result indicates that the packet will be dropped by the implicit deny access rule.
ciscoasa(config)# packet-tracer input outside tcp 10.100.10.10
Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 10.86.116.1 using egress ifc
80 10.100.11.11 80
outside
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: DROP
Config:
Implicit Rule
Additional Information:
Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: NP Identity Ifc
output-status: up
output-line-status: up
Action: drop
Drop-reason: (acl-drop) Flow is denied by configured rule
show perfmon
Shows current and average statistics for NAT xlates, connections, inspections, URL access and
server requests, AAA, and TCP intercept.
show memory
Shows free and used memory.
show blocks
Shows memory block information based on block size.
show cpu
Shows CPU utilization.
show process
Shows system process information. Following are some useful variants:
35-18
Chapter 35
show process cpu-usage non-zeroShows processes that are actually using CPU, filtering out
Monitoring Connections
To view current connections with information about source, destination, protocol, and so forth, use the
show conn all detail command.
35-19
Chapter 35
Monitoring Connections
35-20
PART
CH AP TE R
36
Logging
This chapter describes how to log system messages and use them for troubleshooting.
About Logging
System logging is a method of collecting messages from devices to a server running a syslog daemon.
Logging to a central syslog server helps in aggregation of logs and alerts. Cisco devices can send their
log messages to a UNIX-style syslog service. A syslog service accepts messages and stores them in files,
or prints them according to a simple configuration file. This form of logging provides protected
long-term storage for logs. Logs are useful both in routine troubleshooting and in incident handling.
The Cisco ASA system logs provide you with information for monitoring and troubleshooting the ASA.
With the logging feature, you can do the following:
Specify one or more locations where syslog messages should be sent, including an internal buffer,
one or more syslog servers, ASDM, an SNMP management station, specified e-mail addresses, or
to Telnet and SSH sessions.
Configure and manage syslog messages in groups, such as by severity level or class of message.
Specify what happens to the contents of the internal log buffer when it becomes full: overwrite the
buffer, send the buffer contents to an FTP server, or save the contents to internal flash memory.
Filter syslog messages by locations, severity level, class, or a custom message list.
36-1
Chapter 36
Logging
About Logging
Connections that are allowed by ASA and ASASM security policies. These messages help you spot
holes that remain open in your security policies.
Connections that are denied by ASA and ASASM security policies. These messages show what
types of activity are being directed toward your secured inside network.
Using the ACE deny rate logging feature shows attacks that are occurring on your ASA or
ASA Services Module.
User authentication and command usage provide an audit trail of security policy changes.
Bandwidth usage messages show each connection that was built and torn down as well as the
duration and traffic volume used.
Protocol usage messages show the protocols and port numbers used for each connection.
Address translation audit trail messages record NAT or PAT connections being built or torn down,
which are useful if you receive a report of malicious activity coming from inside your network to
the outside world.
The syslog message facility code for messages that are generated by the ASA and
ASASM. This value is always ASA.
Level
1 through 7. The level reflects the severity of the condition described by the syslog
messagethe lower the number, the more severe the condition.
36-2
Chapter 36
Logging
About Logging
A text string that describes the condition. This portion of the syslog message
sometimes includes IP addresses, port numbers, or usernames.
Severity Levels
The following table lists the syslog message severity levels. You can assign custom colors to each of the
severity levels to make it easier to distinguish them in the ASDM log viewers. To configure syslog
message color settings, either choose the Tools > Preferences > Syslog tab or, in the log viewer itself,
click Color Settings on the toolbar.
Table 36-1
Note
Description
emergencies
System is unusable.
alert
critical
Critical conditions.
error
Error conditions.
warning
Warning conditions.
notification
informational
debugging
The ASA and ASASM do not generate syslog messages with a severity level of zero (emergencies). This
level is provided in the logging command for compatibility with the UNIX syslog feature, but is not used
by the ASA.
Syslog message class (equivalent to a functional area of the ASA and ASASM)
36-3
Chapter 36
Logging
About Logging
You customize these criteria by creating a message list that you can specify when you set the output
destination. Alternatively, you can configure the ASA or ASASM to send a particular message class to
each type of output destination independently of the message list.
You can use syslog message classes in two ways:
Specify an output location for an entire category of syslog messages using the logging class
command.
Create a message list that specifies the message class using the logging list command.
The syslog message class provides a method of categorizing syslog messages by type, equivalent to a
feature or function of the ASA and ASASM. For example, the vpnc class denotes the VPN client.
All syslog messages in a particular class share the same initial three digits in their syslog message ID
numbers. For example, all syslog message IDs that begin with the digits 611 are associated with the vpnc
(VPN client) class. Syslog messages associated with the VPN client feature range from 611101 to
611323.
In addition, most of the ISAKMP syslog messages have a common set of prepended objects to help
identify the tunnel. These objects precede the descriptive text of a syslog message when available. If the
object is not known at the time that the syslog message is generated, the specific heading = value
combination does not appear.
The objects are prefixed as follows:
Group = groupname, Username = user, IP = IP_address
Where the group is the tunnel-group, the username is the username from the local database or AAA
server, and the IP address is the public IP address of the remote access client or Layer 2 peer.
Select syslog messages with the severity levels of 1 and 2 and send them to one or more e-mail
addresses.
Select all syslog messages associated with a message class (such as ha) and save them to the internal
buffer.
A message list can include multiple criteria for selecting messages. However, you must add each
message selection criterion with a new command entry. It is possible to create a message list that
includes overlapping message selection criteria. If two criteria in a message list select the same message,
the message is logged only once.
Clustering
Syslog messages are an invaluable tool for accounting, monitoring, and troubleshooting in a clustering
environment. Each ASA unit in the cluster (up to eight units are allowed) generates syslog messages
independently; certain logging commands then enable you to control header fields, which include a time
36-4
Chapter 36
Logging
Guidelines for Logging
stamp and device ID. The syslog server uses the device ID to identify the syslog generator. You can use
the logging device-id command to generate syslog messages with identical or different device IDs to
make messages appear to come from the same or different units in the cluster.
The syslog server must run a server program called syslogd. Windows (except for Windows 95 and
Windows 98) provides a syslog server as part of its operating system. For Windows 95 and Windows
98, you must obtain a syslogd server from another vendor.
To view logs generated by the ASA or ASASM, you must specify a logging output destination. If
you enable logging without specifying a logging output destination, the ASA and ASASM generate
messages but does not save them to a location from which you can view them. You must specify each
different logging output destination separately. For example, to designate more than one syslog
server as an output destination, enter a new command for each syslog server.
The ASA supports the configuration of 16 syslog servers with the logging host command in single
context mode. In multiple context mode, the limitation is 4 servers per context.
The syslog server should be reachable through the ASA and ASASM. You should configure the
ASASM to deny ICMP unreachable messages on the interface through which the syslog server is
reachable and to send syslogs to the same server. Make sure that you have enabled logging for all
severity levels. To prevent the syslog server from crashing, suppress the generation of syslogs
313001, 313004, and 313005.
When you use a custom message list to match only access list hits, the access list logs are not
generated for access lists that have had their logging severity level increased to debugging (level 7).
The default logging severity level is set to 6 for the logging list command. This default behavior is
by design. When you explicitly change the logging severity level of the access list configuration to
debugging, you must also change the logging configuration itself.
The following is sample output from the show running-config logging command that does not
include access list hits, because their logging severity level has been changed to debugging:
ciscoasa# show running-config logging
logging enable
logging timestamp
logging list test message 106100
logging buffered test
The following is sample output from the show running-config logging command that does include
access list hits:
ciscoasa# show running-config logging
logging enable
logging timestamp
logging buffered debugging
36-5
Chapter 36
Logging
Configure Logging
In this case, the access list configuration does not change and the number of access list hits appears,
as shown in the following example:
ciscoasa(config)# access-list global line 1 extended permit icmp any host 4.2.2.2 log
debugging interval 1 (hitcnt=7) 0xf36b5386
ciscoasa(config)# access-list global line 2 extended permit tcp host 10.1.1.2 any eq
www log informational interval 1 (hitcnt=18) 0xe7e7c3b8
ciscoasa(config)# access-list global line 3 extended permit ip any any (hitcnt=543)
0x25f9e609
Configure Logging
This section describes how to configure logging.
Step 1
Step 2
Configure an output destination for syslog messages. See Configure an Output Destination, page 36-6.
Note
The minimum configuration depends on what you want to do and what your requirements are
for handling syslog messages in the ASA and ASASM.
Enable Logging
To enable logging, perform the following steps:
Procedure
Step 1
Enable logging.
logging enable
Example:
ciscoasa(config)# logging enable
36-6
Chapter 36
Logging
Configure Logging
Example:
ciscoasa(config)# logging host dmz1 192.168.1.5 udp 1026 format emblem
The format emblem keyword enables EMBLEM format logging for the syslog server with UDP only.
The interface_name argument specifies the interface through which you access the syslog server. The
syslog_ip argument specifies the IP address of the syslog server. The tcp[/port] or udp[/port] keyword
and argument pair specify that the ASA and ASASM should use TCP or UDP to send syslog messages
to the syslog server.
You can configure the ASA to send data to a syslog server using either UDP or TCP, but not both. The
default protocol is UDP if you do not specify a protocol.
If you specify TCP, the ASA and ASASM discover when the syslog server fails and as a security
protection, new connections through the ASA and ASA Services Module are blocked. To allow new
connections regardless of connectivity to a TCP syslog server, see Step 3. If you specify UDP, the ASA
and ASASM continue to allow new connections whether or not the syslog server is operational. Valid
port values for either protocol are 1025 through 65535. The default UDP port is 514. The default TCP
port is 1470.
Step 2
Example:
ciscoasa(config)# logging trap errors
You can specify the severity level number (1 through 7) or name. For example, if you set the severity
level to 3, then the ASA and ASASM send syslog messages for severity levels 3, 2, and 1. You can
specify a custom message list that identifies the syslog messages to send to the syslog server.
Step 3
(Optional) Disable the feature to block new connections when a TCP-connected syslog server is down.
logging permit-hostdown
Example:
ciscoasa(config)# logging permit-hostdown
If the ASA or ASASM is configured to send syslog messages to a TCP-based syslog server, and if either
the syslog server is down or the log queue is full, then new connections are blocked. New connections
are allowed again after the syslog server is back up and the log queue is no longer full.
Step 4
(Optional) Set the logging facility to a value other than 20, which is what most UNIX systems expect.
logging facility number
36-7
Chapter 36
Logging
Configure Logging
Example:
ciscoasa(config)# logging facility 21
Specify which syslog messages should be sent to the internal log buffer, which serves as a temporary
storage location.
logging buffered {severity_level | message_list}
Example:
ciscoasa(config)# logging buffered critical
ciscoasa(config)# logging buffered level 2
ciscoasa(config)# logging buffered notif-list
New messages are appended to the end of the list. When the buffer is full, that is, when the buffer wraps,
old messages are overwritten as new messages are generated, unless you configure the ASA and ASASM
to save the full buffer to another location. To empty the internal log buffer, enter the clear logging buffer
command.
Step 2
Change the size of the internal log buffer. The default buffer size is 4 KB.
logging buffer-size bytes
Example:
ciscoasa(config)# logging buffer-size 16384
Step 3
Save new messages to the internal log buffer and save the full log buffer content to the internal flash
memory.
logging flash-bufferwrap
Example:
ciscoasa(config)# logging flash-bufferwrap
Save new messages to the internal log buffer and save the full log buffer content to an FTP server.
logging ftp-bufferwrap
36-8
Chapter 36
Logging
Configure Logging
Example:
ciscoasa(config)# logging flash-bufferwrap
When saving the buffer content to another location, the ASA and ASASM create log files with
names that use the following time-stamp format:
LOG-YYYY-MM-DD-HHMMSS.TXT
where YYYY is the year, MM is the month, DD is the day of the month, and HHMMSS is the time in
hours, minutes, and seconds.
Identify the FTP server on which you want to store log buffer content.
logging ftp-server server path username password
Example:
ciscoasa(config)# logging ftp-server 10.1.1.1 /syslogs logsupervisor 1luvMy10gs
The server argument specifies the IP address of the external FTP server. The path argument specifies
the directory path on the FTP server where the log buffer data is to be saved. This path is relative to
the FTP root directory. The username argument specifies a username that is valid for logging into
the FTP server. The password argument indicates the password for the username specified.
Save the current log buffer content to the internal flash memory.
logging savelog [savefile]
Example:
ciscoasa(config)# logging savelog latest-logfile.txt
Example:
ciscoasa(config)# logging mail high-priority
When sent by e-mail, a syslog message appears in the subject line of the e-mail message. For this reason,
we recommend configuring this option to notify administrators of syslog messages with high severity
levels, such as critical, alert, and emergency.
Step 2
Specify the source e-mail address to be used when sending syslog messages to an e-mail address.
logging from-address email_address
Example:
ciscoasa(config)# logging from-address xxx-001@example.com
Step 3
Specify the recipient e-mail address to be used when sending syslog messages to an e-mail address.
36-9
Chapter 36
Logging
Configure Logging
Example:
ciscoasa(config)# logging recipient-address admin@example.com
Step 4
Specify the SMTP server to be used when sending syslog messages to an e-mail address.
smtp-server ip_address
Example:
ciscoasa(config)# smtp-server 10.1.1.1
Example:
ciscoasa(config)# logging asdm 2
The ASA or ASASM sets aside a buffer area for syslog messages waiting to be sent to ASDM and saves
messages in the buffer as they occur. The ASDM log buffer is a different buffer than the internal log
buffer. When the ASDM log buffer is full, the ASA or ASASM deletes the oldest syslog message to make
room in the buffer for new ones. Deletion of the oldest syslog message to make room for new ones is the
default setting in ASDM. To control the number of syslog messages retained in the ASDM log buffer,
you can change the size of the buffer.
Step 2
Specify the number of syslog messages to be retained in the ASDM log buffer.
logging asdm-buffer-size num_of_msgs
Example:
ciscoasa(config)# logging asdm-buffer-size 200
Enter the clear logging asdm command to empty the current content of the ASDM log buffer.
36-10
Chapter 36
Logging
Configure Logging
Example:
ciscoasa(config)# logging console errors
Enable SNMP logging and specify which messages are to be sent to SNMP servers.
logging history [logging_list | level]
Example:
ciscoasa(config)# logging history errors
Example:
ciscoasa(config)# logging monitor 6
Step 2
Example:
ciscoasa(config)# terminal monitor
If you log out and then log in again, you need to reenter this command. Enter the terminal no monitor
command to disable logging to the current session.
Event Class
Severity
Message ID
36-11
Chapter 36
Logging
Configure Logging
To create a custom event list to send to a specific logging destination (for example, an SNMP server),
perform the following steps:
Procedure
Step 1
Specify criteria for selecting messages to be saved in the internal log buffer. For example, if you set the
severity level to 3, then the ASA sends syslog messages for severity levels 3, 2, and 1.
logging list name {level level [class message_class] | message start_id[-end_id]}
Example:
ciscoasa(config)# logging list notif-list level 3
The name argument specifies the name of the list. The level level keyword and argument pair specify the
severity level. The class message_class keyword and argument pair specify a particular message class.
The message start_id[-end_id] keyword and argument pair specify an individual syslog message number
or a range of numbers.
Note
Step 2
Do not use the names of severity levels as the name of a syslog message list. Prohibited names
include emergencies, alert, critical, error, warning, notification, informational, and debugging.
Similarly, do not use the first three characters of these words at the beginning of an event list
name. For example, do not use an event list name that starts with the characters err.
Example:
ciscoasa(config)# logging list notif-list message 104024-105999
ciscoasa(config)# logging list notif-list level critical
ciscoasa(config)# logging list notif-list level warning class ha
Enter the same command as in the previous step, specifying the name of the existing message list and
the additional criterion. Enter a new command for each criterion that you want to add to the list. For
example, you can specify criteria for syslog messages to be included in the list as the following:
Syslog message IDs that fall into the range of 104024 to 105999.
All syslog messages with the critical severity level or higher (emergency, alert, or critical).
All ha class syslog messages with the warning severity level or higher (emergency, alert, critical,
error, or warning).
Note
A syslog message is logged if it satisfies any of these conditions. If a syslog message satisfies
more than one of the conditions, the message is logged only once.
36-12
Chapter 36
Logging
Configure Logging
Send syslog messages in EMBLEM format to a syslog server over UDP using port 514.
logging host interface_name ip_address {tcp[/port] | udp[/port]] [format emblem]
Example:
ciscoasa(config)# logging host interface_1 127.0.0.1 udp format emblem
The format emblem keyword enables EMBLEM format logging for the syslog server (UDP only). The
interface_name argument specifies the interface through which you access the syslog server. The
ip_address argument specifies the IP address of the syslog server. The tcp[/port] or udp[/port] keyword
and argument pair specify that the ASA and ASASM should use TCP or UDP to send syslog messages
to the syslog server.
You can configure the ASA and ASASM to send data to a syslog server using either UDP or TCP, but
not both. The default protocol is UDP if you do not specify a protocol.
You can use multiple logging host commands to specify additional servers that would all receive syslog
messages. If you configure two or more logging servers, make sure that you limit the logging severity
level to warnings for all logging servers.
If you specify TCP, the ASA or ASASM discovers when the syslog server fails and as a security
protection, new connections through the ASA are blocked. If you specify UDP, the ASA or ASASM
continues to allow new connections whether or not the syslog server is operational. Valid port values for
either protocol are 1025 through 65535. The default UDP port is 514. The default TCP port is 1470.
Note
Send syslog messages in EMBLEM format to output destinations other than a syslog server, such as
Telnet or SSH sessions.
logging emblem
Example:
ciscoasa(config)# logging emblem
36-13
Chapter 36
Logging
Configure Logging
Specify the maximum amount of internal flash memory available for saving log files.
logging flash-maximum-allocation kbytes
Example:
ciscoasa(config)# logging flash-maximum-allocation 1200
By default, the ASA can use up to 1 MB of internal flash memory for log data. The minimum amount of
internal flash memory that must be free for the ASA and ASASM to save log data is 3 MB.
If a log file being saved to internal flash memory would cause the amount of free internal flash memory
to fall below the configured minimum limit, the ASA or ASASM deletes the oldest log files to ensure
that the minimum amount of memory remains free after saving the new log file. If there are no files to
delete or if, after all old files have been deleted, free memory is still below the limit, the ASA or ASASM
fails to save the new log file.
Step 2
Specify the minimum amount of internal flash memory that must be free for the ASA or ASASM to save
a log file.
logging flash-minimum-free kbytes
Example:
ciscoasa(config)# logging flash-minimum-free 4000
Specify the number of syslog messages that the ASA and ASASM can hold in its queue before sending
them to the configured output destination.
logging queue message_count
Example:
ciscoasa(config)# logging queue 300
The ASA and ASASM have a fixed number of blocks in memory that can be allocated for buffering
syslog messages while they are waiting to be sent to the configured output destination. The number of
blocks required depends on the length of the syslog message queue and the number of syslog servers
specified. The default queue size is 512 syslog messages. The queue size is limited only by block
memory availability. Valid values are from 0 to 8192 messages, depending on the platform. If the logging
queue is set to zero, the queue is the maximum configurable size (8192 messages).
36-14
Chapter 36
Logging
Configure Logging
Override the configuration in the specified output destination command. For example, if you specify that
messages at severity level 7 should go to the internal log buffer and that ha class messages at severity
level 3 should go to the internal log buffer, then the latter configuration takes precedence.
logging class message_class {buffered | console | history | mail | monitor | trap}
[severity_level]
Example:
ciscoasa(config)# logging class ha buffered alerts
The buffered, history, mail, monitor, and trap keywords specify the output destination to which syslog
messages in this class should be sent. The history keyword enables SNMP logging. The monitor
keyword enables Telnet and SSH logging. The trap keyword enables syslog server logging. Select one
destination per command line entry. To specify that a class should go to more than one destination, enter
a new command for each output destination.
Example:
ciscoasa(config)# logging host inside 10.0.0.1 TCP/1500 secure
The interface_name argument specifies the interface on which the syslog server resides. The syslog_ip
argument specifies the IP address of the syslog server. The port argument specifies the port (TCP or UDP)
that the syslog server listens to for syslog messages. The tcp keyword specifies that the ASA or ASASM
should use TCP to send syslog messages to the syslog server. The udp keyword specifies that the ASA
or ASASM should use UDP to send syslog messages to the syslog server. The format emblem keyword
enables EMBLEM format logging for the syslog server. The secure keyword specifies that the
connection to the remote logging host should use SSL/TLS for TCP only.
Note
Secure logging does not support UDP; an error occurs if you try to use this protocol.
36-15
Chapter 36
Logging
Configure Logging
Configure the ASA or ASASM to include a device ID in non-EMBLEM-format syslog messages. You
can specify only one type of device ID for syslog messages.
logging device-id {cluster-id |context-name
| string text}
Example:
ciscoasa(config)# logging device-id hostname
ciscoasa(config)# logging device-id context-name
The context-name keyword indicates that the name of the current context should be used as the device
ID (applies to multiple context mode only). If you enable the logging device ID for the admin context in
multiple context mode, messages that originate in the system execution space use a device ID of system,
and messages that originate in the admin context use the name of the admin context as the device ID.
Note
In an ASA cluster, always use the master unit IP address for the selected interface.
The cluster-id keyword specifies the unique name in the boot configuration of an individual ASA unit
in the cluster as the device ID. The hostname keyword specifies that the hostname of the ASA should
be used as the device ID. The ipaddress interface_name keyword-argument pair specifies that the
interface IP address specified as interface_name should be used as the device ID. If you use the
ipaddress keyword, the device ID becomes the specified ASA interface IP address, regardless of the
interface from which the syslog message is sent. In the cluster environment, the system keyword dictates
that the device ID becomes the system IP address on the interface. This keyword provides a single,
consistent device ID for all syslog messages that are sent from the device. The string text
keyword-argument pair specifies that the text string should be used as the device ID. The string can
include as many as 16 characters.
You cannot use blank spaces or any of the following characters:
& (ampersand)
(single quote)
(double quote)
? (question mark)
Note
If enabled, the device ID does not appear in EMBLEM-formatted syslog messages nor in SNMP
traps.
36-16
Chapter 36
Logging
Configure Logging
Specify that syslog messages should include the date and time that they were generated.
logging timestamp
Example:
ciscoasa(config)# logging timestamp
LOG-2008-10-24-081856.TXT
To remove the date and time from syslog messages, enter the no logging timestamp command.
Example:
ciscoasa(config)# no logging message 113019
To reenable a disabled syslog message, enter the logging message syslog_id command (for example,
logging message 113019). To reenable logging of all disabled syslog messages, enter the clear
configure logging disabled command.
Example:
ciscoasa(config)# logging message 113019 level 5
36-17
Chapter 36
Logging
Configure Logging
To reset the severity level of a syslog message to its setting, enter the no logging message syslog_id level
severity_level command (for example, no logging message 113019 level 5). To reset the severity level
of all modified syslog messages to their settings, enter the clear configure logging level command.
Unblock a specific syslog message that was previously blocked from being generated on a standby unit.
logging message syslog-id standby
Example:
ciscoasa(config)# logging message 403503 standby
To block a specific syslog message from being generated on a standby unit, use the no form of this
command.
Use the logging standby command to ensure that the syslog messages of the failover standby ASA stay
synchronized if failover occurs.
Note
Using the logging standby command causes twice as much traffic on shared logging
destinations, such as syslog servers, SNMP servers, and FTP servers.
Apply a specified severity level (1 through 7) to a set of messages or to an individual message (not the
destination) within a specified time period.
logging rate-limit {unlimited | {num [interval]}} message syslog_id | level severity_level
Example:
ciscoasa(config)# logging rate-limit 1000 600 level 6
Rate limits affect the volume of messages being sent to all configured destinations. To reset the logging
rate limit to the default value, enter the clear running-config logging rate-limit command. To reset the
logging rate limit, enter the clear configure logging rate-limit command.
36-18
Chapter 36
Logging
Monitoring the Logs
show logging
This command shows syslog messages, including the severity level.
Note
The maximum number of syslog messages that are available to view is 1000, which is the
default setting. The maximum number of syslog messages that are available to view is 2000.
The following examples show how to control both whether a syslog message is enabled and the severity
level of the specified syslog message:
ciscoasa(config)# show logging message 403503
syslog 403503: -level errors (enabled)
ciscoasa(config)# logging message 403503 level 1
36-19
Chapter 36
Logging
Feature Name
Platform
Releases
Logging
7.0(1)
Rate limit
7.0(4)
Description
7.2(1)
Secure logging
8.0(2)
Specifies that the connection to the remote logging host should use SSL/TLS.
This option is valid only if the protocol selected is TCP.
We modified the following command: logging host.
Logging class
8.0(4), 8.1(1)
8.2(1)
36-20
Chapter 36
Logging
History for Logging
Table 36-2
Feature Name
Platform
Releases
Description
Password encryption
8.3(1)
Log viewers
8.3(1)
The source and destination IP addresses were added to the log viewers.
8.3(2)
When you configure a syslog server to use TCP, and the syslog server is
unavailable, the ASA blocks new connections that generate syslog messages
until the server becomes available again (for example, VPN, firewall, and
cut-through-proxy connections). This feature has been enhanced to also block
new connections when the logging queue on the ASA is full; connections resume
when the logging queue is cleared.
This feature was added for compliance with Common Criteria EAL4+. Unless
required, we recommended allowing connections when syslog messages cannot
be sent or received. To allow connections, continue to use the logging
permit-hostdown command.
We modified the following command: show logging.
We introduced the following syslog messages: 414005, 414006, 414007, and
414008.
8.4(1)
9.0(1)
Blocking syslogs on a
standby unit
9.4(1)
We added support for blocking the generation of specific syslog messages on the
standby unit in a failover configuration.
We introduced the following command: logging message syslog-id standby.
36-21
Chapter 36
History for Logging
36-22
Logging
CH AP TE R
37
SNMP
This chapter describes how to configure Simple Network Management Protocol (SNMP) to monitor the
Cisco ASA.
About SNMP
SNMP is an application-layer protocol that facilitates the exchange of management information between
network devices and is part of the TCP/IP protocol suite. The ASA, ASAv, and ASASM provide support
for network monitoring using SNMP Versions 1, 2c, and 3, and support the use of all three versions
simultaneously. The SNMP agent running on the ASA interface lets you monitor the ASA and ASASM
through network management systems (NMSs), such as HP OpenView. The ASA, ASAv, and ASASM
support SNMP read-only access through issuance of a GET request. SNMP write access is not allowed,
so you cannot make changes with SNMP. In addition, the SNMP SET request is not supported.
You can configure the ASA, ASAv, and ASASM to send traps, which are unsolicited messages from the
managed device to the management station for certain events (event notifications) to an NMS, or you can
use the NMS to browse the Management Information Bases (MIBs) on the ASA. MIBs are a collection
of definitions, and the ASA, ASAv, and ASASM maintain a database of values for each definition.
Browsing a MIB means issuing a series of GET-NEXT or GET-BULK requests of the MIB tree from the
NMS to determine values.
The ASA, ASAv, and ASASM have an SNMP agent that notifies designated management stations if
events occur that are predefined to require a notification, for example, when a link in the network goes
up or down. The notification it sends includes an SNMP OID, which identifies itself to the management
stations. The ASA, ASAv, or ASASM SNMP agent also replies when a management station asks for
information.
37-1
Chapter 37
SNMP
About SNMP
SNMP Terminology
The following table lists the terms that are commonly used when working with SNMP.
Table 37-1
SNMP Terminology
Term
Description
Agent
The SNMP server running on the ASA. The SNMP agent has the following features:
Responds to requests for information and actions from the network management station.
Controls access to its Management Information Base, the collection of objects that the SNMP
manager can view or change.
Browsing
Monitoring the health of a device from the network management station by polling required information
from the SNMP agent on the device. This activity may include issuing a series of GET-NEXT or
GET-BULK requests of the MIB tree from the network management station to determine values.
Management
Information
Bases (MIBs)
Standardized data structures for collecting information about packets, connections, buffers, failovers, and
so on. MIBs are defined by the product, protocols, and hardware standards used by most network devices.
SNMP network management stations can browse MIBs and request specific data or events be sent as they
occur.
Network
management
stations (NMSs)
The PCs or workstations set up to monitor SNMP events and manage devices, such as the ASA, ASAv,
and ASASM.
Object identifier
(OID)
The system that identifies a device to its NMS and indicates to users the source of information monitored
and displayed.
Trap
Predefined events that generate a message from the SNMP agent to the NMS. Events include alarm
conditions such as linkup, linkdown, coldstart, warmstart, authentication, or syslog messages.
37-2
Chapter 37
SNMP
About SNMP
Note
In software versions 7.2(1), 8.0(2), and later, the interface information accessed through SNMP refreshes
about every 5 seconds. As a result, we recommend that you wait for at least 5 seconds between
consecutive polls.
Not all OIDs in MIBs are supported. To obtain a list of the supported SNMP MIBs and OIDs for a
specific ASA or ASASM, enter the following command:
ciscoasa(config)# show snmp-server oidlist
Note
Although the oidlist keyword does not appear in the options list for the show snmp-server command
help, it is available. However, this command is for Cisco TAC use only. Contact the Cisco TAC before
using this command.
The following is sample output from the show snmp-server oidlist command:
ciscoasa(config)# show snmp-server oidlist
[0]
1.3.6.1.2.1.1.1.
sysDescr
[1]
1.3.6.1.2.1.1.2.
sysObjectID
[2]
1.3.6.1.2.1.1.3.
sysUpTime
[3]
1.3.6.1.2.1.1.4.
sysContact
[4]
1.3.6.1.2.1.1.5.
sysName
[5]
1.3.6.1.2.1.1.6.
sysLocation
[6]
1.3.6.1.2.1.1.7.
sysServices
[7]
1.3.6.1.2.1.2.1.
ifNumber
[8]
1.3.6.1.2.1.2.2.1.1.
ifIndex
[9]
1.3.6.1.2.1.2.2.1.2.
ifDescr
[10]
1.3.6.1.2.1.2.2.1.3.
ifType
[11]
1.3.6.1.2.1.2.2.1.4.
ifMtu
[12]
1.3.6.1.2.1.2.2.1.5.
ifSpeed
[13]
1.3.6.1.2.1.2.2.1.6.
ifPhysAddress
[14]
1.3.6.1.2.1.2.2.1.7.
ifAdminStatus
[15]
1.3.6.1.2.1.2.2.1.8.
ifOperStatus
[16]
1.3.6.1.2.1.2.2.1.9.
ifLastChange
[17]
1.3.6.1.2.1.2.2.1.10.
ifInOctets
[18]
1.3.6.1.2.1.2.2.1.11.
ifInUcastPkts
[19]
1.3.6.1.2.1.2.2.1.12.
ifInNUcastPkts
[20]
1.3.6.1.2.1.2.2.1.13.
ifInDiscards
[21]
1.3.6.1.2.1.2.2.1.14.
ifInErrors
[22]
1.3.6.1.2.1.2.2.1.16.
ifOutOctets
[23]
1.3.6.1.2.1.2.2.1.17.
ifOutUcastPkts
[24]
1.3.6.1.2.1.2.2.1.18.
ifOutNUcastPkts
[25]
1.3.6.1.2.1.2.2.1.19.
ifOutDiscards
[26]
1.3.6.1.2.1.2.2.1.20.
ifOutErrors
[27]
1.3.6.1.2.1.2.2.1.21.
ifOutQLen
[28]
1.3.6.1.2.1.2.2.1.22.
ifSpecific
[29]
1.3.6.1.2.1.4.1.
ipForwarding
[30]
1.3.6.1.2.1.4.20.1.1.
ipAdEntAddr
[31]
1.3.6.1.2.1.4.20.1.2.
ipAdEntIfIndex
[32]
1.3.6.1.2.1.4.20.1.3.
ipAdEntNetMask
[33]
1.3.6.1.2.1.4.20.1.4.
ipAdEntBcastAddr
[34]
1.3.6.1.2.1.4.20.1.5.
ipAdEntReasmMaxSize
[35]
1.3.6.1.2.1.11.1.
snmpInPkts
[36]
1.3.6.1.2.1.11.2.
snmpOutPkts
[37]
1.3.6.1.2.1.11.3.
snmpInBadVersions
[38]
1.3.6.1.2.1.11.4.
snmpInBadCommunityNames
[39]
1.3.6.1.2.1.11.5.
snmpInBadCommunityUses
[40]
1.3.6.1.2.1.11.6.
snmpInASNParseErrs
[41]
1.3.6.1.2.1.11.8.
snmpInTooBigs
37-3
Chapter 37
SNMP
About SNMP
[42]
1.3.6.1.2.1.11.9.
[43]
1.3.6.1.2.1.11.10.
[44]
1.3.6.1.2.1.11.11.
[45]
1.3.6.1.2.1.11.12.
[46]
1.3.6.1.2.1.11.13.
[47]
1.3.6.1.2.1.11.14.
[48]
1.3.6.1.2.1.11.15.
[49]
1.3.6.1.2.1.11.16.
[50]
1.3.6.1.2.1.11.17.
[51]
1.3.6.1.2.1.11.18.
[52]
1.3.6.1.2.1.11.19.
[53]
1.3.6.1.2.1.11.20.
[54]
1.3.6.1.2.1.11.21.
[55]
1.3.6.1.2.1.11.22.
[56]
1.3.6.1.2.1.11.24.
[57]
1.3.6.1.2.1.11.25.
[58]
1.3.6.1.2.1.11.26.
[59]
1.3.6.1.2.1.11.27.
[60]
1.3.6.1.2.1.11.28.
[61]
1.3.6.1.2.1.11.29.
[62]
1.3.6.1.2.1.11.30.
[63]
1.3.6.1.2.1.11.31.
[64]
1.3.6.1.2.1.11.32.
[65]
1.3.6.1.2.1.31.1.1.1.1.
[66]
1.3.6.1.2.1.31.1.1.1.2.
[67]
1.3.6.1.2.1.31.1.1.1.3.
[68]
1.3.6.1.2.1.31.1.1.1.4.
[69]
1.3.6.1.2.1.31.1.1.1.5.
[70]
1.3.6.1.2.1.31.1.1.1.6.
--More--
snmpInNoSuchNames
snmpInBadValues
snmpInReadOnlys
snmpInGenErrs
snmpInTotalReqVars
snmpInTotalSetVars
snmpInGetRequests
snmpInGetNexts
snmpInSetRequests
snmpInGetResponses
snmpInTraps
snmpOutTooBigs
snmpOutNoSuchNames
snmpOutBadValues
snmpOutGenErrs
snmpOutGetRequests
snmpOutGetNexts
snmpOutSetRequests
snmpOutGetResponses
snmpOutTraps
snmpEnableAuthenTraps
snmpSilentDrops
snmpProxyDrops
ifName
ifInMulticastPkts
ifInBroadcastPkts
ifOutMulticastPkts
ifOutBroadcastPkts
ifHCInOctets
Product Identifier
sysObjectID
Model Number
ASA 5506-X
ASA 5506W-X
ciscoASA5506Wsc (ciscoProducts
2118)
ciscoASA5506Wsy (ciscoProducts
2119)
37-4
ASA 5508-X
Chapter 37
SNMP
About SNMP
Table 37-2
ASA 5506 Adaptive Security Appliance ciscoASA5506K7 (ciscoProducts 2123) ASA 5506-X Adaptive Security
with No Payload Encryption
Appliance with No Payload Encryption
ASA 5506 Adaptive Security Appliance ciscoASA5506K7sc (ciscoProducts
Security Context with No Payload
2124)
Encryption
ASA 5508 Adaptive Security Appliance ciscoASA5508K7 (ciscoProducts 2126) ASA 5508-X Adaptive Security
with No Payload Encryption
Appliance System Context with No
Payload Encryption
ASA 5508 Adaptive Security Appliance ciscoASA5508K7sc (ciscoProducts
2127)
Security Context with No Payload
Encryption
ASA5585-SSP10
ciscoASA5585Ssp10 (ciscoProducts
1194)
ASA5585-SSP20
ciscoASA5585Ssp20 (ciscoProducts
1195)
ASA5585-SSP40
ciscoASA5585Ssp40 (ciscoProducts
1196)
ASA5585-SSP60
ciscoASA5585Ssp60 (ciscoProducts
1197)
ASA5585-SSP10
ciscoASA5585Ssp10sc (ciscoProducts
1198)
ASA5585-SSP20
ciscoASA5585Ssp20sc (ciscoProducts
1199)
ASA5585-SSP40
ciscoASA5585Ssp40sc (ciscoProducts
1200)
ASA5585-SSP60
ciscoASA5585Ssp60sc (ciscoProducts
1201)
ASA5585-SSP10
ciscoASA5585Ssp10sy (ciscoProducts
1202)
ASA5585-SSP20
ciscoASA5585Ssp20sy (ciscoProducts
1203)
ASA5585-SSP40
ciscoASA5585Ssp40sy (ciscoProducts
1204)
37-5
Chapter 37
SNMP
About SNMP
Table 37-2
ASA5585-SSP60
ciscoASA5585Ssp60sy (ciscoProducts
1205)
ciscoAsaSm1K7sy (ciscoProducts
1335)
ASA 5512
ASA 5525
ASA 5545
ASA 5555
ciscoASA5525sy (ciscoProducts1417)
37-6
Chapter 37
SNMP
About SNMP
Table 37-2
ASA 5515
ASAv
Item
Cisco Adaptive Security Appliance (ASA) 5506 Chassis with cevChassisAsa5506K7 (cevChassis 1603)
No Payload Encryption
Cisco Adaptive Security Appliance (ASA) 5508 Chassis with cevChassisAsa5508K7 (cevChassis 1604)
No Payload Encryption
Central Processing Unit for 5506 Adaptive Security
Appliance
37-7
Chapter 37
SNMP
About SNMP
Table 37-3
Central Processing Unit for 5506 with No Payload Encryption cevCpuAsa5506K7 (cevModuleCpuType 315)
Adaptive Security Appliance
Central Processing Unit for 5508 with No Payload Encryption cevCpuAsa5508K7 (cevModuleCpuType 316)
Adaptive Security Appliance
cevModuleASA5506 Type chassis
cevModuleAsa5506SSD (cevModuleASA5506Type 1)
cevModuleAsa5506K7SSD (cevModuleASA5506Type 3)
cevModuleAsa5508SSD (cevModuleASA5508Type 1)
cevModuleAsa5508K7SSD (cevModuleASA5508Type 2)
Chassis Cooling Fan Sensor for Adaptive Security Appliance cevSensorAsa5508ChassisFanSensor (cevSensor 162)
5508
Chassis Cooling Fan Sensor for Adaptive Security Appliance cevSensorAsa5508K7ChassisFanSensor (cevSensor 163)
5508 with No Payload Encryption
Central Processing Unit Temperature Sensor for 5506
Adaptive Security Appliance
cevSensorAsa5506WAcceleratorTempSensor (cevSensor
170)
37-8
Chapter 37
SNMP
About SNMP
Table 37-3
cevSensorAsa5506K7AcceleratorTempSensor (cevSensor
172)
cevSensorAsa5508K7AcceleratorTempSensor (cevSensor
173)
37-9
Chapter 37
About SNMP
Table 37-3
Power Supply Fan in Adaptive Security Appliance 5545 with cevFanASA5545K7PSFan (cevFan 161)
No Payload Encryption
Power Supply Fan in Adapative Security Appliance 5545
37-10
SNMP
Chapter 37
SNMP
About SNMP
Table 37-3
Power Supply Fan in Adaptive Security Appliance 5555 with cevFanASA5555PSFanK7 (cevFan 162)
No Payload Encryption
Power supply fan for ASA 5585-X
Presence Sensor for Power Supply input in Adaptive Security cevPowerSupplyASA5545PSPresence (cevPowerSupply
Appliance 5545
321)
Power Supply unit in Adaptive Security Appliance 5555
Presence Sensor for Power Supply input in Adaptive Security cevPowerSupplyASA5555PSPresence (cevPowerSupply
Appliance 5555
322)
Power supply input for ASA 5585
Cisco Adaptive Security Appliance (ASA) 5512 Chassis Fan cevSensorASA5512ChassisFanSensor (cevSensor 120)
sensor
Chassis Ambient Temperature Sensor for Cisco Adaptive
Security Appliance 5512
Cisco Adaptive Security Appliance (ASA) 5515 Chassis Fan cevSensorASA5515ChassisFanSensor (cevSensor 121)
sensor
Chassis Ambient Temperature Sensor for Cisco Adaptive
Security Appliance 5515
37-11
Chapter 37
SNMP
About SNMP
Table 37-3
Cisco Adaptive Security Appliance (ASA) 5525 Chassis Fan cevSensorASA5525ChassisFanSensor (cevSensor 122)
sensor
Chassis Ambient Temperature Sensor for Cisco Adaptive
Security Appliance 5525
Cisco Adaptive Security Appliance (ASA) 5545 Chassis Fan cevSensorASA5545ChassisFanSensor (cevSensor 123)
sensor
Chassis Ambient Temperature Sensor for Cisco Adaptive
Security Appliance 5545
Presence Sensor for Power Supply input in Adaptive Security cevSensorASA5545K7PSPresence (cevSensor 87)
Appliance 5545 with No Payload Encryption
Temperature Sensor for Power Supply Fan in Adaptive
Security Appliance 5545 with No Payload Encryption
Sensor for Power Supply Fan in Adaptive Security Appliance cevSensorASA5545PSFanSensor (cevSensor 89)
5545 with No Payload Encryption
Presence Sensor for Power Supply input in Adaptive Security cevSensorASA5545PSPresence (cevSensor 130)
Appliance 5545
37-12
Chapter 37
SNMP
About SNMP
Table 37-3
Presence Sensor for Power Supply input in Adaptive Security cevSensorASA5545PSPresence (cevSensor 131)
Appliance 5555
Temperature Sensor for Power Supply Fan in Adaptive
Security Appliance 5545
Cisco Adaptive Security Appliance (ASA) 5555 Chassis Fan cevSensorASA5555ChassisFanSensor (cevSensor 124)
sensor
Chassis Ambient Temperature Sensor for Cisco Adaptive
Security Appliance 5555
Presence Sensor for Power Supply input in Adaptive Security cevSensorASA5555K7PSPresence (cevSensor 88)
Appliance 5555 with No Payload Encryption
Temperature Sensor for Power Supply Fan in Adaptive
Security Appliance 5555 with No Payload Encryption
Sensor for Power Supply Fan in Adaptive Security Appliance cevSensorASA5555PSFanSensor (cevSensor 91)
5555
Temperature Sensor for Power Supply Fan in Adaptive
Security Appliance 5555
37-13
Chapter 37
SNMP
About SNMP
Table 37-3
MIB Name
CISCO-ENHANCED-MEMPOOL-MIB
CISCO-ENTITY-SENSOR-EXT-MIB
ceSensorExtThresholdTable
Note
CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB ciscoL4L7ResourceLimitTable
CISCO-TRUSTSEC-SXP-MIB
Note
DISMAN-EVENT-MIB
DISMAN-EXPRESSION-MIB
Note
37-14
Chapter 37
SNMP
About SNMP
Table 37-4
ENTITY-SENSOR-MIB
Note
entPhySensorTable
NAT-MIB
Varbind List
Description
authenticationFailure
(SNMPv2-MIB)
(CISCO-CONFIG-MAN-MIB)
cefcFRUInserted
(CISCO-ENTITY-FRU-CONTROL
-MIB)
cefcFRURemoved
(CISCO-ENTITY-FRU-CONTROL
-MIB)
37-15
Chapter 37
SNMP
About SNMP
Table 37-5
ceSensorExtThresholdNotification
(CISCO-ENTITY-SENSOR-EXT
-MIB)
Note
ceSensorExtThresholdValue,
entPhySensorValue,
entPhySensorType,
entPhysicalName
37-16
Chapter 37
SNMP
About SNMP
Table 37-5
cipSecTunnelStart
(CISCO-IPSEC-FLOW-MONITOR
-MIB)
cipSecTunnelStop
cipSecTunLifeTime,
cipSecTunLifeSize
cipSecTunActiveTime
crasNumSessions, crasNumUsers,
crasMaxSessionsSupportable,
crasMaxUsersSupportable,
crasThrMaxSessions
clogHistFacility, clogHistSeverity,
clogHistMsgName,
clogHistMsgText,
clogHistTimestamp
(CISCO-IPSEC-FLOW-MONITOR
-MIB)
ciscoConfigManEvent
(CISCO-CONFIG-MAN-MIB)
ciscoRasTooManySessions
(CISCO-REMOTE-ACCESS
-MONITOR-MIB)
clogMessageGenerated
(CISCO-SYSLOG-MIB)
crlResourceLimitValueType,
(CISCO-L4L7MODULE-RESOURCE crlResourceLimitMax,
clogOriginIDType, clogOriginID
-LIMIT-MIB)
coldStart
clrResourceLimitReached
(SNMPv2-MIB)
cpmCPURisingThreshold
(CISCO-PROCESS-MIB)
entConfigChange
(ENTITY-MIB)
37-17
Chapter 37
SNMP
About SNMP
Table 37-5
linkDown
ifIndex, ifAdminStatus,
ifOperStatus
(IF-MIB)
linkUp
(IF-MIB)
mteTriggerFired
(DISMAN-EVENT-MIB)
mteTriggerFired
(DISMAN-EVENT-MIB)
Note
natPacketDiscard
ifIndex, ifAdminStatus,
ifOperStatus
mteHotTrigger, mteHotTargetName,
mteHotContextName, mteHotOID,
mteHotValue, cempMemPoolName,
cempMemPoolHCUsed
mteHotTrigger, mteHotTargetName,
mteHotContextName, mteHotOID,
mteHotValue, ifHCInOctets,
ifHCOutOctets, ifHighSpeed,
entPhysicalName
ifIndex
(NAT-MIB)
warmStart
(SNMPv2-MIB)
LogicalStatistics collected by the software driver, which are a subset of physical statistics.
PhysicalStatistics collected by the hardware driver. Each physical named interface has a set of
logical and physical statistics associated with it. Each physical interface may have more than one
VLAN interface associated with it. VLAN interfaces only have logical statistics.
37-18
Chapter 37
SNMP
About SNMP
Note
For a physical interface that has multiple VLAN interfaces associated with it, be aware that
SNMP counters for ifInOctets and ifOutoctets OIDs match the aggregate traffic counters for that
physical interface.
VLAN-onlySNMP uses logical statistics for ifInOctets and ifOutOctets.
The examples in the following table show the differences in SNMP traffic statistics. Example 1 shows
the difference in physical and logical output statistics for the show interface command and the show
traffic command. Example 2 shows output statistics for a VLAN-only interface for the show interface
command and the show traffic command. The example shows that the statistics are close to the output
that appears for the show traffic command.
Table 37-6
Example 1
Example 2
Physical Statistics
GigabitEthernet3/2:
received (in 121.760 secs)
36 packets
3428 bytes
0 pkts/sec
28 bytes/sec
Logical Statistics
mgmt:
received (in 117.780 secs)
36 packets
2780 bytes
0 pkts/sec
23 bytes/sec
The following examples show the SNMP output statistics for the
management interface and the physical interface. The ifInOctets
value is close to the physical statistics output that appears in the
show traffic command output but not to the logical statistics
output.
ifIndex of the mgmt interface:
IF_MIB::ifDescr.6 = Adaptive Security Appliance mgmt
interface
37-19
Chapter 37
SNMP
About SNMP
Security Models
For configuration purposes, the authentication and privacy options are grouped together into security
models. Security models apply to users and groups, which are divided into the following three types:
AuthPrivAuthentication and Privacy, which means that messages are authenticated and encrypted.
SNMP Groups
An SNMP group is an access control policy to which users can be added. Each SNMP group is
configured with a security model, and is associated with an SNMP view. A user within an SNMP group
must match the security model of the SNMP group. These parameters specify what type of authentication
and privacy a user within an SNMP group uses. Each SNMP group name and security model pair must
be unique.
SNMP Users
SNMP users have a specified username, a group to which the user belongs, authentication password,
encryption password, and authentication and encryption algorithms to use. The authentication algorithm
options are MD5 and SHA. The encryption algorithm options are DES, 3DES, and AES (which is
available in 128, 192, and 256 versions). When you create a user, you must associate it with an SNMP
group. The user then inherits the security model of the group.
SNMP Hosts
An SNMP host is an IP address to which SNMP notifications and traps are sent. To configure SNMP
Version 3 hosts, along with the target IP address, you must configure a username, because traps are only
sent to a configured user. SNMP target IP addresses and target parameter names must be unique on the
ASA and ASA Services Module. Each SNMP host can have only one username associated with it. To
receive SNMP traps, after you have added the snmp-server host command, make sure that you configure
the user credentials on the NMS to match the credentials for the ASA and ASASM.
37-20
Chapter 37
SNMP
Guidelines for SNMP
Implementation Differences Between the ASA, ASA Services Module, and the Cisco IOS Software
The SNMP Version 3 implementation in the ASA and ASASM differs from the SNMP Version 3
implementation in the Cisco IOS software in the following ways:
The local-engine and remote-engine IDs are not configurable. The local engine ID is generated when
the ASA or ASASM starts or when a context is created.
No support exists for view-based access control, which results in unrestricted MIB browsing.
Support is restricted to the following MIBs: USM, VACM, FRAMEWORK, and TARGET.
You must create users and groups with the correct security model.
You must remove users, groups, and hosts in the correct sequence.
Use of the snmp-server host command creates an ASA, ASAv, or ASASM rule to allow incoming
SNMP traffic.
Note
SNMP polling fails if SNMP syslog messages exceed a high rate (approximately 4000 per second).
The SNMP client in each ASA, ASAv, or ASASM shares engine data with its peer. Engine data includes
the engineID, engineBoots, and engineTime objects of the SNMP-FRAMEWORK-MIB. Engine data is
written as a binary file to flash:/snmp/contextname.
IPv6 Guidelines
37-21
Chapter 37
SNMP
Additional Guidelines
You must have Cisco Works for Windows or another SNMP MIB-II compliant browser to receive
SNMP traps or browse a MIB.
Does not support view-based access control, but the VACM MIB is available for browsing to
determine default view settings.
The ENTITY-MIB is not available in the non-admin context. Use the IF-MIB instead to perform
queries in the non-admin context.
Does not support SNMP Version 3 for the AIP SSM or AIP SSC.
When using NET-SNMP Version 5.4.2.1, only supports the encryption algorithm version of
AES128. Does not support the encryption algorithm versions of AES256 or AES192.
Changes to the existing configuration are rejected if the result places the SNMP feature in an
inconsistent state.
For SNMP Version 3, configuration must occur in the following order: group, user, host.
Before a group is deleted, you must ensure that all users associated with that group are deleted.
Before a user is deleted, you must ensure that no hosts are configured that are associated with that
username.
If users have been configured to belong to a particular group with a certain security model, and if
the security level of that group is changed, you must do the following in this sequence:
Remove the users from that group.
Change the group security level.
Add users that belong to the new group.
The creation of custom views to restrict user access to a subset of MIB objects is not supported.
All requests and traps are available in the default Read/Notify View only.
The connection-limit-reached trap is generated in the admin context. To generate this trap. you must
have at least one SNMP server host configured in the user context in which the connection limit has
been reached.
You cannot query for the chassis temperature on the ASA 5585 SSP-40 (NPE).
You can add up to 4000 hosts. However, only 128 of this number can be for traps.
You can specify a network object to indicate the individual hosts that you want to add as a host
group.
You can associate more than one user with one host.
You can specify overlapping network objects in different host-group commands. The values that
you specify for the last host group take effect for the common set of hosts in the different network
objects.
If you delete a host group or hosts that overlap with other host groups, the hosts are set up again
using the values that have been specified in the configured host groups.
The values that the hosts acquire depend on the specified sequence that you use to run the
commands.
37-22
Chapter 37
SNMP
Guidelines for SNMP
The limit on the message size that SNMP sends is 1472 bytes.
Members of a cluster do not synchronize their SNMPv3 engine IDs. Because of this, each unit in
the cluster should have a unique SNMPv3 user configuration.
With Version 9.4(1), the ASA supports an unlimited number of SNMP server trap hosts per
context.The show snmp-server host command output displays only the active hosts that are polling
the ASA, as well as the statically configured hosts.
Troubleshooting Tips
To ensure that the SNMP process that receives incoming packets from the NMS is running, enter the
following command:
ciscoasa(config)# show process | grep snmp
To capture syslog messages from SNMP and have them appear on the ASA, ASAv, or ASASM
console, enter the following commands:
ciscoasa(config)# logging list snmp message 212001-212015
ciscoasa(config)# logging console snmp
To make sure that the SNMP process is sending and receiving packets, enter the following
commands:
ciscoasa(config)# clear snmp-server statistics
ciscoasa(config)# show snmp-server statistics
To make sure that SNMP packets are going through the ASA, ASAv, or ASASM and to the SNMP
process, enter the following commands:
ciscoasa(config)# clear asp drop
ciscoasa(config)# show asp drop
If the NMS cannot request objects successfully or is not handing incoming traps from the ASA,
ASAv, or ASASM correctly, use a packet capture to isolate the problem, by entering the following
commands:
ciscoasa
ciscoasa
ciscoasa
ciscoasa
(config)#
(config)#
(config)#
(config)#
If the ASA, ASAv, or ASASM is not performing as expected, obtain information about network
topology and traffic by doing the following:
For the NMS configuration, obtain the following information:
Number of timeouts
Retry count
Engine ID caching
Username and password used
Issue the following commands:
show block
show interface
show process
show cpu
37-23
Chapter 37
SNMP
Configure SNMP
show vm
If a fatal error occurs, to help in reproducing the error, send a traceback file and the output of the
show tech-support command to Cisco TAC.
If SNMP traffic is not being allowed through the ASA, ASAv, or ASASM interfaces, you might also
need to permit ICMP traffic from the remote SNMP server using the icmp permit command.
Configure SNMP
This section describes how to configure SNMP.
Step 1
Enable the SNMP Agent and SNMP server. See Enable the SNMP Agent and SNMP Server, page 37-24.
Step 2
Step 3
Configure SNMP Version 1 and 2c parameters or SNMP Version 3 parameters. See Configure
Parameters for SNMP Version 1 or 2c, page 37-27 or Configure Parameters for SNMP Version 3,
page 37-28.
Enable the SNMP agent and SNMP server on the ASA, ASAv, or ASASM. By default, the SNMP server
is enabled.
snmp-server enable
Example:
ciscoasa(config)# snmp-server enable
37-24
Chapter 37
SNMP
Configure SNMP
Example:
ciscoasa(config)# snmp-server enable traps snmp authentication linkup linkdown coldstart
warmstart
This command enables syslog messages to be sent as traps to the NMS. The default configuration has
all SNMP standard traps enabled, as shown in the example. To disable these traps, use the no
snmp-server enable traps snmp command. If you enter this command and do not specify a trap type,
the default is the syslog trap. By default, the syslog trap is enabled. The default SNMP traps continue to
be enabled with the syslog trap. You need to configure both the logging history command and the
snmp-server enable traps syslog command to generate traps from the syslog MIB. To restore the
default enabling of SNMP traps, use the clear configure snmp-server command. All other traps are
disabled by default.
Traps available in the admin context only:
connection-limit-reached
entity
memory-threshold
Traps generated through the admin context only for physically connected interfaces in the system
context:
Note
interface-threshold
The interface-threshold trap is not supported on the ASA Services Module for Catalyst 6500
switches/7600 routers.
All other traps are available in the admin and user contexts in single mode.
In multiple context mode, the fan-failure trap, the power-supply-failure trap, and the cpu-temperature
trap are generated only from the admin context, and not the user contexts (applies only to the ASA
5512-X, 5515-X, 5525-X, 5545-X, and 5555-X).
The accelerator-temperature threshold trap applies only to the ASA 5506-X and ASA 5508-X.
The chassis-fan-failure trap does not apply to the ASA 5506-X.
The config trap enables the ciscoConfigManEvent notification and the ccmCLIRunningConfigChanged
notification, which are generated after you have exited configuration mode.
The following traps do not apply to the ASA 5506-X and ASA 5508-X: fan-failure, fru-insert,
fru-remove, power-supply, power-supply-failure, power-supply-presence, and
power-supply-temperature.
If the CPU usage is greater than the configured threshold value for the configured monitoring period, the
cpu threshold rising trap is generated.
When the used system context memory reaches 80 percent of the total system memory, the
memory-threshold trap is generated from the admin context. For all other user contexts, this trap is
generated when the used memory reaches 80 percent of the total system memory in that particular
context.
37-25
Chapter 37
SNMP
Configure SNMP
Note
Configure the threshold value for a high CPU threshold and the threshold monitoring period.
snmp cpu threshold rising threshold_value monitoring_period
Example:
ciscoasa(config)# snmp cpu threshold rising 75% 30 minutes
To clear the threshold value and monitoring period of the CPU utilization, use the no form of this
command. If the snmp cpu threshold rising command is not configured, the default for the high
threshold level is over 70 percent, and the default for the critical threshold level is over 95 percent. The
default monitoring period is set to 1 minute.
You cannot configure the critical CPU threshold level, which is maintained at a constant 95 percent.
Valid threshold values for a high CPU threshold range from 10 to 94 percent. Valid values for the
monitoring period range from 1 to 60 minutes.
Example:
ciscoasa(config)# snmp interface threshold 75%
To clear the threshold value for an SNMP physical interface, use the no form of this command. The
threshold value is defined as a percentage of interface bandwidth utilization. Valid threshold values
range from 30 to 99 percent. The default value is 70 percent.
The snmp interface threshold command is available only in the admin context.
Physical interface usage is monitored in single mode and multimode, and traps for physical interfaces in
the system context are sent through the admin context. Only physical interfaces are used to compute
threshold usage.
37-26
Chapter 37
SNMP
Configure SNMP
Note
This command is not supported on the ASA Services Module for Catalyst 6500 switches/7600
routers.
Specify the recipient of an SNMP notification, indicate the interface from which traps are sent, and
identify the name and IP address of the NMS or SNMP manager that can connect to the ASA.
snmp-server host {interface hostname | ip_address} [trap | poll] [community
community-string] [version {1 | 2c username}] [udp-port port]
Example:
ciscoasa(config)# snmp-server host mgmt 10.7.14.90 version 2
ciscoasa(config)# snmp-server host corp 172.18.154.159 community public
The trap keyword limits the NMS to receiving traps only. The poll keyword limits the NMS to sending
requests (polling) only. By default, SNMP traps are enabled. By default, the UDP port is 162. The
community string is a shared secret key between the ASA, ASAv, or ASASM and the NMS. The key is
a case-sensitive value up to 32 alphanumeric characters long. Spaces are not permitted. The default
community string is public. The ASA uses this key to determine whether or not the incoming SNMP
request is valid. For example, you could designate a site with a community string and then configure the
ASA and the management station with the same string. The ASA, ASAv, and ASASM use the specified
string and do not respond to requests with an invalid community string. After you have used an encrypted
community string, only the encrypted form is visible to all systems (for example, CLI, ASDM, CSM,
and so on). The clear text password is not visible. The encrypted community string is always generated
by the ASA; you normally enter the clear text form.
Note
If you downgrade from version 8.3(1) to a lower version of the ASA software and have
configured encrypted passwords, you must first revert the encrypted passwords to clear text
using the no key config-key password encryption command, then save the results.
To receive traps after you have added the snmp-server host command, make sure that you configure the
user on the NMS with the same credentials as the credentials configured on the ASA, ASAv, and
ASASM.
Step 2
Set the community string, which is for use only with SNMP Version 1 or 2c.
snmp-server community community-string
Example:
ciscoasa(config)# snmp-server community onceuponatime
Step 3
37-27
Chapter 37
SNMP
Configure SNMP
Example:
ciscoasa(config)# snmp-server location building 42
ciscoasa(config)# snmp-server contact EmployeeA
The text argument specifies the name of the contact person or the ASA system administrator. The name
is case sensitive and can be up to 127 characters. Spaces are accepted, but multiple spaces are shortened
to a single space.
Step 4
Example:
ciscoasa(config)# snmp-server lport 192
The lport argument is the port on which incoming requests are accepted. The default listening port is
161. The snmp-server listen-port command is only available in admin context, and is not available in
the system context. If you configure the snmp-server listen-port command on a port that is currently in
use, the following message appears:
Warning
The UDP port port is in use by another feature. SNMP requests to the device will fail until
the snmp-server listen-port command is configured to use a different port.
The existing SNMP thread continues to poll every 60 seconds until the port is available, and issues syslog
message %ASA-1-212001 if the port is still in use.
Specify a new SNMP group, which is for use only with SNMP Version 3.
snmp-server group group-name v3 [auth | noauth | priv]
Example:
ciscoasa(config)# snmp-server group testgroup1 v3 auth
When a community string is configured, two additional groups with the name that matches the
community string are autogenerated: one for the Version 1 security model and one for the Version 2
security model. For more information about security models, see Security Models, page 37-20. The auth
keyword enables packet authentication. The noauth keyword indicates no packet authentication or
encryption is being used. The priv keyword enables packet encryption and authentication. No default
values exist for the auth or priv keywords.
Step 2
Configure a new user for an SNMP group, which is for use only with SNMP Version 3.
snmp-server user username group-name {v3 [encrypted]] [auth {md5 | sha]} auth-password
[priv] [des | 3des | aes] [128 | 192 | 256] priv-password
37-28
Chapter 37
SNMP
Configure SNMP
Example:
ciscoasa(config)# snmp-server user testuser1 testgroup1 v3 auth md5 testpassword aes 128
mypassword
ciscoasa(config)# snmp-server user testuser1 public v3 encrypted auth md5
00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF
The username argument is the name of the user on the host that belongs to the SNMP agent. The
group-name argument is the name of the group to which the user belongs. The v3 keyword specifies that
the SNMP Version 3 security model should be used and enables the use of the encrypted, priv, and the
auth keywords. The encrypted keyword specifies the password in encrypted format. Encrypted
passwords must be in hexadecimal format. The auth keyword specifies which authentication level (md5
or sha) should be used. The priv keyword specifies the encryption level. No default values for the auth
or priv keywords, or default passwords exist. For the encryption algorithm, you can specify either the
des, 3des, or aes keyword. You can also specify which version of the AES encryption algorithm to use:
128, 192, or 256. The auth-password argument specifies the authentication user password. The
priv-password argument specifies the encryption user password.
Note
If you forget a password, you cannot recover it and you must reconfigure the user. You can
specify a plain-text password or a localized digest. The localized digest must match the
authentication algorithm selected for the user, which can be either MD5 or SHA. When the user
configuration is displayed on the console or is written to a file (for example, the
startup-configuration file), the localized authentication and privacy digests are always displayed
instead of a plain-text password (see the second example). The minimum length for a password
is 1 alphanumeric character; however, we recommend that you use at least 8 alphanumeric
characters for security.
In clustering, you must manually update each clustered ASA with SNMPv3 users. You can do this by
entering the snmp-server user username group-name v3 command on the master unit with the
priv-password option and auth-password option in their non-localized forms.
An error message appears to inform you that the SNMPv3 user commands will not be replicated during
clustering replication or configuration. You may then configure SNMPv3 user and group commands on
slave ASAs independently. This also means that existing SNMPv3 user and group commands are not
cleared during replication, and you may enter SNMPv3 user and group commands on all slaves in the
cluster. For example:
On a master unit using commands entered with keys that have already been localized:
ciscoasa(config)# snmp-server user defe abc v3 encrypted auth sha
c0:e7:08:50:47:eb:2e:e4:3f:a3:bc:45:f6:dd:c3:46:25:a0:22:9a priv aes 256
cf:ad:85:5b:e9:14:26:ae:8f:92:51:12:91:16:a3:ed:de:91:6b:f7:f6:86:cf:18:c0:f0:47:d6:94:e5:
da:01
ERROR: This command cannot be replicated because it contains localized keys.
On a slave unit during cluster replication (appears only if an snmp-server user commands exist in the
configuration):
ciscoasa(cfg-cluster)#
Detected Cluster Master.
Beginning configuration replication from Master.
WARNING: existing snmp-server user CLI will not be cleared.
Step 3
Specify the recipient of an SNMP notification. Indicate the interface from which traps are sent. Identify
the name and IP address of the NMS or SNMP manager that can connect to the ASA.
snmp-server host interface {hostname | ip_address} [trap | poll] [community
community-string] [version {1 | 2c | 3 username}] [udp-port port]
37-29
Chapter 37
SNMP
Configure SNMP
Example:
ciscoasa(config)# snmp-server host mgmt 10.7.14.90 version 3 testuser1
ciscoasa(config)# snmp-server host mgmt 10.7.26.5 version 3 testuser2
The trap keyword limits the NMS to receiving traps only. The poll keyword limits the NMS to sending
requests (polling) only. By default, SNMP traps are enabled. By default, the UDP port is 162. The
community string is a shared secret key between the ASA and the NMS. The key is a case-sensitive value
up to 32 alphanumeric characters. Spaces are not permitted. The default community-string is public. The
ASA, ASAv, and ASASM use this key to determine whether the incoming SNMP request is valid. For
example, you could designate a site with a community string and then configure the ASA, ASAv, or
ASASM and the NMS with the same string. The ASA, ASAv, and ASASM use the specified string and
do not respond to requests with an invalid community string. After you have used an encrypted
community string, only the encrypted form is visible to all systems (for example, CLI, ASDM, CSM,
and so on). The clear text password is not visible. The encrypted community string is always generated
by the ASA; you normally enter the clear text form.
Note
If you downgrade from version 8.3(1) to a lower version of the ASA software and have
configured encrypted passwords, you must first revert the encrypted passwords to clear text
using the no key config-key password encryption command, then save the results.
The version keyword specifies the SNMP trap version. The ASA does not support filtering based on
SNMP requests (polling).
When SNMP Version 3 hosts are configured on the ASA, ASAv, and ASASM, a user must be associated
with that host.
To receive traps after you have added the snmp-server host command, make sure that you configure the
user on the NMS with the same credentials as the credentials configured on the ASA, ASAv, or ASASM.
For more information about SNMP hosts, see SNMP Hosts, page 37-20.
Step 4
Example:
ciscoasa(config)# snmp-server location building 42
ciscoasa(config)# snmp-server contact EmployeeA
The text argument specifies the name of the contact person or the ASA system administrator. The name
is case sensitive and can be up to 127 characters. Spaces are accepted, but multiple spaces are shortened
to a single space.
Step 5
Example:
ciscoasa(config)# snmp-server lport 192
The lport argument is the port on which incoming requests are accepted. The default listening port is
161. The snmp-server listen-port command is only available in admin context, and is not available in
the system context. If you configure the snmp-server listen-port command on a port that is currently in
use, the following message appears:
37-30
Chapter 37
SNMP
Configure SNMP
Warning
The UDP port port is in use by another feature. SNMP requests to the device will fail until
the snmp-server listen-port command is configured to use a different port.
The existing SNMP thread continues to poll every 60 seconds until the port is available, and issues syslog
message %ASA-1-212001 if the port is still in use.
Example:
ciscoasa(config)# snmp-server user-list engineering username user1
The listname argument specifies the name of the user list, which may be up to 33 characters long. The
username user_name keyword-argument pair specifies the users who may be configured in the user list.
You configure the users in the user list with the snmp-server user username command, which is
available only if you are using SNMP Version 3. The user list must have more than one user in it and can
be associated with a hostname or a range of IP addresses.
Associate a single user or a group of users in a user list with a network object.
snmp-server host-group net_obj_name [trap | poll] [community community-string] [version {1
| 2c | 3 {username | user-list list_name}] [udp-port port]
Example:
ciscoasa(config)# snmp-server host-group inside net1 trap community public version 1
ciscoasa(config)# snmp-server host-group inside net1 trap community public version 2c
ciscoasa(config)# snmp-server host-group inside net1 trap version 3 user1
ciscoasa(config)# snmp-server host-group inside net1 trap version 3 user-list engineering
37-31
Chapter 37
SNMP
Monitoring SNMP
The net_obj_name argument specifies the interface network object name with which a user or group of
users is associated. The trap keyword specifies that only traps can be sent, and that this host is not
allowed to browse (poll). The poll keyword specifies that the host is allowed to browse (poll), but no
traps can be sent. The community keyword specifies that a non-default string is required for requests
from the NMS, or when generating traps sent to the NMS. You can use this keyword only for SNMP
Version 1 or 2c. The community-string argument specifies the password-like community string that is
sent with the notification or in a request from the NMS. The community string can have a maximum of
32 characters. The version keyword sets the SNMP notification version to Version 1, 2c, or 3 to use for
sending traps. The username argument specifies the name of the user if you are using SNMP Version 3.
The user-list list_name keyword-argument pair specifies the name of the user list. The udp-port port
keyword-argument pair specifies that SNMP traps must be sent to an NMS host on a non-default port
and sets the UDP port number of the NMS host. The default UDP port is 162. The default version is 1.
SNMP traps are enabled by default.
Monitoring SNMP
See the following commands for monitoring SNMP:
37-32
Chapter 37
SNMP
Examples for SNMP
Examples
The following example shows how to display the SNMP server running configuration:
ciscoasa(config)# show running-config snmp-server
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
The following example shows how the ASA can receive SNMP requests from host 192.0.2.5 on the
inside interface but does not send any SNMP syslog requests to any host:
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
ciscoasa(config)#
snmp-server
snmp-server
snmp-server
snmp-server
host 192.0.2.5
location building 42
contact EmployeeA
community ohwhatakeyisthee
SNMP Version 3
The following example shows how the ASA can receive SNMP requests using the SNMP Version 3
security model, which requires that the configuration follow this specific order: group, followed by user,
followed by host:
ciscoasa(config)# snmp-server group v3 vpn-group priv
ciscoasa(config)# snmp-server user admin vpn group v3 auth sha letmein priv 3des cisco123
ciscoasa(config)# snmp-server host mgmt 10.0.0.1 version 3 priv admin
37-33
Chapter 37
SNMP
Feature Name
Platform
Releases
Description
SNMP Versions 1
and 2c
7.0(1)
Provides ASA, ASAv, and ASASM network monitoring and event information by
transmitting data between the SNMP server and SNMP agent through the clear text
community string.
SNMP Version 3
8.2(1)
Provides 3DES or AES encryption and support for SNMP Version 3, the most secure
form of the supported security models. This version allows you to configure users,
groups, and hosts, as well as authentication characteristics by using the USM. In
addition, this version allows access control to the agent and MIB objects and includes
additional MIB support.
We introduced or modified the following commands: show snmp-server engineid,
show snmp-server group, show snmp-server user, snmp-server group,
snmp-server user, snmp-server host.
8.4(1)
8.2(5)/8.4(2)
The ASA now supports the ifAlias OID. When you browse the IF-MIB, the ifAlias
OID will be set to the value that has been set for the interface description.
37-34
Chapter 37
SNMP
History for SNMP
Table 37-7
Feature Name
ASA Services
Module (ASASM)
Platform
Releases
8.5(1)
Description
The ASASM supports all MIBs and traps that are present in 8.4(1), except for the
following:
Unsupported MIBs in 8.5(1):
SNMP traps
8.6(1)
ceSensorExtThresholdNotification (CISCO-ENTITY-SENSOR-EXT-MIB).
This trap is only used for power supply failure, fan failure, and high CPU
temperature events.
InterfacesBandwidthUtilization.
Supports the following additional keywords for the ASA 5512-X, 5515-X, 5525-X,
5545-X, and 5555-X: entity power-supply-presence, entity power-supply-failure,
entity chassis-temperature, entity chassis-fan-failure, entity
power-supply-temperature.
We modified the following command: snmp-server enable traps.
VPN-related MIBs
9.0(1)
ALTIGA-GLOBAL-REG.my
ALTIGA-LBSSF-STATS-MIB.my
ALTIGA-MIB.my
ALTIGA-SSL-STATS-MIB.my
CISCO-IPSEC-FLOW-MONITOR-MIB.my
CISCO-REMOTE-ACCESS-MONITOR-MIB.my
9.0(1)
SNMP OIDs
9.1(1)
Five new SNMP Physical Vendor Type OIDs have been added to support the ASA
5512-X, 5515-X, 5525-X, 5545-X, and 5555-X.
NAT MIB
9.1(2)
37-35
Chapter 37
SNMP
Table 37-7
Feature Name
Platform
Releases
Description
You can now add up to 4000 hosts. The number of supported active polling
destinations is 128. You can specify a network object to indicate the individual hosts
that you want to add as a host group. You can associate more than one user with one
host.
We introduced or modified the following commands: snmp-server host-group,
snmp-server user-list, show running-config snmp-server, clear configure
snmp-server.
9.2(1)
The limit on the message size that SNMP sends has been increased to 1472 bytes.
9.2(1)
9.3(1)
9.3(2)
Notify the NMS when a change has occurred in the running configuration.
Track the time stamps associated with the last time that the running configuration
was changed or saved.
9.4(1)
The ASA 5506W-X, ASA 5506H-X, ASA 5508-X, and ASA 5516-X have been
added as a new product to the SNMP sysObjectID OID and entPhysicalVendorType
OID tables.
Unlimited SNMP
server trap hosts per
context
9.4(1)
The ASA supports unlimited SNMP server trap hosts per context. The show
snmp-server host command output displays only the active hosts that are polling the
ASA, as well as the statically configured hosts.
We modified the following command: show snmp-server host.
37-36
CH AP TE R
38
Guidelines for Anonymous Reporting and Smart Call Home, page 38-7
History for Anonymous Reporting and Smart Call Home, page 38-20
Note
When you enable Anonymous Reporting, you acknowledge your consent to transfer the specified data
to Cisco or to vendors operating on Ciscos behalf (including countries outside of the U.S.).
Cisco maintains the privacy of all customers. For information about Ciscos treatment of personal
information, see the Cisco Privacy Statement at the following URL:
http://www.cisco.com/web/siteassets/legal/privacy.html
38-1
Chapter 38
DNS Requirement
A DNS server must be configured correctly for the ASA to reach the Cisco Smart Call Home server and
send messages to Cisco. Because it is possible that the ASA resides in a private network and does not
have access to the public network, Cisco verifies your DNS configuration and then configures it for you,
if necessary, by doing the following:
1.
2.
Getting the DNS server from the DHCP server by sending DHCPINFORM messages on the highest
security-level interface.
3.
4.
These tasks are performed without changing the current configuration. (For example, the DNS server
that was learned from DHCP will not be added to the configuration.)
If there is no DNS server configured, and the ASA cannot reach the Cisco Smart Call Home Server,
Cisco generates a syslog message with the warning severity level for each Smart Call Home message
that is sent to remind you to configure DNS correctly.
See the syslog messages guide for information about syslog messages.
Identifying issues quickly with continuous monitoring, real-time proactive alerts, and detailed
diagnostics.
Making you aware of potential problems through Smart Call Home notifications, in which a service
request has been opened, with all diagnostic data attached.
Resolving critical problems faster with direct, automatic access to experts in Cisco TAC.
Generating service requests to Cisco TAC automatically (if you have a service contract), routed to
the appropriate support team, which provides detailed diagnostic information that speeds problem
resolution.
The Smart Call Home Portal offers quick access to required information that enables you to do the
following:
Review all Smart Call Home messages, diagnostics, and recommendations in one place.
View the most up-to-date inventory and configuration information for all Smart Call Home-enabled
devices.
38-2
Chapter 38
syslog
diagnostic
environment
inventory
configuration
threat
snapshot
telemetry
test
You can enable and disable specific alert groups. The default setting is enabled for all alert groups.
The diagnostic and environment alert groups support subscription for periodic messages.
You can configure a threshold for CPU and memory usage for the environment alert group. When a
certain parameter has exceeded a predefined threshold, a message is sent. Most of the threshold
values are platform-dependent and cannot be changed.
You configure the snapshot alert group to send the output of CLIs that you specify.
show versionDisplays the ASA software version, hardware configuration, license key, and related
uptime data for the device.
show inventoryRetrieves and displays inventory information about each Cisco product that is
installed in the networking device. Each product is identified by unique device information, called
the UDI, which is a combination of three separate data elements: the product identifier (PID), the
version identifier (VID), and the serial number (SN).
38-3
Chapter 38
show failover stateDisplays the failover state of both units in a failover pair. The information
displayed includes the primary or secondary status of the unit, the Active/Standby status of the unit,
and the last reported reason for failover.
show moduleShows information about any modules installed on the ASAs, for example,
information about an SSP installed on the ASA 5585-X, and information about an IPS SSP installed
on an ASA 5585-X.
show environmentShows system environment information for ASA system components, such as
hardware operational status for the chassis, drivers, fans, and power supplies, as well as temperature
status, voltage, and CPU usage.
show contextShows allocated interfaces and the configuration file URL, the number of contexts
configured, or if you enable Anonymous Reporting in the system execution space, from a list of all
contexts.
show call-home registered-module statusShows the registered module status. If you use system
configuration mode, the command displays system module status based on the entire device, not per
context.
show access-list | include elementsShows the hit counters and a time stamp value for an access
list.
show crashinfo (truncated)After an unexpected software reload, the device sends a modified
crash information file with only the traceback section of the file included, so only function calls,
register values, and stack dumps are reported to Cisco.
show tech-support no-configDisplays the information that is used for diagnosis by technical
support analysts.
show environmentShows system environment information for ASA system components, such as
hardware operational status for the chassis, drivers, fans, and power supplies, as well as temperature
status, voltage, and CPU usage.
show memory detailDisplays details of the free and allocated system memory.
show dynamic-filter reports topGenerates reports of the top 10 malware sites, ports, and
infected hosts classified by the Botnet Traffic Filter.
38-4
Chapter 38
show asp dropShows the accelerated security path dropped packets or connections.
show vpn load-balancingDisplays the runtime statistics for the VPN load-balancing virtual
cluster configuration.
show memoryDisplays a summary of the maximum physical memory and current free memory
available to the operating system.
show contextShows allocated interfaces and the configuration file URL, the number of contexts
configured, or if you enable Anonymous Reporting in the system execution space, from a list of all
contexts.
show access-list | include elementsShows the hit counters and a time stamp value for an access
list.
show phone-proxy secure-phones countDisplays the number of phones capable of secure mode
stored in the database.
Message
Level Severity Level
Syslog
Severity Level Description
Catastrophic
N/A
Disaster
N/A
38-5
Chapter 38
Table 38-1
Message
Level Severity Level
Syslog
Severity Level Description
Determined by the
specified CLI
keyword:
subscribe-to-alertgroup name of alert
group severity
severity level
Determined by the
specified CLI
keyword:
subscribe-to-alertgroup name of alert
group severity
severity level
Determined by the
specified CLI
keyword:
subscribe-to-alertgroup name of alert
group severity
severity level
Determined by the
specified CLI
keyword:
subscribe-to-alertgroup name of alert
group severity
severity level
Warning
Warning conditions.
Notification
Normal
Debugging
Subscription Profiles
A subscription profile allows you to associate the destination recipients with interested groups. When an
event registered with a subscribed group in a profile is triggered, the message associated with the event
is sent to the configured recipients. Subscription profiles have the following attributes:
38-6
Chapter 38
A profile supports three message formats: short text, long text, and XML.
You can enable and disable a specific profile. Profiles are disabled by default.
You can specify the maximum message size. The default is 3 MB.
A default profile, Cisco TAC, has been provided. The default profile has a predefined set of groups
(diagnostic, environment, inventory, configuration, and telemetry) to monitor and predefined destination
e-mail and HTTPS URLs. The default profile is created automatically when you initially configure
Smart Call Home. The destination e-mail is callhome@cisco.com and the destination URL is
https://tools.cisco.com/its/service/oddce/services/DDCEService.
Note
You cannot change the destination e-mail or the destination URL of the default profile.
When you subscribe a destination profile to the configuration, inventory, telemetry, or snapshot alert
groups, you can choose to receive the alert group messages asynchronously or periodically at a specified
time.
The following table maps the default alert group to its severity level subscription and period (if
applicable):
Table 38-2
Alert Group
Severity Level
Period
Configuration
Informational
Monthly
Diagnostic
N/A
Environment
N/A
Inventory
Informational
Monthly
Snapshot
Informational
N/A
Syslog
Equivalent syslog
N/A
Telemetry
Informational
Daily
Test
N/A
N/A
Threat
Notification
N/A
If an Anonymous Reporting message cannot be sent on the first try, the ASA retries two more times
before dropping the message.
Anonymous Reporting may coexist with other Smart Call Home configurations without changing
the existing configuration. For example, if Smart Call Home is disabled before enabling Anonymous
Reporting, it remains disabled, even after Anonymous Reporting has been enabled.
38-7
Chapter 38
If Anonymous Reporting is enabled, you cannot remove the trust point, and when Anonymous
Reporting is disabled, the trust point remains. If Anonymous Reporting is disabled, you can remove
the trust point, but disabling Anonymous Reporting does not cause the trust point to be removed.
If you are using a multiple context mode configuration, the dns, interface, and trustpoint
commands are in the admin context, and the call-home commands are in the system context.
The Smart Call Home back-end server can accept messages in XML format only.
A Smart Call Home message is sent to Cisco to report important cluster events if you have enabled
clustering and configured Smart Call Home to subscribe to the diagnostic alert group with a critical
severity level. A Smart Call Home clustering message is sent for only the following events:
When a unit joins the cluster
When a unit leaves the cluster
When a cluster unit becomes the cluster master
When a secondary unit fails in the cluster
cluster master
Related Topics
At the prompt, you may choose [Y]es, [N]o, [A]sk later. If you choose [A]sk later, then you are
reminded again in seven days or when the ASA reloads. If you continue to choose [A]sk later, the
ASA prompts two more times at seven-day intervals before it assumes a [N]o response and does not
ask again.
If you did not receive the prompt, you may enable Anonymous Reporting or Smart Call Home by
performing the steps in Configure Anonymous Reporting, page 38-9 or in Configure Smart Call
Home, page 38-9.
38-8
Chapter 38
Enable the Anonymous Reporting feature and create a new anonymous profile.
call-home reporting anonymous
Example:
ciscoasa(config)# call-home reporting anonymous
Entering this command creates a trust point and installs a certificate that is used to verify the identity of
the Cisco web server.
Step 2
(Optional) Make sure that you have connectivity to the server and that your system can send messages.
call-home test reporting anonymous
Example:
ciscoasa(config)# call-home test reporting anonymous
INFO: Sending test message to
https://tools.cisco.com/its/service/oddce/services/DDCEService...
INFO: Succeeded
Enable the Smart Call Home service. See Enable Smart Call Home, page 38-10.
Step 2
Configure the mail server through which Smart Call Home messages are delivered to subscribers. See
Configure the Mail Server, page 38-14.
Step 3
Set up contact information for the Smart Call Home messages. See Configure Customer Contact
Information, page 38-13.
Step 4
Define alert processing parameters, such as the maximum rate of events that can be handled. See
Configure Alert Group Subscription, page 38-12.
Step 5
Set up alert subscription profiles. See Configure a Destination Profile, page 38-16.
Each alert subscription profile identifies the following:
The subscribers to whom the Smart Call Home messages are sent, such as a Smart Call Home server
at Cisco or a list of e-mail recipients.
Information categories for which you want to receive alerts, such as configuration or inventory
information.
38-9
Chapter 38
Example:
ciscoasa(config)# service call-home
Step 2
Example:
ciscoasa(config)# call home
Note
You should set the trust point for no client-types/no validation-usage to prevent it from being used for
VPN validation.
To declare and authenticate the Cisco server security certificate and establish communication with the
Cisco HTTPS server for Smart Call Home service, perform the following steps:
Procedure
Step 1
(Multiple Context Mode only) Install the certificate in the admin context.
changeto context admincontext
Example:
ciscoasa(config)# changeto context contextA
Step 2
Example:
ciscoasa(config)# crypto ca trustpoint cisco
38-10
Chapter 38
Note
If you use HTTP as the transport method, you must install a security certificate through a trust
point, which is required for HTTPS. Find the specific certificate to install at the following URL:
http://www.cisco.com/en/US/docs/switches/lan/smart_call_home/SCH31_Ch6.html#wp10353
80
Step 3
Example:
ciscoasa(ca-trustpoint)# enroll terminal
Step 4
Authenticate the named CA. The CA name should match the trust point name specified in the crypto ca
trustpoint command. At the prompt, paste the security certificate text.
crypto ca authenticate trustpoint
Example:
ciscoasa(ca-trustpoint)# crypto ca authenticate cisco
Step 5
Specify the end of the security certificate text and confirm acceptance of the entered security certificate.
quit
Example:
ciscoasa(ca-trustpoint)# quit
%Do you accept this certificate [yes/no]:
yes
Example:
ciscoasa(config)# alert-group-config environment
38-11
Chapter 38
Example:
ciscoasa(config)# call-home
Step 2
Example:
ciscoasa(cfg-call-home)# alert-group syslog
Use the all keyword to enable all alert groups. By default, all alert groups are enabled.
Step 3
Enter the profile configuration mode for the specified destination profile.
profile profile-name
Example:
ciscoasa(cfg-call-home)# profile CiscoTAC-1
Step 4
Example:
ciscoasa(cfg-call-home-profile)# subscribe-to-alert-group all
Step 5
Example:
ciscoasa(cfg-call-home-profile)# subscribe-to-alert-group configuration periodic weekly
Wednesday 23:30
The periodic keyword configures the configuration alert group for periodic notification. The default
period is daily.
The daily keyword specifies the time of the day to send, in the hh:mm format, with a 24-hour clock (for
example, 14:30).
The weekly keyword specifies the day of the week and time of day in the day hh:mm format, where the
day of the week is spelled out (for example, Monday).
The monthly keyword specifies the numeric date, from 1 to 31, and the time of day, in the date hh:mm
format.
38-12
Chapter 38
Example:
ciscoasa(config)# call-home
Step 2
Specify the customer phone number. Spaces are allowed, but you must use quotes around the string if it
includes spaces.
phone-number phone-number-string
Example:
ciscoasa(cfg-call-home)# phone-number 8005551122
Step 3
Specify the customer address, which is a free-format string that may be up to 255 characters long. Spaces
are allowed, but you must use quotes around the string if it includes spaces.
street-address street-address
Example:
ciscoasa(cfg-call-home)# street-address 1234 Any Street, Any city, Any state, 12345
Step 4
Specify the customer name, which may be up to 128 characters long. Spaces are allowed, but you must
use quotes around the string if it includes spaces.
contact-name contact-name
Example:
ciscoasa(cfg-call-home)# contact-name contactname1234
Step 5
Specify the Cisco customer ID, which may be up to 64 characters long. Spaces are allowed, but you must
use quotes around the string if it includes spaces.
customer-id customer-id-string
Example:
ciscoasa(cfg-call-home)# customer-id customer1234
Step 6
Specify the customer site ID, which may be up to 64 characters long. Spaces are allowed, but you must
use quotes around the string if it includes spaces.
site-id site-id-string
Example:
ciscoasa(cfg-call-home)# site-id site1234
Step 7
Specify the customer contract identification, which may be up to 128 characters long. Spaces are
allowed, but you must use quotes around the string if it includes spaces.
contract-id contract-id-string
38-13
Chapter 38
Example:
ciscoasa(cfg-call-home)# contract-id contract1234
Examples
Example:
ciscoasa(config)# call-home
Step 2
Example:
ciscoasa(cfg-call-home)# mail-server 10.10.1.1 smtp.example.com priority 1
You can specify up to five mail servers, using five separate commands. You must configure at least one
mail server for using e-mail transport of Smart Call Home messages.
The lower the number, the higher the priority of the mail server.
The ip-address argument can be an IPv4 or IPv6 mail server address.
Examples
The following example shows how to configure a primary mail server (namedsmtp.example.com) and
a secondary mail server at IP address 10.10.1.1:
ciscoasa(config)# call-home
ciscoasa(cfg-call-home)# mail-server smtp.example.com priority 1
ciscoasa(cfg-call-home)# mail-server 10.10.1.1 priority 2
38-14
Chapter 38
ciscoasa(cfg-call-home)# exit
ciscoasa(config)#
Example:
ciscoasa(config)# call-home
Step 2
Specify the number of messages that Smart Call Home can send per minute. The default value is 10
messages per minute.
rate-limit msg-count
ciscoasa(cfg-call-home)# rate-limit 5
Example:
ciscoasa# call-home test [testing123] profile CiscoTAC-1
Option 2Send an alert group message to one destination profile, if specified. If no profile is specified,
send messages to all profiles that are subscribed to the inventory, configuration, snapshot, or telemetry
alert groups.
call-home send alert-group {inventory | configuration | snapshot | telemetry} [profile
profile-name]
Example:
ciscoasa# call-home send alert-group inventory
Option 3Send command output to an e-mail address. The specified CLI command can be any
command, including commands for all registered modules.
call-home send cli command [email email]
38-15
Chapter 38
Example:
ciscoasa# call-home send cli destination email username@example.com
If you specify an e-mail address, the command output is sent to that address. If no e-mail address is
specified, the output is sent to Cisco TAC. The e-mail is sent in log text format with the service number,
if specified, in the subject line.
The service number is required only if no e-mail address is specified, or if a Cisco TAC e-mail address
is specified.
Example:
ciscoasa(config)# call-home
Step 2
Enter the profile configuration mode for the specified destination profile. If the specified destination
profile does not exist, it is created.
profile profile-name
Example:
ciscoasa(cfg-call-home)# profile newprofile
You can create a maximum of 10 active profiles. The default profile is to report back to Cisco TAC. If
you want to send call home information to a different location (for example, your own server), you can
configure a separate profile.
Step 3
Configure the destination, message size, message format, and transport method for the Smart Call Home
message receiver. The default message format is XML, and the default enabled transport method is
e-mail.
destination {email address | http url} | message-size-limit size | preferred-msg-format
{long-text | short-text | xml} transport-method {email | http}}
Example:
ciscoasa(cfg-call-home-profile)# destination address email username@example.com
ciscoasa(cfg-call-home-profile)# destination preferred-msg-format long-text
The e-mail-address is the e-mail address of the Smart Call Home message receiver, which can be up to
100 characters long. By default, the maximum URL size is 5 MB.
Use the short-text format to send and read a message on a mobile device, and use the long text format to
send and read a message on a computer.
If the message receiver is the Smart Call Home back-end server, ensure that the preferred-msg-format
value is XML because the back-end server can accept messages in XML format only.
38-16
Chapter 38
See Enable Smart Call Home, page 38-10 to set the transport method to HTTP. Use this command to
change the transport method back to e-mail.
Example:
ciscoasa(config)# call-home
Step 2
Example:
ciscoasa(cfg-call-home)# profile newprofile
Step 3
Example:
ciscoasa(cfg-call-home)# copy profile newprofile profile1
The existing profile (src-profile-name) and the new profile (dest-profile-name) may be up to 23
characters long.
Examples
Example:
38-17
Chapter 38
ciscoasa(config)# call-home
Step 2
Example:
ciscoasa(cfg-call-home)# profile newprofile
Step 3
Example:
ciscoasa(cfg-call-home)# rename profile newprofile profile1
The existing profile (src-profile-name) and the new profile (dest-profile-name) may be up to 23
characters long.
Examples
show call-home
This command shows the current Smart Call Home configuration.
38-18
Chapter 38
38-19
Chapter 38
Feature Name
Platform
Releases
8.2(2)
Description
The Smart Call Home service offers proactive diagnostics
and real-time alerts on the ASA, and provides higher
network availability and increased operational efficiency.
We introduced or modified the following commands:
active (call home), call-home, call-home send
alert-group, call-home test, contact-email-addr,
customer-id (call home), destination (call home), profile,
rename profile, service call-home, show call-home, show
call-home detail, show smart-call-home alert-group,
show call-home profile, show call-home statistics, show
call-home mail-server status, show running-config
call-home, show call-home registered-module status all,
site-id, street-address, subscribe-to-alert-group all,
alert-group-config, subscribe-to-alert-group
configuration, subscribe-to-alert-group diagnostic,
subscribe-to-alert-group environment,
subscribe-to-alert-group inventory periodic,
subscribe-to-alert-group snapshot periodic,
subscribe-to-alert-group syslog,
subscribe-to-alert-group telemetry periodic.
Anonymous Reporting
9.0(1)
38-20
Chapter 38
Table 38-3
Feature Name
Platform
Releases
9.1(2)
9.1(3)
Description
38-21
Chapter 38
History for Anonymous Reporting and Smart Call Home
38-22
PART
Reference
CH AP TE R
39
Note
The CLI uses similar syntax and other conventions to the Cisco IOS CLI, but the ASA operating system
is not a version of Cisco IOS software. Do not assume that a Cisco IOS CLI command works with or has
the same function on the ASA.
39-1
Chapter 39
Note
The various types of prompts are all default prompts and when configured, they can be different.
When you are in the system configuration or in single context mode, the prompt begins with the
hostname:
ciscoasa
When printing the prompt string, the prompt configuration is parsed and the configured keyword
values are printed in the order in which you have set the prompt command. The keyword arguments
can be any of the following and in any order: hostname, domain, context, priority, state.
ciscoasa(config)# prompt hostname context priority state
When you are within a context, the prompt begins with the hostname followed by the context name:
ciscoasa/context
39-2
Chapter 39
From global configuration mode, some commands enter a command-specific configuration mode.
All user EXEC, privileged EXEC, global configuration, and command-specific configuration
commands are available in this mode. For example, the interface command enters interface
configuration mode. The prompt changes to the following:
ciscoasa(config-if)#
ciscoasa/context(config-if)#
Syntax Formatting
Command syntax descriptions use the conventions listed in the following table.
Table 39-1
Syntax Conventions
Convention
Description
bold
Bold text indicates commands and keywords that you enter literally as shown.
italics
[x]
[x | y]
{x | y}
[x {y | z}]
Nested sets of square brackets or braces indicate optional or required choices within
optional or required elements. Braces and a vertical bar within square brackets indicate
a required choice within an optional element.
Abbreviate Commands
You can abbreviate most commands down to the fewest unique characters for a command; for example,
you can enter wr t to view the configuration instead of entering the full command write terminal, or
you can enter en to start privileged mode and conf t to start configuration mode. In addition, you can
enter 0 to represent 0.0.0.0.
Command-Line Editing
The ASA uses the same command-line editing conventions as Cisco IOS software. You can view all
previously entered commands with the show history command or individually with the up arrow or ^p
command. Once you have examined a previously entered command, you can move forward in the list
with the down arrow or ^n command. When you reach a command you wish to reuse, you can edit it or
press the Enter key to start it. You can also delete the word to the left of the cursor with ^w, or erase the
line with ^u.
The ASA permits up to 512 characters in a command; additional characters are ignored.
39-3
Chapter 39
Command Completion
Command Completion
To complete a command or keyword after entering a partial string, press the Tab key. The ASA only
completes the command or keyword if the partial string matches only one command or keyword. For
example, if you enter s and press the Tab key, the ASA does not complete the command because it
matches more than one command. However, if you enter dis, the Tab key completes the disable
command.
Command Help
Help information is available from the command line by entering the following commands:
help command_name
Shows help for the specific command.
command_name ?
Shows a list of arguments available.
? and +?
Lists all commands available. If you enter ?, the ASA shows only commands available for the
current mode. To show all commands available, including those for lower modes, enter +?.
Note
If you want to include a question mark (?) in a command string, you must press Ctrl-V before typing the
question mark so that you do not inadvertently invoke CLI help.
If you specify all, then all default settings are shown as well. If you specify a command, then the
output only includes related commands.
Note
Many passwords are shown as *****. To view the passwords in plain text, or in encrypted
form if you have a master passphrase enabled, use the more command.
more system:running-config
Related Topics
39-4
Chapter 39
or
ciscoasa# more system:running-config | {include | exclude | begin | grep [-v]} regexp
Note
Entering the more command allows you to view the contents of any file, not just the running
configuration; see the command reference for more information.
In this command string, the first vertical bar (|) is the operator and must be included in the command.
This operator directs the output of the show command to the filter. In the syntax diagram, the other
vertical bars (|) indicate alternative options and are not part of the command.
The include option includes all output lines that match the regular expression. The grep option without
-v has the same effect. The exclude option excludes all output lines that match the regular expression.
The grep option with -v has the same effect. The begin option shows all the output lines starting with
the line that matches the regular expression.
Replace regexp with any Cisco IOS regular expression. The regular expression is not enclosed in quotes or
double-quotes, so be careful with trailing white spaces, which will be taken as part of the regular
expression.
When creating regular expressions, you can use any letter or number that you want to match. In addition,
certain keyboard characters called metacharacters have special meaning when used in regular
expressions.
Use Ctrl+V to escape all of the special characters in the CLI, such as a question mark (?) or a tab. For
example, type d[Ctrl+V]?g to enter d?g in the configuration.
The More prompt uses syntax similar to the UNIX more command:
39-5
Chapter 39
Add Comments
Add Comments
You can precede a line with a colon ( : ) to create a comment. However, the comment only appears in the
command history buffer and not in the configuration. Therefore, you can view the comment with the
show history command or by pressing an arrow key to retrieve a previous command, but because the
comment is not in the configuration, the write terminal command does not display it.
How Commands Correspond with Lines in the Text File, page 39-6
In the text configuration file you are not prompted to enter commands, so the prompt is omitted:
context a
39-6
Chapter 39
Line Order
For the most part, commands can be in any order in the file. However, some lines, such as ACEs, are
processed in the order they appear, and the order can affect the function of the access list. Other
commands might also have order requirements. For example, you must enter the nameif command for
an interface first because many subsequent commands use the name of the interface. Also, commands in
a command-specific configuration mode must directly follow the main command.
Passwords
The login, enable, and user passwords are automatically encrypted before they are stored in the
configuration. For example, the encrypted form of the password cisco might look like
jMorNbK0514fadBh. You can copy the configuration passwords to another ASA in its encrypted form,
but you cannot unencrypt the passwords yourself.
If you enter an unencrypted password in a text file, the ASA does not automatically encrypt it when you
copy the configuration to the ASA. The ASA only encrypts it when you save the running configuration
from the command line using the copy running-config startup-config or write memory command.
The system configuration, which identifies basic settings for the ASA, including a list of contexts
The admin context, which provides network interfaces for the system configuration
The system configuration does not include any interfaces or network settings for itself. Rather, when
the system needs to access network resources (such as downloading the contexts from the server), it
uses a context that is designated as the admin context.
Each context is similar to a single context mode configuration. The system configuration differs from a
context configuration in that the system configuration includes system-only commands (such as a list of
all contexts) while other typical commands are not present (such as many interface parameters).
39-7
Chapter 39
39-8
CH AP TE R
40
Classes
IP host addresses are divided into three different address classes: Class A, Class B, and Class C. Each
class fixes the boundary between the network prefix and the host number at a different point within the
32-bit address. Class D addresses are reserved for multicast IP.
Class A addresses (1.xxx.xxx.xxx through 126.xxx.xxx.xxx) use only the first octet as the network
prefix.
Class B addresses (128.0.xxx.xxx through 191.255.xxx.xxx) use the first two octets as the network
prefix.
Class C addresses (192.0.0.xxx through 223.255.255.xxx) use the first three octets as the network
prefix.
Because Class A addresses have 16,777,214 host addresses, and Class B addresses 65,534 hosts, you can
use subnet masking to break these huge networks into smaller subnets.
40-1
Chapter 40
Private Networks
If you need large numbers of addresses on your network, and they do not need to be routed on the
Internet, you can use private IP addresses that the Internet Assigned Numbers Authority (IANA)
recommends (see RFC 1918). The following address ranges are designated as private networks that
should not be advertised:
Subnet Masks
A subnet mask lets you convert a single Class A, B, or C network into multiple networks. With a subnet
mask, you can create an extended network prefix that adds bits from the host number to the network
prefix. For example, a Class C network prefix always consists of the first three octets of the IP address.
But a Class C extended network prefix uses part of the fourth octet as well.
Subnet masking is easy to understand if you use binary notation instead of dotted decimal. The bits in
the subnet mask have a one-to-one correspondence with the Internet address:
The bits are set to 1 if the corresponding bit in the IP address is part of the extended network prefix.
The bits are set to 0 if the bit is part of the host number.
Example 1: If you have the Class B address 129.10.0.0 and you want to use the entire third octet as part
of the extended network prefix instead of the host number, then you must specify a subnet mask of
11111111.11111111.11111111.00000000. This subnet mask converts the Class B address into the
equivalent of a Class C address, where the host number consists of the last octet only.
Example 2: If you want to use only part of the third octet for the extended network prefix, then you must
specify a subnet mask like 11111111.11111111.11111000.00000000, which uses only 5 bits of the third
octet for the extended network prefix.
You can write a subnet mask as a dotted-decimal mask or as a /bits (slash bits) mask. In Example 1,
for a dotted-decimal mask, you convert each binary octet into a decimal number: 255.255.255.0. For a
/bits mask, you add the number of 1s: /24. In Example 2, the decimal number is 255.255.248.0 and the
/bits is /21.
You can also supernet multiple Class C networks into a larger network by using part of the third octet
for the extended network prefix. For example, 192.168.0.0/20.
Note
The first and last number of a subnet are reserved, except for /32, which identifies a single host.
40-2
Chapter 40
Table 40-1
Hosts
/Bits Mask
Dotted-Decimal Mask
16,777,216
/8
65,536
/16
32,768
/17
255.255.128.0
16,384
/18
255.255.192.0
8192
/19
255.255.224.0
4096
/20
255.255.240.0
2048
/21
255.255.248.0
1024
/22
255.255.252.0
512
/23
255.255.254.0
256
/24
128
/25
255.255.255.128
64
/26
255.255.255.192
32
/27
255.255.255.224
16
/28
255.255.255.240
/29
255.255.255.248
/30
255.255.255.252
Do not use
/31
255.255.255.254
/32
Note
The first and last address of a subnet are reserved. In the first subnet example, you cannot use
192.168.0.0 or 192.168.0.7.
Table 40-2
Address Range
192.168.0.0
192.168.0.0 to 192.168.0.7
192.168.0.8
192.168.0.8 to 192.168.0.15
192.168.0.16
192.168.0.16 to 192.168.0.31
40-3
Chapter 40
Table 40-2
Address Range
192.168.0.248
192.168.0.248 to 192.168.0.255
Calculate how many subnets you can make from the network by dividing 65,536 (the total number of
addresses using the third and fourth octet) by the number of host addresses you want.
For example, 65,536 divided by 4096 hosts equals 16.
Therefore, there are 16 subnets of 4096 addresses each in a Class B-size network.
Step 2
Determine the multiple of the third octet value by dividing 256 (the number of values for the third octet)
by the number of subnets:
In this example, 256/16 = 16.
The third octet falls on a multiple of16, starting with 0.
The following table shows the 16 subnets of the network 10.1.
Note
The first and last address of a subnet are reserved. In the first subnet example, you cannot use 10.1.0.0
or 10.1.15.255.
Table 40-3
Subnets of Network
Address Range
10.1.0.0
10.1.0.0 to 10.1.15.255
10.1.16.0
10.1.16.0 to 10.1.31.255
10.1.32.0
10.1.32.0 to 10.1.47.255
10.1.240.0
10.1.240.0 to 10.1.255.255
40-4
Chapter 40
IPv6 Addresses
IPv6 is the next generation of the Internet Protocol after IPv4. It provides an expanded address space, a
simplified header format, improved support for extensions and options, flow labeling capability, and
authentication and privacy capabilities. IPv6 is described in RFC 2460. The IPv6 addressing architecture
is described in RFC 3513.
This section describes the IPv6 address format and architecture.
Related Topics
Note
2001:0DB8:7654:3210:FEDC:BA98:7654:3210
2001:0DB8:0000:0000:0008:0800:200C:417A
Note
Compressed Form
Unicast
2001:0DB8:0:0:0:BA98:0:3210 2001:0DB8::BA98:0:3210
Multicast
FF01:0:0:0:0:0:0:101
FF01::101
Loopback
0:0:0:0:0:0:0:1
::1
Unspecified
0:0:0:0:0:0:0:0
::
Two colons (::) can be used only once in an IPv6 address to represent successive fields of zeros.
40-5
Chapter 40
IPv6 Addresses
An alternative form of the IPv6 format is often used when dealing with an environment that contains
both IPv4 and IPv6 addresses. This alternative has the format x:x:x:x:x:x:y.y.y.y, where x represent the
hexadecimal values for the six high-order parts of the IPv6 address and y represent decimal values for
the 32-bit IPv4 part of the address (which takes the place of the remaining two 16-bit parts of the IPv6
address). For example, the IPv4 address 192.168.1.1 could be represented as the IPv6 address
0:0:0:0:0:0:FFFF:192.168.1.1 or ::FFFF:192.168.1.1.
Note
UnicastA unicast address is an identifier for a single interface. A packet sent to a unicast address
is delivered to the interface identified by that address. An interface may have more than one unicast
address assigned to it.
MulticastA multicast address is an identifier for a set of interfaces. A packet sent to a multicast
address is delivered to all addresses identified by that address.
AnycastAn anycast address is an identifier for a set of interfaces. Unlike a multicast address, a
packet sent to an anycast address is only delivered to the nearest interface, as determined by the
measure of distances for the routing protocol.
There are no broadcast addresses in IPv6. Multicast addresses provide the broadcast functionality.
Unicast Addresses
This section describes IPv6 unicast addresses. Unicast addresses identify an interface on a network node.
Global Address
The general format of an IPv6 global unicast address is a global routing prefix followed by a subnet ID
followed by an interface ID. The global routing prefix can be any prefix not reserved by another IPv6
address type.
All global unicast addresses, other than those that start with binary 000, have a 64-bit interface ID in the
Modified EUI-64 format.
Global unicast address that start with the binary 000 do not have any constraints on the size or structure
of the interface ID portion of the address. One example of this type of address is an IPv6 address with
an embedded IPv4 address.
Related Topics
Site-Local Address
Site-local addresses are used for addressing within a site. They can be used to address an entire site
without using a globally unique prefix. Site-local addresses have the prefix FEC0::/10, followed by a
54-bit subnet ID, and end with a 64-bit interface ID in the modified EUI-64 format.
40-6
Chapter 40
Site-local routers do not forward any packets that have a site-local address for a source or destination
outside of the site. Therefore, site-local addresses can be considered private addresses.
Link-Local Address
All interfaces are required to have at least one link-local address. You can configure multiple IPv6
addresses per interfaces, but only one link-local address.
A link-local address is an IPv6 unicast address that can be automatically configured on any interface
using the link-local prefix FE80::/10 and the interface identifier in modified EUI-64 format. Link-local
addresses are used in the neighbor discovery protocol and the stateless autoconfiguration process. Nodes
with a link-local address can communicate; they do not need a site-local or globally unique address to
communicate.
Routers do not forward any packets that have a link-local address for a source or destination. Therefore,
link-local addresses can be considered private addresses.
Note
The IPv4 address used in the IPv4-compatible IPv6 address must be a globally unique IPv4 unicast
address.
The second type of IPv6 address, which holds an embedded IPv4 address, is called the IPv4-mapped
IPv6 address. This address type is used to represent the addresses of IPv4 nodes as IPv6 addresses. This
type of address has the format ::FFFF:y.y.y.y, where y.y.y.y is an IPv4 unicast address.
Unspecified Address
The unspecified address, 0:0:0:0:0:0:0:0, indicates the absence of an IPv6 address. For example, a newly
initialized node on an IPv6 network may use the unspecified address as the source address in its packets
until it receives its IPv6 address.
Note
The IPv6 unspecified address cannot be assigned to an interface. The unspecified IPv6 addresses must
not be used as destination addresses in IPv6 packets or the IPv6 routing header.
Loopback Address
The loopback address, 0:0:0:0:0:0:0:1, may be used by a node to send an IPv6 packet to itself. The
loopback address in IPv6 functions the same as the loopback address in IPv4 (127.0.0.1).
40-7
Chapter 40
IPv6 Addresses
Note
The IPv6 loopback address cannot be assigned to a physical interface. A packet that has the IPv6
loopback address as its source or destination address must remain within the node that created the packet.
IPv6 routers do not forward packets that have the IPv6 loopback address as their source or destination
address.
Interface Identifiers
Interface identifiers in IPv6 unicast addresses are used to identify the interfaces on a link. They need to
be unique within a subnet prefix. In many cases, the interface identifier is derived from the interface
link-layer address. The same interface identifier may be used on multiple interfaces of a single node, as
long as those interfaces are attached to different subnets.
For all unicast addresses, except those that start with the binary 000, the interface identifier is required
to be 64 bits long and to be constructed in the Modified EUI-64 format. The Modified EUI-64 format is
created from the 48-bit MAC address by inverting the universal/local bit in the address and by inserting
the hexadecimal number FFFE between the upper three bytes and lower three bytes of the of the MAC
address.
For example, and interface with the MAC address of 00E0.b601.3B7A would have a 64-bit interface ID
of 02E0:B6FF:FE01:3B7A.
Multicast Address
An IPv6 multicast address is an identifier for a group of interfaces, typically on different nodes. A packet
sent to a multicast address is delivered to all interfaces identified by the multicast address. An interface
may belong to any number of multicast groups.
An IPv6 multicast address has a prefix of FF00::/8 (1111 1111). The octet following the prefix defines
the type and scope of the multicast address. A permanently assigned (well known) multicast address has
a flag parameter equal to 0; a temporary (transient) multicast address has a flag parameter equal to 1. A
multicast address that has the scope of a node, link, site, or organization, or a global scope has a scope
parameter of 1, 2, 5, 8, or E, respectively. For example, a multicast address with the prefix FF02::/16 is
a permanent multicast address with a link scope. The following figure shows the format of the IPv6
multicast address.
Figure 40-1
128 bits
1111 1111
F
8 bits
4 bits
4 bits
Flag
Scope
8 bits
Interface ID
Flag =
1 = node
2 = link
Scope = 4 = admin
5 = site
8 = organization
E = global
40-8
0 if permanent
1 if temporary
92617
Chapter 40
IPv6 nodes (hosts and routers) are required to join the following multicast groups:
The Solicited-Node Address for each IPv6 unicast and anycast address on the node:
FF02:0:0:0:0:1:FFXX:XXXX/104, where XX:XXXX is the low-order 24-bits of the unicast or
anycast address.
Note
FF01::2 (interface-local)
FF02::2 (link-local)
FF05::2 (site-local)
Note
There are no broadcast addresses in IPv6. IPv6 multicast addresses are used instead of broadcast
addresses.
Anycast Address
The IPv6 anycast address is a unicast address that is assigned to more than one interface (typically
belonging to different nodes). A packet that is routed to an anycast address is routed to the nearest
interface having that address, the nearness being determined by the routing protocol in effect.
Anycast addresses are allocated from the unicast address space. An anycast address is simply a unicast
address that has been assigned to more than one interface, and the interfaces must be configured to
recognize the address as an anycast address.
The following restrictions apply to anycast addresses:
Note
An anycast address cannot be used as the source address for an IPv6 packet.
An anycast address cannot be assigned to an IPv6 host; it can only be assigned to an IPv6 router.
Required Addresses
IPv6 hosts must, at a minimum, be configured with the following addresses (either automatically or
manually):
40-9
Chapter 40
IPv6 routers must, at a minimum, be configured with the following addresses (either automatically or
manually):
The Subnet-Router anycast addresses for all interfaces for which it is configured to act as a router
Address Type
Binary Prefix
IPv6 Notation
Unspecified
::/128
Loopback
::1/128
Multicast
11111111
FF00::/8
FE80::/10
Site-Local (unicast)
1111111111
FEC0::/10
Global (unicast)
Anycast
51
eigrp
88
esp
50
gre
47
icmp
icmp6 58
igmp
40-10
Chapter 40
Table 40-6
ip
Internet Protocol.
ipinip 4
IP-in-IP encapsulation.
ipsec
50
nos
94
ospf
89
pcp
108
pim
103
pptp
47
snp
109
tcp
udp
17
The ASA uses port 1521 for SQL*Net. This is the default port used by Oracle for SQL*Net. This
value, however, does not agree with IANA port assignments.
The ASA listens for RADIUS on ports 1645 and 1646. If your RADIUS server uses the standard
ports 1812 and 1813, you can configure the ASA to listen to those ports using the
authentication-port and accounting-port commands.
To assign a port for DNS access, use the domain literal value, not dns. If you use dns, the ASA
assumes you meant to use the dnsix literal value.
Literal
Description
aol
TCP
5190
America Online
bgp
TCP
179
biff
UDP
512
40-11
Chapter 40
Table 40-7
Literal
Description
bootpc
UDP
68
bootps
UDP
67
chargen
TCP
19
Character Generator
citrix-ica
TCP
1494
cmd
TCP
514
ctiqbe
TCP
2748
daytime
TCP
13
discard
TCP, UDP
Discard
domain
TCP, UDP
53
DNS
dnsix
UDP
195
echo
TCP, UDP
Echo
exec
TCP
512
finger
TCP
79
Finger
ftp
TCP
21
ftp-data
TCP
20
gopher
TCP
70
Gopher
https
TCP
443
h323
TCP
1720
hostname
TCP
101
ident
TCP
113
imap4
TCP
143
irc
TCP
194
isakmp
UDP
500
kerberos
TCP, UDP
750
Kerberos
klogin
TCP
543
KLOGIN
kshell
TCP
544
Korn Shell
ldap
TCP
389
ldaps
TCP
636
lpd
TCP
515
login
TCP
513
Remote login
lotusnotes
TCP
1352
mobile-ip
UDP
434
Mobile IP-Agent
40-12
Chapter 40
Table 40-7
Literal
Description
nameserver
UDP
42
netbios-ns
UDP
137
netbios-dgm
UDP
138
netbios-ssn
TCP
139
nntp
TCP
119
ntp
UDP
123
pcanywhere-status
UDP
5632
pcAnywhere status
pcanywhere-data
TCP
5631
pcAnywhere data
pim-auto-rp
TCP, UDP
496
pop2
TCP
109
pop3
TCP
110
pptp
TCP
1723
radius
UDP
1645
radius-acct
UDP
1646
rip
UDP
520
secureid-udp
UDP
5510
smtp
TCP
25
snmp
UDP
161
snmptrap
UDP
162
sqlnet
TCP
1521
ssh
TCP
22
Secure Shell
sunrpc (rpc)
TCP, UDP
111
syslog
UDP
514
System Log
tacacs
TCP, UDP
49
talk
TCP, UDP
517
Talk
telnet
TCP
23
tftp
UDP
69
time
UDP
37
Time
uucp
TCP
540
who
UDP
513
Who
whois
TCP
43
Who Is
www
TCP
80
xdmcp
UDP
177
40-13
Chapter 40
Feature or Service
Protocol
Port Number
Comments
DHCP
UDP
67,68
Failover Control
105
N/A
HTTP
TCP
80
HTTPS
TCP
443
ICMP
N/A
IGMP
N/A
ISAKMP/IKE
UDP
500
Configurable.
IPsec (ESP)
50
N/A
UDP
4500
UDP
10000
Configurable.
TCP
NTP
UDP
123
OSPF
89
N/A
PIM
103
N/A
RIP
UDP
520
RIPv2
UDP
520
SNMP
UDP
161
Configurable.
SSH
TCP
22
Stateful Update
8 (non-secure)
9 (secure)
N/A
Telnet
TCP
23
UDP
9023
Configurable.
UDP
1645, 1646
40-14
Chapter 40
ICMP Types
The following table lists the ICMP type numbers and names that you can enter in ASA commands.
Table 40-9
ICMP Types
ICMP Number
ICMP Name
echo-reply
unreachable
source-quench
redirect
alternate-address
echo
router-advertisement
10
router-solicitation
11
time-exceeded
12
parameter-problem
13
timestamp-request
14
timestamp-reply
15
information-request
16
information-reply
17
mask-request
18
mask-reply
31
conversion-error
32
mobile-redirect
40-15
Chapter 40
ICMP Types
40-16