Table of Contents

About This Guide

Getting Started with the ASA

Switch Configuration for the ASA Services Module

Cisco Adaptive Security Virtual Appliance Deployment

Getting Started

Feature Licenses

Transparent or Routed Firewall Mode

Introduction to the Cisco ASA

High Availability and Scalability

Failover

ASA Cluster

Multiple Context Mode

Interfaces

Basic Interface Configuration (ASA 5505)

Basic Interface Configuration (ASAv)

Routed Mode Interfaces

Transparent Mode Interfaces

Basic Interface Configuration (ASA 5512-X and Higher)

Basic Settings

Dynamic DNS

DHCP Services

Web Cache Services Using WCCP

Basic Settings

Objects and ACLs

Information About Access Control Lists

Extended Access Control Lists

EtherType Access Control Lists

Standard Access Control Lists

Webtype Access Control Lists

Logging for Access Control Lists

Objects

IP Routing

Static and Default Routes

Route Maps

BGP

OSPF

EIGRP

Multicast Routing

IPv6 Neighbor Discovery

Information About Routing

AAA Servers and the Local Database

Local Database for AAA

RADIUS Servers for AAA

TACACS+ Servers for AAA

LDAP Servers for AAA

Windows NT Servers for AAA

Identity Firewall

ASA and Cisco TrustSec

Digital Certificates

Information about AAA

System Administration

Software and Configurations

Troubleshooting

Management Access

Logging, SNMP, and Smart Call Home

SNMP

NetFlow Secure Event Logging (NSEL)

Anonymous Reporting and Smart Call Home

Embedded Event Manager

Logging

Reference

Addresses, Protocols, and Ports

Using the Command-Line Interface

null

About This Guide

- Document Objectives

- Related Documentation

- Conventions

- Obtaining Documentation and Submitting a Service Request

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

.

Conventions

This document uses the following conventions:

Convention

Indication

font

font.

font

font.

[ ]

Elements in square brackets are optional.

{x | y | z }

Required alternative keywords are grouped in braces and separated by vertical bars.

[ x | y | z ]

Optional alternative keywords are grouped in brackets and separated by vertical bars.

string

A nonquoted set of characters. Do not use quotation marks around the string or the string will include the quotation marks.

font

font.

font

font.

font

font.

< >

Nonprinting characters such as passwords are in angle brackets.

[ ]

Default responses to system prompts are in square brackets.

!, #

An exclamation point (!) or a pound sign (#) at the beginning of a line of code indicates a comment line.

Note Means reader take note.

Tip Means the following information will help you solve a problem.

Caution Means reader be careful. In this situation, you might perform an action that could result in equipment damage or loss of data.

Obtaining Documentation and Submitting a Service Request

.

. The RSS feeds are a free service.

Introduction to the Cisco ASA

Released: April 24, 2014

Updated: December 15, 2014

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.

This chapter includes the following sections:

- Hardware and Software Compatibility

- VPN Compatibility

- New Features

- How the ASA Services Module Works with the Switch

- Firewall Functional Overview

- VPN Functional Overview

- Security Context Overview

- ASA Clustering Overview

- Legacy Features

Hardware and Software Compatibility

:

VPN Compatibility

:

New Features

- New Features in ASA 9.2(3)

- New Features in ASA 9.2(2.4)

- New Features in ASA 9.2(1)

Note New, changed, and deprecated syslog messages are listed in syslog messages guide.

New Features in ASA 9.2(3)

Released: December 15, 2014

lists the new features for ASA Version 9.2(3).

Table 1-1 New Features for ASA Version 9.2(3)

Feature

Description

Remote Access Features

Clientless SSL VPN session cookie access restriction

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

- Sharepoint features that require desktop applications (for example, MS Office applications)

- AnyConnect Web launch

- Citrix Receiver, XenDesktop, and Xenon

- Other non-browser-based and browser plugin-based applications

New Features in ASA 9.2(2.4)

Released: August 12, 2014

lists the new features for ASA Version 9.2(2.4).

Note Version 9.2(2) was removed from Cisco.com due to build issues; please upgrade to Version 9.2(2.4) or later.

Table 1-2 New Features for ASA Version 9.2(2.4)

Feature

Description

Remote Access Features

Internet Explorer 11 browser support on Windows 8.1 and Windows 7 for clientless SSL VPN

We added support for Internet Explorer 11 with Windows 7 and Windows 8.1 for clientless SSL VPN..

We did not modify any commands.

New Features in ASA 9.2(1)

Released: April 24, 2014

lists the new features for ASA Version 9.2(1).

Note The ASA 5510, ASA 5520, ASA 5540, ASA 5550, and ASA 5580 are not supported in this release or later. ASA Version 9.1 was the final release for these models.

Table 1-3 New Features for ASA Version 9.2(1)

Feature

Description

Platform Features

The Cisco Adaptive Security Virtual Appliance (ASAv) has been added as a new platform to the ASA series.

The ASAv brings full firewall functionality to virtualized environments to secure data center traffic and multi-tenant environments. The ASAv runs on VMware vSphere. You can manage and monitor the ASAv using ASDM or the CLI.

Routing Features

BGP Support

We now support the Border Gateway Protocol (BGP). BGP is an inter autonomous system routing protocol. BGP is used to exchange routing information for the Internet and is the protocol used between Internet service providers (ISP).

.

Static route for Null0 interface

Sending traffic to a Null0 interface results in dropping the packets destined to the specified network. This feature is useful in configuring Remotely Triggered Black Hole (RTBH) for BGP.

.

OSPF support for Fast Hellos

OSPF supports the Fast Hello Packets feature, resulting in a configuration that results in faster convergence in an OSPF network.

New OSPF Timers

New OSPF timers were added; old ones were deprecated.

imers throttle.

We removed the following commands: timers spf, timers lsa-grouping-pacing

OSPF Route filtering using ACL

Route filtering using ACL is now supported.

We introduced the following command: distribute-list

OSPF Monitoring enhancements

Additional OSPF monitoring information was added.

We modified the following commands: show ospf events, show ospf rib, show ospf statistics, show ospf border-routers [detail], show ospf interface brief

OSPF redistribute BGP

OSPF redistribution feature was added.

We added the following command: redistribute bgp

EIGRP Auto- Summary

For EIGRP, the Auto-Summary field is now disabled by default.

High Availability Features

Support for cluster members at different geographical locations (inter-site) for transparent mode

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.

Static LACP port priority support for clustering

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.

- Port-channel bundling downtime should not exceed the configured keepalive interval.

.

Support for 32 active links in a spanned EtherChannel for clustering

EtherChannels, that functionality is extended to support up to 32 active links across the cluster when used with two switches in a vPC and when you disable dynamic port priority. The switches must support EtherChannels with 16 active links, for example, the Cisco Nexus 7000 with with F2-Series 10 Gigabit Ethernet Module.

For switches in a VSS or vPC that support 8 active links, you can now configure 16 active links in the spanned EtherChannel (8 connected to each switch). Previously, the spanned EtherChannel only supported 8 active links and 8 standby links, even for use with a VSS/vPC.

Note 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.
.

Support for 16 cluster members for the ASA 5585-X

The ASA 5585-X now supports 16-unit clusters.

We did not modify any commands.

Support for clustering with the Cisco Nexus 9300

The ASA supports clustering when connected to the Cisco Nexus 9300.

Remote Access Features

ISE Change of Authorization

The ISE Change of Authorization (CoA) feature provides a mechanism to change the attributes of an authentication, authorization, and accounting (AAA) session after it is established. When a policy changes for a user or user group in AAA, CoA packets can be sent directly to the ASA from the ISE to reinitialize authentication and apply the new policy. An Inline Posture Enforcement Point (IPEP) is no longer required to apply access control lists (ACLs) for each VPN session established with the ASA.

When an end user requests a VPN connection the ASA authenticates the user to the ISE and receives a user ACL that provides limited access to the network. An accounting start message is sent to the ISE to register the session. Posture assessment occurs directly between the NAC agent and the ISE. This process is transparent to the ASA. The ISE sends a policy update to the ASA via a CoA “policy push.” This identifies a new user ACL that provides increased network access privileges. Additional policy evaluations may occur during the lifetime of the connection, transparent to the ASA, via subsequent CoA updates.

.

]].

.

Improved clientless rewriter HTTP 1.1 compression handling

The rewriter has been changed so that if the client supports compressed content and the content will not be rewritten, then it will accept compressed content from the server. If the content must be rewritten and it is identified as being compressed, it will be decompressed, rewritten, and if the client supports it, recompressed.

We did not introduce or modify any commands.

OpenSSL upgrade

The version of OpenSSL on the ASA will be updated to version 1.0.1e.

Note We disabled the heartbeat option, so the ASA is not vulnerable to the Heartbleed Bug.
We did not introduce or modify any commands.

Interface Features

Support for 16 active links in an EtherChannel

You can now configure up to 16 active links in an EtherChannel. Previously, you could have 8 active links and 8 standby links. Be sure your switch can support 16 active links (for example the Cisco Nexus 7000 with with F2-Series 10 Gigabit Ethernet Module).
command).
.

Maximum MTU is now 9198 bytes

The maximum MTU that the ASA can use is 9198 bytes (check for your model’s exact limit at the CLI help). This value does not include the Layer 2 header. Formerly, the ASA let you specify the maximum MTU as 65535 bytes, which was inaccurate and could cause problems. If your MTU was set to a value higher than 9198, then the MTU is automatically lowered when you upgrade. In some cases, this MTU change can cause an MTU mismatch; be sure to set any connecting equipment to use the new MTU value.

Monitoring Features

Embedded Event Manager (EEM)

The EEM feature enables you to debug problems and provides general purpose logging for troubleshooting. The EEM responds to events in the EEM system by performing actions. There are two components: events that the EEM triggers, and event manager applets that define actions. You may add multiple events to each event manager applet, which triggers it to invoke the actions that have been configured on it.

.

SNMP hosts, host groups, and user lists

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.

.

SNMP message size

The limit on the message size that SNMP sends has been increased to 1472 bytes.

SNMP OIDs and MIBs

The ASA now supports the cpmCPUTotal5minRev OID.

The ASAv has been added as a new product to the SNMP sysObjectID OID and entPhysicalVendorType OID.

The CISCO-PRODUCTS-MIB and CISCO-ENTITY-VENDORTYPE-OID-MIB have been updated to support the new ASAv platform.

Administrative Features

Improved one-time password authentication

command.

.

Auto Update Server certificate verification enabled by default

The Auto Update Server certificate verification is now enabled by default; for new configurations, you must explicitly disable certificate verification. If you are upgrading from an earlier release, and you did not enable certificate verification, then certificate verification is not enabled, and you see the following warning:

WARNING: The certificate provided by the auto-update servers will not be verified. In order to verify this certificate please use the verify-certificate option.

The configuration will be migrated to explicitly configure no verification:

].

How the ASA Services Module Works with the Switch

You can install the ASASM in the Catalyst 6500 series and Cisco 7600 series switches with Cisco IOS software on both the switch supervisor and the integrated MSFC.

Note The Catalyst Operating System (OS) is not supported.

The ASA runs its own operating system.

The switch includes a switching processor (the supervisor) and a router (the MSFC). Although you need the MSFC as part of your system, you do not have to use it. If you choose to do so, you can assign one or more VLAN interfaces to the MSFC. You can alternatively use external routers instead of the MSFC.

In single context mode, you can place the router in front of the firewall or behind the firewall (see Figure 1-1).

The location of the router depends entirely on the VLANs that you assign to it. For example, the router is behind the firewall in the example shown on the left side of Figure 1-1 because you assigned VLAN 201 to the inside interface of the ASASM. The router is in front of the firewall in the example shown on the right side of Figure 1-1 because you assigned VLAN 200 to the outside interface of the ASASM.

In the left-hand example, the MSFC or router routes between VLANs 201, 301, 302, and 303, and no inside traffic goes through the ASASM unless it is destined for the Internet. In the right-hand example, the ASASM processes and protects all traffic between the inside VLANs 201, 202, and 203.

Figure 1-1 MSFC/Router Placement

For multiple context mode, if you place the router behind the ASASM, you should only connect it to a single context. If you connect the router to multiple contexts, the router will route between the contexts, which might not be your intention. The typical scenario for multiple contexts is to use a router in front of all the contexts to route between the Internet and the switched networks (see Figure 1-2).

Figure 1-2 MSFC/Router Placement with Multiple Contexts

Firewall Functional Overview

(DMZ). The firewall allows limited access to the DMZ, but because the DMZ only includes the public servers, an attack there only affects the servers and does not affect the other inside networks. You can also control when inside users access outside networks (for example, access to the Internet), by allowing only certain addresses out, by requiring authentication or authorization, or by coordinating with an external URL filtering server.

, while behind the firewall, allows limited access to outside users. Because the ASA lets you configure many interfaces with varied security policies, including many inside interfaces, many DMZs, and even many outside interfaces if desired, these terms are used in a general sense only.

This section includes the following topics:

- Security Policy Overview

- Firewall Mode Overview

- Stateful Inspection Overview

Security Policy Overview

A security policy determines which traffic is allowed to pass through the firewall to access another network. By default, the ASA allows traffic to flow freely from an inside network (higher security level) to an outside network (lower security level). You can apply actions to traffic to customize the security policy. This section includes the following topics:

- Permitting or Denying Traffic with Access Lists

- Applying NAT

- Protecting from IP Fragments

- Using AAA for Through Traffic

- Applying HTTP, HTTPS, or FTP Filtering

- Applying Application Inspection

- Sending Traffic to Supported Hardware or Software Modules

- Applying QoS Policies

- Applying Connection Limits and TCP Normalization

- Enabling Threat Detection

- Enabling the Botnet Traffic Filter

- Configuring Cisco Unified Communications

Permitting or Denying Traffic with Access Lists

You can apply an access list to limit traffic from inside to outside, or allow traffic from outside to inside. For transparent firewall mode, you can also apply an EtherType access list to allow non-IP traffic.

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.

- NAT can resolve IP routing problems by supporting overlapping IP addresses.

Protecting from IP Fragments

The ASA provides IP fragment protection. This feature performs full reassembly of all ICMP error messages and virtual reassembly of the remaining IP fragments that are routed through the ASA. Fragments that fail the security check are dropped and logged. Virtual reassembly cannot be disabled.

Using AAA for Through Traffic

You can require authentication and/or authorization for certain types of traffic, for example, for HTTP. The ASA also sends accounting information to a RADIUS or TACACS+ server.

Applying HTTP, HTTPS, or FTP Filtering

Although you can use access lists to prevent outbound access to specific websites or FTP servers, configuring and managing web usage this way is not practical because of the size and dynamic nature of the Internet.

You can configure Cloud Web Security on the ASA, or install an ASA module that provides URL and other filtering services, such as ASA CX. You can also use the ASA in conjunction with an external product such as the Cisco Web Security Appliance (WSA).

Applying Application Inspection

Inspection engines are required for services that embed IP addressing information in the user data packet or that open secondary channels on dynamically assigned ports. These protocols require the ASA to do a deep packet inspection.

Sending Traffic to Supported Hardware or Software Modules

Some ASA models allow you to configure software modules, or to insert hardware modules into the chassis, to provide advanced services. These modules provide additional traffic inspection and can block traffic based on your configured policies. You can send traffic to these modules to take advantage of these advanced services.

Applying QoS Policies

Some network traffic, such as voice and streaming video, cannot tolerate long latency times. QoS is a network feature that lets you give priority to these types of traffic. QoS refers to the capability of a network to provide better service to selected network traffic.

Applying Connection Limits and TCP Normalization

You can limit TCP and UDP connections and embryonic connections. Limiting the number of connections and embryonic connections protects you from a DoS attack. The ASA uses the embryonic limit to trigger TCP Intercept, which protects inside systems from a DoS attack perpetrated by flooding an interface with TCP SYN packets. An embryonic connection is a connection request that has not finished the necessary handshake between source and destination.

TCP normalization is a feature consisting of advanced TCP connection settings designed to drop packets that do not appear normal.

Enabling Threat Detection

You can configure scanning threat detection and basic threat detection, and also how to use statistics to analyze threats.

Basic threat detection detects activity that might be related to an attack, such as a DoS attack, and automatically sends a system log message.

A typical scanning attack consists of a host that tests the accessibility of every IP address in a subnet (by scanning through many hosts in the subnet or sweeping through many ports in a host or subnet). The scanning threat detection feature determines when a host is performing a scan. Unlike IPS scan detection that is based on traffic signatures, the ASA scanning threat detection feature maintains an extensive database that contains host statistics that can be analyzed for scanning activity.

The host database tracks suspicious activity such as connections with no return activity, access of closed service ports, vulnerable TCP behaviors such as non-random IPID, and many more behaviors.

You can configure the ASA to send system log messages about an attacker or you can automatically shun the host.

Enabling the Botnet Traffic Filter

Malware is malicious software that is installed on an unknowing host. Malware that attempts network activity such as sending private data (passwords, credit card numbers, key strokes, or proprietary data) can be detected by the Botnet Traffic Filter when the malware starts a connection to a known bad IP address. The Botnet Traffic Filter checks incoming and outgoing connections against a dynamic database of known bad domain names and IP addresses (the blacklist), and then logs any suspicious activity. When you see syslog messages about the malware activity, you can take steps to isolate and disinfect the host.

Configuring Cisco Unified Communications

The Cisco ASA series is a strategic platform to provide proxy functions for unified communications deployments. The purpose of a proxy is to terminate and reoriginate connections between a client and server. The proxy delivers a range of security functions such as traffic inspection, protocol conformance, and policy control to ensure security for the internal network. An increasingly popular function of a proxy is to terminate encrypted connections in order to apply security policies while maintaining confidentiality of connections.

Firewall Mode Overview

The ASA runs in two different firewall modes:

- Routed

- Transparent

In routed mode, the ASA is considered to be a router hop in the network.

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.

Stateful Inspection Overview

packet against the filter, which can be a slow process.

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:

- Is this a new connection?

If it is a new connection, the ASA has to check the packet against access lists and perform other tasks to determine if the packet is allowed or denied. To perform this check, the first packet of the session goes through the “session management path,” and depending on the type of traffic, it might also pass through the “control plane path.”

The session management path is responsible for the following tasks:

– Performing the access list checks

– Performing route lookups

– Allocating NAT translations (xlates)

– Establishing sessions in the “fast path”

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.

- Is this an established connection?

If the connection is already established, the ASA does not need to re-check packets; most matching packets can go through the “fast” path in both directions. The fast path is responsible for the following tasks:

– IP checksum verification

– Session lookup

– TCP sequence number check

– NAT translations based on existing sessions

– Layer 3 and Layer 4 header adjustments

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.

VPN Functional Overview

A VPN is a secure connection across a TCP/IP network (such as the Internet) that appears as a private connection. This secure connection is called a tunnel. The ASA uses tunneling protocols to negotiate security parameters, create and manage tunnels, encapsulate packets, transmit or receive them through the tunnel, and unencapsulate them. The ASA functions as a bidirectional tunnel endpoint: it can receive plain packets, encapsulate them, and send them to the other end of the tunnel where they are unencapsulated and sent to their final destination. It can also receive encapsulated packets, unencapsulate them, and send them to their final destination. The ASA invokes various standard protocols to accomplish these functions.

The ASA performs the following functions:

- Establishes tunnels

- Negotiates tunnel parameters

- Authenticates users

- Assigns user addresses

- Encrypts and decrypts data

- Manages security keys

- Manages data transfer across the tunnel

- Manages data transfer inbound and outbound as a tunnel endpoint or router

The ASA invokes various standard protocols to accomplish these functions.

Security Context Overview

You can partition a single ASA into multiple virtual devices, known as security contexts. Each context is an independent device, with its own security policy, interfaces, and administrators. Multiple contexts are similar to having multiple standalone devices. Many features are supported in multiple context mode, including routing tables, firewall features, IPS, and management; however, some features are not supported. See the feature chapters for more information.

In multiple context mode, the ASA includes a configuration for each context that identifies the security policy, interfaces, and almost all the options you can configure on a standalone device. The system administrator adds and manages contexts by configuring them 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 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.

ASA Clustering Overview

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.

You perform all configuration (aside from the bootstrap configuration) on the master unit only; the configuration is then replicated to the member units.

Legacy Features

The following features are covered in the legacy feature guide:

- URL Filtering

- IP Audit

- IP spoofing prevention

- Fragment size

- Connection shunning

- AAA for network access

- RIP

While you can use these features in your configuration, there may be better alternative features described in the main configuration guides.

Multiple Context Mode

This chapter describes how to configure multiple security contexts on the ASA and includes the following sections:

- Information About Security Contexts

- Licensing Requirements for Multiple Context Mode

- Guidelines and Limitations

- Default Settings

- Configuring Multiple Contexts

- Changing Between Contexts and the System Execution Space

- Managing Security Contexts

- Monitoring Security Contexts

- Configuration Examples for Multiple Context Mode

- Feature History for Multiple Context Mode

Information About Security Contexts

You can partition a single ASA into multiple virtual devices, known as security contexts. Each context acts as an independent device, with its own security policy, interfaces, and administrators. Multiple contexts are similar to having multiple standalone devices. For unsupported features in multiple context mode, see Guidelines and Limitations.

This section provides an overview of security contexts and includes the following topics:

- Common Uses for Security Contexts

- Context Configuration Files

- How the ASA Classifies Packets

- Cascading Security Contexts

- Management Access to Security Contexts

- Information About Resource Management

- Information About MAC Addresses

Common Uses for Security Contexts

You might want to use multiple security contexts in the following situations:

- 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 Configuration Files

This section describes how the ASA implements multiple context mode configurations and includes the following topics:

- Context Configurations

- System Configuration

- Admin Context Configuration

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 configuration does include a specialized failover interface for failover traffic only.

Admin Context Configuration

The admin context is just like any other context, except that when a user logs in to the admin context, then that user has system administrator rights and can access the system and all other contexts. The admin context is not restricted in any way, and can be used as a regular context. However, because logging into the admin context grants you administrator privileges over all contexts, you might need to restrict access to the admin context to appropriate users. The admin context must reside on flash memory, and not remotely.

If your system is already in multiple context mode, or if you convert from single mode, the admin context is created automatically as a file on the internal flash memory called admin.cfg. This context is named “admin.” If you do not want to use admin.cfg as the admin context, you can change the admin context.

How the ASA Classifies Packets

Each packet that enters the ASA must be classified, so that the ASA can determine to which context to send a packet. This section includes the following topics:

- Valid Classifier Criteria

- Classification Examples

Note If the destination MAC address is a multicast or broadcast MAC address, the packet is duplicated and delivered to each context.

Valid Classifier Criteria

This section describes the criteria used by the classifier and includes the following topics:

- Unique Interfaces

- Unique MAC Addresses

- NAT Configuration

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.

Unique MAC Addresses

If multiple contexts share an interface, then the classifier uses unique MAC addresses assigned to the interface in each context. An upstream router cannot route directly to a context without unique MAC addresses. By default, auto-generation of MAC addresses is enabled. You can also set the MAC addresses manually when you configure each interface.

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.

Classification Examples

Figure 7-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 7-1 Packet Classification with a Shared Interface Using MAC Addresses

Note that all new incoming traffic must be classified, even from inside networks. Figure 7-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 7-2 Incoming Traffic from Inside Networks

For transparent firewalls, you must use unique interfaces. Figure 7-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 7-3 Transparent Firewall Contexts

Cascading Security Contexts

; the outside interface of one context is the same interface as the inside interface of another context. You might want to cascade contexts if you want to simplify the configuration of some contexts by configuring shared parameters in the top context.

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.

Figure 7-4 shows a gateway context with two contexts behind the gateway.

Figure 7-4 Cascading Contexts

Management Access to Security Contexts

The ASA provides system administrator access in multiple context mode as well as access for individual context administrators. The following sections describe logging in as a system administrator or as a context administrator:

- System Administrator Access

- Context Administrator Access

System Administrator Access

You can access the ASA as a system administrator in two ways:

- Access the ASA console.

, which means that any commands you enter affect only the system configuration or the running of the system (for run-time commands).

- Access the admin context using Telnet, SSH, or ASDM.

See “Management Access,” to enable Telnet, SSH, and ASDM access.

As the system administrator, you can access all contexts.

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.

Context Administrator Access

You can access a context using Telnet, SSH, or ASDM. If you log in to a non-admin context, you can only access the configuration for that context. You can provide individual logins to the context. See “Management Access,” to enable Telnet, SSH, and ASDM access and to configure management authentication.

Information About Resource Management

By default, all security contexts have unlimited access to the resources of the ASA, except where maximum limits per context are enforced; the only exception is VPN resources, which are disabled by default. If you find that one or more contexts use too many resources, and they cause other contexts to be denied connections, for example, then you can configure resource management to limit the use of resources per context. For VPN resources, you must configure resource management to allow any VPN tunnels.

This section includes the following topics:

- Resource Classes

- Resource Limits

- Default Class

- Using Oversubscribed Resources

- Using Unlimited Resources

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.

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.

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:

- Telnet sessions—5 sessions. (The maximum per context.)

- SSH sessions—5 sessions. (The maximum per context.)

- IPsec sessions—5 sessions. (The maximum per context.)

- MAC addresses—65,535 entries. (The maximum per context.)

- VPN site-to-site tunnels—0 sessions. (You must manually configure the class to allow any VPN sessions.)

Figure 7-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 7-5 Resource Classes

Using Oversubscribed Resources

You can oversubscribe the ASA by assigning more than 100 percent of a resource across all contexts (with the exception of non-burst VPN resources). For example, you can set the Bronze class to limit connections to 20 percent per context, and then assign 10 contexts to the class for a total of 200 percent. If contexts concurrently use more than the system limit, then each context gets less than the 20 percent you intended. (See Figure 7-6.)

Figure 7-6 Resource Oversubscription

Using Unlimited Resources

The ASA lets you assign unlimited access to one or more resources in a class, instead of a percentage or absolute number. When a resource is unlimited, contexts can use as much of the resource as the system has available. For example, Context A, B, and C are in the Silver Class, which limits each class member to 1 percent of the connections, for a total of 3 percent; but the three contexts are currently only using 2 percent combined. Gold Class has unlimited access to connections. The contexts in the Gold Class can use more than the 97 percent of “unassigned” connections; they can also use the 1 percent of connections not currently in use by Context A, B, and C, even if that means that Context A, B, and C are unable to reach their 3 percent combined limit. (See Figure 7-7.) Setting unlimited access is similar to oversubscribing the ASA, except that you have less control over how much you oversubscribe the system.

Figure 7-7 Unlimited Resources

Information About MAC Addresses

To allow contexts to share interfaces, the ASA assigns virtual MAC addresses to each shared context interface by default. To customize or disable auto-generation, see Automatically Assigning MAC Addresses to Context Interfaces.

The MAC address is used to classify packets within a context. If you share an interface, but do not have unique MAC addresses for the interface in each context, then other classification methods are attempted that might not provide full coverage. See How the ASA Classifies Packets for information about classifying packets.

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 Configuring the MAC Address, MTU, and TCP MSS to manually set the MAC address.

This section includes the following topics:

- Default MAC Address

- Interaction with Manual MAC Addresses

- Failover MAC Addresses

- MAC Address Format

Default MAC Address

Automatic MAC address generation is enabled by default. The ASA autogenerates the prefix based on the last two bytes of the interface (ASA 5500-X) or backplane (ASASM) MAC address. You can customize the prefix if desired.

If you disable MAC address generation, see the following default MAC addresses:

- For the ASA 5500-X series appliances—The physical interface uses the burned-in MAC address, and all subinterfaces of a physical interface use the same burned-in MAC address.

- For the ASASM—All VLAN interfaces use the same MAC address, derived from the backplane MAC address.

See also the MAC Address Format.

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.

Interaction with Manual MAC Addresses

If you manually assign a MAC address and also enable auto-generation, then the manually assigned MAC address is used. If you later remove the manual MAC address, the auto-generated address is used.

Because auto-generated addresses (when using a prefix) start with A2, you cannot start manual MAC addresses with A2 if you also want to use auto-generation.

Failover MAC Addresses

For use with failover, the ASA generates both an active and standby MAC address for each interface. 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. See MAC Address Format section for more information.

MAC Address Format

The ASA generates the MAC address using the following format:

is an internal counter generated by the ASA. For the standby MAC address, the address is identical except that the internal counter is increased by 1.

) to match the ASA native form:

For a prefix of 1009 (03F1), the MAC address is:

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.

Licensing Requirements for Multiple Context Mode

Model

License Requirement

ASA 5505

No support.

ASA 5512-X

- Base License: No support.

- Security Plus License: 2 contexts.

ASA 5515-X

Base License: 2 contexts.

ASA 5525-X

Base License: 2 contexts.

ASA 5545-X

Base License: 2 contexts.

ASA 5555-X

Base License: 2 contexts.

ASA 5585-X with SSP-10

Base License: 2 contexts.

ASA 5585-X with SSP-20, -40, and -60

Base License: 2 contexts.

ASASM

Base License: 2 contexts.

ASAv

No support.

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 “Getting Started,” for more information about connecting to the ASA.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode; set the firewall mode per context.

Failover Guidelines

Active/Active mode failover is only supported in multiple context mode.

IPv6 Guidelines

Supports IPv6.

Note Cross context IPv6 routing is not supported.

Model Guidelines

Does not support the ASA 5505.

Unsupported Features

Multiple context mode does not support the following features:

- RIP

- OSPFv3. (OSPFv2 is supported.)

- Multicast routing

- Threat Detection

- Unified Communications

- QoS

- Remote access VPN. (Site-to-site VPN is supported.)

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 ).

Default Settings

- By default, the ASA is in single context mode.

- See Default Class.

- See Default MAC Address.

Configuring Multiple Contexts

This section describes how to configure multiple context mode and includes the following topics:

- Task Flow for Configuring Multiple Context Mode

- Enabling or Disabling Multiple Context Mode

- Configuring a Class for Resource Management

- Configuring a Security Context

- Automatically Assigning MAC Addresses to Context Interfaces

Task Flow for Configuring Multiple Context Mode

To configure multiple context mode, perform the following steps:

Step 1 Enable multiple context mode. See Enabling or Disabling Multiple Context Mode.

: For VPN support, you must configure VPN resources in a resource class; the default class does not allow VPN.

Step 3 Configure interfaces in the system execution space.

- ASA 5500-X—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

- ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

Step 4 Configure security contexts. See Configuring a Security Context.

Step 5 (Optional) Customize MAC address assignments. See Automatically Assigning MAC Addresses to Context Interfaces.

Step 6 Complete interface configuration in the context. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Enabling or Disabling Multiple Context Mode

Your ASA might already be configured for multiple security contexts depending on how you ordered it from Cisco. If you need to convert from single mode to multiple mode, follow the procedures in this section.

This section includes the following topics:

- Enabling Multiple Context Mode

- Restoring Single Context Mode

Enabling Multiple Context Mode

When you convert from single mode to multiple mode, the ASA converts the running configuration into two files: a new startup configuration that comprises the system configuration, and admin.cfg that comprises the admin context (in the root directory of the internal flash memory). The original running configuration is saved as old_running.cfg (in the root directory of the internal flash memory). The original startup configuration is not saved. The ASA automatically adds an entry for the admin context to the system configuration with the name “admin.”

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 Backing Up Configurations or Other Files.

Detailed Steps

Command

Purpose

ciscoasa(config)# mode multiple

Changes to multiple context mode. You are prompted to reboot the ASA.

Restoring Single Context Mode

To copy the old running configuration to the startup configuration and to change the mode to single mode, perform the following steps.

Prerequisites

Perform this procedure in the system execution space.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# copy disk0:old_running.cfg startup-config

Copies the backup version of your original running configuration to the current startup configuration.

Step 2

ciscoasa(config)# mode single

Sets the mode to single mode. You are prompted to reboot the ASA.

Configuring a Class for Resource Management

To configure a class in the system configuration, perform the following steps. You can change the value of a particular resource limit by reentering the command with a new value.

Prerequisites

Perform this procedure in the system execution space.

Guidelines

command.

Table 7-1 Resource Names and Limits

Resource Name

Rate or Concurrent

Minimum and Maximum Number per Context

System Limit 1

Description

asdm

Concurrent

1 minimum

5 maximum

32

ASDM management sessions.

Note ASDM sessions use two HTTPS connections: one for monitoring that is always present, and one for making configuration changes that is present only when you make changes. For example, the system limit of 32 ASDM sessions represents a limit of 64 HTTPS sessions.

conns2

Concurrent or Rate

N/A

Concurrent connections: See Supported Feature Licenses Per Model for the connection limit available for your model.

Rate: N/A

TCP or UDP connections between any two hosts, including connections between one host and multiple other hosts.

hosts

Concurrent

N/A

N/A

Hosts that can connect through the ASA.

inspects

Rate

N/A

N/A

Application inspections per second.

mac-addresses

Concurrent

N/A

65,535

For transparent firewall mode, the number of MAC addresses allowed in the MAC address table.

routes

Concurrent

N/A

N/A

Dynamic routes.

vpn burst other

Concurrent

N/A

.

can be oversubscribed; the burst pool is available to all contexts on a first-come, first-served basis.

vpn other

Concurrent

N/A

See Supported Feature Licenses Per Model for the Other VPN sessions available for your model.

Site-to-site VPN sessions. You cannot oversubscribe this resource; all context assignments combined cannot exceed the model limit. The sessions you assign for this resource are guaranteed to the context.

ssh

Concurrent

1 minimum

5 maximum

100

SSH sessions.

syslogs

Rate

N/A

N/A

Syslog messages per second.

telnet

Concurrent

1 minimum

5 maximum

100

Telnet sessions.

Concurrent

N/A

N/A

Network address translations.

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.

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'”).

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'”).

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# class gold

for the name.

Step 2

]

ciscoasa(config-class)# limit-resource rate inspects 10

.

et the rate per second for certain resources.

sets the limit to none.

); 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 default

ciscoasa(config-class)# limit-resource conns 10%

ciscoasa(config-class)# limit-resource vpn other 5

ciscoasa(config-class)# limit-resource vpn burst other 2

All other resources remain at unlimited.

To add a class called gold, enter the following commands:

ciscoasa(config)# class gold

ciscoasa(config-class)# limit-resource mac-addresses 10000

ciscoasa(config-class)# limit-resource conns 15%

ciscoasa(config-class)# limit-resource rate conns 1000

ciscoasa(config-class)# limit-resource rate inspects 500

ciscoasa(config-class)# limit-resource hosts 9000

ciscoasa(config-class)# limit-resource asdm 5

ciscoasa(config-class)# limit-resource ssh 5

ciscoasa(config-class)# limit-resource rate syslogs 5000

ciscoasa(config-class)# limit-resource telnet 5

ciscoasa(config-class)# limit-resource xlates 36000

ciscoasa(config-class)# limit-resource routes 5000

ciscoasa(config-class)# limit-resource vpn other 10

ciscoasa(config-class)# limit-resource vpn burst other 5

Configuring a Security Context

The security context definition in the system configuration identifies the context name, configuration file URL, interfaces that a context can use, and other settings.

Prerequisites

- Perform this procedure in the system execution space.

- For the ASASM, assign VLANs to the ASASM on the switch according to Chapter2, “Switch Configuration for the ASA Services Module”

- For the ASA 5500-X, configure physical interface parameters, VLAN subinterfaces, EtherChannels, and redundant interfaces according to Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

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

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# context administrator

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.

“System” or “Null” (in upper or lower case letters) are reserved names, and cannot be used.

Step 2

(Optional)

ciscoasa(config-ctx)# description Administrator Context

Adds a description for this context.

Step 3

To allocate an interface:

]

To allocate one or more subinterfaces:

]

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

Specifies the interfaces you can use in the context. Do not include a space between the interface type and the port number.

form of this command, then any context commands that include this interface are removed from the running configuration.

(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.

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

, for example, the command fails.

- The numeric portion of the mapped name must include the same quantity of numbers as the subinterface range. For example, both ranges include 100 interfaces:

gigabitethernet0/0.100-gigabitethernet0/0.199 int1-int100

, for example, the command fails.

keyword shows only the mapped name.

Step 4

ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg

Identifies the URL from which the system downloads the context configuration. When you add a context URL, the system immediately loads the context so that it is running, if the configuration is available.
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 message:

WARNING: Could not fetch the URL url

INFO: Creating context with default config

command to write the file to the URL location. (HTTP(S) is read only).

Note The admin context file must be stored on the internal flash memory.
.

command with a new URL. See Changing the Security Context URL for more information about changing the URL.

Step 5

(Optional)

ciscoasa(config-ctx)# member gold

Assigns the context to a resource class. If you do not specify a class, the context belongs to the default class. You can only assign a context to one resource class.

Step 6

(Optional)

]

ciscoasa(config-ctx)# allocate-ips sensor1 highsec

Assigns an IPS virtual sensor to this context if you have the IPS module installed.

See the firewall configuration guide for detailed information about virtual sensors.

Step 7

(Optional)

)

ciscoasa(config-ctx)# join-failover-group 2

Assigns a context to a failover group in Active/Active failover. By default, contexts are in group 1. The admin context must always be in group 1.

See Configuring Optional Failover Parameters for detailed information about failover groups.

Step 8

(Optional)

]

ciscoasa(config-ctx)# scansafe

Enables Cloud Web Security for this context.

, 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)# context test

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.100 int1

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.102 int2

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115 int3-int8

ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg

ciscoasa(config-ctx)# member gold

ciscoasa(config-ctx)# context sample

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.200 int1

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.212 int2

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.230-gigabitethernet0/1.235 int3-int8

ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg

ciscoasa(config-ctx)# member silver

Automatically Assigning MAC Addresses to Context Interfaces

This section describes how to configure auto-generation of MAC addresses.

The MAC address is used to classify packets within a context. See Information About MAC Addresses for more information, especially if you are upgrading from an earlier ASA version. See also the Viewing Assigned MAC Addresses.

Guidelines

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

- 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 Configuring the MAC Address, MTU, and TCP MSS to manually set the MAC address.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# mac-address auto prefix 19

Automatically assigns private MAC addresses to each context interface.

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.

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 section for more information about how the prefix is used.

Changing Between Contexts and the System Execution Space

command. Only the current configuration displays.

Detailed Steps

Command

Purpose

Changes to a context. The prompt changes to the following:

ciscoasa/ name #

Changes to the system execution space. The prompt changes to the following:

ciscoasa#

Managing Security Contexts

This section describes how to manage security contexts and includes the following topics:

- Removing a Security Context

- Changing the Admin Context

- Changing the Security Context URL

- Reloading a Security Context

Removing a Security Context

command.

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.

Prerequisites

Perform this procedure in the system execution space.

Detailed Steps

Command

Purpose

Removes a single context. All context commands are also removed. The context configuration file is not removed from the config URL location.

Removes all contexts (including the admin context). The context configuration files are not removed from the config URL locations.

Changing the Admin Context

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 in to the admin context, then that user has system administrator rights and can access the system and all other contexts. The admin context is not restricted in any way, and can be used as a regular context. However, because logging into the admin context grants you administrator privileges over all contexts, you might need to restrict access to the admin context to appropriate users.

Guidelines

You can set any context to be the admin context, as long as the configuration file is stored in the internal flash memory.

Prerequisites

Perform this procedure in the system execution space.

Detailed Steps

Command

Purpose

ciscoasa(config)# admin-context administrator

Sets the admin context. 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.
, 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.

Changing the Security Context URL

This section describes how to change the context URL.

Guidelines

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

Prerequisites

Perform this procedure in the system execution space.

Detailed Steps

Command

Purpose

Step 1

(Optional, if you do not want to perform a merge)

changeto context name

clear configure all

changeto context ctx1

ciscoasa/ctx1(config)# clear configure all

Changes to the context and clears its configuration. If you want to perform a merge, skip to Step 2.

Step 2

changeto system

ciscoasa(config)#

Changes to the system execution space.

Step 3

ciscoasa(config)# context ctx1

Enters the context configuration mode for the context you want to change.

Step 4

ciscoasa(config)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/ctx1.cfg

Enters the new URL. The system immediately loads the context so that it is running.

Reloading a Security Context

You can reload the context in two ways:

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

- Remove the context from the system configuration.

This action clears additional attributes, such as memory allocation, which might be useful for troubleshooting. However, to add the context back to the system requires you to respecify the URL and interfaces.

This section includes the following topics:

- Reloading by Clearing the Configuration

- Reloading by Removing and Re-adding the Context

Reloading by Clearing the Configuration

To reload the context by clearing the context configuration and reloading the configuration from the URL, perform the following steps.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# changeto context ctx1

ciscoasa/ctx1(comfig)#

Changes to the context that you want to reload.

Step 2

ciscoasa/ctx1(config)# clear configure all

Clears the running configuration. This command clears all connections.

Step 3

ciscoasa/ctx1(config)# copy startup-config running-config

Reloads the configuration. The ASA copies the configuration from the URL specified in the system configuration. You cannot change the URL from within a context.

Reloading by Removing and Re-adding the Context

To reload the context by removing the context and then re-adding it, perform the steps in the following sections:

1. Removing a Security Context.

2. Configuring a Security Context

Monitoring Security Contexts

This section describes how to view and monitor context information and includes the following topics:

- Viewing Context Information

- Viewing Resource Allocation

- Viewing Resource Usage

- Monitoring SYN Attacks in Contexts

- Viewing Assigned MAC Addresses

Viewing Context Information

From the system execution space, you can view a list of contexts including the name, allocated interfaces, and configuration file URL.

From the system execution space, view all contexts by entering the following command:

Command

Purpose

]

Shows all contexts.

.

option shows additional information. See the following sample outputs below for more information.

option shows the total number of contexts.

command. The following sample output shows three contexts:

ciscoasa# show context

Context Name Interfaces URL

*admin GigabitEthernet0/1.100 disk0:/admin.cfg

GigabitEthernet0/1.101

contexta GigabitEthernet0/1.200 disk0:/contexta.cfg

GigabitEthernet0/1.201

contextb GigabitEthernet0/1.300 disk0:/contextb.cfg

GigabitEthernet0/1.301

Total active Security Contexts: 3

shows each field description.

Table 7-2 show context Fields

Field

Description

Context Name

Lists all context names. The context name with the asterisk (*) is the admin context.

Interfaces

The interfaces assigned to the context.

URL

The URL from which the ASA loads the context configuration.

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

output.

command:

ciscoasa# show context count

Total active contexts: 2

Viewing Resource Allocation

From the system execution space, you can view the allocation for each resource across all classes and class members.

To view the resource allocation, enter the following command:

Command

Purpose

]

Shows the resource allocation. This command shows the resource allocation, but does not show the actual resources being used. See Viewing Resource Usage for more information about actual resource usage.

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 % of Avail

Conns [rate] 35000 N/A

Inspects [rate] 35000 N/A

Syslogs [rate] 10500 N/A

Conns 305000 30.50%

Hosts 78842 N/A

SSH 35 35.00%

Routes 5000 N/A

Telnet 35 35.00%

Xlates 91749 N/A

Other VPN Sessions 20 2.66%

Other VPN Burst 20 2.66%

All unlimited

shows each field description.

Table 7-3 show resource allocation Fields

Field

Description

Resource

The name of the resource that you can limit.

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.

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 Total Total %

Conns [rate] default all CA unlimited

gold 1 C 34000 34000 N/A

silver 1 CA 17000 17000 N/A

bronze 0 CA 8500

All Contexts: 3 51000 N/A

Inspects [rate] default all CA unlimited

gold 1 DA unlimited

silver 1 CA 10000 10000 N/A

bronze 0 CA 5000

All Contexts: 3 10000 N/A

Syslogs [rate] default all CA unlimited

gold 1 C 6000 6000 N/A

silver 1 CA 3000 3000 N/A

bronze 0 CA 1500

All Contexts: 3 9000 N/A

Conns default all CA unlimited

gold 1 C 200000 200000 20.00%

silver 1 CA 100000 100000 10.00%

bronze 0 CA 50000

All Contexts: 3 300000 30.00%

Hosts default all CA unlimited

gold 1 DA unlimited

silver 1 CA 26214 26214 N/A

bronze 0 CA 13107

All Contexts: 3 26214 N/A

SSH default all C 5

gold 1 D 5 5 5.00%

silver 1 CA 10 10 10.00%

bronze 0 CA 5

All Contexts: 3 20 20.00%

Telnet default all C 5

gold 1 D 5 5 5.00%

silver 1 CA 10 10 10.00%

bronze 0 CA 5

All Contexts: 3 20 20.00%

Routes default all C unlimited N/A

gold 1 D unlimited 5 N/A

silver 1 CA 10 10 N/A

bronze 0 CA 5 N/A

All Contexts: 3 20 N/A

Xlates default all CA unlimited

gold 1 DA unlimited

silver 1 CA 23040 23040 N/A

bronze 0 CA 11520

All Contexts: 3 23040 N/A

mac-addresses default all C 65535

gold 1 D 65535 65535 100.00%

silver 1 CA 6553 6553 9.99%

bronze 0 CA 3276

All Contexts: 3 137623 209.99%

shows each field description.

Table 7-4 show resource allocation detail Fields

Field

Description

Resource

The name of the resource that you can limit.

Class

The name of each class, including the default class.

The All contexts field shows the total values across all classes.

Mmbrs

The number of contexts assigned to each class.

Origin

The origin of the resource limit, as follows:

- A—You set this limit with the all option, instead of as an individual resource.

- C—This limit is derived from the member class.

- D—This 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 ASA can combine “A” with “C” or “D.”

Limit

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.

Viewing Resource Usage

From the system execution space, you can view the resource usage for each context and display the system resource usage.

Command

Purpose

]]

context usage is displayed; each context is listed separately.

, with this option.

option shows all context usage combined.

option shows all context usage combined, but shows the system limits for resources instead of the combined context limits.

(the default) for all types.

option shows the resource usage of all resources, including those you cannot manage. For example, you can view the number of TCP intercepts.

is one of the following keywords:

- current —Shows the active concurrent instances or the current rate of the resource.

- denied —Shows the number of instances that were denied because they exceeded the resource limit shown in the Limit column.

- peak —Shows the peak concurrent instances, or the peak rate of the resource since the statistics were last cleared, either using the clear resource usage command or because the device rebooted.

- all —(Default) Shows all statistics.

applies to the current usage.
.

command, which shows the resource usage for the admin context:

ciscoasa# show resource usage context admin

Resource Current Peak Limit Denied Context

Telnet 1 1 5 0 admin

Conns 44 55 N/A 0 admin

Hosts 45 56 N/A 0 admin

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 Current Peak Limit Denied Context

Syslogs [rate] 1743 2132 N/A 0 Summary

Conns 584 763 280000(S) 0 Summary

Xlates 8526 8966 N/A 0 Summary

Hosts 254 254 N/A 0 Summary

Conns [rate] 270 535 N/A 1704 Summary

Inspects [rate] 270 535 N/A 0 Summary

Other VPN Sessions 0 10 10 740 Summary

Other VPN Burst 0 10 10 730 Summary

S = System: Combined context limits exceed the system limit; the system limit is shown.

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 Current Peak Limit Denied Context

Telnet 1 1 100[S] 0 Summary

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.

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 Current Peak Limit Denied Context

Telnet 0 0 100 0 System

SSH 0 0 100 0 System

ASDM 0 0 32 0 System

Routes 0 0 N/A 0 System

IPSec 0 0 5 0 System

Syslogs [rate] 1 18 N/A 0 System

Conns 0 1 280000 0 System

Xlates 0 0 N/A 0 System

Hosts 0 2 N/A 0 System

Conns [rate] 1 1 N/A 0 System

Inspects [rate] 0 0 N/A 0 System

Other VPN Sessions 0 10 750 740 System

Other VPN Burst 0 10 750 730 System

Monitoring SYN Attacks in Contexts

The ASA prevents SYN attacks using TCP Intercept. TCP Intercept uses the SYN cookies algorithm to prevent TCP SYN-flooding attacks. A SYN-flooding attack consists of a series of SYN packets usually originating from spoofed IP addresses. The constant flood of SYN packets keeps the server SYN queue full, which prevents it from servicing connection requests. When the embryonic connection threshold of a connection is crossed, the ASA acts as a proxy for the server and generates a SYN-ACK response to the client SYN request. When the ASA receives an ACK back from the client, it can then authenticate the client and allow the connection to the server.

Monitor SYN attacks using the following commands:

Command

Purpose

Monitors the rate of attacks for individual contexts.

Monitors the amount of resources being used by TCP intercept for individual contexts.

Monitors the resources being used by TCP intercept for the entire system.

command that shows the rate of TCP intercepts for a context called admin.

ciscoasa/admin# show perfmon

Context:admin

PERFMON STATS: Current Average

Xlates 0/s 0/s

Connections 0/s 0/s

TCP Conns 0/s 0/s

UDP Conns 0/s 0/s

URL Access 0/s 0/s

URL Server Req 0/s 0/s

WebSns Req 0/s 0/s

TCP Fixup 0/s 0/s

HTTP Fixup 0/s 0/s

FTP Fixup 0/s 0/s

AAA Authen 0/s 0/s

AAA Author 0/s 0/s

AAA Account 0/s 0/s

TCP Intercept 322779/s 322779/s

shows the TCP intercept information.)

ciscoasa(config)# show resource usage detail

Resource Current Peak Limit Denied Context

memory 843732 847288 unlimited 0 admin

chunk:channels 14 15 unlimited 0 admin

chunk:fixup 15 15 unlimited 0 admin

chunk:hole 1 1 unlimited 0 admin

chunk:ip-users 10 10 unlimited 0 admin

chunk:list-elem 21 21 unlimited 0 admin

chunk:list-hdr 3 4 unlimited 0 admin

chunk:route 2 2 unlimited 0 admin

chunk:static 1 1 unlimited 0 admin

tcp-intercepts 328787 803610 unlimited 0 admin

np-statics 3 3 unlimited 0 admin

statics 1 1 unlimited 0 admin

ace-rules 1 1 unlimited 0 admin

console-access-rul 2 2 unlimited 0 admin

fixup-rules 14 15 unlimited 0 admin

memory 959872 960000 unlimited 0 c1

chunk:channels 15 16 unlimited 0 c1

chunk:dbgtrace 1 1 unlimited 0 c1

chunk:fixup 15 15 unlimited 0 c1

chunk:global 1 1 unlimited 0 c1

chunk:hole 2 2 unlimited 0 c1

chunk:ip-users 10 10 unlimited 0 c1

chunk:udp-ctrl-blk 1 1 unlimited 0 c1

chunk:list-elem 24 24 unlimited 0 c1

chunk:list-hdr 5 6 unlimited 0 c1

chunk:nat 1 1 unlimited 0 c1

chunk:route 2 2 unlimited 0 c1

chunk:static 1 1 unlimited 0 c1

tcp-intercept-rate 16056 16254 unlimited 0 c1

globals 1 1 unlimited 0 c1

np-statics 3 3 unlimited 0 c1

statics 1 1 unlimited 0 c1

nats 1 1 unlimited 0 c1

ace-rules 2 2 unlimited 0 c1

console-access-rul 2 2 unlimited 0 c1

fixup-rules 14 15 unlimited 0 c1

memory 232695716 232020648 unlimited 0 system

chunk:channels 17 20 unlimited 0 system

chunk:dbgtrace 3 3 unlimited 0 system

chunk:fixup 15 15 unlimited 0 system

chunk:ip-users 4 4 unlimited 0 system

chunk:list-elem 1014 1014 unlimited 0 system

chunk:list-hdr 1 1 unlimited 0 system

chunk:route 1 1 unlimited 0 system

block:16384 510 885 unlimited 0 system

block:2048 32 34 unlimited 0 system

shows the TCP intercept information.)

ciscoasa(config)# show resource usage summary detail

Resource Current Peak Limit Denied Context

memory 238421312 238434336 unlimited 0 Summary

chunk:channels 46 48 unlimited 0 Summary

chunk:dbgtrace 4 4 unlimited 0 Summary

chunk:fixup 45 45 unlimited 0 Summary

chunk:global 1 1 unlimited 0 Summary

chunk:hole 3 3 unlimited 0 Summary

chunk:ip-users 24 24 unlimited 0 Summary

chunk:udp-ctrl-blk 1 1 unlimited 0 Summary

chunk:list-elem 1059 1059 unlimited 0 Summary

chunk:list-hdr 10 11 unlimited 0 Summary

chunk:nat 1 1 unlimited 0 Summary

chunk:route 5 5 unlimited 0 Summary

chunk:static 2 2 unlimited 0 Summary

block:16384 510 885 unlimited 0 Summary

block:2048 32 35 unlimited 0 Summary

tcp-intercept-rate 341306 811579 unlimited 0 Summary

globals 1 1 unlimited 0 Summary

np-statics 6 6 unlimited 0 Summary

statics 2 2 N/A 0 Summary

nats 1 1 N/A 0 Summary

ace-rules 3 3 N/A 0 Summary

console-access-rul 4 4 N/A 0 Summary

fixup-rules 43 44 N/A 0 Summary

Viewing Assigned MAC Addresses

You can view auto-generated MAC addresses within the system configuration or within the context. This section includes the following topics:

- Viewing MAC Addresses in the System Configuration

- Viewing MAC Addresses Within a Context

Viewing MAC Addresses in the System Configuration

This section describes how to view MAC addresses in the system configuration.

Guidelines

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.

Detailed Steps

Command

Purpose

]

Shows the assigned MAC addresses from the system execution space.

command within the context have a MAC address assigned.

Examples

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

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

mac-address auto GigabitEthernet0/1.2 a2d2.0400.120e a2d2.0400.120f

mac-address auto GigabitEthernet0/1.3 a2d2.0400.1212 a2d2.0400.1213

config-url disk0:/CTX2.cfg

!

Viewing MAC Addresses Within a Context

This section describes how to view MAC addresses within a context.

Detailed Steps

Command

Purpose

Shows the MAC address in use by each interface within the context.

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.

Configuration Examples for Multiple Context Mode

The following example:

- Automatically sets the MAC addresses in contexts with a custom prefix.

- 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 gold resource class.

- Sets the admin context to be “administrator.”

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

ciscoasa(config)# class default

ciscoasa(config-class)# limit-resource conns 10%

ciscoasa(config-class)# limit-resource vpn other 10

ciscoasa(config-class)# limit-resource vpn burst other 5

ciscoasa(config)# class gold

ciscoasa(config-class)# limit-resource mac-addresses 10000

ciscoasa(config-class)# limit-resource conns 15%

ciscoasa(config-class)# limit-resource rate conns 1000

ciscoasa(config-class)# limit-resource rate inspects 500

ciscoasa(config-class)# limit-resource hosts 9000

ciscoasa(config-class)# limit-resource asdm 5

ciscoasa(config-class)# limit-resource ssh 5

ciscoasa(config-class)# limit-resource rate syslogs 5000

ciscoasa(config-class)# limit-resource telnet 5

ciscoasa(config-class)# limit-resource xlates 36000

ciscoasa(config-class)# limit-resource routes 700

ciscoasa(config-class)# limit-resource vpn other 100

ciscoasa(config-class)# limit-resource vpn burst other 50

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)# context test

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.100 int1

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.102 int2

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/0.110-gigabitethernet0/0.115 int3-int8

ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/test.cfg

ciscoasa(config-ctx)# member gold

ciscoasa(config-ctx)# context sample

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.200 int1

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.212 int2

ciscoasa(config-ctx)# allocate-interface gigabitethernet0/1.230-gigabitethernet0/1.235 int3-int8

ciscoasa(config-ctx)# config-url ftp://user1:passw0rd@10.1.1.1/configlets/sample.cfg

ciscoasa(config-ctx)# member gold

Feature History for Multiple Context Mode

lists each feature change and the platform release in which it was implemented.

Table 7-5 Feature History for Multiple Context Mode

Feature Name

Platform Releases

Feature Information

Multiple security contexts

7.0(1)

Multiple context mode was introduced.

.

Automatic MAC address assignment

7.2(1)

Automatic assignment of MAC address to context interfaces was introduced.

.

Resource management

7.2(1)

Resource management was introduced.

.

Virtual sensors for IPS

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.

.

Automatic MAC address assignment enhancements

8.0(5)/8.2(2)

The MAC address format was changed to use a prefix, to use a fixed starting value (A2), and to use a different scheme for the primary and secondary unit MAC addresses in a failover pair. The MAC addresses are also now persistent across reloads. The command parser now checks if auto-generation is enabled; if you want to also manually assign a MAC address, you cannot start the manual MAC address with A2.

.

Maximum contexts increased for the ASA 5550 and 5580

8.4(1)

The maximum security contexts for the ASA 5550 was increased from 50 to 100. The maximum for the ASA 5580 was increased from 50 to 250.

Automatic MAC address assignment enabled by default

8.5(1)

Automatic MAC address assignment is now enabled by default.

.

Automatic generation of a MAC address prefix

8.6(1)

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.
convert the MAC address method in an existing 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 generation to use the default prefix.
.

Dynamic routing in Security Contexts

9.0(1)

EIGRP and OSPFv2 dynamic routing protocols are now supported in multiple context mode. OSPFv3, RIP, and multicast routing are not supported.

New resource type for routing table entries

9.0(1)

A new resource type, routes, was created to set the maximum number of routing table entries in each context.

.

Site-to-Site VPN in multiple context mode

9.0(1)

Site-to-site VPN tunnels are now supported in multiple context mode.

New resource type for site-to-site VPN tunnels

9.0(1)

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.

.

Basic Interface Configuration (ASA 5512-X and Higher)

This chapter includes tasks for starting your interface configuration for the ASA 5512-X and higher, including configuring Ethernet settings, redundant interfaces, and EtherChannels.

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.

For ASA cluster interfaces, which have special requirements, see Chapter9, “ASA Cluster”

This chapter includes the following sections:

- Information About Starting ASA 5512-X and Higher Interface Configuration

- Licensing Requirements for ASA 5512-X and Higher Interfaces

- Guidelines and Limitations

- Default Settings

- Starting Interface Configuration (ASA 5512-X and Higher)

- Monitoring Interfaces

- Configuration Examples for ASA 5512-X and Higher Interfaces

- Where to Go Next

- Feature History for ASA 5512-X and Higher Interfaces

Information About Starting ASA 5512-X and Higher Interface Configuration

This section includes the following topics:

- Auto-MDI/MDIX Feature

- Interfaces in Transparent Mode

- Management Interface

- Redundant Interfaces

- EtherChannels

- Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size

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

Interfaces in Transparent Mode

Interfaces in transparent mode belong to a “bridge group,” one bridge group for each network. You can have up to 8 bridge groups of 4 interfaces each per context or in single mode. For more information about bridge groups, see Bridge Groups in Transparent Mode.

Management Interface

- Management Interface Overview

- Management Slot/Port Interface

- Using Any Interface for Management-Only Traffic

- Management Interface for Transparent Mode

- No Support for Redundant Management Interfaces

- Management 0/0 Interface on the ASA 5512-X through ASA 5555-X

Management Interface Overview

You can manage the ASA by connecting to:

- Any through-traffic interface

- A dedicated Management Slot / Port interface (if available for your model)

You may need to configure management access to the interface according to Chapter43, “Management Access”

Management Slot / Port Interface

shows the Management interfaces per model.

Table 10-1 Management Interfaces Per Model

Model

Management 0/0 1

Management 0/1

Management 1/0

Management 1/1

Configurable for Through Traffic 2

Subinterfaces Allowed

ASA 5505

No

No

No

No

N/A

N/A

ASA 5512-X

No

No

No

No

No

ASA 5515-X

No

No

No

No

No

ASA 5525-X

No

No

No

No

No

ASA 5545-X

No

No

No

No

No

ASA 5555-X

No

No

No

No

No

ASA 5585-X

ASASM

No

No

No

No

N/A

N/A

ASAv

No

No

No

No

No

1.The Management 0/0 interface is configured for ASDM access as part of the default factory configuration. See Factory Default Configurations for more information.

1.The Management 0/0 interface is configured for ASDM access as part of the default factory configuration. See Factory Default Configurations for more information.

2.By default, the Management 0/0 interface is configured for management-only traffic (the management-only command). For supported models in routed mode, you can remove the limitation and pass through traffic. If your model includes additional Management interfaces, you can use them for through traffic as well. The Management interfaces might not be optimized for through-traffic, however.

2.By default, the Management 0/0 interface is configured for management-only traffic (the management-only command). For supported models in routed mode, you can remove the limitation and pass through traffic. If your model includes additional Management interfaces, you can use them for through traffic as well. The Management interfaces might not be optimized for through-traffic, however.

3.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.

3.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.

Note If you installed a module, then the module management interface(s) provides management access for the module only. For the ASA 5512-X through ASA 5555-X, the software module uses the same physical Management 0/0 interface as the ASA.

Using Any Interface for Management-Only Traffic

command).

Management Interface for Transparent Mode

In transparent firewall mode, in addition to the maximum allowed through-traffic interfaces, you can also use the Management interface (either the physical interface, a subinterface (if supported for your model), or an EtherChannel interface comprised of Management interfaces (if you have multiple Management interfaces)) as a separate management interface. You cannot use any other interface types as management interfaces.

In multiple context mode, you cannot share any interfaces, including the Management interface, across contexts. To provide management per context, you can create subinterfaces of the Management interface and allocate a Management subinterface to each context. Note that the ASA 5512-X through ASA 5555-X do not allow subinterfaces on the Management interface, so for per-context management, you must connect to a data interface.

The management interface is not part of a normal bridge group. Note that for operational purposes, it is part of a non-configurable bridge group.

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 Cisco 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 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 Support for Redundant Management Interfaces

interfaces as members. You also cannot set a redundant interface comprised of non-Management interfaces as management-only.

Management 0/0 Interface on the ASA 5512-X through ASA 5555-X

The Management 0/0 interface on the ASA 5512-X through ASA 5555-X has the following characteristics:

- No through traffic support

- No subinterface support

- No priority queue support

- No multicast MAC support

- The software module shares the Management 0/0 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.

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.

Redundant Interface MAC Address

The redundant interface uses the MAC address of the first physical interface that you add. If you change the order of the member interfaces in the configuration, then the MAC address changes to match the MAC address of the interface that is now listed first. Alternatively, you can assign a MAC address to the redundant interface, which is used regardless of the member interface MAC addresses (see Configuring the MAC Address, MTU, and TCP MSS or the Configuring Multiple Contexts). When the active interface fails over to the standby, the same MAC address is maintained so that traffic is not disrupted.

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.

This section includes the following topics:

- Channel Group Interfaces

- Connecting to an EtherChannel on Another Device

- Link Aggregation Control Protocol

- Load Balancing

- EtherChannel MAC Address

Channel Group Interfaces

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 8 interfaces can be active, the remaining interfaces can act as standby links in case of interface failure. For 16 active interfaces, be sure that your switch supports the feature (for example, the Cisco Nexus 7000 with F2-Series 10 Gigabit Ethernet Module).

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.

The EtherChannel aggregates the traffic across all the available active interfaces in the channel. The interface is selected using a proprietary hash algorithm, based on source or destination MAC addresses, IP addresses, TCP and UDP port numbers and VLAN numbers.

Connecting to an EtherChannel on Another Device

The device to which you connect the ASA EtherChannel must also support 802.3ad EtherChannels; for example, you can connect to the Cisco Catalyst 6500 switch or the Cisco Nexus 7000.

When the switch is part of a Virtual Switching System (VSS) or Virtual Port Channel (vPC), then you can connect ASA interfaces within the same EtherChannel to separate switches in the VSS/vPC. The switch interfaces are members of the same EtherChannel port-channel interface, because the separate switches act like a single switch (see Figure 10-1).

Figure 10-1 Connecting to a VSS/vPC

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 (see Figure 10-1). 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 Active/Standby Failover and VSS/vPC

Link Aggregation Control Protocol

The Link Aggregation Control Protocol (LACP) aggregates interfaces by exchanging the Link Aggregation Control Protocol Data Units (LACPDUs) between two network devices.

You can configure each physical interface in an EtherChannel to be:

- Active—Sends 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.

- Passive—Receives LACP updates. A passive EtherChannel can only establish connectivity with an active EtherChannel.

- On—The 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

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.

EtherChannel MAC Address

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.

Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size

- MTU Overview

- Default MTU

- Path MTU Discovery

- Setting the MTU and Jumbo Frames

- TCP Maximum Segment Size Overview

- Default TCP MSS

- Setting the TCP MSS for VPN and Non-VPN Traffic

- Examples

MTU Overview

Ethernet headers, FCS, or VLAN tagging. The Ethernet header is 14 bytes and the FCS is 4 bytes. When you set the MTU to 1500, the expected frame size is 1518 bytes including the headers. If you are using VLAN tagging (which adds an additional 4 bytes), then when you set the MTU to 1500, the expected frame size is 1522. Do not set the MTU value higher to accommodate these headers. For information about accommodating TCP headers for encapsulation, do not alter the MTU setting; instead change the TCP Maximum Segment Size (the TCP Maximum Segment Size Overview).

If an outgoing IP packet is larger than the specified MTU, it is fragmented into 2 or more frames. Fragments are reassembled at the destination (and sometimes at intermediate hops), and fragmentation can cause performance degradation. Therefore, your IP packets should fit within the MTU size to avoid fragmentation.

Note The ASA can receive frames larger than the configured MTU as long as there is room in memory. See Enabling Jumbo Frame Support to increase memory for larger frames.

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.

Path MTU Discovery

The ASA supports Path MTU Discovery (as defined in RFC 1191), which lets all devices in a network path between two hosts coordinate the MTU so they can standardize on the lowest MTU in the path.

Setting the MTU and Jumbo Frames

See Configuring the MAC Address, MTU, and TCP MSS. For multiple context mode, set the MTU within each context.

See Enabling Jumbo Frame Support. For multiple context mode, set the jumbo frame support in the system execution space.

See the following guidelines:

- Matching MTUs on the traffic path—We 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 frames—If you enable jumbo frames, you can set the MTU up to 9198 bytes.

TCP Maximum Segment Size Overview

any TCP headers are added. UDP packets are not affected. The client and the server exchange TCP MSS values during the three-way handshake when establishing the connection.

You can set the TCP MSS on the ASA. If either endpoint of a connection requests a TCP MSS that is larger than the value set on the ASA, the ASA overwrites the TCP MSS in the request packet with the ASA maximum. If the host or server does not request a TCP MSS, then the ASA assumes the RFC 793-default value of 536 bytes, but does not modify the packet. You can also configure the minimum TCP MSS; if a host or server requests a very small TCP MSS, the ASA can adjust the value up. By default, the minimum TCP MSS is not enabled.

For example, you configure the default MTU of 1500 bytes. A host requests an MSS of 1700. If the ASA maximum TCP MSS is 1380, then the ASA changes the MSS value in the TCP request packet to 1380. The server then sends 1380-byte packets.

Default TCP MSS

By default, the maximum TCP MSS on the ASA is 1380 bytes. This default accommodates VPN connections where the headers can add up to 120 bytes; this value fits within the default MTU of 1500 bytes.

Setting the TCP MSS for VPN and Non-VPN Traffic

See Configuring the MAC Address, MTU, and TCP MSS. For multiple context mode, set the TCP MSS within each context.

See the following guidelines:

- Non-VPN traffic—If 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 traffic—Set 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.

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

Licensing Requirements for ASA 5512-X and Higher Interfaces

Model

License Requirement

ASA 5512-X

VLANs4:

Base License: 50

Security Plus License: 100

Interfaces of all types5:

Base License: 716

Security Plus License: 916

ASA 5515-X

:

Base License: 100

:

Base License: 916

ASA 5525-X

:

Base License: 200

:

Base License: 1316

ASA 5545-X

:

Base License: 300

:

Base License: 1716

ASA 5555-X

:

Base License: 500

:

Base License: 2516

ASA 5585-X

:

Base and Security Plus License: 1024

Interface Speed for SSP-10 and SSP-20:

Base License—1-Gigabit Ethernet for fiber interfaces

10 GE I/O License (Security Plus)—10-Gigabit Ethernet for fiber interfaces

(SSP-40 and SSP-60 support 10-Gigabit Ethernet by default.)

:

Base and Security Plus License: 4612

4.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.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

5.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

5.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

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

In multiple context mode, configure the physical interfaces in the system execution space according to the Starting Interface Configuration (ASA 5512-X and Higher). Then, configure the logical interface parameters in the context execution space according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Firewall Mode Guidelines

- For transparent mode, you can configure up to 8 bridge groups per context or for a single mode device.

- Each bridge group can include up to 4 interfaces.

- For multiple context, transparent mode, each context must use different interfaces; you cannot share an interface across contexts.

Failover Guidelines

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

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

- You cannot share a failover or state interface with a data interface.

Clustering Guidelines

- 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, see Configuring Spanned EtherChannels.

- To configure an individual cluster interface, see Configuring Individual Interfaces (Recommended for the Management Interface).

Redundant Interface Guidelines

- You can configure up to 8 redundant interface pairs.

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

- For failover guidelines, see Failover Guidelines.

- For clustering guidelines, see Clustering Guidelines.

EtherChannel Guidelines

- You can configure up to 48 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.

- The device to which you connect the ASA EtherChannel must also support 802.3ad EtherChannels; for example, you can connect to the Cisco 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.

- For failover guidelines, see Failover Guidelines.

- For clustering guidelines, see Clustering Guidelines.

Default Settings

This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see Factory Default Configurations.

Default State of 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 interfaces—Disabled.

- Redundant Interfaces—Enabled. However, for traffic to pass through the redundant interface, the member physical interfaces must also be enabled.

- Subinterfaces—Enabled. However, for traffic to pass through the subinterface, the physical interface must also be enabled.

- EtherChannel port-channel interfaces—Enabled. However, for traffic to pass through the EtherChannel, the channel group physical interfaces must also be enabled.

Default Speed and Duplex

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

Default Connector Type

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.

Starting Interface Configuration (ASA 5512-X and Higher)

This section includes the following topics:

- Task Flow for Starting Interface Configuration

- Enabling the Physical Interface and Configuring Ethernet Parameters

- Configuring a Redundant Interface

- Configuring an EtherChannel

- Configuring VLAN Subinterfaces and 802.1Q Trunking

- Enabling Jumbo Frame Support

- Converting In-Use Interfaces to a Redundant or EtherChannel Interface

Task Flow for Starting Interface Configuration

Note If you have an existing configuration, and want to convert interfaces that are in use to a redundant or EtherChannel interface, perform your configuration offline to minimize disruption. See Converting In-Use Interfaces to a Redundant or EtherChannel Interface.

To start configuring interfaces, perform the following steps:

command.

Step 2 Enable the physical interface, and optionally change Ethernet parameters. See Enabling the Physical Interface and Configuring Ethernet Parameters.

Physical interfaces are disabled by default.

Step 3 (Optional) Configure redundant interface pairs. See Configuring a Redundant Interface.

A logical redundant interface pairs an active and a standby physical interface. When the active interface fails, the standby interface becomes active and starts passing traffic.

Step 4 (Optional) Configure an EtherChannel. See Configuring an EtherChannel.

An EtherChannel groups multiple Ethernet interfaces into a single logical interface.

Step 5 (Optional) Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

Step 6 (Optional) Enable jumbo frame support according to the Enabling Jumbo Frame Support.

Step 7 (Multiple context mode only) To complete the configuration of interfaces in the system execution space, perform the following tasks that are documented in Chapter 7, “Multiple Context Mode”:

- To assign interfaces to contexts, see Configuring a Security Context.

- (Optional) To automatically assign unique MAC addresses to context interfaces, see Automatically Assigning MAC Addresses to Context Interfaces.

The MAC address is used to classify packets within a context. If you share an interface, but do not have unique MAC addresses for the interface in each context, then the destination IP address is used to classify packets. Alternatively, you can manually assign MAC addresses within the context according to the Configuring the MAC Address, MTU, and TCP MSS.

Step 8 Complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Enabling the Physical Interface and Configuring Ethernet Parameters

This section describes how to:

- Enable the physical interface

- Set a specific speed and duplex (if available)

- Enable pause frames for flow control

Prerequisites

command.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/0

Specifies the interface you want to configure.

.

The physical interface types include the following:

- gigabitethernet

- tengigabitethernet

- management

. A space is optional between the type and the slot/port.

Step 2

(Optional)

ciscoasa(config-if)# media-type sfp

command.

Step 3

(Optional)

}

ciscoasa(config-if)# speed 100

Sets the speed.

.

command disables link negotiation.

Step 4

(Optional)

}

ciscoasa(config-if)# duplex full

setting is the default.

Note The duplex setting for an EtherChannel interface must be Full or Auto.

Step 5

(Optional)

]

ciscoasa(config-if)# flowcontrol send on 95 200 10000

Enables pause (XOFF) frames for flow control on GigabitEthernet and TenGigabitEthernet interfaces.

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?

keyword.

Note Only flow control frames defined in 802.3x are supported. Priority-based flow control is not supported.

Step 6

ciscoasa(config-if)# no 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.

What to Do Next

Optional Tasks:

- Configure redundant interface pairs. See Configuring a Redundant Interface.

- Configure an EtherChannel. See Configuring an EtherChannel.

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Configuring a Redundant Interface

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 failover if desired.

This section describes how to configure redundant interfaces and includes the following topics:

- Configuring a Redundant Interface

- Changing the Active Interface

Configuring a Redundant Interface

This section describes how to create a redundant interface. By default, redundant interfaces are enabled.

Guidelines and Limitations

- You can configure up to 8 redundant interface pairs.

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

- See also the Redundant Interface Guidelines.

Prerequisites

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

Caution If you are using a physical interface already in your configuration, removing the name will clear any configuration that refers to the interface.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface redundant 1

argument is an integer between 1 and 8.

Note You need to add at least one member interface to the redundant interface before you can configure logical parameters for it such as a name.

Step 2

ciscoasa(config-if)# member-interface gigabitethernet 0/0

Adds the first member interface to the redundant interface.

See Enabling the Physical Interface and Configuring Ethernet Parameters for a description of the physical interface ID.

interfaces as members.

After you add the interface, any configuration for it (such as an IP address) is removed.

Step 3

ciscoasa(config-if)# member-interface gigabitethernet 0/1

Adds the second member interface to the redundant interface.

Make sure the second interface is the same physical type as the first interface.

command. You cannot remove both member interfaces from the redundant interface; the redundant interface requires at least one member interface.

Examples

The following example creates two redundant interfaces:

ciscoasa(config)# interface redundant 1

ciscoasa(config-if)# member-interface gigabitethernet 0/0

ciscoasa(config-if)# member-interface gigabitethernet 0/1

ciscoasa(config-if)# interface redundant 2

ciscoasa(config-if)# member-interface gigabitethernet 0/2

ciscoasa(config-if)# member-interface gigabitethernet 0/3

What to Do Next

Optional Task:

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Changing the Active Interface

By default, the active interface is the first interface listed in the configuration, if it is available. To view which interface is active, enter the following command:

ciscoasa# show interface redundantnumber detail | grep Member

For example:

ciscoasa# show interface redundant1 detail | grep Member

Members GigabitEthernet0/3(Active), GigabitEthernet0/2

To change the active interface, enter the following command:

ciscoasa# redundant-interface redundantnumber active-member physical_interface

.

is the member interface ID that you want to be active.

Configuring an EtherChannel

This section describes how to create an EtherChannel port-channel interface, assign interfaces to the EtherChannel, and customize the EtherChannel.

This section includes the following topics:

- Adding Interfaces to the EtherChannel

- Customizing the EtherChannel

Adding Interfaces to the EtherChannel

This section describes how to create an EtherChannel port-channel interface and assign interfaces to the EtherChannel. By default, port-channel interfaces are enabled.

Guidelines and Limitations

- You can configure up to 48 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.

- To configure a spanned EtherChannel for clustering, see Configuring Spanned EtherChannels instead of this procedure.

- See also the EtherChannel Guidelines.

Prerequisites

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

Caution If you are using a physical interface already in your configuration, removing the name will clear any configuration that refers to the interface.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/0

. 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

}

ciscoasa(config-if)# channel-group 1 mode active

between 1 and 48. If the port-channel interface for this channel ID does not yet exist in the configuration, one will be added:

mode. For information about active, passive, and on modes, see Link Aggregation Control Protocol.

Step 3

(Optional)

ciscoasa(config-if)# lacp port-priority 12345

Sets the priority for a physical interface in the channel group 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.

value be 12345 on the 1/3 interface vs. the default 32768 on the 0/7 interface.

command in the Customizing the EtherChannel.

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.

What to Do Next

Optional Tasks:

- Customize the EtherChannel interface. See Customizing the EtherChannel.

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

Required Tasks:

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Customizing the EtherChannel

This section describes how to set the maximum number of interfaces in the EtherChannel, the minimum number of operating interfaces for the EtherChannel to be active, the load balancing algorithm, and other optional parameters.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface port-channel 1

Specifies the port-channel interface. 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.

Note 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

ciscoasa(config-if)# lacp max-bundle 6

Specifies the maximum number of active interfaces allowed in the channel group, 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.

Step 3

ciscoasa(config-if)# port-channel min-bundle 2

Specifies the minimum number of active interfaces required for the port-channel interface to become active, 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

}

ciscoasa(config-if)# port-channel load-balance src-dst-mac

) 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. For more information about load balancing, see Load Balancing.

Step 5

ciscoasa(config)# lacp system-priority 12345

Sets the LACP system priority, from 1 to 65535. The default is 32768. The higher the number, the lower the priority. This command is global for the ASA.

command in the Adding Interfaces to the EtherChannel.

Step 6

(Optional)

You can set the Ethernet properties for the port-channel interface to override the properties set on the individual interfaces.

See Enabling the Physical Interface and Configuring Ethernet Parameters for Ethernet commands. This method provides a shortcut to set these parameters because these parameters must match for all interfaces in the channel group.

What to Do Next

Optional Task:

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Configuring VLAN Subinterfaces and 802.1Q Trunking

Subinterfaces let you divide a physical, redundant, or EtherChannel interface into multiple logical interfaces that are tagged with different VLAN IDs. An interface with one or more VLAN subinterfaces is automatically configured as an 802.1Q trunk. Because VLANs allow you to keep traffic separate on a given physical interface, you can increase the number of interfaces available to your network without adding additional physical interfaces or ASAs. This feature is particularly useful in multiple context mode so that you can assign unique interfaces to each context.

Guidelines and Limitations

- Maximum subinterfaces—To determine how many VLAN subinterfaces are allowed for your model, see Licensing Requirements for ASA 5512-X and Higher Interfaces.

- Preventing untagged packets on the physical interface—If 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. See “Routed Mode Interfaces,” or “Transparent Mode Interfaces,” for more information about completing the interface configuration.

- (ASA 5512-X through ASA 5555-X) You cannot configure subinterfaces on the Management 0/0 interface.

Prerequisites

command.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/1.100

Specifies the new subinterface. See Enabling the Physical Interface and Configuring Ethernet Parameters section for a description of the physical interface ID.

.

.

ID is an integer between 1 and 4294967293.

Step 2

ciscoasa(config-subif)# vlan 101

is an integer between 1 and 4094. Some VLAN IDs might be reserved on connected switches, so check the switch documentation for more information.

command with a different VLAN ID, and the ASA changes the old ID.

What to Do Next

Optional Task:

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Enabling Jumbo Frame Support

A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as ACLs. See Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size for more information.

Prerequisites

- In multiple context mode, set this option in the system execution space.

- Changes in this setting require you to reload the ASA.

- 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. See Configuring the MAC Address, MTU, and TCP MSS. 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 ( sysopt connection tcpmss 0 ), or to increase it in accord with the MTU according to the Configuring the MAC Address, MTU, and TCP MSS.

Detailed Steps

Command

Purpose

ciscoasa(config)# jumbo-frame reservation

form of this command.

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

What to Do Next

- For multiple context mode, assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Configuring Multiple Contexts.

- For single context mode, complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Converting In-Use Interfaces to a Redundant or EtherChannel Interface

If you have an existing configuration and want to take advantage of the redundant or EtherChannel interface feature for interfaces that are currently in use, you will have some amount of downtime when you convert to the logical interfaces.

This section provides an overview of how to convert your existing interfaces to a redundant or EtherChannel interface with minimal downtime. See Configuring a Redundant Interface and the Configuring an EtherChannel for more information.

- Detailed Steps (Single Mode)

- Detailed Steps (Multiple Mode)

Detailed Steps (Single Mode)

We recommend that you update your configuration offline as a text file, and reimport the whole configuration for the following reasons:

- Because you cannot add a named interface as a member of a redundant or EtherChannel interface, you must remove the name from the interface. When you remove the name from the interface, any command that referred to that name is deleted. Because commands that refer to interface names are widespread throughout the configuration and affect multiple features, removing a name from an in-use interface at the CLI or in ASDM would cause significant damage to your configuration, not to mention significant downtime while you reconfigure all your features around a new interface name.

- Changing your configuration offline lets you use the same interface names for your new logical interfaces, so that you do not need to touch the feature configurations that refer to interface names. You only need to change the interface configuration.

- Clearing the running configuration and immediately applying a new configuration will minimize the downtime of your interfaces. You will not be waiting to configure the interfaces in real time.

Step 1 Connect to the ASA; if you are using failover, connect to the active ASA.

command.

command and copying the display output to a text editor.

Be sure to save an extra copy of the old configuration in case you make an error when you edit it.

command to the end of the interface configuration section for use in creating your new logical interfaces. The only exceptions are the following commands, which should stay with the physical interface configuration:

- media-type

- speed

- duplex

- flowcontrol

Note You can only add physical interfaces to an EtherChannel or redundant interface; you cannot have VLANs configured for the physical interfaces.

Be sure to match the above values for all interfaces in a given EtherChannel or redundant interface. Note that the duplex setting for an EtherChannel interface must be Full or Auto.

For example, you have the following interface configuration. The bolded commands are the ones we want to use with three new EtherChannel interfaces, and that you should cut and paste to the end of the interface section.

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.86.194.225 255.255.255.0

no shutdown

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.1.3 255.255.255.0

no shutdown

!

interface GigabitEthernet0/2

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/3

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/4

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/5

shutdown

no nameif

no security-level

no ip address

!

interface Management0/0

nameif mgmt

security-level 100

ip address 10.1.1.5 255.255.255.0

no shutdown

!

interface Management0/1

shutdown

no nameif

no security-level

no ip address

Step 5 Above each pasted command section, create your new logical interfaces by entering one of the following commands:

- interface redundant number [1-8]

- interface port-channel channel_id [1-48]

For example:

...

interface port-channel 1

nameif outside

security-level 0

ip address 10.86.194.225 255.255.255.0

no shutdown

!

interface port-channel 2

nameif inside

security-level 100

ip address 192.168.1.3 255.255.255.0

no shutdown

!

interface port-channel 3

nameif mgmt

security-level 100

ip address 10.1.1.5 255.255.255.0

no shutdown

Step 6 Assign the physical interfaces to the new logical interfaces:

- Redundant interface—Enter the following commands under the new interface redundant command:

member-interface physical_interface1

member-interface physical_interface2

Where the physical interfaces are any two interfaces of the same type (either formerly in use or unused). You cannot assign a Management interface to a redundant interface.

For example, to take advantage of existing cabling, you would continue to use the formerly in-use interfaces in their old roles as part of the inside and outside redundant interfaces:

interface redundant 1

nameif outside

security-level 0

ip address 10.86.194.225 255.255.255.0

member-interface GigabitEthernet0/0

member-interface GigabitEthernet0/2

interface redundant 2

nameif inside

security-level 100

ip address 192.168.1.3 255.255.255.0

member-interface GigabitEthernet0/1

member-interface GigabitEthernet0/3

- EtherChannel interface—Enter the following command under each interface you want to add to the EtherChannel (either formerly in use or unused). You can assign up to 16 interfaces per EtherChannel, although only eight can be active; the others are in a standby state in case of failure.

channel-group channel_id mode active

For example, to take advantage of existing cabling, you would continue to use the formerly in-use interfaces in their old roles as part of the inside and outside EtherChannel interfaces:

interface GigabitEthernet0/0

channel-group 1 mode active

no shutdown

!

interface GigabitEthernet0/1

channel-group 2 mode active

no shutdown

!

interface GigabitEthernet0/2

channel-group 1 mode active

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/3

channel-group 1 mode active

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/4

channel-group 2 mode active

shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/5

channel-group 2 mode active

shutdown

no nameif

no security-level

no ip address

!

interface Management0/0

channel-group 3 mode active

no shutdown

!

interface Management0/1

channel-group 3 mode active

shutdown

no nameif

no security-level

no ip address

...

command.

For example, your final EtherChannel configuration is:

interface GigabitEthernet0/0

channel-group 1 mode active

no shutdown

!

interface GigabitEthernet0/1

channel-group 2 mode active

no shutdown

!

interface GigabitEthernet0/2

channel-group 1 mode active

no shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/3

channel-group 1 mode active

no shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/4

channel-group 2 mode active

no shutdown

no nameif

no security-level

no ip address

!

interface GigabitEthernet0/5

channel-group 2 mode active

no shutdown

no nameif

no security-level

no ip address

!

interface Management0/0

channel-group 3 mode active

no shutdown

!

interface Management0/1

channel-group 3 mode active

no shutdown

no nameif

no security-level

no ip address

!

interface port-channel 1

nameif outside

security-level 0

ip address 10.86.194.225 255.255.255.0

!

interface port-channel 2

nameif inside

security-level 100

ip address 192.168.1.3 255.255.255.0

!

interface port-channel 3

nameif mgmt

security-level 100

ip address 10.1.1.5 255.255.255.0

Note Other optional EtherChannel parameters can be configured after you import the new configuration. See Configuring an EtherChannel.

Step 8 At the ASA CLI prompt, perform the following steps depending on your connection (console or remote).

- Console connection:

a. Copy the entire new configuration to the clipboard, including the altered interface section.

b. Clear the running configuration by entering:

ciscoasa(config)# clear configure all

Traffic through the ASA stops at this point.

c. Paste in the new configuration at the prompt.

Traffic through the ASA resumes.

- Remote connection:

a. Save the new configuration to a TFTP or FTP server, so that you can copy it to the startup configuration on the ASA. For example, you can run a TFTP or FTP server on your PC.

b. Clear the startup configuration by entering:

ciscoasa(config)# write erase

c. Copy the new configuration to the startup configuration by entering:

ciscoasa(config)# copy url startup-config

See Copying a File to the ASA.

command. Do not save the running configuration.

command.

Detailed Steps (Multiple Mode)

We recommend that you update your system and context configurations offline as text files, and reimport them for the following reasons:

- Because you cannot add an allocated interface as a member of a redundant or EtherChannel interface, you must deallocate the interface from any contexts. When you deallocate the interface, any context command that referred to that interface is deleted. Because commands that refer to interfaces are widespread throughout the configuration and affect multiple features, removing an allocation from an in-use interface at the CLI or in ASDM would cause significant damage to your configuration, not to mention significant downtime while you reconfigure all your features around a new interface.

- Changing your configuration offline lets you use the same interface names for your new logical interfaces, so that you do not need to touch the feature configurations that refer to interface names. You only need to change the interface configuration.

- Clearing the running system configuration and immediately applying a new configuration will minimize the downtime of your interfaces. You will not be waiting to configure the interfaces in real time.

Step 1 Connect to the ASA, and change to the system; if you are using failover, connect to the active ASA.

command.

and copying the display output to a text editor.

Be sure to save an extra copy of the old configuration in case you make an error when you edit it.

For example, you have the following interface configuration and allocation in the system configuration, with shared interfaces between two contexts.

System

interface GigabitEthernet0/0

no shutdown

interface GigabitEthernet0/1

no shutdown

interface GigabitEthernet0/2

shutdown

interface GigabitEthernet0/3

shutdown

interface GigabitEthernet0/4

shutdown

interface GigabitEthernet0/5

shutdown

interface Management0/0

no shutdown

interface Management1/0

shutdown

!

context customerA

allocate-interface gigabitethernet0/0 int1

allocate-interface gigabitethernet0/1 int2

allocate-interface management0/0 mgmt

context customerB

allocate-interface gigabitethernet0/0

allocate-interface gigabitethernet0/1

allocate-interface management0/0

context configurations that will use the new EtherChannel or redundant interface. See Backing Up Configurations or Other Files.

For example, you download the following context configurations (interface configuration shown):

CustomerA Context

interface int1

nameif outside

security-level 0

ip address 10.86.194.225 255.255.255.0

!

interface int2

nameif inside

security-level 100

ip address 192.168.1.3 255.255.255.0

no shutdown

!

interface mgmt

nameif mgmt

security-level 100

ip address 10.1.1.5 255.255.255.0

management-only

CustomerB Context

interface GigabitEthernet0/0

nameif outside

security-level 0

ip address 10.20.15.5 255.255.255.0

!

interface GigabitEthernet0/1

nameif inside

security-level 100

ip address 192.168.6.78 255.255.255.0

!

interface Management0/0

nameif mgmt

security-level 100

ip address 10.8.1.8 255.255.255.0

management-only

command on any additional physical interfaces you want to use as part of the logical interface.

Note You can only add physical interfaces to an EtherChannel or redundant interface; you cannot have VLANs configured for the physical interfaces.

Be sure to match physical interface parameters such as speed and duplex for all interfaces in a given EtherChannel or redundant interface. Note that the duplex setting for an EtherChannel interface must be Full or Auto.

For example, the new configuration is:

System

interface GigabitEthernet0/0

channel-group 1 mode active

no shutdown

!

interface GigabitEthernet0/1

channel-group 2 mode active

no shutdown

!

interface GigabitEthernet0/2

channel-group 1 mode active

no shutdown

!

interface GigabitEthernet0/3

channel-group 1 mode active

no shutdown

!

interface GigabitEthernet0/4

channel-group 2 mode active

no shutdown

!

interface GigabitEthernet0/5

channel-group 2 mode active

no shutdown

!

interface Management0/0

channel-group 3 mode active

no shutdown

!

interface Management0/1

channel-group 3 mode active

no shutdown

!

interface port-channel 1

interface port-channel 2

interface port-channel 3

Step 6 Change the interface allocation per context to use the new EtherChannel or redundant interfaces. See Configuring a Security Context.

For example, to take advantage of existing cabling, you would continue to use the formerly in-use interfaces in their old roles as part of the inside and outside redundant interfaces:

context customerA

allocate-interface port-channel1 int1

allocate-interface port-channel2 int2

allocate-interface port-channel3 mgmt

context customerB

allocate-interface port-channel1

allocate-interface port-channel2

allocate-interface port-channel3

Note You might want to take this opportunity to assign mapped names to interfaces if you have not done so already. For example, the configuration for customerA does not need to be altered at all; it just needs to be reapplied on the ASA. The customerB configuration, however, needs to have all of the interface IDs changed; if you assign mapped names for customerB, you still have to change the interface IDs in the context configuration, but mapped names might help future interface changes.

Step 7 For contexts that do not use mapped names, change the context configuration to use the new EtherChannel or redundant interface ID. (Contexts that use mapped interface names do not require any alteration.)

For example:

CustomerB Context

interface port-channel1

nameif outside

security-level 0

ip address 10.20.15.5 255.255.255.0

!

interface port-channel2

nameif inside

security-level 100

ip address 192.168.6.78 255.255.255.0

!

interface port-channel3

nameif mgmt

security-level 100

ip address 10.8.1.8 255.255.255.0

management-only

command and run a TFTP or FTP server on your PC, or use secure copy. See Copying a File to the ASA. This change only affects the startup configuration; the running configuration is still using the old context configuration.

Step 9 At the ASA system CLI prompt, perform the following steps depending on your connection (console or remote).

- Console connection:

a. Copy the entire new system configuration to the clipboard, including the altered interface section.

b. Clear the running configuration (both system and contexts) by entering:

ciscoasa(config)# clear configure all

Traffic through the ASA stops at this point.

c. Paste in the new system configuration at the prompt.

All of the new context configurations now reload. When they are finished reloading, traffic through the ASA resumes.

- Remote connection:

a. Save the new system configuration to a TFTP or FTP server, so that you can copy it to the startup configuration on the ASA. For example, you can run a TFTP or FTP server on your PC.

b. Clear the startup configuration by entering:

ciscoasa(config)# write erase

c. Copy the new system configuration to the startup configuration by entering:

ciscoasa(config)# copy url startup-config

See Copying a File to the ASA.

command. Do not save the running configuration.

command.

Monitoring Interfaces

To monitor interfaces, enter one of the following commands:

Command

Purpose

Displays interface statistics.

Displays interface IP addresses and status.

}

For EtherChannel, displays LACP information such as traffic statistics, system identifier and neighbor details.

]

For EtherChannel, displays EtherChannel information in a detailed and one-line summary form. This command also displays the port and port-channel information.

]

For EtherChannel, displays port-channel load-balance information along with the hash result and member interface selected for a given set of parameters.

Configuration Examples for ASA 5512-X and Higher Interfaces

This section includes the following topics:

- Physical Interface Parameters Example

- Subinterface Parameters Example

- Multiple Context Mode Example

- EtherChannel Example

Physical Interface Parameters Example

The following example configures parameters for the physical interface in single mode:

interface gigabitethernet 0/1

speed 1000

duplex full

no shutdown

Subinterface Parameters Example

The following example configures parameters for a subinterface in single mode:

interface gigabitethernet 0/1.1

vlan 101

no shutdown

Multiple Context Mode Example

The following example configures interface parameters in multiple context mode for the system configuration, and allocates the gigabitethernet 0/1.1 subinterface to contextA:

interface gigabitethernet 0/1

speed 1000

duplex full

no shutdown

interface gigabitethernet 0/1.1

vlan 101

context contextA

allocate-interface gigabitethernet 0/1.1

EtherChannel Example

The following example configures three interfaces as part of an EtherChannel. It also sets the system priority to be a higher priority, and GigabitEthernet 0/2 to be a higher priority than the other interfaces in case more than eight interfaces are assigned to the EtherChannel.

lacp system-priority 1234

interface GigabitEthernet0/0

channel-group 1 mode active

interface GigabitEthernet0/1

channel-group 1 mode active

interface GigabitEthernet0/2

lacp port-priority 1234

channel-group 1 mode passive

interface Port-channel1

lacp max-bundle 4

port-channel min-bundle 2

port-channel load-balance dst-ip

Where to Go Next

- For multiple context mode:

a. Assign interfaces to contexts and automatically assign unique MAC addresses to context interfaces. See Chapter7, “Multiple Context Mode”

b. Complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

- For single context mode, complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Feature History for ASA 5512-X and Higher Interfaces

lists the release history for this feature.

Table 10-2 Feature History for Interfaces

Feature Name

Releases

Feature Information

Increased VLANs

7.0(5)

Increased the following limits:

- ASA5510 Base license VLANs from 0 to 10.

- ASA5510 Security Plus license VLANs from 10 to 25.

- ASA5520 VLANs from 25 to 100.

- ASA5540 VLANs from 100 to 200.

Increased interfaces for the Base license on the ASA 5510

7.2(2)

For the Base license on the ASA 5510, the maximum number of interfaces was increased from 3 plus a management interface to unlimited interfaces.

Increased VLANs

7.2(2)

VLAN limits were 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).

Gigabit Ethernet Support for the ASA 5510 Security Plus License

7.2(3)

command to see what speed is currently configured for each interface.

Redundant interfaces

8.0(2)

A logical redundant interface pairs an active and a standby physical 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 failover if desired. You can configure up to eight redundant interface pairs.

Jumbo packet support for the ASA 5580

8.1(1)

The Cisco ASA 5580 supports jumbo frames. A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as ACLs.

This feature is also supported on the ASA 5585-X.

.

Increased VLANs for the ASA 5580

8.1(2)

The number of VLANs supported on the ASA 5580 are increased from 100 to 250.

Support for Pause Frames for Flow Control on the ASA 5580 Ten Gigabit Ethernet Interfaces

8.2(2)

You can now enable pause (XOFF) frames for flow control.

This feature is also supported on the ASA 5585-X.

.

Support for Pause Frames for Flow Control on Gigabit Ethernet Interfaces

8.2(5)/8.4(2)

You can now enable pause (XOFF) frames for flow control for Gigabit Ethernet interfaces on all models.

.

EtherChannel support

8.4(1)

You can configure up to 48 802.3ad EtherChannels of eight active interfaces each.

.

Note EtherChannel is not supported on the ASA 5505.

Support for 16 active links in an EtherChannel

9.2(1)

You can now configure up to 16 active links in an EtherChannel. Previously, you could have 8 active links and 8 standby links. Be sure that your switch can support 16 active links (for example the Cisco Nexus 7000 with F2-Series 10 Gigabit Ethernet Module).
command).
.

Basic Settings

This chapter describes how to configure basic settings on the ASA that are typically required for a functioning configuration and includes the following sections:

- Configuring the Hostname, Domain Name, and Passwords

- Setting the Date and Time

- Configuring the Master Passphrase

- Configuring the DNS Server

- http://www.cisco.com/en/US/products/ps6121/products_tech_note09186a0080aaeff5.shtml

- Performing Password Recovery for the ASA

- Performing Password Recovery for the ASAv

- Monitoring DNS Cache

- Choosing a Rule Engine Transactional Commit Model

Configuring the Hostname, Domain Name, and Passwords

- Setting the Login Password

- Changing the Enable Password

- Setting the Hostname

- Setting the Domain Name

- Feature History for the Hostname, Domain Name, and Passwords

Setting the Login Password

command.

Prerequisites

- Enable Telnet access according to the Configuring Telnet Access.

- 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. For the ASASM in multiple context mode, set the login password in the admin context for use when you session to the system execution space.

Detailed Steps

Command

Purpose

{ passwd | password } password [ encrypted ]

Sets the login password. There is no default 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.

command.

Changing the Enable Password

The enable password lets you enter privileged EXEC mode if you do not configure enable authentication (see Configuring Authentication to Access Privileged EXEC Mode (the enable Command)).

The enable password also lets you log into ASDM with a blank username if you do not configure HTTP authentication (see Configuring Authentication for CLI and ASDM Access.

Prerequisites

command.

Detailed Steps

Command

Purpose

hostname(config)# passwd Pa$$w0rd

Changes the enable password. By default, the enable password is blank.

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.

This command changes the password for the highest privilege level (15). If you configure local command authorization, you can set enable passwords for each privilege level from 0 to 15 using the following syntax:

command without a password to set the password to the default, which is blank.

Setting the Hostname

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.

Guidelines

token.

Detailed Steps

Command

Purpose

asa(config)# hostname farscape

farscape(config)#

Specifies the hostname for the ASA or for a context. The default hostname is “asa.”

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.

Setting the Domain Name

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.”

Guidelines

For multiple context mode, you can set the domain name for each context, as well as within the system execution space.

Detailed Steps

Command

Purpose

ciscoasa(config)# domain-name example.com

Specifies the domain name for the ASA.

The default domain name is default.domain.invalid.

Feature History for the Hostname, Domain Name, and Passwords

lists each feature change and the platform release in which it was implemented.

Table 15-1 Feature History for the Master Passphrase

Feature Name

Platform Releases

Feature Information

Removal of the default Telnet password

9.0(2)/9.1(2)

command).

Formerly, when you cleared the password, the ASA restored the default of “cisco.” Now when you clear the password, the password is removed.

command, until you set a login password.

.

Setting the Date and Time

Note Do not set the date and time for the ASASM; it receives these settings from the host switch.

This section includes the following topics:

- Setting the Time Zone and Daylight Saving Time Date Range

- Setting the Date and Time Using an NTP Server

- Setting the Date and Time Manually

Setting the Time Zone and Daylight Saving Time Date Range

To set the time zone and daylight saving time date range, perform the following steps:

Command

Purpose

Step 1

]

ciscoasa(config)# clock timezone PST -8

Sets 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.

for Pacific Standard Time.

hours.

value sets the number of minutes of offset from UTC.

Step 2

To change the date range for daylight saving time from the default, enter one of the following commands. 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.

]

ciscoasa(config)# clock summer-time PDT 1 April 2010 2:00 60

Sets 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.

for Pacific Daylight Time.

, for example, depending on your standard date format.

, depending on your standard date format.

. The year range is 1993 to 2035.

value sets the hour and minutes in 24-hour time.

value sets the number of minutes to change the time for daylight saving time. By default, the value is 60 minutes.

]

ciscoasa(config)# clock summer-time PDT recurring first Monday April 2:00 60

Specifies 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.

for Pacific Daylight Time.

.

, and so on.

value sets the month as a string.

value sets the hour and minutes in 24-hour time.

value sets the number of minutes to change the time for daylight savings time. By default, the value is 60 minutes.

Setting the Date and Time Using an NTP Server

:

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# ntp authenticate

Enables authentication with an NTP server.

Step 2

ciscoasa(config)# ntp trusted-key 1

Specifies an authentication key ID to be a trusted key, which is required for authentication with an NTP server.

argument is a value between 1 and 4294967295. You can enter multiple trusted keys for use with multiple servers.

Step 3

hostname(config)# ntp authentication-key 1 md5 aNiceKey

Sets a key to authenticate with an NTP server.

argument is a string up to 32 characters long.

Step 4

]

hostname(config)# ntp server 10.1.1.1 key 1 prefer

Identifies an NTP server.

command.

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.

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.

Note In multiple context mode, set the time in the system configuration only.

Setting the Date and Time Manually

To set the date and time manually, enter the following command:

Command

Purpose

hostname# clock set 20:54:00 april 1 2004

Sets the date time manually.

for 8:54 pm.

, for example, depending on your standard date format.

.

. The year range is from 1993 to 2035.

command, the time automatically adjusts to the new time zone.

command.

Configuring the Master Passphrase

This section includes the following topics:

- Information About the Master Passphrase

- Licensing Requirements for the Master Passphrase

- Guidelines and Limitations

- Adding or Changing the Master Passphrase

- Disabling the Master Passphrase

- Recovering the Master Passphrase

- Feature History for the Master Passphrase

Information About the Master Passphrase

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. Features that use the master passphrase include the following:

- OSPF

- EIGRP

- VPN load balancing

- VPN (remote access and site-to-site)

- Failover

- AAA servers

- Logging

- Shared licenses

Licensing Requirements for the Master Passphrase

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Failover Guidelines

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.

Adding or Changing the Master Passphrase

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:

Detailed Steps

Command

Purpose

Step 1

]]

ciscoasa(config)# key config-key password-encryption

Old key: bumblebee

New key: haverford

Confirm key: haverford

Sets 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.

see Examples for examples of the interactive prompts.

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 can use the no form of this command when downgrading to a software version that does not support password encryption.

Step 2

password encryption aes

ciscoasa(config)# password encryption aes

Enables password encryption. 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.

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.

Step 3

ciscoasa(config)# write memory

Saves the runtime value of the master passphrase and the resulting configuration. 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

The following example shows that no previous key was present:

hostname (config)# key config-key password-encryption 12345678

The following example shows that a key already exists:

Hostname (config)# key config-key password-encryption 23456789

Old key: 12345678

hostname (config)#

to access interactive mode.

hostname (config)# key config-key password-encryption

Old key: 12345678

New key: 23456789

Confirm key: 23456789

In the following example, you want to key in interactively, but no key is present. The New key and Confirm key prompts appear on your screen if you are in interactive mode.

hostname (config)# key config-key password-encryption

New key: 12345678

Confirm key: 12345678

Disabling the Master Passphrase

Disabling the master passphrase reverts encrypted passwords into plain text passwords. Removing the passphrase might be useful if you downgrade to a previous software version that does not support encrypted passwords.

You must know the current master passphrase to disable it. If you do not know the passphrase, see Recovering the Master Passphrase.

This procedure works only in a secure session; that is, by Telnet, SSH, or ASDM via HTTPS.

To disable the master passphrase, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

]]

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

Removes the master passphrase.

If you do not enter the passphrase in the command, you are prompted for it.

Step 2

ciscoasa(config)# write memory

Saves the runtime value of the master passphrase and the resulting configuration. 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 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.

Recovering the Master Passphrase

You cannot recover the master passphrase. If the master passphrase is lost or unknown, you can remove it.

To remove the master passphrase, perform the following steps:

Command

Purpose

Step 1

ciscoasa(config)# write erase

Removes the master key and the configuration that includes the encrypted passwords.

Step 2

ciscoasa(config)# reload

Reloads the ASA with the startup configuration, without any master key or encrypted passwords.

Feature History for the Master Passphrase

lists each feature change and the platform release in which it was implemented.

Table 15-2 Feature History for the Master Passphrase

Feature Name

Platform Releases

Feature Information

Master Passphrase

8.3(1)

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.

.

Password Encryption Visibility

8.4(1)

command.

Configuring the DNS Server

command, let you enter a name that you want to ping or traceroute, and the ASA can resolve the name by communicating with a DNS server. Many SSL VPN and certificate commands also support names.

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.

For information about dynamic DNS, see Configuring DDNS.

Prerequisites

Make sure that you configure the appropriate routing for any interface on which you enable DNS domain lookup so you can reach the DNS server. see Information About Routing for more information about routing.

To configure the DNS server, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

dns domain-lookup interface_name

hostname(config)# dns domain-lookup inside

Enables the ASA to send DNS requests to a DNS server to perform a name lookup for supported commands.

Step 2

dns server-group DefaultDNS

hostname(config)# dns server-group DefaultDNS

Specifies the DNS server group that the ASA uses for outgoing requests.

command in the command reference for more information.

Step 3

name-server ip_address [ip_address2] [...] [ip_address6]

hostname(config-dns-server-group)# name-server 10.1.1.5 192.168.1.67 209.165.201.6

Specifies one or more DNS servers. You can 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.

Performing Password Recovery for the ASA

This section includes the following topics:

- Recovering Passwords for the ASA

- Disabling Password Recovery

Recovering Passwords for the ASA

To recover passwords for the ASA, perform the following steps:

Step 1 Connect to the ASA console port according to the instructions in Accessing the ASA Services Module Console or the Accessing the Appliance Console.

Step 2 Power off the ASA, and then power it on.

key when you are prompted to enter ROMMON mode.

Step 4 To update the configuration register value, enter the following command:

rommon #1> confreg 0x41

Update Config Register (0x41) in NVRAM...

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.

to change the value.

The ASA prompts you for new values.

Step 8 Accept the default values for all settings, except for the "disable system configuration?" value.

.

Step 10 Reload the ASA by entering the following command:

rommon #2> boot

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 Access the privileged EXEC mode by entering the following command:

ciscoasa# enable

.

The password is blank.

Step 13 Load the startup configuration by entering the following command:

ciscoasa# copy startup-config running-config

Step 14 Access the global configuration mode by entering the following command:

ciscoasa# configure terminal

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 Load the default configuration by entering the following command:

ciscoasa(config)# no config-register

command reference.

Step 17 Save the new passwords to the startup configuration by entering the following command:

ciscoasa(config)# copy running-config startup-config

Disabling Password Recovery

To disable password recovery to ensure that unauthorized users cannot use the password recovery mechanism to compromise the ASA, enter the following command:

Command

Purpose

no service password-recovery

ciscoasa (config)# no service password-recovery

Disables 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.Yyou 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 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.

command replicates to the standby unit.

Performing Password Recovery for the ASAv

This section includes the following topics:

- Recovering Passwords or Images on the ASAv

- Disabling Password Recovery

Recovering Passwords or Images on the ASAv

To recover passwords or images on the ASAv, perform the following steps:

Command

Purpose

Step 1

copy running-config filename

ciscoasa# copy running-config backup.cfg

Copies the running configuration to a backup file on the ASAv.

Step 2

reload

ciscoasa# reload

Restarts the ASAv.

Step 3

GNU GRUB version 2.0(12)4

bootflash:/asa100123-20-smp-k8.bin

bootflash: /asa100123-20-smp-k8.bin with no configuration load

GNU GRUB version 2.0(12)4

command.

Boots the selected boot image.

Step 4

copy filename running-config

ciscoasa (config)# copy backup.cfg running-config

Copies the backup configuration file to the running configuration.

Step 5

enable password

ciscoasa (config)# enable password cisco123

Resets the password.

Step 6

write mem

ciscoasa (config)# write mem

Saves the new configuration.

Disabling Password Recovery

You cannot disable password recovery on the ASAv.

Monitoring DNS Cache

The ASA provides a local cache of DNS information from external DNS queries that are sent for certain clientless SSL VPN and certificate commands. Each DNS translation request is first looked for in the local cache. If the local cache has the information, the resulting IP address is returned. If the local cache can not resolve the request, a DNS query is sent to the various DNS servers that have been configured. If an external DNS server resolves the request, the resulting IP address is stored in the local cache with its corresponding hostname.

To monitor the DNS cache, enter the following command:

Command

Purpose

Show 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.

Choosing a Rule Engine Transactional Commit Model

By default, when you change a rule-based policy (such as access rules), the changes become effective immediately. However, this immediacy comes at a slight cost in performance. The performance cost is more noticeable for very large rule lists in a high connections-per-second environment, for example, when you change a policy with 25,000 rules while the ASA is handling 18,000 connections per second.

The performance is affected because the rule engine compiles rules to enable faster rule lookup. By default, the system will also search uncompiled rules when evaluating a connection attempt so that new rules can be applied; since the rules are not compiled, the search takes longer.

You can change this behavior so that the rule engine uses a transactional model when implementing rule changes, continuing to use the old rules until the new rules are compiled and ready for use. Using the transactional model, performance should not drop during the rule compilation. The following table clarifies the behavioral difference.

Model

Before Compilation

During Compilation

After Compilation

Default

Match old rules.

Match new rules.

(Connections per second rate will decrease.)

Match new rules.

Transactional

Match old rules.

Match old rules.

(Connections per second rate will be unaffected.)

Match new rules.

An additional benefit of the transactional model is that, when replacing an ACL on an interface, there is no gap between deleting the old ACL and applying the new one. This reduces the chances that acceptable connections will be dropped during the operation.

Tip If you enable the transactional model for a rule type, there are syslog messages to mark the beginning and the end of the compilation. These messages are numbered 780001 and following.

Detailed Steps

Command

Purpose

ciscoasa(config)# asp rule-engine

transactional-commit access-group

Enables the transactional commit model for the rule engine for the selected policies. Options include:

- access-group —Access rules applied globally or to interfaces.

Objects

This chapter describes how to configure reusable named objects and groups for use in your configuration, and it includes the following sections:

- Information About Objects

- Licensing Requirements for Objects

- Configuring Objects

- Monitoring Objects

- Feature History for Objects

Information About Objects

Objects are reusable components for use in your configuration. They can be defined and used in ASA configurations in the place of inline IP addresses, services, names, and so on. Objects make it easy to maintain your configurations because you can modify an object in one place and have it be reflected in all other places that are referencing it. Without objects you would have to modify the parameters for every feature when required, instead of just once. For example, if a network object defines an IP address and subnet mask, and you want to change the address, you only need to change it in the object definition, not in every feature that refers to that IP address.

Licensing Requirements for Objects

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

- Supports IPv6.

- The ASA does not support IPv6 nested network object groups, so you cannot group an object with IPv6 entries under another IPv6 object group.

- You can mix IPv4 and IPv6 entries in a network object group; you cannot use a mixed object group for NAT.

Additional Guidelines and Limitations

- Object must have unique names. While you might want to create a network object group named “Engineering” and a service object group named “Engineering,” you need to add an identifier (or “tag”) to the end of at least one object group name to make it unique. For example, you can use the names “Engineering_admins” and “Engineering_hosts” to make the object group names unique and to aid in identification.

- Objects and object groups share the same name space.

- You cannot remove an object or make an object empty if it is used in a command.

Configuring Objects

- Configuring Network Objects and Groups

- Configuring Service Objects and Service Groups

- Configuring Local User Groups

- Configuring Security Group Object Groups

- Configuring Regular Expressions

- Configuring Time Ranges

Configuring Network Objects and Groups

This section describes how to configure network objects and groups, and it includes the following topics:

- Configuring a Network Object

- Configuring a Network Object Group

Configuring a Network Object

A network object can contain a host, a network IP address, or a range of IP addresses, a fully qualified domain name (FQDN). You can also enable NAT rules on the object (excepting FQDN objects). (See the firewall configuration guide for more information.)

Detailed Steps

Command

Purpose

Step 1

object network obj_name

ciscoasa(config)# object-network OBJECT1

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to network object configuration mode.

Step 2

}

ciscoasa(config-network-object)# host 10.2.2.2

Assigns the IP address or FQDN to the named object.

Note You cannot configure NAT for an FQDN object.

Step 3

description text

ciscoasa(config-network-object)# description Engineering Network

Adds a description to the object.

Examples

To create a network object, enter the following commands:

hostname (config)# object network OBJECT1

hostname (config-network-object)# host 10.2.2.2

Configuring a Network Object Group

Network object groups can contain multiple network objects as well as inline networks. Network object groups can support a mix of both IPv4 and IPv6 addresses.

Restrictions

You cannot use a mixed IPv4 and IPv6 object group for NAT, or object groups that include FQDN objects.

Detailed Steps

Command

Purpose

Step 1

object-group network grp_id

ciscoasa(config)# object-group network admins

Adds a network group.

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to protocol configuration mode.

Step 2

description text

ciscoasa(config-network)# Administrator Addresses

(Optional) Adds a description. The description can be up to 200 characters.

Step 3

Add one or more of the following group members:

network-object object name

ciscoasa(config-network)# network-object host 10.2.2.4

Adds an object to the network object group.

network-object { host ipv4_address | ipv4_address mask | ipv6-address / prefix-length }

ciscoasa(config-network)# network-object host 10.2.2.4

Adds a host or network inline, either IPv4 or IPv6.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Example

To create a network group that includes the IP addresses of three administrators, enter the following commands:

hostname (config)# object-group network admins

hostname (config-protocol)# description Administrator Addresses

hostname (config-protocol)# network-object host 10.2.2.4

hostname (config-protocol)# network-object host 10.2.2.78

hostname (config-protocol)# network-object host 10.2.2.34

Create network object groups for privileged users from various departments by entering the following commands:

hostname (config)# object-group network eng

hostname (config-network)# network-object host 10.1.1.5

hostname (config-network)# network-object host 10.1.1.9

hostname (config-network)# network-object host 10.1.1.89

hostname (config)# object-group network hr

hostname (config-network)# network-object host 10.1.2.8

hostname (config-network)# network-object host 10.1.2.12

hostname (config)# object-group network finance

hostname (config-network)# network-object host 10.1.4.89

hostname (config-network)# network-object host 10.1.4.100

You then nest all three groups together as follows:

hostname (config)# object-group network admin

hostname (config-network)# group-object eng

hostname (config-network)# group-object hr

hostname (config-network)# group-object finance

Configuring Service Objects and Service Groups

Service objects and groups identify protocols and ports. This section describes how to configure service objects, service groups, TCP and UDP port service groups, protocol groups, and ICMP groups, and it includes the following topics:

- Configuring a Service Object

- Configuring a Service Group

- Configuring a TCP or UDP Port Service Group

- Configuring an ICMP Group

- Configuring an ICMP Group

Configuring a Service Object

The service object can contain a protocol, ICMP, ICMPv6, TCP or UDP port or port ranges.

Detailed Steps

Command

Purpose

Step 1

object service obj_name

ciscoasa(config)# object-service SERVOBJECT1

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to service object configuration mode.

Step 2

service { protocol | { icmp | icmp6 } [ icmp-type [ icmp_code ]] | { tcp | udp } [ source operator port ] [ destination operator port ]}

ciscoasa(config-service-object)# service tcp destination eq www

Adds a service definition to the object.

protocols, you can specify additional properties; for other protocols, there are no additional properties.

(for ICMP version 6), you can optionally include the ICMP type, such as “echo” or the type number. If you specify a type, you can optionally include an ICMP code, between 1 and 255.

For TCP and UDP, you can optionally specify the source and/or destination ports, between 0 and 65535. For a list of supported names, see the CLI help. The operator can be:

- eq—Equals the port number.

- gt—Greater than the port number.

- lt—Less than the port number.

- neq—Not equal to the port number.

- range—A range of ports. Specify two numbers separated by a space, such as range 1024 4500.

Example

To create a service object, enter the following commands:

hostname (config)# object service SERVOBJECT1

hostname (config-service-object)# service tcp destination eq ssh

Configuring a Service Group

A service object group includes a mix of protocols, if desired, including optional source and destination ports for TCP or UDP.

Detailed Steps

Command

Purpose

Step 1

object-group service grp_id

ciscoasa(config)# object-group service services1

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to service configuration mode.

Step 2

Add one or more of the following group members:

service-object protocol

ciscoasa(config-service-object-group)#

service-object ipsec

Identifies the protocol name or number, between 0 and 255.

service-object { tcp | udp | tcp-udp } [ source operator number ] [ destination operator number ]

ciscoasa(config-service-object-group)#

service-object tcp destination eq domain

You can specify the source and/or destination ports, between 0 and 65535, for the TCP and UDP protocols; tcp-udp matches both protocols. For a list of supported names, see the CLI help. The operator can be:

- eq—Equals the port number.

- gt—Greater than the port number.

- lt—Less than the port number.

- neq—Not equal to the port number.

- range—A range of ports. Specify two numbers separated by a space, such as range 1024 4500.

service-object { icmp | icmp6 } [ icmp_type [ icmp_code ]]

ciscoasa(config-service-object-group)# service-object icmp echo

Specifies that the service type is for ICMP or ICMPv6 connections. You can optionally specify the ICMP type by name or number, between 0 and 255.

specifies an ICMP code, between 1 and 255.

service-object object name

ciscoasa(config-service-object-group)# service-object object my-service

command.

group-object group_id

ciscoasa(config-service-object-group)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-service-object-group)# description DNS Group

(Optional) Adds a description. The description can be up to 200 characters.

Examples

The following example shows how to add both TCP and UDP services to a service object group:

hostname(config)# object-group service CommonApps

hostname(config-service-object-group)# service-object tcp destination eq ftp

hostname(config-service-object-group)# service-object tcp-udp destination eq www

hostname(config-service-object-group)# service-object tcp destination eq h323

hostname(config-service-object-group)# service-object tcp destination eq https

hostname(config-service-object-group)# service-object udp destination eq ntp

The following example shows how to add multiple service objects to a service object group:

hostname(config)# service object SSH

hostname(config-service-object)# service tcp destination eq ssh

hostname(config)# service object EIGRP

hostname(config-service-object)# service eigrp

hostname(config)# service object HTTPS

hostname(config-service-object)# service tcp source range 0 1024 destination eq https

hostname(config)# object-group service Group1

hostname(config-service-object-group)# service-object object SSH

hostname(config-service-object-group)# service-object object EIGRP

hostname(config-service-object-group)# service-object object HTTPS

Configuring a TCP or UDP Port Service Group

A TCP or UDP service group includes a group of ports for a specific protocol (TCP, UDP, or TCP-UDP).

Command

Purpose

Step 1

object-group service grp_id { tcp | udp | tcp-udp }

ciscoasa(config)# object-group service services1 tcp-udp

Adds a service group.

keyword adds an additional object to the service object group.

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

keyword if your service uses both TCP and UDP with the same port number, for example, DNS (port53).

The prompt changes to service configuration mode.

Step 2

Add one or more of the following group members:

port-object { eq port | range begin_port end_port }

ciscoasa(config-service)# port-object eq domain

Defines the ports in the group. Enter the command for each port or range of ports. For a list of permitted keywords and well-known port assignments, see Protocols and Applications.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-service)# description DNS Group

(Optional) Adds a description. The description can be up to 200 characters.

Example

To create service groups that include DNS (TCP/UDP), LDAP (TCP), and RADIUS (UDP), enter the following commands:

hostname (config)# object-group service services1 tcp-udp

hostname (config-service)# description DNS Group

hostname (config-service)# port-object eq domain

hostname (config)# object-group service services2 udp

hostname (config-service)# description RADIUS Group

hostname (config-service)# port-object eq radius

hostname (config-service)# port-object eq radius-acct

hostname (config)# object-group service services3 tcp

hostname (config-service)# description LDAP Group

hostname (config-service)# port-object eq ldap

Configuring an ICMP Group

An ICMP group includes multiple ICMP types.

Detailed Steps

Command

Purpose

Step 1

object-group icmp-type grp_id

ciscoasa(config)# object-group icmp-type ping

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to ICMP type configuration mode.

Step 2

Add one or more of the following group members:

icmp-object icmp-type

ciscoasa(config-icmp-type)# icmp-object echo-reply

Defines the ICMP types in the group. Enter the command for each type. For a list of ICMP types, seeICMP Types.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-icmp-type)# description Ping Group

(Optional) Adds a description. The description can be up to 200 characters.

Example

Create an ICMP type group that includes echo-reply and echo (for controlling ping) by entering the following commands:

hostname (config)# object-group icmp-type ping

hostname (config-service)# description Ping Group

hostname (config-service)# icmp-object echo

hostname (config-service)# icmp-object echo-reply

Configuring a Protocol Group

A protocol group contains IP protocol types.

Detailed Steps

Command

Purpose

Step 1

object-group protocol obj _ grp_id

ciscoasa(config)# object-group protocol tcp_udp_icmp

is a text string up to 64 characters in length and can be any combination of letters, digits, and the following characters:

- underscore “_”

- dash “-”

- period “.”

The prompt changes to protocol configuration mode.

Step 2

Add one or more of the following group members:

protocol-object protocol

ciscoasa(config-protocol)# protocol-object tcp

. For a list of protocols that you can specify, see Protocols and Applications.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-protocol)# description New Group

(Optional) Adds a description. The description can be up to 200 characters.

Example

To create a protocol group for TCP, UDP, and ICMP, enter the following commands:

hostname (config)# object-group protocol tcp_udp_icmp

hostname (config-protocol)# protocol-object tcp

hostname (config-protocol)# protocol-object udp

hostname (config-protocol)# protocol-object icmp

Configuring Local User Groups

You can create local user groups for use in features that support the identity firewall (IDFW) by including the group in an extended ACL, which in turn can be used in an access rule, for example.

The ASA sends an LDAP query to the Active Directory server for user groups globally defined in the Active Directory domain controller. The ASA imports these groups for identity-based rules. However, the ASA might have localized network resources that are not defined globally that require local user groups with localized security policies. Local user groups can contain nested groups and user groups that are imported from Active Directory. The ASA consolidates local and Active Directory groups.

A user can belong to local user groups and user groups imported from Active Directory.

Prerequisites

See “Identity Firewall,” to enable IDFW.

Detailed Steps

Command

Purpose

Step 1

object-group user users1

Defines object groups that you can use to control access with the Identity Firewall.

Step 2

Add one or more of the following group members:

user SAMPLE\users1

Specifies the user to add to the access rule.

contains a space, you must enclose the domain name and user name in quotation marks.

can be part of the LOCAL domain or a user imported by the ASA from Active Directory domain.

must be the Active Directory sAMAccountName, which is unique, instead of the common name (cn), which might not be unique.

command.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-protocol)# description New Group

(Optional) Adds a description. The description can be up to 200 characters.

Configuring Security Group Object Groups

You can create security group object groups for use in features that support Cisco TrustSec by including the group in an extended ACL, which in turn can be used in an access rule, for example.

When integrated with Cisco TrustSec, the ASA downloads security group information from the ISE. The ISE acts as an identity repository, by providing Cisco TrustSec tag to user identity mapping and Cisco TrustSec tag to server resource mapping. You provision and manage security group ACLs centrally on the ISE.

However, the ASA might have localized network resources that are not defined globally that require local security groups with localized security policies. Local security groups can contain nested security groups that are downloaded from the ISE. The ASA consolidates local and central security groups.

To create local security groups on the ASA, you create a local security object group. A local security object group can contain one or more nested security object groups or Security IDs or security group names. User can also create a new Security ID or security group name that does not exist on the ASA.

You can use the security object groups you create on the ASA to control access to network resources. You can use the security object group as part of an access group or service policy.

Prerequisites

See “ASA and Cisco TrustSec,” to enable TrustSec.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# object-group security mktg-sg

Creates a security group object.

is the name for the group entered as a 32-byte case sensitive string.

can contain any character including [a-z], [A-Z], [0-9], [!@#$%^&()-_{}. ].

Step 2

Add one or more of the following group members:

}

ciscoasa(config)# security-group name mktg

Specifies the type of security group object as either an inline tag or a named object.

- tag sgt# —Enter a number from 1 to 65533 for a Tag security type.

- name sg_name —Enter a 32-byte case-sensitive string for a Name security type. The sg_name can contain any character including [a-z], [A-Z], [0-9], [!@#$%^&()-_{}. ].

An SGT is assigned to a device through IEEE 802.1X authentication, web authentication, or MAC authentication bypass (MAB) by the ISE. Security group names are created on the ISE and provide user-friendly names for security groups. The security group table maps SGTs to security group names.

group-object group_id

ciscoasa(config-network)# group-object Engineering_groups

Adds an existing object group under this object group. The nested group must be of the same type.

Step 3

description text

ciscoasa(config-protocol)# description New Group

(Optional) Adds a description. The description can be up to 200 characters.

Examples

The following example shows how to configure a security group object:

ciscoasa(config)# object-group security mktg-sg

ciscoasa(config)# security-group name mktg

ciscoasa(config)# security-group tag 1

The following example shows how to configure a security group object:

ciscoasa(config)# object-group security mktg-sg-all

ciscoasa(config)# security-group name mktg-managers

ciscoasa(config)# group-object mktg-sg // nested object-group

Configuring Regular Expressions

- Creating a Regular Expression

- Creating a Regular Expression Class Map

Creating a Regular Expression

so that you can match multiple variants of a text string. You can use a regular expression to match the content of certain application traffic; for example, you can match a URL string inside an HTTP packet.

Guidelines

in the configuration.

command in the command reference for performance impact information when matching a regular expression to packets.

Note As an optimization, the ASA searches on the deobfuscated URL. Deobfuscation compresses multiple forward slashes (/) into a single slash. For strings that commonly use double slashes, like “http://”, be sure to search for “http:/” instead.

lists the metacharacters that have special meanings.

Table 19-1 regex Metacharacters

Character

Description

Notes

Dot

matches dog, dag, dtg, and any word that contains those characters, such as doggonnit.

Subexpression

matches abxyxyxyz.

Alternation

matches dog or cat.

?

Question mark

matches lse or lose.
and then the question mark or else the help function is invoked.

Asterisk

matches lse, lose, loose, and so on.

Plus

matches lose and loose, but not lse.

Minimum repeat quantifier

matches abxyxyz, abxyxyxyz, and so on.

Character class

matches a, b, or c.

Negated character class

matches any single character that is not an uppercase letter.

Character range class

.

.

Quotation marks

preserves the leading space when it looks for a match.

Caret

Specifies the beginning of a line.

Escape character

matches the left square bracket.

Character

When character is not a metacharacter, matches the literal character.

Carriage return

Matches a carriage return 0x0d.

Newline

Matches a new line 0x0a.

Tab

Matches a tab 0x09.

Formfeed

Matches a form feed 0x0c.

Escaped hexadecimal number

Matches an ASCII character using hexadecimal (exactly two digits).

Escaped octal number

Matches an ASCII character as octal (exactly three digits). For example, the character 040 represents a space.

Detailed Steps

Step 1 To test a regular expression to make sure it matches what you think it will match, enter the following command:

ciscoasa(config)# test regex input_text regular_expression

argument is a string you want to match using the regular expression, up to 201 characters in length.

argument can be up to 100 characters in length.

.

If the regular expression matches the input text, you see the following message:

INFO: Regular expression match succeeded.

If the regular expression does not match the input text, you see the following message:

INFO: Regular expression match failed.

Step 2 To add a regular expression after you tested it, enter the following command:

ciscoasa(config)# regex name regular_expression

argument can be up to 40 characters in length.

argument can be up to 100 characters in length.

Examples

The following example creates two regular expressions for use in an inspection policy map:

ciscoasa(config)# regex url_example example\.com

ciscoasa(config)# regex url_example2 example2\.com

Creating a Regular Expression Class Map

A regular expression class map identifies one or more regular expressions. You can use a regular expression class map to match the content of certain traffic; for example, you can match URL strings inside HTTP packets.

Prerequisites

Create one or more regular expressions according to the Creating a Regular Expression.

Detailed Steps

Step 1 Create a class map by entering the following command:

ciscoasa(config)# class-map type regex match-any class_map_name

ciscoasa(config-cmap)#

is a string up to 40 characters in length. The name “class-default” is reserved. All types of class maps use the same name space, so you cannot reuse a name already used by another type of class map.

keyword specifies that the traffic matches the class map if it matches at least one of the regular expressions.

The CLI enters class-map configuration mode.

Step 2 (Optional) Add a description to the class map by entering the following command:

ciscoasa(config-cmap)# description string

Step 3 Identify the regular expressions you want to include by entering the following command for each regular expression:

ciscoasa(config-cmap)# match regex regex_name

Examples

The following example creates two regular expressions, and adds them to a regular expression class map. Traffic matches the class map if it includes the string “example.com” or “example2.com.”

ciscoasa(config)# regex url_example example\.com

ciscoasa(config)# regex url_example2 example2\.com

ciscoasa(config)# class-map type regex match-any URLs

ciscoasa(config-cmap)# match regex url_example

ciscoasa(config-cmap)# match regex url_example2

Configuring Time Ranges

Create a reusable component that defines starting and ending times that can be applied to various security features. Once you have defined a time range, you can select the time range and apply it to different options that require scheduling.

The time range feature lets you define a time range that you can attach to traffic rules, or an action. For example, you can attach an ACL to a time range to restrict access to the ASA.

A time range consists of a start time, an end time, and optional recurring entries.

Guidelines

- Multiple periodic entries are allowed per time range. If a time range has both absolute and periodic values specified, then the periodic values are evaluated only after the absolute start time is reached, and they are not further evaluated after the absolute end time is reached.

- Creating a time range does not restrict access to the device. This procedure defines the time range only.

Detailed Steps

Command

Purpose

Step 1

time-range name

ciscoasa(config)# time range Sales

Identifies the time-range name.

Step 2

Do one of the following:

periodic days-of-the-week time to [ days-of-the-week ] time

Example :

ciscoasa(config-time-range)# periodic monday 7:59 to friday 17:01

Specifies a recurring time range.

:

- monday , tuesday , wednesday , thursday , friday , saturday , or sunday .

- daily

- weekdays

- weekend

. For example, 8:00 is 8:00 a.m. and 20:00 is 8:00 p.m.

absolute start time date [ end time date ]

ciscoasa(config-time-range)# absolute start 7:59 2 january 2009

Specifies an absolute time range.

. For example, 8:00 is 8:00 a.m. and 20:00 is 8:00 p.m.

.

Examples

The following is an example of an absolute time range beginning at 8:00 a.m. on January 1, 2006. Because no end time and date are specified, the time range is in effect indefinitely.

ciscoasa(config)# time-range for2006

ciscoasa(config-time-range)# absolute start 8:00 1 january 2006

The following is an example of a weekly periodic time range from 8:00 a.m. to 6:00 p.m on weekdays:

ciscoasa(config)# time-range workinghours

ciscoasa(config-time-range)# periodic weekdays 8:00 to 18:00

Monitoring Objects

To monitor objects and groups, enter the following commands:

Command

Purpose

show access-list

Displays the access list entries that are expanded out into individual entries without their object groupings.

show running-config object-group

Displays all current object groups.

show running-config object-group grp_id

Displays the current object groups by their group ID.

show running-config object-group grp_type

Displays the current object groups by their group type.

Feature History for Objects

lists each feature change and the platform release in which it was implemented.

Table 19-2 Feature History for Object Groups

Feature Name

Platform

Releases

Feature Information

Object groups

7.0(1)

Object groups simplify ACL creation and maintenance.

.

Regular expressions and policy maps

7.2(1)

.

Objects

8.3(1)

Object support was introduced.

.

User Object Groups for Identity Firewall

8.4(2)

User object groups for identity firewall were introduced.

.

Mixed IPv4 and IPv6 network object groups

9.0(1)

Previously, network object groups could only contain all IPv4 addresses or all IPv6 addresses. Now network object groups can support a mix of both IPv4 and IPv6 addresses.

Note You cannot use a mixed object group for NAT.
.

Security Group Object Groups for Cisco TrustSec

8.4(2)

Security group object groups for TrustSec were introduced.

.

Extended ACL and object enhancement to filter ICMP traffic by ICMP code

9.0(1)

ICMP traffic can now be permitted/denied based on ICMP code.

.

Routing Overview

This chapter describes underlying concepts of how routing behaves within the ASA, and the routing protocols that are supported.

This chapter includes the following sections:

- Information About Routing

- How Routing Behaves Within the ASA

- Supported Internet Protocols for Routing

- Information About the Routing Table

- Disabling Proxy ARP Requests

Information About Routing

Routing is the act of moving information across an internetwork from a source to a destination. Along the way, at least one intermediate node typically is encountered. Routing involves two basic activities: determining optimal routing paths and transporting information groups (typically called packets) through an internetwork. In the context of the routing process, the latter of these is referred to as packet switching. Although packet switching is relatively straightforward, path determination can be very complex.

This section includes the following topics:

- Switching

- Path Determination

- Supported Route Types

Switching

Switching algorithms is relatively simple; it is the same for most routing protocols. In most cases, a host determines that it must send a packet to another host. Having acquired a router address by some means, the source host sends a packet addressed specifically to a router physical (Media Access Control [MAC]-layer) address, this time with the protocol (network layer) address of the destination host.

As it examines the packet destination protocol address, the router determines that it either knows or does not know how to forward the packet to the next hop. If the router does not know how to forward the packet, it typically drops the packet. If the router knows how to forward the packet, however, it changes the destination physical address to that of the next hop and transmits the packet.

The next hop may be the ultimate destination host. If not, the next hop is usually another router, which executes the same switching decision process. As the packet moves through the internetwork, its physical address changes, but its protocol address remains constant.

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

Supported Route Types

There are several route types that a router can use. The ASA uses the following route types:

- Static Versus Dynamic

- Single-Path Versus Multipath

- Flat Versus Hierarchical

- Link-State Versus Distance Vector

Static Versus Dynamic

Static routing algorithms are hardly algorithms at all, but are table mappings established by the network administrator before the beginning of routing. These mappings do not change unless the network administrator alters them. Algorithms that use static routes are simple to design and work well in environments where network traffic is relatively predictable and where network design is relatively simple.

Because static routing systems cannot react to network changes, they generally are considered unsuitable for large, constantly changing networks. Most of the dominant routing algorithms are dynamic routing algorithms, which adjust to changing network circumstances by analyzing incoming routing update messages. If the message indicates that a network change has occurred, the routing software recalculates routes and sends out new routing update messages. These messages permeate the network, stimulating routers to rerun their algorithms and change their routing tables accordingly.

Dynamic routing algorithms can be supplemented with static routes where appropriate. A router of last resort (a router to which all unroutable packets are sent), for example, can be designated to act as a repository for all unroutable packets, ensuring that all messages are at least handled in some way.

Single-Path Versus Multipath

Some sophisticated routing protocols support multiple paths to the same destination. Unlike single-path algorithms, these multipath algorithms permit traffic multiplexing over multiple lines. The advantages of multipath algorithms are substantially better throughput and reliability, which is generally called load sharing.

Flat Versus Hierarchical

Some routing algorithms operate in a flat space, while others use routing hierarchies. In a flat routing system, the routers are peers of all others. In a hierarchical routing system, some routers form what amounts to a routing backbone. Packets from nonbackbone routers travel to the backbone routers, where they are sent through the backbone until they reach the general area of the destination. At this point, they travel from the last backbone router through one or more nonbackbone routers to the final destination.

Routing systems often designate logical groups of nodes, called domains, autonomous systems, or areas. In hierarchical systems, some routers in a domain can communicate with routers in other domains, while others can communicate only with routers within their domain. In very large networks, additional hierarchical levels may exist, with routers at the highest hierarchical level forming the routing backbone.

The primary advantage of hierarchical routing is that it mimics the organization of most companies and therefore supports their traffic patterns well. Most network communication occurs within small company groups (domains). Because intradomain routers need to know only about other routers within their domain, their routing algorithms can be simplified, and, depending on the routing algorithm being used, routing update traffic can be reduced accordingly.

Link-State Versus Distance Vector

Link-state algorithms (also known as shortest path first algorithms) flood routing information to all nodes in the internetwork. Each router, however, sends only the portion of the routing table that describes the state of its own links. In link-state algorithms, each router builds a picture of the entire network in its routing tables. Distance vector algorithms (also known as Bellman-Ford algorithms) call for each router to send all or some portion of its routing table, but only to its neighbors. In essence, link-state algorithms send small updates everywhere, while distance vector algorithms send larger updates only to neighboring routers. Distance vector algorithms know only about their neighbors. Typically, link-state algorithms are used in conjunction with OSPF routing protocols.

How Routing Behaves Within the ASA

The ASA uses both routing table and XLATE tables for routing decisions. To handle destination IP translated traffic, that is, untranslated traffic, the ASA searches for existing XLATE, or static translation to select the egress interface.

This section includes the following topics:

- Egress Interface Selection Process

- Next Hop Selection Process

Egress Interface Selection Process

The selection process follows these steps:

1. 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.

Next Hop Selection Process

After selecting the egress interface using any method described previously, an additional route lookup is performed to find out suitable next hop(s) that belong to a previously selected egress interface. If there are no routes in the routing table that explicitly belong to a selected interface, the packet is dropped with a level 6 syslog message 110001 generated (no route to host), even if there is another route for a given destination network that belongs to a different egress interface. If the route that belongs to a selected egress interface is found, the packet is forwarded to the corresponding next hop.

Load sharing on the ASA is possible only for multiple next hops available using a single egress interface. Load sharing cannot share multiple egress interfaces.

If dynamic routing is in use on the ASA and the route table changes after XLATE creation (for example, route flap), then destination translated traffic is still forwarded using the old XLATE, not via the route table, until XLATE times out. It may be either forwarded to the wrong interface or dropped with a level 6 syslog message 110001 generated (no route to host), if the old route was removed from the old interface and attached to another one by the routing process.

The same problem may happen when there are no route flaps on the ASA itself, but some routing process is flapping around it, sending source-translated packets that belong to the same flow through the ASA using different interfaces. Destination-translated return packets may be forwarded back using the wrong egress interface.

command, or automatically resolved by an XLATE timeout. The XLATE timeout may be decreased if necessary. To ensure that this issue rarely occurs, make sure that there are no route flaps on the ASA and around it. That is, ensure that destination-translated packets that belong to the same flow are always forwarded the same way through the ASA.

Supported Internet Protocols for Routing

The ASA supports several Internet protocols for routing. Each protocol is briefly described in this section.

- Enhanced Interior Gateway Routing Protocol (EIGRP)

EIGRP is a Cisco proprietary protocol that provides compatibility and seamless interoperation with IGRP routers. An automatic-redistribution mechanism allows IGRP routes to be imported into Enhanced IGRP, and vice versa, so it is possible to add Enhanced IGRP gradually into an existing IGRP network.

For more information about configuring EIGRP, see Configuring EIGRP.

- Open Shortest Path First (OSPF)

OSPF is a routing protocol developed for Internet Protocol (IP) networks by the interior gateway protocol (IGP) working group of the Internet Engineering Task Force (IETF). OSPF uses a link-state algorithm to build and calculate the shortest path to all known destinations. Each router in an OSPF area includes an identical link-state database, which is a list of each of the router usable interfaces and reachable neighbors.

For more information about configuring OSPF, see Configuring OSPFv2.

- Routing Information Protocol (RIP)

RIP is a distance-vector protocol that uses hop count as its metric. RIP is widely used for routing traffic in the global Internet and is an interior gateway protocol (IGP), which means that it performs routing within a single autonomous system.

For more information about configuring RIP, see the legacy feature guide.

- Border Gateway Protocol (BGP)

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 Configuring BGP

Information About the Routing Table

This section includes the following topics:

- Displaying the Routing Table

- How the Routing Table Is Populated

- How Forwarding Decisions Are Made

- Dynamic Routing and Failover

- Dynamic Routing and Clustering

- Dynamic Routing in Multiple Context Mode

Displaying the Routing Table

To view the entries in the routing table, enter the following command:

ciscoasa# show route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 10.86.194.1 to network 0.0.0.0

S 10.1.1.0 255.255.255.0 [3/0] via 10.86.194.1, outside

C 10.86.194.0 255.255.254.0 is directly connected, outside

S* 0.0.0.0 0.0.0.0 [1/0] via 10.86.194.1, outside

On the ASA 5505, the following route is also shown. It is the internal loopback interface, which is used by the VPN hardware client feature for individual user authentication.

C 127.1.0.0 255.255.0.0 is directly connected, _internal_loopback

How the Routing Table Is Populated

The ASA routing table can be populated by statically defined routes, directly connected routes, and routes discovered by the RIP, EIGRP, OSPF and BGP routing protocols. Because the ASA can run multiple routing protocols in addition to having static and connected routes in the routing table, it is possible that the same route is discovered or entered in more than one manner. When two routes to the same destination are put into the routing table, the one that remains in the routing table is determined as follows:

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

Administrative Distances for Routes

administrative distance is entered into the routing table. In the case of EIGRP and OSPF routes, if the EIGRP route and the OSPF route have the same administrative distance, then the EIGRP route is chosen by default.

Administrative distance is a route parameter that the ASA uses to select the best path when there are two or more different routes to the same destination from two different routing protocols. Because the routing protocols have metrics based on algorithms that are different from the other protocols, it is not always possible to determine the best path for two routes to the same destination that were generated by different routing protocols.

shows the default administrative distance values for the routing protocols supported by the ASA.

Table 26-1 Default Administrative Distance for Supported Routing Protocols

Route Source

Default Administrative Distance

Connected interface

0

Static route

1

EIGRP Summary Route

5

External BGP

20

Internal EIGRP

90

OSPF

110

RIP

120

EIGRP external route

170

Internal BGP

200

Unknown*

255

* If the administrative distance is 255, the router does not believe the source of that route and does not install the route in the routing table. This route is treated as a blackhole route.

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.

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.

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.

How Forwarding Decisions Are Made

Forwarding decisions are made as follows:

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

Dynamic Routing and Failover

Because static routing systems cannot react to network changes, they generally are considered unsuitable for large, constantly changing networks. Most of the dominant routing algorithms are dynamic routing algorithms, which adjust to changing network circumstances by analyzing incoming routing update messages. If the message indicates that a network change has occurred, the routing software recalculates routes and sends out new routing update messages. These messages permeate the network, stimulating routers to rerun their algorithms and change their routing tables accordingly.

Dynamic routing algorithms can be supplemented with static routes where appropriate. A router of last resort (a router to which all unroutable packets are sent), for example, can be designated to act as a repository for all unroutable packets, ensuring that all messages are at least handled in some way.

Dynamic routes are synchronized on the standby unit when the routing table changes on the active unit, which means that all additions, deletions, or changes on the active unit are immediately propagated to the standby unit. If the standby unit becomes active after the primary unit has been active for a period of time, routes become synchronized as a part of the failover bulk synchronization process, so the routing table on the active/standby failover pair should appear the same.

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.

For more information about static routes and how to configure them, see Configuring Static and Default Routes.

Dynamic Routing and Clustering

Dynamic routing is fully integrated in a cluster, and routes are shared across units (up to eight units are allowed in a cluster). Routing table entries are also replicated across units in a cluster.

When one unit transitions from the slave to the master, the epoch number (32-bit sequence number) for the RIB table is incremented. After the transition, the new master unit initially has RIB table entries that are the mirror image of the previous master unit. In addition, the reconvergence timer starts on the new master unit. When the epoch number for the RIB table is incremented, all existing entries are considered stale. Forwarding of IP packets continues as normal. On the new master unit, dynamic routing protocols start to either update existing route entries or create new route entries with the new epoch number. These modified or new entries with the current epoch number indicate that they have been refreshed and are synchronized to all slave units. After the reconvergence timer has expired, old entries from the RIB table are removed. RIB table entries for OSPF routes, RIP routes, and EIGRP routes are synchronized to the slave units.

Bulk synchronization occurs only when a unit joins a cluster and is from the master unit to a joining unit.

For dynamic routing updates, when the master unit learns a new route through OSPF, RIP or EIGRP, the master unit sends those updates to all slave units through reliable message transmission. Slave units update their RIB tables after they receive a cluster route update message.

For the supported dynamic routing protocols (OSPF, RIP, and EIGRP), routing packets from layer 2 load balancing interfaces on the slave units are forwarded to the master unit. Only the master unit sees and processes dynamic routing protocol packets. When the slave unit requests a bulk synchronization, all routing entries learned through layer 2 load balancing interfaces are replicated.

When new routing entries are learned through layer 2 load balancing interfaces on the master unit, the new entries are broadcast to all slave units. When existing routing entries are modified because of a network topology change, the modified entries are also synchronized to all slave units. When existing routing entries are removed because of a network topology change, the removed entries are also synchronized to all slave units.

All the units in a cluster must be in the same mode: either single or multiple context mode. In multiple context mode, the master-slave synchronization includes all the contexts and the RIB table entries of all the contexts in the synchronization message.

In clustering, if you have configured a layer 3 interface, you must also configure the router-id pool setting.

For more information about dynamic routing and clustering, see Chapter9, “ASA Cluster”

Dynamic Routing in Multiple Context Mode

In multiple context mode, each context maintains a separate routing table and routing protocol databases. This enables you to configure OSPFv2 and EIGRP independently in each context. You can configure EIGRP in some contexts and OSPFv2 in the same or different contexts. In mixed context mode, you can enable any of the dynamic routing protocols in contexts that are in routed mode. RIP and OSPFv3 are not supported in multiple context mode.

The following table lists the attributes for EIGRP, OSPFv2, route maps used for distributing routes into OSPFv2 and EIGRP processes, and prefix lists used in OSPFv2 to filter the routing updates entering or leaving an area when they are used in multiple context mode:

EIGRP

OSPFv2

Route Maps

and Prefix Lists

One instance is supported per context.

Two instances are supported per context.

N/A

It is disabled in the system context.

N/A

Two contexts may use the same or different autonomous system numbers.

Two contexts may use the same or different area IDs.

N/A

Shared interfaces in two contexts may have multiple EIGRP instances running on them.

Shared interfaces in two contexts may have multiple OSPF instances running on them.

N/A

The interaction of EIGRP instances across shared interfaces is supported.

The interaction of OSPFv2 instances across shared interfaces is supported.

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.

Route Resource Management

has been introduced, which specifies the maximum number of routing table entries that can exist in a context. This resolves the problem of one context affecting the available routing table entries in another context and also allows you greater control over the maximum route entries per context.

Because there is no definitive system limit, you can only specify an absolute value for this resource limit; you may not use a percentage limit. Also, there are no minimum and maximum limits per context, so the default class does not change. If you add a new route for any of the static or dynamic routing protocols (connected, static, OSPF, EIGRP, and RIP) in a context and the resource limit for that context is exhausted, then the route addition fails and a syslog message is generated.

Disabling Proxy A RP Requests

When a host sends IP traffic to another device on the same Ethernet network, the host needs to know the MAC address of the device. ARP is a Layer 2 protocol that resolves an IP address to a MAC address. A host sends an ARP request asking “Who is this IP address?” The device owning the IP address replies, “I own that IP address; here is my MAC address.”

Proxy ARP is used when a device responds to an ARP request with its own MAC address, even though the device does not own the IP address. The ASA uses proxy ARP when you configure NAT and specify a mapped address that is on the same network as the ASA interface. The only way traffic can reach the hosts is if the ASA uses proxy ARP to claim that the MAC address is assigned to destination mapped addresses.

Under rare circumstances, you might want to disable proxy ARP for NAT addresses.

If you have a VPN client address pool that overlaps with an existing network, the ASA by default sends proxy ARP requests on all interfaces. If you have another interface that is on the same Layer 2 domain, it will see the ARP requests and will answer with the MAC address of its interface. The result of this is 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.

To disable proxy ARPs requests, enter the following command:

Command

Purpose

Disables proxy ARP requests.

Information About AAA

This chapter describes authentication, authorization, and accounting (AAA, pronounced “triple A”). AAA is a a set of services for controlling access to computer resources, enforcing policies, assessing usage, and providing the information necessary to bill for services. These processes are considered important for effective network management and security.

This chapter includes the following sections:

- Authentication

- Authorization

- Accounting

- Interaction Between Authentication, Authorization, and Accounting

- AAA Servers

- AAA Server Groups

- Local Database Support

- Summary of AAA Service Support

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 ASA to authenticate the following items:

- All administrative connections to the ASA, including the following sessions:

– Telnet

– SSH. For more information, see Chapter43, “Management Access”

– Serial console

– ASDM using HTTPS

– VPN management access

- The enable command. For more information, see Chapter43, “Management Access”

- Network access. For more information, see “Identity Firewall,” “ASA and Cisco TrustSec,” of the firewall configuration guide.

- VPN access. For more information, see the VPN configuration guide.

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. For more information, see Chapter43, “Management Access”

- Network access. For more information, see legacy feature guide.

- VPN access. For more information, see the VPN configuration guide.

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.

Interaction Between Authentication, Authorization, and Accounting

You can use authentication alone or with authorization and accounting. Authorization always requires a user to be authenticated first. You can use accounting alone, or with authentication and authorization.

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.

AAA Server Groups

If you want to use an external AAA server for authentication, authorization, or accounting, you must first create at least one AAA server group per AAA protocol and add one or more servers to each group. You identify AAA server groups by name. Each server group is specific to one type of server or service.

Local Database Support

The ASA maintains a local database that you can populate with user profiles. You can use a local database instead of AAA servers to provide user authentication, authorization, and accounting. For more information, see Chapter35, “Local Database for AAA”

Summary of AAA Service Support

provides cross-references to the configuration guide chapters that describe support for specific AAA service types.

Table 34-1 AAA Service Support

AAA Service

Configuration Guide Cross-Reference

Certificates

See Chapter42, “Digital Certificates”

HTTP Form

See the VPN configuration guide.

Identity Firewall

See Chapter40, “Identity Firewall”

Kerberos

See the VPN configuration guide.

LDAP

See Chapter38, “LDAP Servers for AAA”

Local Database

See Chapter35, “Local Database for AAA”

NT

See Chapter39, “Windows NT Servers for AAA”

RADIUS

See Chapter36, “RADIUS Servers for AAA”

RSA/SDI

See the VPN configuration guide.

TACACS+

See Chapter37, “TACACS+ Servers for AAA”

TrustSec

See Chapter41, “ASA and Cisco TrustSec”

Management Access

This chapter describes how to access the ASA for system management through Telnet, SSH, and HTTPS (using ASDM), how to authenticate and authorize users, and how to create login banners.

This chapter includes the following sections:

- Configuring ASA Access for ASDM, Telnet, or SSH

- Configuring CLI Parameters

- Configuring ICMP Access

- Configuring Management Access Over a VPN Tunnel

- Configuring AAA for System Administrators

- Feature History for Management Access

Note 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.

Configuring ASA Access for ASDM, Telnet, or SSH

This section describes how to allow clients to access the ASA using ASDM, Telnet, or SSH and includes the following topics:

- Licensing Requirements for ASA Access for ASDM, Telnet, or SSH

- Guidelines and Limitations

- Configuring Telnet Access

- Using a Telnet Client

- Configuring SSH Access

- Using an SSH Client

- Configuring HTTPS Access for ASDM

Licensing Requirements for ASA Access for ASDM, Telnet, or SSH

The following table shows the licensing requirements for this feature:

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Model Guidelines

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.

Additional Guidelines

- 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. See Configuring Management Access Over a VPN Tunnel.

- The ASA allows:

– A maximum of 5 concurrent Telnet connections per context, if available, with a maximum of 100 connections divided among all contexts.

– A maximum of 5 concurrent SSH connections per context, if available, with a maximum of 100 connections divided among all contexts.

– A maximum of 5 concurrent ASDM instances per context, if available, with a maximum of 32 ASDM instances among all contexts.

- The ASA supports the SSH remote shell functionality provided in SSH Versions 1 and 2 and supports DES and 3DES ciphers.

- XML management over SSL and SSH is not supported.

- (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. See Configuring the Hostname, Domain Name, and Passwords.

- 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 the Configuring ASA Access for ASDM, Telnet, or SSH.

- The AES-CTR encryption for SSH supports only AES-128 on single-core platforms, which includes the ASA 5505.

a.

Configuring Telnet Access

To identify the client IP addresses allowed to connect to the ASA using Telnet, perform the following steps.

Detailed Steps

Command

Purpose

Step 1

telnet source_IP_address mask source_interface

ciscoasa(config)# telnet 192.168.1.2 255.255.255.255 inside

For each address or subnet, identifies the IP addresses from which the ASA accepts connections.

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

telnet timeout minutes

ciscoasa(config)# telnet timeout 30

Sets the duration for how long a Telnet session can be idle before the ASA disconnects the session.

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

Using a Telnet Client

command. You must manually set the password before using Telnet. See Configuring the Hostname, Domain Name, and Passwords.

If you configure Telnet authentication (see Configuring Authentication for CLI and ASDM Access), then enter the username and password defined by the AAA server or local database.

Configuring SSH Access

To identify the client IP addresses and define a user allowed to connect to the ASA using SSH, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

crypto key generate rsa modulus modulus_size

1024

Generates an RSA key pair, which is required for SSH (for physical ASAs only).

Note 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

write memory

ciscoasa(config)# write memory

Saves the RSA keys to persistent flash memory.

Step 3

aaa authentication ssh console LOCAL

Enables local authentication for SSH access. You can alternatively configure authentication using a AAA server. See Configuring Authentication for CLI and ASDM Access for more information.

Step 4

username user name password password

Creates a user in the local database that can be used for SSH access.

Step 5

ssh source_IP_address mask source_interface

ciscoasa(config)# ssh 192.168.3.0 255.255.255.0 inside

For each address or subnet, identifies the IP addresses from which the ASA accepts connections, and the interface on which you can SSH. Unlike Telnet, you can SSH on the lowest security level interface.

Step 6

ssh timeout minutes

ciscoasa(config)# ssh timeout 30

(Optional) Sets the duration for how long an SSH session can be idle before the ASA disconnects the session.

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

ssh version version_number

ciscoasa(config)# ssh version 2

(Optional) Limits access to SSH version 1 or 2. By default, SSH allows both versions 1 and 2.

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

Using an SSH Client

In the SSH client on your management host, enter the username and password that you configured in the Configuring SSH Access. 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. See Adding a User Account to the Local Database.

Configuring HTTPS Access for ASDM

command. This section describes how to manually configure ASDM access.

Detailed Steps

Command

Purpose

Step 1

http source_IP_address mask source_interface

ciscoasa(config)# http 192.168.1.2 255.255.255.255 inside

For each address or subnet, identifies the IP addresses from which the ASA accepts HTTPS connections.

Step 2

http server enable [ port ]

443

Enables the HTTPS server.

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

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

Configuring CLI Parameters

This section includes the following topics:

- Licensing Requirements for CLI Parameters

- Guidelines and Limitations

- Configuring a Login Banner

- Customizing a CLI Prompt

- Changing the Console Timeout

Licensing Requirements for CLI Parameters

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

Configuring a Login Banner

You can configure a message to display when a user connects to the ASA, before a user logs in, or before a user enters privileged EXEC mode.

Restrictions

After a banner is added, Telnet or SSH sessions to 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).

Guidelines

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

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.

- See RFC 2196 for guidelines about banner messages.

To configure a login banner, perform the following steps:

Detailed Steps

Command

Purpose

} text

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.

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

The following example shows how to add a message-of-the-day banner:

ciscoasa(config)# banner motd Welcome to $(hostname).

ciscoasa(config)# banner motd Contact me at admin@example.com for any

ciscoasa(config)# banner motd issues.

Customizing a CLI Prompt

The CLI Prompt pane lets you customize the prompt used during CLI sessions. By default, the prompt shows the hostname of the ASA. In multiple context mode, the prompt also displays the context name. You can display the following items in the CLI prompt:

(Single and multiple mode) Displays the cluster unit name. Each unit in a cluster can have a unique name.

(Multiple mode only) Displays the name of the current context.

Displays the domain name.

Displays the hostname.

Displays the failover priority as pri (primary) or sec (secondary).

Displays the traffic-passing state of the unit. The following values appear for the state:

- act—Failover is enabled, and the unit is actively passing traffic.

- stby— Failover is enabled, and the unit is not passing traffic and is in a standby, failed, or another inactive state.

- actNoFailover—Failover is not enabled, and the unit is actively passing traffic.

- stbyNoFailover—Failover is not enabled, and the unit is not passing traffic. This condition might occur when there is an interface failure above the threshold on the standby unit.

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.

Detailed Steps

To customize the CLI prompt, enter the following commands:

Command

Purpose

]}

ciscoasa(config)# firewall transparent

Customizes the CLI prompt.

Changing the Console Timeout

The console timeout sets how long a connection can remain in privileged EXEC mode or configuration mode; when the timeout is reached, the session drops into user EXEC mode. By default, the session does not time out. This setting does not affect how long you can remain connected to the console port, which never times out.

To change the console timeout, perform the following steps:

Detailed Steps

Command

Purpose

ciscoasa(config)# console timeout 0

Specifies 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.

Configuring ICMP Access

By default, you can send ICMP packets to any ASA interface using either IPv4 or IPv6. This section tells how to limit ICMP management access to the ASA. You can protect the ASA from attacks by limiting the addresses of hosts and networks that are allowed to have ICMP access to the ASA.

Note For allowing ICMP traffic through the ASA, see the firewall configuration guide.

This section includes the following topics:

- Information About ICMP Access

- Licensing Requirements for ICMP Access

- Guidelines and Limitations

- Default Settings

- Configuring ICMP Access

Information About ICMP Access

ICMP in IPv6 functions the same as ICMP in IPv4. ICMPv6 generates error messages, such as ICMP destination unreachable messages and informational messages like ICMP echo request and reply messages. Additionally ICMP packets in IPv6 are used in the IPv6 neighbor discovery process and path MTU discovery.

We recommend that you always grant permission for the ICMP unreachable message type (type 3). Denying ICMP unreachable messages disables ICMP path MTU discovery, which can halt IPsec and PPTP traffic. See RFC 1195 and RFC 1435 for details about path MTU discovery.

If you configure ICMP rules, then the ASA uses a first match to the ICMP traffic followed by an implicit deny all entry. That is, if the first matched entry is a permit entry, the ICMP packet continues to be processed. If the first matched entry is a deny entry or an entry is not matched, the ASA discards the ICMP packet and generates a syslog message. An exception is when an ICMP rule is not configured; in that case, a permit statement is assumed.

Licensing Requirements for ICMP Access

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Additional Guidelines

- The ASA does not respond to ICMP echo requests directed to a broadcast address.

- The ASA only responds to ICMP traffic sent to the interface that traffic comes in on; you cannot send ICMP traffic through an interface to a far interface.

- If you cannot ping the ASA interface, make sure that you enable ICMP to the ASA for your IP address using the icmp command.

Default Settings

By default, you can send ICMP packets to any ASA interface using either IPv4 or IPv6.

Configuring ICMP Access

To configure ICMP access rules, enter one of the following commands:

Detailed Steps

Command

Purpose

(For IPv4)

icmp { permit | deny } { host ip_address | ip_address mask | any } [ icmp_type ] interface_name

ciscoasa(config)# icmp deny host 10.1.1.15 inside

, all types are identified. You can enter the number or the name. To control ping, specify echo-reply (0) (ASA-to-host) or echo (8) (host-to-ASA). See ICMP Types for a list of ICMP types.

(For IPv6)

ipv6 icmp { permit | deny } { ipv6-prefix / prefix-length | any | host ipv6-address } [ icmp-type ] interface_name

ciscoasa(config)# icmp permit host fe80::20d:88ff:feee:6a82 outside

, all types are identified. You can enter the number or the name. To control ping, specify echo-reply (0) (ASA-to-host) or echo (8) (host-to-ASA). SeeICMP Types for a list of ICMP types.

Examples

The following example shows how to allow all hosts except the one at 10.1.1.15 to use ICMP to the inside interface:

hostname(config)# icmp deny host 10.1.1.15 inside

hostname(config)# icmp permit any inside

The following example shows how to allow the host at 10.1.1.15 to use only ping to the inside interface, enter the following command:

hostname(config)# icmp permit host 10.1.1.15 inside

The following example shows how to deny all ping requests and permit all packet-too-big messages (to support path MTU discovery) at the outside interface:

hostname(config)# ipv6 icmp deny any echo-reply outside

hostname(config)# ipv6 icmp permit any packet-too-big outside

The following example shows how to permit host 2000:0:0:4::2 or hosts on prefix 2001::/64 to ping the outside interface:

hostname(config)# ipv6 icmp permit host 2000:0:0:4::2 echo-reply outside

hostname(config)# ipv6 icmp permit 2001::/64 echo-reply outside

hostname(config)# ipv6 icmp permit any packet-too-big outside

Configuring Management Access Over a VPN Tunnel

If your VPN tunnel terminates on one interface, but you want to manage the ASA by accessing a different interface, you can identify that interface as a management-access interface. For example, if you enter the ASA from the outside interface, this feature lets you connect to the inside interface using ASDM, SSH, Telnet, or SNMP; or you can ping the inside interface when entering from the outside interface. Management access is available via the following VPN tunnel types: IPsec clients, IPsec site-to-site, and the AnyConnect SSL VPN client.

This section includes the following topics:

- Licensing Requirements for a Management Interface

- Guidelines and Limitations

- Configuring a Management Interface

Licensing Requirements for a Management Interface

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single mode.

Firewall Mode Guidelines

Supported in routed mode.

IPv6 Guidelines

Supports IPv6.

Additional Guidelines

You can define only one management access interface.

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

Configuring a Management Interface

To configure the management interface, perform the following steps.

Detailed Steps

Command

Purpose

ciscoasa(config)# management-access inside

specifies the name of the management interface that you want to access when entering the ASA from another interface.

Configuring AAA for System Administrators

This section describes how to enable authentication and command authorization for system administrators.

- Information About AAA for System Administrators

- Licensing Requirements for AAA for System Administrators

- Prerequisites

- Guidelines and Limitations

- Default Settings

- Configuring Authentication for CLI and ASDM Access

- Configuring Authentication to Access Privileged EXEC Mode (the enable Command)

- Limiting User CLI and ASDM Access with Management Authorization

- Configuring a Password Policy for Local Database Users

- Configuring Command Authorization

- Configuring Management Access Accounting

- Viewing the Currently Logged-In User

- Setting a Management Session Quota

- Exchanging Keys in an SSH Session

- Recovering from a Lockout

Information About AAA for System Administrators

This section describes AAA for system administrators and includes the following topics:

- Information About Management Authentication

- Information About Command Authorization

Information About Management Authentication

This section describes authentication for management access and includes the following topics:

- Comparing CLI Access with and without Authentication

- Comparing ASDM Access with and without Authentication

- Authenticating Sessions from the Switch to the ASA Services Module

Comparing CLI Access with and without Authentication

How you log into the ASA depends on whether or not you enable authentication:

- No Authentication—If 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.

- Authentication—If 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.

works depends on whether you enable authentication:

- No Authentication—If 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.

- Authentication—If you configure enable authentication (see Configuring Authentication to Access Privileged EXEC Mode (the enable Command)), the ASA prompts you for your username and password again. This feature is particularly useful when you perform command authorization, in which usernames are important in determining the commands that a user can enter.

maintains the username but requires no configuration to turn on authentication. See Authenticating Users with the login Command for more information.

Comparing ASDM Access with and without Authentication

command. Note that if you enter a username and password at the login screen (instead of leaving the username blank), ASDM checks the local database for a match.

If you configure HTTP authentication, you can no longer use ASDM with a blank username and the enable password.

Authenticating Sessions from the Switch to the ASA Services Module

command), you can configure serial port authentication.

In multiple context mode, you cannot configure any AAA commands in the system configuration. However, if you configure Telnet or serial authentication in the admin context, then authentication also applies to sessions from the switch to the ASASM. The admin context AAA server or local user database is used in this instance.

Information About Command Authorization

This section describes command authorization and includes the following topics:

- Supported Command Authorization Methods

- About Preserving User Credentials

- Security Contexts and Command Authorization

Supported Command Authorization Methods

You can use one of two command authorization methods:

- Local privilege levels—Configure 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).

Note 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 (see Configuring Local Command Authorization). (See the command reference for more information about the enable command.)

- TACACS+ server privilege levels—On 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.

About Preserving User Credentials

When a user logs into the ASA, that user is required to provide a username and password for authentication. The ASA retains these session credentials in case further authentication is needed later in the session.

When the following configurations are in place, a user needs only to authenticate with the local server for login. Subsequent serial authorization uses the saved credentials. The user is also prompted for the privilege level 15 password. When exiting privileged mode, the user is authenticated again. User credentials are not retained in privileged mode.

- The local server is configured to authenticate user access.

- Privilege level 15 command access is configured to require a password.

- The user account is configured for serial-only authorization (no access to console or ASDM).

- The user account is configured for privilege level 15 command access.

The following table shows how credentials are used in this case by the ASA.

Credentials required

Username and Password Authentication

Serial

Authorization

Privileged Mode Command Authorization

Privileged

Mode Exit Authorization

Username

Yes

No

No

Yes

Password

Yes

No

No

Yes

Privileged Mode Password

No

No

Yes

No

Security Contexts and Command Authorization

The following are important points to consider when implementing command authorization with multiple security contexts:

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

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.

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.

Licensing Requirements for AAA for System Administrators

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites

Prerequisites for the AAA Server or Local Database

You must configure users in a AAA server or the local database. For a AAA server, you then need to configure the ASA to communicate with it. See the following chapters:

- AAA server—See the applicable AAA server-type chapter.

- Local Database—See Adding a User Account to the Local Database.

Prerequisites for Management Authentication

Before the ASA can authenticate a Telnet, SSH, or HTTP user, you must identify the IP addresses that are allowed to communicate with the ASA. For the ASASM, the exception is for access to the system in multiple context mode; a session from the switch to the ASASM is a Telnet session, but Telnet access configuration is not required. For more information, see Configuring ASA Access for ASDM, Telnet, or SSH.

Prerequisites for Local Command Authorization

- Configure enable authentication. (See Configuring Authentication for CLI and ASDM Access.)

command.

authentication.

You can also use CLI authentication, but it is not required.

- See the following prerequisites for each user type:

– Local database users—Configure each user in the local database at a privilege level from 0 to 15.

– RADIUS users—Configure the user with Cisco VSA CVPN3000-Privilege-Level with a value between 0 and 15.

– LDAP users—Configure the user with a privilege level between 0 and 15, and then map the LDAP attribute to Cisco VSA CVPN3000-Privilege-Level according to the Configuring LDAP Attribute Maps.

Prerequisites for TACACS+ Command Authorization

- Configure CLI authentication (see Configuring Authentication for CLI and ASDM Access).

- Configure enable authentication (see Configuring Authentication to Access Privileged EXEC Mode (the enable Command)).

Prerequisites for Management Accounting

- Configure CLI authentication (see Configuring Authentication for CLI and ASDM Access).

- Configure enable authentication (see Configuring Authentication to Access Privileged EXEC Mode (the enable Command)).

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Default Settings

Default Command Privilege Levels

By default, the following commands are assigned to privilege level 0. All other commands are assigned to privilege level 15.

- show checksum

- show curpriv

- enable

- help

- show history

- login

- logout

- pager

- show pager

- clear pager

- quit

- show version

command to that level as well, otherwise, the user will not be able to enter configuration mode.

To view all privilege levels, see Viewing Local Command Privilege Levels.

Configuring Authentication for CLI and ASDM Access

You can require authentication for CLI, ASDM, and enable command access.

Prerequisites

- Configure Telnet, SSH, or HTTP access according to the Configuring ASA Access for ASDM, Telnet, or SSH.

- For SSH access, you must configure SSH authentication; there is no default username.

Detailed Steps

Command

Purpose

Step 1

]}

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

command. For multiple mode access, see Authenticating Sessions from the Switch to the ASA Services Module.

keyword controls SSH access.

keyword controls ASDM access.

command. For multiple mode access, see Authenticating Sessions from the Switch to the ASA Services Module.

HTTP management authentication does not support the SDI protocol for a AAA server group.

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.

alone.

Step 2

http authentication-certificate inside

command for ASDM.

to require a certificate for all other SSL traffic, for example, cut-through proxy.

Configuring Authentication to Access Privileged EXEC Mode (the enable Command)

command, which also accesses privileged EXEC mode depending on the user level in the local database.

This section includes the following topics:

- Configuring Authentication for the enable Command

- Authenticating Users with the login Command

Configuring Authentication for the enable Command

command. See Comparing CLI Access with and without Authentication for more information.

command, enter the following command.

Command

Purpose

]}

ciscoasa(config)# aaa authentication enable console LOCAL

command. The user is prompted for the username and password.

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 of which method is being used.

alone.

Authenticating Users with the login Command

command.

This feature allows users to 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. See Configuring Local Command Authorization for more information.

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.

To log in as a user from the local database, enter the following command:

Command

Purpose

login

Logs in as a user from the local database. 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.

Limiting User CLI and ASDM Access with Management Authorization

The ASA enables you to distinguish between administrative and remote-access users when they authenticate using RADIUS, LDAP, TACACS+, or the local user database. User role differentiation can prevent remote access VPN and network access users from establishing an administrative connection to the ASA.

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.

Detailed Steps

Step 1 To enable management authorization for local, RADIUS, LDAP (mapped), and TACACS+ users, enter the following command:

]

option is configured, the local user database is the source for the username entered and the Service-Type and Privilege-Level attributes assigned.

This option also enables support of administrative user privilege levels from RADIUS, which can be used in conjunction with local command privilege levels for command authorization. See Configuring Local Command Authorization for more information.

option is configured, the same server is used for both authentication and authorization.

option allows users with sufficient privileges from the login authentication server to be placed directly in privileged EXEC mode. Otherwise, users are placed in user EXEC mode. These privileges are determined by the Service-Type and Privilege-Level attributes that are required to enter each EXEC mode. To enter privileged EXEC mode, users must have a Service-Type attribute of Administrative and a Privilege Level attribute of greater than 1 assigned to them.

This option is not supported in the system context. However, if you configure Telnet or serial authentication in the admin context, then authentication also applies to sessions from the switch to the ASASM.

command alone.

option is not included when you use serial authentication in management authorization.

option.

option, we recommend that you configure both protocol login and enable authentication, and that all authentication requests go to the same AAA server group, as shown in the following example:

ciscoasa (config)# aaa authentication ssh console RADIUS

ciscoasa (config)# aaa authentication enable console RADIUS

ciscoasa (config)# aaa authorization exec authentication-server auto-enable

recommend that you use other types of configurations.

Step 2 To configure the user for management authorization, see the following requirements for each AAA server type or local user:

RADIUS or LDAP (mapped) users

command. For more information, see Configuring LDAP Attribute Maps.

attribute, when sent in an access-accept message as the result of a RADIUS authentication and authorization request, is used to designate which type of service is granted to the authenticated user:

- Service-Type 6 (Administrative)—Allows full access to any services specified by the aaa authentication console commands.

- Service-Type 7 (NAS prompt)—Allows 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. 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.

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 1—Allows 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.

- PASS, privilege level 2 and higher—Allows 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.

- FAIL—Denies management access. You cannot use any services specified by the aaa authentication console commands(excluding the serial keyword; serial access is allowed).

Local users

command. For more information, see Adding a User Account to the Local Database.

Configuring a Password Policy for Local Database Users

When you configure authentication for CLI or ASDM access using the local database, you can configure a password policy that requires a user to change their password after a specified amount of time and also requires password standards such as a minimum length and the minimum number of changed characters.

The password policy only applies to administrative users using the local database, and not to other types of traffic that can use the local database, such as VPN or AAA for network access, and not to users authenticated by a AAA server.

This section includes the following topics:

- Configuring the Password Policy

- Changing Your Password

Configuring the Password Policy

command.

Prerequisites

- Configure CLI/ASDM authentication according to the Configuring Authentication for CLI and ASDM Access. Be sure to specify the local database.

- Configure enable authentication according to the Configuring Authentication to Access Privileged EXEC Mode (the enable Command). Be sure to specify the local database.

Detailed Steps

Command

Purpose

Step 1

password-policy lifetime days

ciscoasa(config)# password-policy lifetime 180

(Optional) Sets the interval in days after which passwords expire for remote users (SSH, Telnet, HTTP); users at the console port are never locked out due to password expiration. Valid values are between 0 and 65536 days. The default value is 0 days, a value indicating that passwords will never expire.

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

- Have another administrator change your password with the username command.

- Log in to the physical console port to change your password.

Step 2

password-policy minimum-changes value

ciscoasa(config)# password-policy minimum-changes 2

(Optional) Sets the minimum number of characters that you must change between new and old passwords. Valid values are between 0 and 64 characters. The default value is 0.

Character matching is position independent, meaning that new password characters are considered changed only if they do not appear anywhere in the current password.

Step 3

password-policy minimum-length value

ciscoasa(config)# password-policy minimum-length 8

(Optional) Sets the minimum length of passwords. Valid values are between 3 and 64 characters. We recommend a minimum password length of 8 characters.

Step 4

password-policy minimum-uppercase value

ciscoasa(config)# password-policy minimum-uppercase 3

(Optional) Sets the minimum number of upper case characters that passwords must have. Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.

Step 5

password-policy minimum-lowercase value

ciscoasa(config)# password-policy minimum-lowercase 6

(Optional) Sets the minimum number of lower case characters that passwords must have. Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.

Step 6

password-policy minimum-numeric value

ciscoasa(config)# password-policy minimum-numeric 1

(Optional) Sets the minimum number of numeric characters that passwords must have. Valid values are between 0 and 64 characters. The default value is 0, which means there is no minimum.

Step 7

password-policy minimum-special value

ciscoasa(config)# password-policy minimum-special 2

(Optional) Sets the minimum number of special characters that passwords must have. 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.

Step 8

password-policy authenticate enable

ciscoasa(config)# password-policy authenticate enable

command. The default setting is disabled: a user can use either method to change their password.

command, the following error message appears:

ERROR: Changing your own password is prohibited

command. If you try, the following error message appears:

ERROR: You cannot delete all usernames because you are not allowed to delete yourself

Changing Your Password

command.

Detailed Steps

Command

Purpose

]]

hostname# change-password old-password j0hncr1chton new-password a3rynsun

password. If you do not enter the old and new passwords in the command, the ASA prompts you for input.

Configuring Command Authorization

command when you use the local database), you can access privileged EXEC mode and advanced commands, including configuration commands.

You can use one of two command authorization methods:

- Local privilege levels

- TACACS+ server privilege levels

For more information about command authorization, see Information About Command Authorization.

This section includes the following topics:

- Configuring Local Command Authorization

- Viewing Local Command Privilege Levels

- Configuring Commands on the TACACS+ Server

- Configuring TACACS+ Command Authorization

Configuring Local Command Authorization

Local command authorization lets you assign commands to one of 16 privilege levels (0 to 15). By default, each command is assigned either to privilege level 0 or 15. You can define each user to be at a specific privilege level, and each user can enter any command at the assigned privilege level or below. The ASA supports user privilege levels defined in the local database, a RADIUS server, or an LDAP server (if you map LDAP attributes to RADIUS attributes). See the following sections for more information:

- Adding a User Account to the Local Database

- Supported Authentication Methods

- Configuring LDAP Attribute Maps

To configure local command authorization, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

privilege [ show | clear | cmd ] level level [ mode { enable | cmd }] command command

ciscoasa(config)# privilege show level 5 command filter

Assigns a command to a privilege level.

Repeat this command for each command that you want to reassign.

The options in this command are the following:

- show | clear | cmd —These 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.

- level level —A level between 0 and 15.

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

—Specifies both user EXEC mode and privileged EXEC mode.

command.

- command command —The 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.

Step 2

ciscoasa(config)# aaa authorization exec authentication-server

Supports administrative user privilege levels from RADIUS.

command).

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.

command to enable attributes to be taken from the local database. See Limiting User CLI and ASDM Access with Management Authorization for information about configuring a user on a AAA server to accommodate management authorization.

Step 3

ciscoasa(config)# aaa authorization command LOCAL

Enables 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).

When you set command privilege levels, command authorization does not occur unless you configure command authorization with this command.

Examples

command has the following forms:

- filter (represented by the configure option)

- show running-config filter

- clear configure filter

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

command separates the forms in the display.

command, which is accessible in configuration mode, requires the highest privilege level:

ciscoasa(config)# privilege cmd level 0 mode enable command enable

ciscoasa(config)# privilege cmd level 15 mode cmd command enable

ciscoasa(config)# privilege show level 15 mode cmd command enable

keyword:

ciscoasa(config)# privilege show level 5 mode cmd command configure

ciscoasa(config)# privilege clear level 15 mode cmd command configure

ciscoasa(config)# privilege cmd level 15 mode cmd command configure

ciscoasa(config)# privilege cmd level 15 mode enable command configure

Note This last line is for the configure terminal command.

Viewing Local Command Privilege Levels

The following commandslet you view privilege levels for commands.

Command

Purpose

Shows all commands.

is an integer between 0 and 15.

Shows the level of a specific command.

Examples

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

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

Configuring Commands on the TACACS+ Server

You can configure commands on a Cisco Secure Access Control Server (ACS) TACACS+ server as a shared profile component, for a group, or for individual users. For third-party TACACS+ servers, see your server documentation for more information about command authorization support.

See the following guidelines for configuring commands in Cisco Secure ACS Version 3.1; many of these guidelines also apply to third-party servers:

- The ASA sends the commands to be authorized as shell commands, so configure the commands on the TACACS+ server as shell commands.

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 .

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.

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 .

- To disallow some arguments, enter the arguments preceded by deny .

alone is still allowed.

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

. You can configure multiple spellings of the same argument to anticipate abbreviations.

- We recommend that you allow the following basic commands for all users:

Configuring TACACS+ Command Authorization

If you enable TACACS+ command authorization, and a user enters a command at the CLI, the ASA sends the command and username to the TACACS+ server to determine if the command is authorized.

Before you enable TACACS+ command authorization, be sure that you are logged into the ASA as a user that is defined on the TACACS+ server, and that you have the necessary command authorization to continue configuring the ASA. For example, you should log in as an admin user with all commands authorized. Otherwise, you could become unintentionally locked out.

Do not save your configuration until you are sure that it works the way you want. If you get locked out because of a mistake, you can usually recover access by restarting the ASA. If you still get locked out, see Recovering from a Lockout.

Be sure that your TACACS+ system is completely stable and reliable. The necessary level of reliability typically requires that you have a fully redundant TACACS+ server system and fully redundant connectivity to the ASA. For example, in your TACACS+ server pool, include one server connected to interface 1, and another to interface 2. You can also configure local command authorization as a fallback method if the TACACS+ server is unavailable. In this case, you need to configure local users and command privilege levels according to procedures listed in the Configuring Command Authorization.

To configure TACACS+ command authorization, enter the following command:

Detailed Steps

Command

Purpose

]

ciscoasa(config)# aaa authorization command group_1 LOCAL

Performs command authorization using a TACACS+ server.

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 which method is being used. Be sure to configure users in the local database (see “Adding a User Account to the Local Database”) and command privilege levels (see Configuring Local Command Authorization).

Configuring Management Access Accounting

command, or when they issue commands.

For command accounting, you can only use TACACS+ servers.

To configure management access and enable command accounting, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# aaa accounting telnet console group_1

Enables support for AAA accounting for administrative access.

Valid server group protocols are RADIUS and TACACS+.

Step 2

ciscoasa(config)# aaa accounting command privilege 15 group_1

Enables command accounting. Only TACACS+ servers support command accounting.

is the name of the TACACS+ server group to which the ASA should send command accounting messages.

Viewing the Currently Logged-In User

To view the current logged-in user, enter the following command:

ciscoasa# show curpriv

Examples

command:

ciscoasa# show curpriv

Username: admin

Current privilege level: 15

Current Mode/s: P_PRIV

command output.

Table 43-1 show curpriv Command Output Description

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

The available access modes are the following:

- P_UNPR—User EXEC mode (levels 0 and 1)

- P_PRIV—Privileged EXEC mode (levels 2 to 15)

- P_CONF—Configuration mode

Setting a Management Session Quota

You can establish a maximum number of simultaneous management sessions. If the maximum is reached, no additional sessions are allowed and a syslog message is generated. To prevent a system lockout, the management session quota mechanism cannot block a console session.

To set a management session quota, enter the following command:

Command

Purpose

quota management-session number

hostname(config)# quota management-session 1000

form of this command sets the quota value to 0, which means that there is no session limit.

Exchanging Keys in an SSH Session

The Diffie-Hellman (DH) key exchange provides a shared secret that cannot be determined by either party alone. The key exchange is combined with a signature and the host key to provide host authentication. This key-exchange method provides explicit server authentication.

Both the DH Group 1 and Group 14 key-exchange methods for key exchange are supported on the ASA. If no DH group key-exchange method is specified, the DH group 1 key-exchange method is used. For more information about using DH key-exchange methods, see RFC 4253.

To exchange keys in an SSH session, enter the following command:

Command

Purpose

ssh key-exchange group { dh-group1 | dh-group14 } sha-1

ciscoasa(config)# ssh key-exchange group dh-group14 sha-1

ciscoasa# show running-config key-exchange

ssh key-exchange dh-group14-sha1

Exchanges keys using either the DH Group 1 or DH Group 14 key-exchange method.

keyword specifies that either the DH group 1 or DH group 14 key-exchange method will follow and should be used when exchanging keys.

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.

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.

keyword indicates that the DH group 14 key-exchange method will follow and should be used when exchanging keys.

keyword indicates that the SHA-1 encryption algorithm should be used.

command to display the DH group key-exchange method currently being used.

Recovering from a Lockout

lists the common lockout conditions and how you might recover from them.

Table 43-2 CLI Authentication and Command Authorization Lockout Scenarios

Feature

Lockout Condition

Description

Workaround: Single Mode

Workaround: Multiple Mode

Local CLI authentication

No users have been configured in the local database.

If you have no users in the local database, you cannot log in, and you cannot add any users.

commands.

Session into the ASA from the switch. From the system execution space, you can change to the context and add a user.

TACACS+ command authorization

TACACS+ CLI authentication

RADIUS CLI authentication

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.

1. Log in and reset the passwords and AAA commands.

2. Configure the local database as a fallback method so you do not get locked out when the server is down.

1. 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. Configure the local database as a fallback method so that you do not get locked out when the server is down.

TACACS+ command authorization

You are logged in as a user without enough privileges or as a user that does not exist.

You enable command authorization, but then find that the user cannot enter any more commands.

Fix the TACACS+ server user account.

commands.

Session into the ASA from the switch. From the system execution space, you can change to the context and complete the configuration changes. You can also disable command authorization until you fix the TACACS+ configuration.

Local command authorization

You are logged in as a user without enough privileges.

You enable command authorization, but then find that the user cannot enter any more commands.

commands.

Session into the ASA from the switch. From the system execution space, you can change to the context and change the user level.

Feature History for Management Access

lists each feature change and the platform release in which it was implemented.

Table 43-3 Feature History for Management Access

Feature Name

Platform Releases

Feature Information

Management Access

7.0(1)

We introduced this feature.

We introduced the following commands:

.

Increased SSH security; the SSH default username is no longer supported.

8.4(2)

command (CLI) or choosing Configuration > Device Management > Users/AAA > User Accounts (ASDM). 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.

Support for administrator password policy when using the local database

8.4(4.1), 9.1(2)

When you configure authentication for CLI or ASDM access using the local database, you can configure a password policy that requires a user to change their password after a specified amount of time and also requires password standards such as a minimum length and the minimum number of changed characters.

.

Support for SSH public key authentication

8.4(4.1), 9.1(2)

You can enable public key authentication for SSH connections to the ASA on a per-user basis. You can specify a public key file (PKF) formatted key or a Base64 key. The PKF key can be up to 4096 bits. Use PKF format for keys that are too large to for the ASA support of the Base64 format (up to 2048 bits).

.

Support for Diffie-Hellman Group 14 for the SSH Key Exchange

8.4(4.1), 9.1(2)

Support for Diffie-Hellman Group 14 for SSH Key Exchange was added. Formerly, only Group 1 was supported.

.

Support for a maximum number of management sessions

8.4(4.1), 9.1(2)

You can set the maximum number of simultaneous ASDM, SSH, and Telnet sessions.

.

For the ASASM in multiple context mode, support for Telnet and virtual console authentication from the switch.

8.5(1)

Although connecting to the ASASM from the switch in multiple context mode connects to the system execution space, you can configure authentication in the admin context to govern those connections.

AES-CTR encryption for SSH

9.1(2)

The SSH server implementation in the ASA now supports AES-CTR mode encryption.

Improved SSH rekey interval

An SSH connection is rekeyed after 60 minutes of connection time or 1 GB of data traffic.

.

Improved one-time password authentication

9.2(1)

command.

.

Logging

- Information About Logging

- Licensing Requirements for Logging

- Prerequisites for Logging

- Guidelines and Limitations

- Configuring Logging

- Monitoring the Logs

- Configuration Examples for Logging

- Feature History for Logging

Information 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 ASA system logs provide you with information for monitoring and troubleshooting the ASA. With the logging feature, you can do the following:

- Specify which syslog messages should be logged.

- Disable or change the severity level of a syslog message.

- 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 whether or not a rate-limit is applied to syslog generation.

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

This section includes the following topics:

- Logging in Multiple Context Mode

- Analyzing Syslog Messages

- Syslog Message Format

- Severity Levels

- Message Classes and Range of Syslog IDs

- Filtering Syslog Messages

- Using Custom Message Lists

- Using Clustering

Logging in Multiple Context Mode

Each security context includes its own logging configuration and generates its own messages. If you log in to the system or admin context, and then change to another context, messages you view in your session are only those messages that are related to the current context.

Syslog messages that are generated in the system execution space, including failover messages, are viewed in the admin context along with messages generated in the admin context. You cannot configure logging or view any logging information in the system execution space.

, and messages that originate in the admin context use the name of the admin context as the device ID.

Analyzing Syslog Messages

The following are some examples of the type of information you can obtain from a review of various syslog messages:

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

- IDS activity messages can show attacks that have occurred.

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

Syslog Message Format

Syslog messages begin with a percent sign (%) and are structured as follows:

Field descriptions are as follows:

ASA

The syslog message facility code for messages that are generated by the ASA and ASASM. This value is always ASA.

for more information.

A unique six-digit number that identifies the syslog message.

A text string that describes the condition. This portion of the syslog message sometimes includes IP addresses, port numbers, or usernames.

Severity Levels

on the toolbar.

Table 46-1 Syslog Message Severity Levels

Level Number

Severity Level

Description

System is unusable.

Immediate action is needed.

Critical conditions.

Error conditions.

Warning conditions.

Normal but significant conditions.

Informational messages only.

Debugging messages only.

Note 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.

Message Classes and Range of Syslog IDs

For a list of syslog message classes and the ranges of syslog message IDs that are associated with each class, see the syslog messages guide.

Filtering Syslog Messages

You can filter generated syslog messages so that only certain syslog messages are sent to a particular output destination. For example, you could configure the ASA and ASASM to send all syslog messages to one output destination and to send a subset of those syslog messages to a different output destination.

Specifically, you can configure the ASA and ASASM so that syslog messages are directed to an output destination according to the following criteria:

- Syslog message ID number

- Syslog message severity level

- Syslog message class (equivalent to a functional area of the ASA and ASASM)

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.

combination does not appear.

The objects are prefixed as follows:

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 L2L peer.

Using Custom Message Lists

Creating a custom message list is a flexible way to exercise control over which syslog messages are sent to which output destination. In a custom syslog message list, you specify groups of syslog messages using any or all of the following criteria: severity level, message IDs, ranges of syslog message IDs, or message class.

For example, you can use message lists to do the following:

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

Using Clustering

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.

Licensing Requirements for Logging

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for Logging

Logging has the following prerequisites:

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

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context modes.

Firewall Mode Guidelines

Supported in routed and transparent firewall modes.

IPv6 Guidelines

Does not support IPv6.

Additional Guidelines

- Sending syslogs over TCP is not supported on a standby ASA.

- 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 ASA SM 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.

command that will 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

command that will include access list hits:

ciscoasa# show running-config logging

logging enable

logging timestamp

logging buffered debugging

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

Configuring Logging

This section describes how to configure logging and includes the following topics:

- Enabling Logging

- Configuring an Output Destination

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.

Enabling Logging

To enable logging, enter the following command:

Command

Purpose

logging enable

logging enable

command.

What to Do Next

See Configuring an Output Destination.

Configuring an Output Destination

To optimize syslog message usage for troubleshooting and performance monitoring, we recommend that you specify one or more locations where syslog messages should be sent, including an internal log buffer, one or more external syslog servers, ASDM, an SNMP management station, the console port, specified e-mail addresses, or Telnet and SSH sessions.

This section includes the following topics:

- Sending Syslog Messages to an External Syslog Server

- Sending Syslog Messages to the Internal Log Buffer

- Sending Syslog Messages to an E-mail Address

- Sending Syslog Messages to ASDM

- Sending Syslog Messages to the Console Port

- Sending Syslog Messages to an SNMP Server

- Sending Syslog Messages to a Telnet or SSH Session

- Creating a Custom Event List

- Generating Syslog Messages in EMBLEM Format to a Syslog Server

- Generating Syslog Messages in EMBLEM Format to Other Output Destinations

- Changing the Amount of Internal Flash Memory Available for Logs

- Configuring the Logging Queue

- Sending All Syslog Messages in a Class to a Specified Output Destination

- Enabling Secure Logging

- Including the Device ID in Non-EMBLEM Format Syslog Messages

- IIncluding the Date and Time in Syslog Messages

- Disabling a Syslog Message

- Changing the Severity Level of a Syslog Message

- Limiting the Rate of Syslog Message Generation

Sending Syslog Messages to an External Syslog Server

You can archive messages according to the available disk space on the external syslog server, and manipulate logging data after it is saved. For example, you could specify actions to be executed when certain types of syslog messages are logged, extract data from the log and save the records to another file for reporting, or track statistics using a site-specific script.

To send syslog messages to an external syslog server, perform the following steps:

Command

Purpose

Step 1

logging host interface_name syslog_ip [ tcp [/ port ] | udp [/ port ] [ format emblem ]]

logging host dmz1 192.168.1.5 udp 1026 format emblem

Configures the ASA and ASASM to send messages to a syslog server.

] 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

logging trap { severity_level | message_list }

ciscoasa(config)# logging trap errors

Specifies which syslog messages should be sent to the syslog server. 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

logging permit-hostdown

ciscoasa(config)# logging permit-hostdown

(Optional) Disables the feature to block new connections when a TCP-connected syslog server is down. 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. For more information about the log queue, see Configuring the Logging Queue.

Step 4

ciscoasa(config)# logging facility 21

(Optional) Sets the logging facility to a value other than 20, which is what most UNIX systems expect.

Sending Syslog Messages to the Internal Log Buffer

You need to specify which syslog messages should be sent to the internal log buffer, which serves as a temporary storage location. 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 send syslog messages to the internal log buffer, perform the following steps:

Command

Purpose

Step 1

logging buffered { severity_level | message_list }

ciscoasa(config)# logging buffered critical

ciscoasa(config)# logging buffered level 2

ciscoasa(config)# logging buffered notif-list

command.

Step 2

logging buffer-size bytes

ciscoasa(config)# logging buffer-size 16384

Changes the size of the internal log buffer. The default buffer size is 4 KB.

Step 3

Choose one of the following options:

logging flash-bufferwrap

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

is the time in hours, minutes, and seconds.

The ASA and ASASM continue to save new messages to the internal log buffer and save the full log buffer content to the internal flash memory.

logging ftp-bufferwrap

ciscoasa(config)# logging ftp-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

is the time in hours, minutes, and seconds.

The ASA and ASASM continue saving new messages to the internal log buffer and saves the full log buffer content to an FTP server.

logging ftp-server server path username password

ciscoasa(config)# logging ftp-server 10.1.1.1 /syslogs logsupervisor 1luvMy10gs

argument indicates the password for the username specified.

logging savelog [ savefile ]

ciscoasa(config)# logging savelog latest-logfile.txt

Saves the current log buffer content to the internal flash memory.

Sending Syslog Messages to an E-mail Address

To send syslog messages to an e-mail address, perform the following steps:

Command

Purpose

Step 1

logging mail { severity_level | message_list }

logging mail high-priority

Specifies which syslog messages should be sent to an e-mail address. 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

logging from-address email_address

ciscoasa(config)# logging from-address xxx-001@example.com

Specifies the source e-mail address to be used when sending syslog messages to an e-mail address.

Step 3

logging recipient-address e-mail_address [severity_level]

ciscoasa(config)# logging recipient-address admin@example.com

Specifies the recipient e-mail address to be used when sending syslog messages to an e-mail address.

Step 4

smtp-server ip_address

ciscoasa(config)# smtp-server 10.1.1.1

Specifies the SMTP server to be used when sending syslog messages to an e-mail address.

Sending Syslog Messages to ASDM

To send syslog messages to ASDM, perform the following steps:

Command

Purpose

Step 1

logging asdm { severity_level | message_list }

ciscoasa(config)# logging asdm 2

Specifies which syslog messages should be sent to ASDM. 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

logging asdm-buffer-size num_of_msgs

ciscoasa(config)# logging asdm-buffer-size 200

command.

Sending Syslog Messages to the Console Port

To send syslog messages to the console port, enter the following command:

Command

Purpose

logging console { severity_level | message_list }

logging console errors

Specifies which syslog messages should be sent to the console port.

Sending Syslog Messages to an SNMP Server

To enable logging to an SNMP server, enter the following command:

Command

Purpose

logging history [ logging_list | level ]

logging history errors

command.

Sending Syslog Messages to a Telnet or SSH Session

To send syslog messages to a Telnet or SSH session, perform the following steps:

Command

Purpose

Step 1

logging monitor { severity_level | message_list }

ciscoasa(config)# logging monitor 6

Specifies which syslog messages should be sent to a Telnet or SSH session.

Step 2

terminal monitor

ciscoasa(config)# terminal monitor

command.

Creating a Custom Event List

To create a custom event list, perform the following steps:

Command

Purpose

Step 1

logging list name { level level [ class message_class ] | message start_id [ - end_id ]}

ciscoasa(config)# logging list notif-list level 3

Specifies 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.

argument pair specify an individual syslog message number or a range of numbers.

Note 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.

Step 2

logging list name { level level [ class message_class ] | message start_id [ - end_id ]}

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

(Optional) Adds more criteria for message selection to the list. 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.

Generating Syslog Messages in EMBLEM Format to a Syslog Server

To generate syslog messages in EMBLEM format to a syslog server, enter the following command:

Command

Purpose

logging host interface_name ip_address { tcp [/ port ] | udp [/ port ]] [ format emblem ]

ciscoasa(config)# logging host interface_1 127.0.0.1 udp format emblem

Sends syslog messages in EMBLEM format to a syslog server over UDP using port 514.

] 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.

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 Sending syslogs over TCP is not supported on a standby ASA.

Generating Syslog Messages in EMBLEM Format to Other Output Destinations

To generate syslog messages in EMBLEM format to other output destinations, enter the following command:

Command

Purpose

logging emblem

ciscoasa(config)# logging emblem

Sends syslog messages in EMBLEM format to output destinations other than a syslog server, such as Telnet or SSH sessions.

Changing the Amount of Internal Flash Memory Available for Logs

To change the amount of internal flash memory available for logs, perform the following steps:

Command

Purpose

Step 1

logging flash-maximum-allocation kbytes

logging flash-maximum-allocation 1200

Specifies the maximum amount of internal flash memory available for saving log files. 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 ASASMto 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

logging flash-minimum-free kbytes

logging flash-minimum-free 4000

Specifies the minimum amount of internal flash memory that must be free for the ASA or ASASM to save a log file.

Configuring the Logging Queue

To configure the logging queue, enter the following command:

Command

Purpose

logging queue message_count

ciscoasa(config)# logging queue 300

Specifies the number of syslog messages that the ASA and ASASM can hold in its queue before sending them to the configured output destination. 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), depending on the platform. The maximum queue size by platform is as follows:

- ASA-5505—1024

- On all other platforms—8192

Sending All Syslog Messages in a Class to a Specified Output Destination

To send all syslog messages in a class to a specified output destination, enter the following command:

Command

Purpose

logging class message_class { buffered | console | history | mail | monitor | trap } [ severity_level ]

ciscoasa(config)# logging class ha buffered alerts

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.

Enabling Secure Logging

To enable secure logging, enter the following command:

Command

Purpose

logging host interface_name syslog_ip [ tcp /port | udp / port ] [ format emblem ] [ secure ]

ciscoasa(config)# logging host inside 10.0.0.1 TCP/1500 secure

Enables secure logging.

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.

Including the Device ID in Non-EMBLEM Format Syslog Messages

To include the device ID in non-EMBLEM format syslog messages, enter the following command:

Command

Purpose

logging device-id { cluster-id | context-name | hostname | ipaddress interface_name [ system ] | string text }

ciscoasa(config)# logging device-id hostname

ciscoasa(config)# logging device-id context-name

, 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.
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)

- < (less than)

- > (greater than)

- ? (question mark)

Note If enabled, the device ID does not appear in EMBLEM-formatted syslog messages nor in SNMP traps.

IIncluding the Date and Time in Syslog Messages

To include the date and time in syslog messages, enter the following command:

Command

Purpose

logging timestamp

ciscoasa(config)# logging timestamp

ciscoasa(config)# logging timestamp

LOG-2008-10-24-081856.TXT

command.

Disabling a Syslog Message

To disable a specified syslog message, enter the following command:

Command

Purpose

no logging message message_number

ciscoasa(config)# no logging message 113019

command.

Changing the Severity Level of a Syslog Message

To change the severity level of a syslog message, enter the following command:

Command

Purpose

logging message message_ID level severity_level

logging message 113019 level 5

command.

Limiting the Rate of Syslog Message Generation

To limit the rate of syslog message generation, enter the following command:

Command

Purpose

logging rate-limit {unlimited | {num [interval]}} message syslog_id | level severity_level

logging rate-limit 1000 600 level 6

command.

Monitoring the Logs

To monitor the logs in the log buffer or in real-timeand assist in monitoring the system performance, nter one of the following commands:

Command

Purpose

show logging

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.

Shows a list of syslog messages with modified severity levels and disabled syslog messages.

Shows the severity level of a specific syslog message.

Shows the logging queue and queue statistics.

Shows the disallowed syslog messages.

Shows the current logging rate-limit setting.

Examples

command:

hostname(config)# show logging

Syslog logging: enabled

Facility: 16

Timestamp logging: disabled

Standby logging: disabled

Deny Conn when Queue Full: disabled

Console logging: disabled

Monitor logging: disabled

Buffer logging: disabled

Trap logging: level errors, facility 16, 3607 messages logged

Logging to infrastructure 10.1.2.3

History logging: disabled

Device ID: 'inside' interface IP address “10.1.1.1”

Mail logging: disabled

ASDM logging: disabled

Configuration Examples for Logging

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

ciscoasa(config)# show logging message 403503

syslog 403503: -level errors, current-level alerts (enabled)

ciscoasa(config)# no logging message 403503

ciscoasa(config)# show logging message 403503

syslog 403503: -level errors, current-level alerts (disabled)

ciscoasa(config)# logging message 403503

ciscoasa(config)# show logging message 403503

syslog 403503: -level errors, current-level alerts (enabled)

ciscoasa(config)# no logging message 403503 level 3

ciscoasa(config)# show logging message 403503

syslog 403503: -level errors (enabled)

Feature History for Logging

lists each feature change and the platform release in which it was implemented.

Table 46-2 Feature History for Logging

Feature Name

Platform Releases

Feature Information

Logging

7.0(1)

Provides ASA network logging information through various output destinations, and includes the option to view and save log files.

Rate limit

7.0(4)

Limits the rate at which syslog messages are generated.

.

Logging list

7.2(1)

Creates a logging list to use in other commands to specify messages by various criteria (logging level, event class, and message IDs).

We introduced the following command: logging list.

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)

Added support for the ipaa event class of logging messages.

.

Logging class and saved logging buffers

8.2(1)

Added support for the dap event class of logging messages.

Added support to clear the saved logging buffers (ASDM, internal, FTP, and flash).

.

Password encryption

8.3(1)

Added support for password encryption.

.

Enhanced logging and connection blocking

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.

command.

.

We introduced the following syslog messages: 414005, 414006, 414007, and 414008.

Clustering

9.0(1)

Added support for syslog message generation in a clustering environment on the ASA 5580 and 5585-X.

.

Using the Command-Line Interface

This appendix describes how to use the CLI on the ASA and includes the following sections:

- Firewall Mode and Security Context Mode

- Command Modes and Prompts

- Syntax Formatting

- Abbreviating Commands

- Command-Line Editing

- Command Completion

- Command Help

- Viewing the Running Configuration

- Filtering show and more Command Output

- Command Output Paging

- Adding Comments

- Text Configuration Files

- Supported Character Sets

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.

Firewall Mode and Security Context Mode

The ASA runs in a combination of the following modes:

- Transparent firewall or routed firewall mode

The firewall mode determines if the ASA runs as a Layer 2 or Layer 3 firewall.

- Multiple context or single context mode

The security context mode determines if the ASA runs as a single device or as multiple security contexts, which act like virtual devices.

Some commands are only available in certain modes.

Command Modes and Prompts

The ASA CLI includes command modes. Some commands can only be entered in certain modes. For example, to enter commands that show sensitive information, you need to enter a password and enter a more privileged mode. Then, to ensure that configuration changes are not entered accidentally, you have to enter a configuration mode. All lower commands can be entered in higher modes, for example, you can enter a privileged EXEC command in global configuration mode.

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.

asa(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

The prompt changes depending on the access mode:

- User EXEC mode

User EXEC mode lets you see minimum ASA settings. The user EXEC mode prompt appears as follows when you first access the ASA:

ciscoasa>

ciscoasa/context>

- Privileged EXEC mode

command in user EXEC mode, which requires a password, to start privileged EXEC mode. The prompt includes the number sign (#):

ciscoasa#

ciscoasa/context#

- Global configuration mode

command in privileged EXEC mode to start global configuration mode. The prompt changes to the following:

ciscoasa(config)#

ciscoasa/context(config)#

- Command-specific configuration modes

command enters interface configuration mode. The prompt changes to the following:

ciscoasa(config-if)#

ciscoasa/context(config-if)#

Syntax Formatting

.

Table 51-1 Syntax Conventions

Convention

Description

Bold text indicates commands and keywords that you enter literally as shown.

Italic text indicates arguments for which you supply values.

[x]

Square brackets enclose an optional element (keyword or argument).

|

A vertical bar indicates a choice within an optional or required set of keywords or arguments.

[x | y]

Square brackets enclosing keywords or arguments separated by a vertical bar indicate an optional choice.

{x | y}

Braces enclosing keywords or arguments separated by a vertical bar indicate a required choice.

[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.

Abbreviating Commands

.

Command-Line Editing

, or erase the line with ^u.

The ASA permits up to 512 characters in a command; additional characters are ignored.

Command Completion

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.

- string ? (no space)

Lists the possible commands that start with the string.

- ? and +?

.

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.

Viewing the Running Configuration

To view the running configuration, use one of the following commands.

To filter the command output, see the Filtering show and more Command Output.

Command

Purpose

]

, then the output only includes related commands.
command below.

Shows the running configuration. Passwords are shown in plain text or in encrypted form if you have a master passphrase enabled (see the Configuring the Master Passphrase).

Filtering show and more Command Output

You can use the vertical bar (|) with any show command and include a filter option and filtering expression. The filtering is performed by matching each output line with a regular expression, similar to Cisco IOS software. By selecting different filter options you can include or exclude all output that matches the expression. You can also display all output beginning with the line that matches the expression.

The syntax for using filtering options with the show command is as follows:

ciscoasa# show command | {include | exclude | begin | grep [-v]} regexp

or

ciscoasa# more system:running-config | {include | exclude | begin | grep [-v]} regexp

Note The more command can 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.

have special meaning when used in regular expressions.

in the configuration.

For a list of metacharacters, see Table 19-1.

Command Output Paging

For commands such as help or ?, show, show xlate, or other commands that provide long listings, you can determine if the information displays a screen and pauses, or lets the command run to completion. The pager command lets you choose the number of lines to display before the More prompt appears.

When paging is enabled, the following prompt appears:

<--- More --->

The More prompt uses syntax similar to the UNIX more command:

- To view another screen, press the Space bar.

- To view the next line, press the Enter key.

- To return to the command line, press the q key.

Adding 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.

Text Configuration Files

This section describes how to format a text configuration file that you can download to the ASA, and includes the following topics:

- How Commands Correspond with Lines in the Text File

- Command-Specific Configuration Mode Commands

- Automatic Text Entries

- Line Order

- Commands Not Included in the Text Configuration

- Passwords

- Multiple Security Context Files

How Commands Correspond with Lines in the Text File

The text configuration file includes lines that correspond with the commands described in this guide.

In examples, commands are preceded by a CLI prompt. The prompt in the following example is “ciscoasa(config)#”:

ciscoasa(config)# context a

In the text configuration file you are not prompted to enter commands, so the prompt is omitted:

context a

Command-Specific Configuration Mode Commands

Command-specific configuration mode commands appear indented under the main command when entered at the command line. Your text file lines do not need to be indented, as long as the commands appear directly following the main command. For example, the following unindented text is read the same as indented text:

interface gigabitethernet0/0

nameif inside

interface gigabitethernet0/1

nameif outside

Automatic Text Entries

When you download a configuration to the ASA, it inserts some lines automatically. For example, the ASA inserts lines for default settings or for the time the configuration was modified. You do not need to enter these automatic entries when you create your text file.

Line Order

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.

Commands Not Included in the Text Configuration

does not have a corresponding line in the text file.

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.

command.

Multiple Security Context Files

For multiple security contexts, the entire configuration consists of the following multiple parts:

- The security context configurations

- 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).

Supported Character Sets

The ASA CLI currently supports UTF-8 encoding only. UTF-8 is the particular encoding scheme for Unicode symbols, and has been designed to be compatible with an ASCII subset of symbols. ASCII characters are represented in UTF-8 as one-byte characters. All other characters are represented in UTF-8 as multibyte symbols.

The ASCII printable characters (0x20 to 0x7e) are fully supported. The printable ASCII characters are the same as ISO 8859-1. UTF-8 is a superset of ISO 8859-1, so the first 256 characters (0-255) are the same as ISO 8859-1. The ASA CLI supports up to 255 characters (multibyte characters) of ISO 8859-1.

Cisco ASA Series General Operations CLI Configuration Guide

Software Version 9.2

For the ASA 5505, ASA 5512-X, ASA 5515-X, ASA 5525-X, ASA 5545-X, ASA 5555-X, ASA 5585-X, ASA Services Module, and the Adaptive Security Virtual Appliance

Released: April 24, 2014

Updated: September 16, 2014

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 UCB’s 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 © 2014 Cisco Systems, Inc. All rights reserved.

Digital Certificates

This chapter describes how to configure digital certificates and includes the following sections:

- Information About Digital Certificates

- Licensing Requirements for Digital Certificates

- Prerequisites for Local Certificates

- Guidelines and Limitations

- Configuring Digital Certificates

- Monitoring Digital Certificates

- Feature History for Certificate Management

Information About Digital Certificates

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.

This section includes the following topics:

- Public Key Cryptography

- Certificate Scalability

- Key Pairs

- Trustpoints

- Revocation Checking

- The Local CA

- Using Certificates and User Login Credentials

Public Key Cryptography

Digital signatures, enabled by public key cryptography, provide a way to authenticate devices and users. In public key cryptography, such as the RSA encryption system, each user has a key pair containing both a public and a private key. The keys act as complements, and anything encrypted with one of the keys can be decrypted with the other.

In simple terms, a signature is formed when data is encrypted with a private key. The signature is attached to the data and sent to the receiver. The receiver applies the public key of the sender to the data. If the signature sent with the data matches the result of applying the public key to the data, the validity of the message is established.

This process relies on the receiver having a copy of the public key of the sender and a high degree of certainty that this key belongs to the sender, not to someone pretending to be the sender.

Obtaining the public key of a sender is normally handled externally or through an operation performed at installation. For example, most web browsers are configured with the root certificates of several CAs by default. For VPN, the IKE protocol, a component of IPsec, can use digital signatures to authenticate peer devices before setting up security associations.

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.

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:

- RSA keys can be used for SSH or SSL.

- SCEP enrollment supports the certification of RSA keys.

- 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 an 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.

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.

Proxy for SCEP Requests

The ASA can proxy SCEP requests between AnyConnect and a third-party CA. The CA only needs to be accessible to the ASA if it is acting as the proxy. For the ASA to provide this service, the user must authenticate using any of the methods supported by AAA before the ASA sends an enrollment request. You can also use host scan and dynamic access policies to enforce rules of eligibility to enroll.

The ASA supports this feature only with an AnyConnect SSL or IKEv2 VPN session. It supports all SCEP-compliant CAs, including IOS CS, Windows Server 2003 CA, and Windows Server 2008 CA.

Clientless (browser-based) access does not support SCEP proxy, although WebLaunch—clientless-initiated AnyConnect—does support it.

The ASA does not support polling for certificates.

The ASA supports load balancing for this feature.

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.

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

- Microsoft Certificate Services

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

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.

The ASA uses these two factors in the following ways:

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

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.

) 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 The ASA allows a five-second time skew for OCSP responses.

command, which allows the certificate authentication to succeed when the validation authority is unavailable to provide updated OCSP data.

OCSP provides three ways to define the OCSP server URL. The ASA uses these servers in the following order:

command).

command.

3. The AIA field of the client certificate.

Note 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:

- Integrates basic certificate authority operation on the ASA.

- Deploys certificates.

- Provides secure revocation checking of issued certificates.

- Provides a certificate authority on the ASA for use with browser-based and client-based SSL VPN connections.

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

Storage for Local CA Files

The ASA accesses and implements user information, issued certificates, and revocation lists using a local CA database. This database resides in local flash memory by default, or can be configured to reside on an external file system that is mounted and accessible to the ASA.

No limits exist on the number of users that can be stored in the local CA user database; however, if flash memory storage issues arise, syslogs are generated to alert the administrator to take action, and the local CA could be disabled until the storage issues are resolved. Flash memory can store a database with 3500 users or less; however, a database of more than 3500 users requires external storage.

The Local CA Server

After you configure a local CA server on the ASA, users can enroll for a certificate by logging into a website and entering a username and a one-time password that is provided by the local CA administrator to validate their eligibility for enrollment.

As shown in Figure 42-1, the local CA server resides on the ASA and handles enrollment requests from website users and CRL inquiries coming from other certificate validating devices and ASAs. Local CA database and configuration files are maintained either on the ASA flash memory (default storage) or on a separate storage device.

Figure 42-1 The Local CA

Using Certificates and User Login Credentials

The following section describes the different methods of using certificates and user login credentials (username and password) for authentication and authorization. These methods apply to IPsec, AnyConnect, and Clientless SSL VPN.

In all cases, LDAP authorization does not use the password as a credential. RADIUS authorization uses either a common password for all users or the username as a password.

This section includes the following topics:

- Using User Login Credentials

- Using Certificates

Using User Login Credentials

The default method for authentication and authorization uses the user login credentials.

- 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

Using 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

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.

Licensing Requirements for Digital Certificates

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for Local Certificates

Local certificates have the following prerequisites:

- 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. For information about configuring the hostname and domain name, see Configuring the Hostname, Domain Name, and Passwords.

- 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. For information about setting the clock, see Setting the Date and Time.

Prerequisites for SCEP Proxy Support

Configuring the ASA as a proxy to submit requests for third-party certificates has the following requirements:

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

- An SSL port must be open for IKEv2 VPN connections.

- The CA must be in auto-grant mode.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

- Supported in single and multiple context mode for a local CA.

- Supported in single context mode only for third-party CAs.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

Failover Guidelines

- Does not support replicating sessions in Stateful Failover.

- Does not support failover for local CAs.

IPv6 Guidelines

Does not support IPv6.

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 .

- 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*H÷ytes as CA certificate:0U0= \Ivr"phÕV°3é¼þ0 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

Configuring Digital Certificates

This section describes how to configure local CA certificates. Make sure that you follow the sequence of tasks listed to correctly configure this type of digital certificate. This section includes the following topics:

- Configuring Key Pairs

- Removing Key Pairs

- Configuring Trustpoints

- Configuring CRLs for a Trustpoint

- Exporting a Trustpoint Configuration

- Importing a Trustpoint Configuration

- Configuring CA Certificate Map Rules

- Obtaining Certificates Manually

- Obtaining Certificates Automatically with SCEP

- Configuring Proxy Support for SCEP Requests

- Enabling the Local CA Server

- Configuring the Local CA Server

- Customizing the Local CA Server

- Debugging the Local CA Server

- Disabling the Local CA Server

- Deleting the Local CA Server

- Configuring Local CA Certificate Characteristics

Configuring Key Pairs

To generate key pairs, perform the following steps:

Command

Purpose

Step 1

crypto key generate rsa

ciscoasa/contexta(config)# crypto key generate rsa

keyword.

Note 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.

Step 2

crypto key generate rsa label key-pair-label

ciscoasa/contexta(config)# crypto key generate rsa label exchange

.

Step 3

show crypto key name of key

ciscoasa/contexta(config)# show crypto key examplekey

Verifies key pairs that you have generated.

Step 4

write memory

ciscoasa(config)# write memory

Saves the key pair that you have generated.

Removing Key Pairs

To remove key pairs, perform the following steps:

Command

Purpose

crypto key zeroize rsa

ciscoasa(config)# crypto key zeroize rsa

Removes key pairs.

Examples

The following example shows how to remove key pairs:

ciscoasa(config)# crypto key zeroize rsa

WARNING: All RSA keys will be removed.

WARNING: All device certs issued using these keys will also be removed.

Do you really want to remove these keys? [yes/no] y

Configuring Trustpoints

To configure a trustpoint, perform the following steps:

Command

Purpose

Step 1

crypto ca trustpoint trustpoint-name

crypto ca trustpoint Main

Creates a trustpoint that corresponds to the CA from which the ASA needs to receive a certificate. Enters the crypto ca trustpoint configuration mode, which controls CA-specific trustpoint parameters that you may configure starting in Step 3.

Note 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.

Step 2

Choose one of the following options:

enrollment url url

ciscoasa/contexta(config-ca-trustpoint)# enrollment url http://10.29.67.142:80/certsrv/mscep/mscep.dll

Requests automatic enrollment using SCEP with the specified trustpoint and configures the enrollment URL.

enrollment terminal

ciscoasa/contexta(config-ca-trustpoint)# enrollment terminal

Requests manual enrollment with the specified trustpoint by pasting the certificate received from the CA into the terminal.

Step 3

revocation-check crl none

revocation-check crl

revocation-check none

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

Specifies the available CRL configuration options.

Note To enable either required or optional CRL checking, make sure that you configure the trustpoint for CRL management after obtaining certificates.

Step 4

crl configure

ciscoasa/contexta(config-ca-trustpoint)# crl configure

Enters crl configuration mode.

Step 5

email address

ciscoasa/contexta(config-ca-trustpoint)# email example.com

During enrollment, asks the CA to include the specified e-mail address in the Subject Alternative Name extension of the certificate.

Step 6

enrollment retry period

ciscoasa/contexta(config-ca-trustpoint)# enrollment retry period 5

(Optional) Specifies a retry period in minutes, and applies only to SCEP enrollment.

Step 7

enrollment retry count

ciscoasa/contexta(config-ca-trustpoint)# enrollment retry period 2

(Optional) Specifies a maximum number of permitted retries, and applies only to SCEP enrollment.

Step 8

fqdn fqdn

ciscoasa/contexta(config-ca-trustpoint)# fqdn example.com

During enrollment, asks the CA to include the specified fully qualified domain name in the Subject Alternative Name extension of the certificate.

Step 9

ip-address ip-address

ciscoasa/contexta(config-ca-trustpoint)# ip-address 10.10.100.1

During enrollment, asks the CA to include the IP address of the ASA in the certificate.

Step 10

keypair name

ciscoasa/contexta(config-ca-trustpoint)# keypair exchange

Specifies the key pair whose public key is to be certified.

Step 11

match certificate map-name override ocsp

ciscoasa/contexta(config-ca-trustpoint)# match certificate examplemap override ocsp

Configures OCSP URL overrides and trustpoints to use for validating OCSP responder certificates.

Step 12

ocsp disable-nonce

ciscoasa/contexta(config-ca-trustpoint)# ocsp disable-nonce

Disables the nonce extension on an OCSP request. The nonce extension cryptographically binds requests with responses to avoid replay attacks.

Step 13

ocsp url

ciscoasa/contexta(config-ca-trustpoint)# ocsp url

Configures 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.

Step 14

password string

ciscoasa/contexta(config-ca-trustpoint)# password mypassword

Specifies a challenge phrase that is registered with the CA during enrollment. The CA usually uses this phrase to authenticate a subsequent revocation request.

Step 15

revocation check

ciscoasa/contexta(config-ca-trustpoint)# revocation check

Sets one or more methods for revocation checking: CRL, OCSP, and none.

Step 16

subject-name X.500 name

ciscoasa/contexta(config-ca-trustpoint)# myname X.500 examplename

During enrollment, asks 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.”).

Step 17

serial-number

ciscoasa/contexta(config-ca-trustpoint)# serial number JMX1213L2A7

During enrollment, asks the CA to include the ASA serial number in the certificate.

Step 18

write memory

ciscoasa/contexta(config)# write memory

Saves the running configuration.

Configuring CRLs for a Trustpoint

To use mandatory or optional CRL checking during certificate authentication, you must configure CRLs for each trustpoint. To configure CRLs for a trustpoint, perform the following steps:

Command

Purpose

Step 1

crypto ca trustpoint trustpoint-name

crypto ca trustpoint Main

Enters crypto ca trustpoint configuration mode for the trustpoint whose CRL configuration you want to modify.

Note Make sure that you have enabled CRLs before entering this command. In addition, the CRL must be available for authentication to succeed.

Step 2

crl configure

ciscoasa (config-ca-trustpoint)# crl configure

Enters crl configuration mode for the current trustpoint.
command. At any time during CRL configuration, reenter this command to restart the procedure.

Step 3

Do one of the following:

policy cdp

ciscoasa (config-ca-crl)# policy cdp

Configures retrieval policy. CRLs are retrieved only from the CRL distribution points specified in authenticated certificates.

Note SCEP retrieval is not supported by distribution points specified in certificates.
To continue, go to Step 5.

policy static

ciscoasa (config-ca-crl)# policy static

Configures retrieval policy. CRLs are retrieved only from URLs that you configure.

To continue, go to Step 4.

policy both

ciscoasa (config-ca-crl)# policy both

Configures retrieval policy. CRLs are retrieved from CRL distribution points specified in authenticated certificates and from URLs that you configure.

To continue, go to Step 4.

Step 4

url n url

command.

Step 5

protocol http | ldap | scep

ciscoasa (config-ca-crl)# protocol http

Configures the retrieval method. Specifies HTTP, LDAP, or SCEP as the CRL retrieval method.

Step 6

cache-time refresh-time

ciscoasa (config-ca-crl)# cache-time 420

is the number of minutes that the ASA waits before considering a CRL stale.

Step 7

Do one of the following:

enforcenextupdate

ciscoasa (config-ca-crl)# enforcenextupdate

Requires the NextUpdate field in CRLs. This is the default setting.

no enforcenextupdate

ciscoasa (config-ca-crl)# no enforcenextupdate

Allows the NextUpdate field to be absent in CRLs.

Step 8

ldap-defaults server

ciscoasa (config-ca-crl)# ldap-defaults ldap1

Identifies 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.

Note 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.

Step 9

ldap-dn admin-DN password

ciscoasa (config-ca-crl)# ldap-dn cn=admin,ou=devtest,o=engineering c00lRunZ

Allows CRL retrieval if the LDAP server requires credentials.

Step 10

crypto ca crl request trustpoint

ciscoasa (config-ca-crl)# crypto ca crl request Main

Retrieves the current CRL from the CA represented by the specified trustpoint and tests the CRL configuration for the current trustpoint.

Step 11

write memory

ciscoasa (config)# write memory

Saves the running configuration.

Exporting a Trustpoint Configuration

To export a trustpoint configuration, enter the following command:

Command

Purpose

crypto ca export trustpoint

ciscoasa(config)# crypto ca export Main

Exports a trustpoint configuration with all associated keys and certificates in PKCS12 format. 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---

Importing a Trustpoint Configuration

To import a trustpoint configuration, enter the following command:

Command

Purpose

crypto ca import trustpoint pkcs12

ciscoasa(config)# crypto ca import Main pkcs12

Imports keypairs and issued certificates that are associated with a trustpoint configuration. 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.
keyword.

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

Configuring CA Certificate Map Rules

command. The ASA supports one CA certificate map, which can include many rules.

To configure a CA certificate map rule, perform the following steps:

Command

Purpose

Step 1

crypto ca certificate map sequence-number

ciscoasa(config)# crypto ca certificate map 1

Enters CA certificate map configuration mode for the rule you want to configure and specifies the rule index number.

Step 2

issuer-name DN-string

issuer-name cn=asa.example.com

Specifies the distinguished name of all issued certificates. which is also the subject-name DN of the self-signed CA certificate. 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

subject-name attr tag eq | co | ne | nc string

subject-name attr cn eq mycert

Specifies tests that the ASA can apply to values found in the Subject field of certificates. 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:

- eq—The field or attribute must be identical to the value given.

- ne—The field or attribute cannot be identical to the value given.

- co—Part or all of the field or attribute must match the value given.

- nc—No part of the field or attribute can match the value given.

Step 4

write memory

ciscoasa (config)# write memory

Saves the running configuration.

Obtaining Certificates Manually

To obtain certificates manually, perform the following steps:

Command

Purpose

Step 1

crypto ca authenticate trustpoint

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

/7QEM8izy0EOTSErKu7Nd76jwf5e4qttkQ==

INFO: Certificate has the following attributes:

Fingerprint: 24b81433 409b3fd5 e5431699 8d490d34

Trustpoint CA certificate accepted.

% Certificate successfully imported

Imports the CA certificate for the configured trustpoint.

Note This step assumes that you have already obtained a base-64 encoded CA certificate from the CA represented by the trustpoint.
command when you configure the trustpoint. For more information, see Configuring Trustpoints.

Step 2

crypto ca enroll trustpoint

crypto ca enroll Main

% Start certificate enrollment ..

% The fully-qualified domain name in the certificate will be: securityappliance.example.com

Certificate Request follows:

MIIBoDCCAQkCAQAwIzEhMB8GCSqGSIb3DQEJAhYSRmVyYWxQaXguY2lzY28uY29t

jF4waw68eOxQxVmdgMWeQ+RbIOYmvt8g6hnBTrd0GdqjjVLt

---End - This line not part of the certificate request---

Enrolls the ASA with the trustpoint. Generates a certificate for signing data and depending on the type of keys that you have configured, for encrypting data.

command displays one certificate request.

command from the CA represented by the applicable trustpoint. Make sure that the certificate is in base-64 format.

Step 3

crypto ca import trustpoint certificate

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

quit

INFO: Certificate successfully imported

Imports each certificate you receive from the CA. Requests that you paste the certificate to the terminal in base-64 format.

Step 4

show crypto ca server certificate

ciscoasa(config)# show crypto ca server certificate Main

Verifies that the enrollment process was successful by displaying certificate details issued for the ASA and the CA certificate for the trustpoint.

Step 5

write memory

ciscoasa(config)# write memory

Saves the running configuration.

Repeat these steps for each trustpoint that you configure for manual enrollment.

Obtaining Certificates Automatically with SCEP

To obtain certificates automatically using SCEP, perform the following steps:

Command

Purpose

Step 1

crypto ca authenticate trustpoint

crypto ca authenticate Main

Obtains the CA certificate for the configured trustpoint.

Note This step assumes that you have already obtained a base-64 encoded CA certificate from the CA represented by the trustpoint.
command determines whether or not you must obtain certificates automatically via SCEP. For more information, see Configuring Trustpoints.

Step 2

crypto ca enroll trustpoint

crypto ca enroll Main

Enrolls the ASA with the trustpoint. 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.

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.

command.
command and notify the CA administrator.

Step 3

show crypto ca server certificate

ciscoasa/contexta(config)# show crypto ca server certificate Main

Verifies that the enrollment process was successful by displaying certificate details issued for the ASA and the CA certificate for the trustpoint.

Step 4

write memory

ciscoasa/contexta(config)# write memory

Saves the running configuration.

Configuring Proxy Support for SCEP Requests

To configure the ASA to authenticate remote access endpoints using third-party CAs, perform the following steps:

Command

Purpose

Step 1

ciscoasa(config-tunnel-ipsec)# crypto ikev2 enable outside client-services

Enables client services.

Note Needed only if you support IKEv2.
Enter this command in tunnel-group ipsec-attributes configuration mode.

The default port number is 443.

Step 2

ciscoasa(config-tunnel-general)# scep-enrollment enable

INFO: 'authentication aaa certificate' must be configured to complete setup of this option.

Enables SCEP enrollment for the tunnel group.

Enter this command in tunnel-group general-attributes configuration mode.

Step 3

ciscoasa(config-group-policy)# scep-forwarding-url value http://ca.example.com:80/

Enrolls the SCEP CA for the group policy.

Enter this command once per group policy to support a third-party digital certificate. Enter the command in group-policy general-attributes configuration mode.

is the SCEP URL on the CA.

Step 4

ciscoasa(config)# tunnel-group remotegrp webvpn-attributes

ciscoasa(config-tunnel-webvpn)# secondary-pre-fill-username clientless hide use-common-password secret

Supplies a common, secondary password when a certificate is unavailable for WebLaunch support of the SCEP proxy.

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 5

ciscoasa(config-tunnel-webvpn)# secondary-pre-fill-username ssl-client hide use-common-password secret

Hides the secondary prefill username for AnyConnect VPN sessions.

keyword inherited from earlier releases, use this command to support AnyConnect sessions that use either IKEv2 or SSL.

keyword to support the SCEP proxy.

Step 6

]

ciscoasa(config-tunnel-webvpn)# secondary-username-from-certificate CN no-certificate-fallback cisco-secure-desktop machine-unique-id

Supplies the username when a certificate is unavailable.

Enabling the Local CA Server

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 commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

no shutdown

)# no shutdown

Enables the local CA server. Generates the local CA server certificate, keypair and necessary database files, and archives the local CA server certificate and keypair to storage in a PKCS12 file. Requires an 8-65 alphanumeric character password. After initial startup, you can disable the local CA without being prompted for the passphrase.

Note After you enable the local CA server, save the configuration to make sure that the local CA certificate and keypair are not lost after a reboot occurs.

Examples

The following example enables the local CA server:

ciscoasa (config-ca-server)# no shutdown

% Some server settings cannot be changed after CA certificate generation.

% Please enter a passphrase to protect the private key

% or type Return to exit

Password: caserver

Re-enter password: caserver

Keypair generation process begin. Please wait...

The following is sample output that shows local CA server configuration and status:

Certificate Server LOCAL-CA-SERVER:

Status: enabled

State: enabled

Server's configuration is locked (enter “shutdown” to unlock it)

Issuer name: CN=wz5520-1-16

CA certificate fingerprint/thumbprint: (MD5)

76dd1439 ac94fdbc 74a0a89f cb815acc

CA certificate fingerprint/thumbprint: (SHA1)

58754ffd 9f19f9fd b13b4b02 15b3e4be b70b5a83

Last certificate issued serial number: 0x6

CA certificate expiration timer: 14:25:11 UTC Jan 16 2008

CRL NextUpdate timer: 16:09:55 UTC Jan 24 2007

Current primary storage dir: flash:

Configuring the Local CA Server

To configure the local CA server, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Generates the local CA.

Step 2

smtp from-address e-mail_address

Specifies 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 OTPs for an enrollment invitation to users.

Step 3

subject-name-default dn

(Optional) Specifies the subject-name DN that is appended to each username on issued certificates.

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

Step 4

no shutdown

no shutdown

Creates the self-signed certificate and associates it with the local CA on the ASA. 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 and enable the local CA server using the predefined default values for all required parameters:

hostname (config)# crypto ca server

hostname (config-ca-server) # smtp from-address SecurityAdmin@example.com

hostname (config-ca-server)# subject-name-default cn=engineer, o=asc Systems, c=US

hostname (config-ca-server)# no shutdown

Customizing the Local CA Server

To configure a customized local CA server, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

issuer-name DN-string

Specifies parameters that do not have default values.

Step 3

smtp subject subject-line

Customizes the text that appears in the subject field of all e-mail messages sent from the local CA server

Step 4

smtp from-address e-mail_address

Specifies 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.

Step 5

subject-name-default dn

subject-name default cn=engineer, o=ASC Systems, c=US

Specifies an optional subject-name DN to be appended to a username on issued certificates. 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 If you do not specify a subject-name-default to serve as a standard subject-name default, you must specify a DN each time that you add a user.

Debugging the Local CA Server

To debug the newly configured local CA server, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

debug crypto ca server

)# debug crypto ca server

Displays debugging messages when you configure and enable the local CA server. Performs level 1 debugging functions; levels 1-255 are available.

Note Debugging commands might slow down traffic on busy networks. Levels 5 and higher are reserved for raw data dumps and should be avoided during normal debugging because of excessive output.

Disabling the Local CA Server

To disable the local CA server, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

shutdown

)# shutdown

Disables the local CA server. Disables website enrollment and allows you to modify the local CA server configuration. Stores the current configuration and associated files. After initial startup, you can reenable the local CA without being prompted for the passphrase.

Deleting the Local CA Server

To delete an existing local CA server (either enabled or disabled), enter one of the following commands:

Command

Purpose

Do one of the following:

no crypto ca server

ciscoasa (config)# no crypto ca server

Removes an existing local CA server (either enabled or disabled).

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.*).

clear configure crypto ca server

ciscoasa (config)# clear config crypto ca server

Configuring Local CA Certificate Characteristics

You can configure the following characteristics of local CA certificates:

- The name of the certificate issuer as it appears on all user certificates.

- The lifetime of the local CA certificates (server and user) and the CRL.

- The length of the public and private keypairs associated with local CA and user certificates.

This section includes the following topics:

- Configuring the Issuer Name

- Configuring the CA Certificate Lifetime

- Configuring the User Certificate Lifetime

- Configuring the CRL Lifetime

- Configuring the Server Keysize

- Setting Up External Local CA File Storage

- Downloading CRLs

- Storing CRLs

- Setting Up Enrollment Parameters

- Adding and Enrolling Users

- Renewing Users

- Restoring Users

- Removing Users

- Revoking Certificates

- Maintaining the Local CA Certificate Database

- Rolling Over Local CA Certificates

- Archiving the Local CA Server Certificate and Keypair

Configuring the Issuer Name

To configure the certificate issuer name, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

issuer-name DN-string

.

Note You cannot change the issuer name value after the local CA is first enabled.

Configuring the CA Certificate Lifetime

To configure the local CA server certificate lifetime, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

lifetime ca-certificate time

# lifetime ca-certificate 365

Determines the expiration date included in the certificate. The default lifetime of a local CA certificate is three years.

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

no lifetime ca-certificate

# no lifetime ca-certificate

(Optional) Resets the local CA certificate lifetime to the default value of three years.

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 preexpiration 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.

Configuring the User Certificate Lifetime

To configure the user certificate lifetime, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

lifetime certificate time

lifetime certificate 60

Sets the length of time that you want user certificates to remain valid.

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.

Configuring the CRL Lifetime

To configure the CRL lifetime, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

lifetime crl time

lifetime crl 10

Sets the length of time that you want the CRL to remain valid.

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

crypto ca server crl issue

ciscoasa(config)# crypto ca server crl issue

A new CRL has been issued.

Forces the issuance of a CRL at any time, which immediately updates and regenerates a current CRL to overwrite the existing CRL.

Note Do not use this command unless the CRL file has been removed in error or has been corrupted and must be regenerated.

Configuring the Server Keysize

To configure the server keysize, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

keysize server

Specifies the size of the public and private keys generated at user-certificate enrollment. 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.

Setting Up External Local CA File Storage

You can store the local CA server configuration, users, issued certificates, and CRLs in the local CA server database either in flash memory or in an external local CA file system. To configure external local CA file storage, perform the following steps:

Command

Purpose

Step 1

mount name type

mount mydata type cifs

Accesses configuration mode for the specific file system type.

Step 2

mount name type cifs

hostname (config-mount-cifs)# mount mydata type cifs

server 10.1.1.10 share myshare

domain example.com

username user6

password ********

status enable

Mounts a CIFS file system.
command.

Step 3

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 4

database path mount-name directory-path

command.

Note 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.

Step 5

write memory

ciscoasa (config)# write memory

Saves the running configuration.

.

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 -rwx 32 13:07:49 Jan 20 2007 LOCAL-CA-SERVER.ser

77 -rwx 229 13:07:49 Jan 20 2007 LOCAL-CA-SERVER.cdb

69 -rwx 0 01:09:28 Jan 20 2007 LOCAL-CA-SERVER.udb

81 -rwx 232 19:09:10 Jan 20 2007 LOCAL-CA-SERVER.crl

72 -rwx 1603 01:09:28 Jan 20 2007 LOCAL-CA-SERVER.p12

127119360 bytes total (79693824 bytes free)

Downloading CRLs

To make the CRL available for HTTP download on a given interface or port, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

publish-crl interface interface port portnumber

publish-crl outside 70

Opens 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. The interface and optional port selections are as follows:

- inside—Name of interface/GigabitEthernet0/1

- management—Name of interface/ Management0/0

- outside—Name of interface/GigabitEthernet0/0

- Port numbers can range from 1-65535. TCP port 80 is the HTTP default port number.

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 The protocol must be HTTP, so the prefix displayed is http://.

Storing CRLs

To establish a specific location for the automatically generated CRL of the local CA, perform the following site-to-site task in either single or multiiple context mode:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

cdp-url url

# cdp-url http://172.16.1.1/pathname/myca.crl

/+CSCOCA+/asa_ca.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.

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.

Setting Up Enrollment Parameters

To set up enrollment parameters, perform the following commands:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

otp expiration timeout

# otp expiration 24

Specifies the number of hours that an issued OTP for the local CA enrollment page is valid. The default expiration time is 72 hours.

Note 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.

Step 3

enrollment-retrieval timeout

# enrollment-retrieval 120

Specifies the number of hours an already-enrolled user can retrieve a PKCS12 enrollment file.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.

Adding and Enrolling Users

To add a user who is eligible for enrollment in the local CA database, perform the following commands:

Command

Purpose

Step 1

crypto ca server user-db add username [dn dn ] [email emailaddress ]

crypto ca server user-db add user1 dn user1@example.com, Engineer, Example Company, US, email user1@example.com

Adds a new user to the local CA database. Options are as follows:

- username—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.

- dn —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).

- e-mail-address —The e-mail address of the new user to which OTPs and notices are to be sent.

Step 2

crypto ca server user-db allow user

crypto ca server user-db allow user6

Provides user privileges to a newly added user.

Step 3

crypto ca server user-db email-otp username

crypto ca server user-db email-otp exampleuser1

Notifies a user in the local CA database to enroll and download a user certificate, which automatically e-mails the OTP to that user.

Note 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.

Step 4

crypto ca server user-db show-otp

crypto ca server user-db show-otp

Shows the issued OTP.

Step 5

otp expiration timeout

otp expiration 24

Sets the enrollment time limit in hours. The default expiration time is 72 hours. The otp expiration 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.

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

Renewing Users

To specify the timing of renewal notices, perform the following steps:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

renewal-reminder time

# renewal-reminder 7

Specifies the number of days (1-90) before the local CA certificate expires that an initial reminder to reenroll is sent to certificate owners. 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.

Restoring Users

To restore a user and a previously revoked certificate that was issued by the local CA server, perform the following steps:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

crypto ca server unrevoke cert - serial-no

ciscoasa (config)# crypto ca server unrevoke 782ea09f

Restores a user and unrevokes a previously revoked certificate that was issued by the local CA server.

command. When you revoke (or unrevoke) any current certificate by certificate serial number, the CRL automatically reflects these changes.

Removing Users

To delete a user from the user database by username, perform the following steps:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

crypto ca server user-db remove username

ciscoasa (config)# crypto ca server user-db remove user1

Removes a user from the user database and allows revocation of any valid certificates that were issued to that user.

Revoking Certificates

To revoke a user certificate, perform the following steps:

Command

Purpose

Step 1

crypto ca server

ciscoasa (config)# crypto ca server

Enters local ca server configuration mode. Allows you to configure and manage a local CA.

Step 2

crypto ca server revoke cert - serial-no

crypto ca server revoke 782ea09f

Enters the certificate serial number in hexadecimal format. 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.

Maintaining the Local CA Certificate Database

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.crl file is the actual CRL.

- The LOCAL-CA-SERVER.ser file keeps track of the issued certificate serial numbers.

Rolling Over Local CA Certificates

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.

Examples

The following example shows a base 64 encoded local CA certificate:

MIIXlwIBAzCCF1EGCSqGSIb3DQEHAaCCF0IEghc+MIIXOjCCFzYGCSqGSIb3DQEHBqCCFycwghcjAgEAMIIXHAYJKoZIhvcNAQcBMBsGCiqGSIb3DQEMAQMwDQQIjph4SxJoyTgCAQGAghbw3v4bFy+GGG2dJnB4OLphsUM+IG3SDOiDwZG9n1SvtMieoxd7Hxknxbum06JDrujWKtHBIqkrm+td34qlNE1iGeP2YC94/NQ2z+4kS+uZzwcRhl1KEZTS1E4L0fSaC3uMTxJq2NUHYWmoc8pi4CIeLj3h7VVMy6qbx2AC8I+q57+QG5vG5l5Hi5imwtYfaWwPEdPQxaWZPrzoG1J8BFqdPa1jBGhAzzuSmElm3j/2dQ3Atro1G9nIsRHgV39fcBgwz4fEabHG7/Vanb+fj81d5nlOiJjDYYbP86tvbZ2yOVZR6aKFVI0b2AfCr6PbwfC9U8Z/aF3BCyM2sN2xPJrXva94CaYrqyotZdAkSYA5KWScyEcgdqmuBeGDKOncTknfgy0XM+fG5rb3qAXy1GkjyFI5Bm9Do6RUROoG1DSrQrKeq/hj….

END OF CERTIFICATE

Archiving the Local CA Server Certificate and Keypair

To archive the local CA server certificate and keypair, enter the following command:

Command

Purpose

copy

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.

Monitoring Digital Certificates

To display certificate configuration and database information, enter one or more of the following commands:

Command

Purpose

Shows local CA configuration and status.

Shows user certificates issued by the local CA.

Shows local CA certificates on the console in base 64 format and the rollover certificate when available, including the rollover certificate thumbprint for verification of the new certificate during import onto other devices.

Shows CRLs.

Shows users and their status, which can be used with the following qualifiers to reduce the number of displayed records:

- allowed. Shows only users currently allowed to enroll.

- enrolled. Shows only users that are enrolled and hold a valid certificate

- expired. Shows only users holding expired certificates.

- on-hold. Lists only users without a certificate and not currently allowed to enroll.

Shows users who are eligible to enroll.

Shows enrolled users with valid certificates.

Shows users with expired certificates.

Shows users without certificates who are not allowed to enroll.

Shows key pairs that you have generated.

Shows local CA certificate map rules.

Examples

The following example shows an RSA general-purpose key:

ciscoasa/contexta(config)# show crypto key mypubkey

Key pair was generated at: 16:39:47 central Feb 10 2010

Key name: <Default-RSA-Key>

Usage: General Purpose Key

Modulus Size (bits): 1024

Key Data:

30819f30 0d06092a 864886f7 0d010101 05000381 8d003081 89028181 00ea51b7

0781848f 78bccac2 4a1b5b8d 2f3e30b4 4cae9f86 f4485207 159108c9 f5e49103

9eeb0f5d 45fd1811 3b4aafce 292b3b64 b4124a6f 7a777b08 75b88df1 8092a9f8

5508e9e5 2c271245 7fd1c0c3 3aaf1e04 c7c4efa4 600f4c4a 6afe56ad c1d2c01c

e08407dd 45d9e36e 8cc0bfef 14f9e6ac eca141e4 276d7358 f7f50d13 79020301 0001

Key pair was generated at: 16:34:54 central Feb 10 2010

The following example shows the local CA CRL:

hostname (config)# show crypto ca server crl

Certificate Revocation List:

Issuer: cn=xx5520-1-3-2007-1

This Update: 13:32:53 UTC Jan 4 2010

Next Update: 13:32:53 UTC Feb 3 2010

Number of CRL entries: 2

CRL size: 270 bytes

Revoked Certificates:

Serial Number: 0x6f

Revocation Date: 12:30:01 UTC Jan 4 2010

Serial Number: 0x47

Revocation Date: 13:32:48 UTC Jan 4 2010

The following example shows one user on-hold:

hostname (config)# show crypto ca server user-db on-hold

username: wilma101

email: <None>

dn: <None>

allowed: <not allowed>

notified: 0

hostname (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

Feature History for Certificate Management

lists each feature change and the platform release in which it was implemented.

Table 42-1 Feature History for Certificate Management

Feature Name

Platform Releases

Feature Information

Certificate management

7.0(1)

Digital certificates (including CA certificates, identity certificates, and code signer 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.

Certificate management

7.2(1

We introduced the following commands:

revocation-check crl none, revocation-check crl, revocation-check none.

We deprecated the following commands: crl {required | optional | nocheck}.

Certificate management

8.0(2)

We introduced the following commands:

.

SCEP proxy

8.4(1)

We introduced this feature, which provides secure deployment of device certificates from third-party CAs.

We introduced the following commands:

].

Identity Firewall

This chapter describes how to configure the ASA for the Identity Firewall and includes the following sections:

- Information About the Identity Firewall

- Licensing for the Identity Firewall

- Guidelines and Limitations

- Prerequisites

- Configuring the Identity Firewall

- Monitoring the Identity Firewall

- Feature History for the Identity Firewall

Information About the Identity Firewall

This section includes the following topics:

- Overview of the Identity Firewall

- Architecture for Identity Firewall Deployments

- Features of the Identity Firewall

- Deployment Scenarios

Overview of the Identity Firewall

In an enterprise, users often need access to one or more server resources. Typically, a firewall is not aware of the users’ identities and, therefore, cannot apply security policies based on identity. To configure per-user access policies, you must configure a user authentication proxy, which requires user interaction (a username/password query).

The Identity Firewall in the ASA provides more granular access control based on users’ identities. You can configure access rules and security policies based on user names and user group names rather than through source IP addresses. The ASA applies the security policies based on an association of IP addresses to Windows Active Directory login information and reports events based on the mapped usernames instead of network IP addresses.

The Identity Firewall integrates with Microsoft Active Directory in conjunction with an external Active Directory (AD) Agent that provides the actual identity mapping. The ASA uses Windows Active Directory as the source to retrieve the current user identity information for specific IP addresses and allows transparent authentication for Active Directory users.

Identity-based firewall services enhance the existing access control and security policy mechanisms by allowing users or groups to be specified in place of source IP addresses. Identity-based security policies can be interleaved without restriction between traditional IP address-based rules.

The key benefits of the Identity Firewall include:

- Decoupling network topology from security policies

- Simplifying the creation of security policies

- Providing the ability to easily identify user activities on network resources

- Simplifying user activity monitoring

Architecture for Identity Firewall Deployments

The Identity Firewall integrates with Window Active Directory in conjunction with an external Active Directory (AD) Agent that provides the actual identity mapping.

The identity firewall consists of three components:

- ASA

- Microsoft Active Directory

Although Active Directory is part of the Identity Firewall on the ASA, Active Directory administrators manage it. The reliability and accuracy of the data depends on data in Active Directory.

Supported versions include Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 servers.

- Active Directory (AD) Agent

The AD Agent runs on a Windows server. Supported Windows servers include Windows 2003, Windows 2008, and Windows 2008 R2.

Note Windows 2003 R2 is not supported for the AD Agent server.

Figure 40-1 show the components of the Identity Firewall. The succeeding table describes the roles of these components and how they communicate with one another.

Figure 40-1 Identity Firewall Components

1

: Administrators configure local user groups and Identity Firewall policies.

4

: The client logs into the network through Microsoft Active Directory. The AD Server authenticates users and generates user login security logs.

Alternatively, the client can log into the network through a cut-through proxy or VPN.

2

: The ASA sends an LDAP query for the Active Directory groups configured on the AD Server.

The ASA consolidates local and Active Directory groups and applies access rules and Modular Policy Framework security policies based on user identity.

5

: Based on the policies configured on the ASA, it grants or denies access to the client.

If configured, the ASA probes the NetBIOS of the client to pass inactive and no-response users.

3

: Depending on the Identity Firewall configuration, the ASA downloads the IP-user database or sends a RADIUS request to the AD Agent that asks for the user’s IP address.

The ASA forwards the new mapped entries that have been learned from web authentication and VPN sessions to the AD Agent.

6

: The AD Agent maintains a cache of user ID and IP address mapped entries. and notifies the ASA of changes.

The AD Agent sends logs to a syslog server.

Features of the Identity Firewall

The Identity Firewall includes the following key features.

Flexibility

- The ASA can retrieve user identity and IP address mapping from the AD Agent by querying the AD Agent for each new IP address or by maintaining a local copy of the entire user identity and IP address database.

- Supports host group, subnet, or IP address for the destination of a user identity policy.

- Supports a fully qualified domain name (FQDN) for the source and destination of a user identity policy.

- Supports the combination of 5-tuple policies with ID-based policies. The identity-based feature works in tandem with the existing 5-tuple solution.

- Supports use with IPS and Application Inspection policies.

- Retrieves user identity information from remote access VPN, AnyConnect VPN, L2TP VPN and cut-through proxy. All retrieved users are populated to all ASAs that are connected to the AD Agent.

Scalability

- Each AD Agent supports 100 ASAs. Multiple ASAs are able to communicate with a single AD Agent to provide scalability in larger network deployments.

- Supports 30 Active Directory servers provided the IP address is unique among all domains.

- Each user identity in a domain can have up to 8 IP addresses.

- Supports up to 64,000 user identity-IP address mapped entries in active policies for the ASA 5500 Series models. This limit controls the maximum number of users who have policies applied. The total number of users are the aggregate of all users configured in all different contexts.

- Supports up to 1024 user identity-IP address mapped entries in active policies for the ASA 5505.

- Supports up to 256 user groups in active ASA policies.

- A single access rule can contain one or more user groups or users.

- Supports multiple domains.

Availability

- The ASA retrieves group information from the Active Directory and falls back to web authentication for IP addresses when the AD Agent cannot map a source IP address to a user identity.

- The AD Agent continues to function when any of the Active Directory servers or the ASA are not responding.

- Supports configuring a primary AD Agent and a secondary AD Agent on the ASA. If the primary AD Agent stops responding, the ASA can switch to the secondary AD Agent.

- If the AD Agent is unavailable, the ASA can fall back to existing identity sources such as cut-through proxy and VPN authentication.

- The AD Agent runs a watchdog process that automatically restarts its services when they are down.

- Allows a distributed IP address/user mapping database for use among ASAs.

Deployment Scenarios

You can deploy the components of the Identity Firewall in the following ways, depending on your environmental requirements.

Figure 40-2 shows how you can deploy the components of the Identity Firewall to allow for redundancy. Scenario 1 shows a simple installation without component redundancy. Scenario 2 also shows a simple installation without redundancy. However, in this deployment scenario, the Active Directory server and AD Agent are co-located on the same Windows server.

Figure 40-2 Deployment Scenario without Redundancy

Figure 40-3 shows how you can deploy the Identity Firewall components to support redundancy. Scenario 1 shows a deployment with multiple Active Directory servers and a single AD Agent installed on a separate Windows server. Scenario 2 shows a deployment with multiple Active Directory servers and multiple AD Agents installed on separate Windows servers.

Figure 40-3 Deployment Scenario with Redundant Components

Figure 40-4 shows how all Identity Firewall components—Active Directory server, the AD Agent, and the clients—are installed and communicate on the LAN.

Figure 40-4 LAN -based Deployment

Figure 40-5 shows a WAN-based deployment to support a remote site. The Active Directory server and the AD Agent are installed on the main site LAN. The clients are located at a remote site and connect to the Identity Firewall components over a WAN.

Figure 40-5 WAN-based Deployment

Figure 40-6 also shows a WAN-based deployment to support a remote site. The Active Directory server is installed on the main site LAN. However, the AD Agent is installed and accessed by the clients at the remote site. The remote clients connect to the Active Directory servers at the main site over a WAN.

Figure 40-6 WAN-based Deployment with Remote AD Agent

Figure 40-7 shows an expanded remote site installation. An AD Agent and Active Directory servers are installed at the remote site. The clients access these components locally when logging into network resources located at the main site. The remote Active Directory server must synchronize its data with the central Active Directory servers located at the main site.

Figure 40-7 WAN-based Deployment with Remote AD Agent and AD Servers

Licensing for the Identity Firewall

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall modes.

Failover Guidelines

- The Identity Firewall supports user identity-IP address mapping and AD Agent status replication from active to standby when Stateful Failover is enabled. However, only user identity-IP address mapping, AD Agent status, and domain status are replicated. User and user group records are not replicated to the standby ASA.

- When failover is configured, the standby ASA must also be configured to connect to the AD Agent directly to retrieve user groups. The standby ASA does not send NetBIOS packets to clients even when the NetBIOS probing options are configured for the Identity Firewall.

- When a client is determined to be inactive by the active ASA, the information is propagated to the standby ASA. User statistics are not propagated to the standby ASA.

- When you have failover configured, you must configure the AD Agent to communicate with both the active and standby ASAs. See the Installation and Setup Guide for the Active Directory Agent for the steps to configure the ASA on the AD Agent server.

IPv6 Guidelines

- Supports IPv6.

- The AD Agent supports endpoints with IPv6 addresses. It can receive IPv6 addresses in log events, maintain them in its cache, and send them through RADIUS messages.

- NetBIOS over IPv6 is not supported.

Additional Guidelines and Limitations

- A full URL as a destination address is not supported.

- For NetBIOS probing to function, the network between the ASA, AD Agent, and clients must support UDP-encapsulated NetBIOS traffic.

- MAC address checking by the Identity Firewall does not work when intervening routers are present. Users logged into clients that are behind the same router have the same MAC addresses. With this implementation, all the packets from the same router are able to pass the check, because the ASA is unable to ascertain the actual MAC addresses behind the router.

- The following ASA features do not support using the identity-based object and FQDN in an extended ACL:

– Route maps

– Crypto maps

– WCCP

– NAT

– Group policy (except for VPN filters)

– DAP

- You can use the user-identity update active-user-database command to actively initiate a user-IP address download from the AD agent.

By design, if a previous download session has finished, the ASA does not allow you to issue this command again.

command, the following error message appears:

“ERROR: one update active-user-database is already in progress.”

command.

Another example of this behavior occurs because of packet loss from the AD Agent to the ASA.

command, the ASA requests the total number of user-IP mapped entries to be downloaded. Then the AD Agent initiates a UDP connection to the ASA and sends the change of authorization request packet.

command.

- When you use the Cisco Context Directory Agent (CDA) in conjunction with the ASA or Cisco Ironport Web Security Appliance (WSA), make sure that you open the following ports:

– Authentication port for UDP—1645

– Accounting port for UDP—1646

– Listening port for UDP—3799

The listening port is used to send change of authorization requests from the CDA to the ASA or to the WSA.

- For domain names, the following characters are not valid: \/:*?"<>|. For naming conventions, see http://support.microsoft.com/kb/909264 .

- For usernames, the following characters are not valid: \/[]:;=,+*?"<>|@.

- For user group names, the following characters are not valid: \/[]:;=,+*?"<>|.

Prerequisites

Before configuring the Identity Firewall in the ASA, you must meet the prerequisites for the AD Agent and Microsoft Active Directory.

AD Agent

- The AD Agent must be installed on a Windows server that is accessible to the ASA. Additionally, you must configure the AD Agent to obtain information from the Active Directory servers and to communicate with the ASA.

- Supported Windows servers include Windows 2003, Windows 2008, and Windows 2008 R2.

Note Windows 2003 R2 is not supported for the AD Agent server.

- For the steps to install and configure the AD Agent, see the Installation and Setup Guide for the Active Directory Agent .

- Before configuring the AD Agent in the ASA, obtain the secret key value that the AD Agent and the ASA use to communicate. This value must match on both the AD Agent and the ASA.

Microsoft Active Directory

- Microsoft Active Directory must be installed on a Windows server and accessible by the ASA. Supported versions include Windows 2003, 2008, and 2008 R2 servers.

- Before configuring the Active Directory server on the ASA, create a user account in Active Directory for the ASA.

- Additionally, the ASA sends encrypted log-in information to the Active Directory server by using SSL enabled over LDAP. SSL must be enabled on the Active Directory server. See the documentation for Microsoft Active Directory for how to enable SSL for Active Directory.

Note Before running the AD Agent Installer, you must install the patches listed in the README First for the Cisco Active Directory Agent on each Microsoft Active Directory server that the AD Agent monitors. These patches are required even when the AD Agent is installed directly on the domain controller server.

Configuring the Identity Firewall

This section contains the following topics:

- Task Flow for Configuring the Identity Firewall

- Configuring the Active Directory Domain

- Configuring Active Directory Agents

- Configuring Identity Options

- Configuring Identity-Based Security Policy

- Collecting User Statistics

Task Flow for Configuring the Identity Firewall

To configure the Identity Firewall, perform the following tasks:

Step 1 Configure the Active Directory domain in the ASA.

See Configuring the Active Directory Domain.

See also the Deployment Scenarios for the ways in which you can deploy the Active Directory servers to meet your environment requirements.

Step 2 Configure the AD Agent in ASA.

See Configuring Active Directory Agents.

See also Deployment Scenarios for the ways in which you can deploy the AD Agents to meet your environment requirements.

Step 3 Configure Identity Options.

See Configuring Identity Options.

Step 4 Configure Identity-based Security Policy. After the AD domain and AD Agent are configured, you can create identity-based object groups and ACLs for use in many features.

See Configuring Identity-Based Security Policy.

Configuring the Active Directory Domain

Active Directory domain configuration on the ASA is required for the ASA to download Active Directory groups and accept user identities from specific domains when receiving IP-user mapping from the AD Agent.

Prerequisites

- Active Directory server IP address

- Distinguished Name for LDAP base DN

- Distinguished Name and password for the Active Directory user that the Identity Firewall uses to connect to the Active Directory domain controller

To configure the Active Directory domain, perform the following steps:

Command

Purpose

Step 1

aaa-server server-tag protocol ldap

ciscoasa(config)# aaa-server adserver protocol ldap

Creates the AAA server group and configures AAA server parameters for the Active Directory server.

Step 2

aaa-server server-tag [( interface-name )] host { server-ip | name } [ key ] [ timeout seconds ]

ciscoasa(config-aaa-server-group)# aaa-server adserver (mgmt) host 172.168.224.6

For the Active Directory server, configures the AAA server as part of a AAA server group and the AAA server parameters that are host-specific.

Step 3

ldap-base-dn string

ciscoasa(config-aaa-server-host)# ldap-base-dn DC=SAMPLE,DC=com

Specifies the location in the LDAP hierarchy where the server should begin searching when it receives an authorization request.

command is optional. If you do not specify this command, the ASA retrieves the defaultNamingContext from the Active Directory and uses it as the base DN.

Step 4

ldap-scope subtree

ciscoasa(config-aaa-server-host)# ldap-scope subtree

Specifies the extent of the search in the LDAP hierarchy that the server should make when it receives an authorization request.

Step 5

ldap-login-password string

ciscoasa(config-aaa-server-host)# ldap-login-password obscurepassword

Specifies the login password for the LDAP server.

Step 6

ldap-login-dn string

ciscoasa(config-aaa-server-host)# ldap-login-dn SAMPLE\user1

Specifies the name of the directory object that the system should bind this as. The ASA identifies itself for authenticated binding by attaching a Login DN field to the user authentication request. The Login DN field describes the authentication characteristics of the ASA.

argument is a case-sensitive string of up to 128 characters that specifies the name of the directory object in the LDAP hierarchy. Spaces are not permitted in the string, but other special characters are allowed.

You can specify the traditional or simplified format.

command format includes: CN=username,OU=Employees,OU=Sample Users,DC=sample,DC=com.

Step 7

server-type microsoft

ciscoasa(config-aaa-server-host)# server-type microsoft

Configures the LDAP server model for the Microsoft Active Directory server.

Step 8

ldap-group-base-dn string

ciscoasa(config-aaa-server-host)# ldap-group-base-dn OU=Sample Groups,DC=SAMPLE,DC=com

command is used.

command is optional.

Step 9

ldap-over-ssl enable

ciscoasa(config-aaa-server-host)# ldap-over-ssl enable

Allows the ASA to access the Active Directory domain controller over SSL. To support LDAP over SSL, Active Directory server needs to be configured to have this support.

By default, the Active Directory does not have SSL configured. If SSL is not configured on the Active Directory, you do not need to configure it on the ASA for the Identity Firewall.

Step 10

server-port port-number

ciscoasa(config-aaa-server-host)# server-port 389

ciscoasa(config-aaa-server-host)# server-port 636

command is enabled, the default server port is 636.

Step 11

group-search-timeout seconds

ciscoasa(config-aaa-server-host)# group-search-timeout 300

Sets the amount of time before LDAP queries time out.

.

Configuring Active Directory Agents

Configure the primary and secondary AD Agents for the AD Agent Server Group. When the ASA detects that the primary AD Agent is not responding and a secondary agent is specified, the ASA switches to the secondary AD Agent. The Active Directory server for the AD agent uses RADIUS as the communication protocol; therefore, you should specify a key attribute for the shared secret between the ASA and AD Agent.

Prerequisites

Make sure that you have the following information before configuring the AD Agents:

- AD agent IP address

- Shared secret between the ASA and AD agent

To configure the AD Agents, perform the following steps:

Command

Purpose

Step 1

aaa-server server-tag protocol radius

ciscoasa(config)# aaa-server adagent protocol radius

Creates the AAA server group and configures AAA server parameters for the AD Agent.

Step 2

ad-agent-mode

ciscoasa(config)# ad-agent-mode

Enables the AD Agent mode.

Step 3

aaa-server server-tag [( interface-name )] host { server-ip | name } [ key ] [ timeout seconds ]

ciscoasa(config-aaa-server-group)# aaa-server adagent (inside) host 192.168.1.101

For the AD Agent, configures the AAA server as part of a AAA server group and the AAA server parameters that are host-specific.

Step 4

key key

ciscoasa(config-aaa-server-host)# key mysecret

Specifies the server secret value used to authenticate the ASA to the AD Agent server.

Step 5

user-identity ad-agent aaa-server aaa_server_group_tag

ciscoasa(config-aaa-server-hostkey)# user-identity ad-agent aaa-server adagent

Defines the server group of the AD Agent.

is the primary AD Agent and the second server defined is the secondary AD Agent.

The Identity Firewall supports defining only two AD Agent hosts.

When the ASA detects that the primary AD Agent is down and a secondary agent is specified, it switches to the secondary AD Agent. The AAA server for the AD agent uses RADIUS as the communication protocol, and should specify a key attribute for the shared secret between the ASA and AD Agent.

Step 6

test aaa-server ad-agent

ciscoasa(config-aaa-server-host)# test aaa-server ad-agent

Tests the communication between the ASA and the AD Agent server.

What to Do Next

Configure access rules for the Identity Firewall. See Configuring Identity-Based Security Policy.

Configuring Identity Options

check box to enable the feature. By default, the Identity Firewall feature is disabled.

Prerequisites

Before configuring the identify options for the Identity Firewall, you must meet the prerequisites for the AD Agent and Microsoft Active Directory. See Prerequisites for the requirements of the AD Agent and Microsoft Active Directory installation.

To configure the Identity Options for the Identity Firewall, perform the following steps:

Command

Purpose

Step 1

user-identity enable

ciscoasa(config)# user-identity enable

Enables the Identity Firewall feature.

Step 2

user-identity default-domain domain_NetBIOS_name

ciscoasa(config)# user-identity default-domain SAMPLE

Specifies the default domain for the Identity Firewall.

enter a name of up to 32 characters that consists of [a-z], [A-Z], [0-9], [!@#$%^&()-_=+[]{};,. ] except '.' and ' ' at the first character. If the domain name includes a space, enclose the entire name in quotation marks. The domain name is not case sensitive.

The default domain is used for all users and user groups when a domain has not been explicitly configured for those users or groups. When a default domain is not specified, the default domain for users and groups is LOCAL. For multiple context modes, you can set a default domain name for each context, as well as within the system execution space.

Note The default domain name that you specify must match the NetBIOS domain name configured on the Active Directory domain controller. If the domain name does not match, the AD Agent incorrectly associates the user identity-IP address mapped entries with the domain name that you enter when configuring the ASA. To view the NetBIOS domain name, open the Active Directory user event security log in any text editor.

The Identity Firewall uses the LOCAL domain for all locally defined user groups or locally defined users. Users logging in through a web portal (cut-through proxy) are designated as belonging to the Active Directory domain with which they authenticated. Users logging in through a VPN are designated as belonging to the LOCAL domain unless the VPN is authenticated by LDAP with the Active Directory. In this case, the Identity Firewall can associate the users with their Active Directory domain.

Step 3

user-identity domain domain_nickname aaa-server aaa_server_group_tag

ciscoasa(config)# user-identity domain SAMPLE aaa-server ds

Associates the LDAP parameters defined for the AAA server for importing user group queries with the domain name.

enter a name of up to 32 characters consisting of [a-z], [A-Z], [0-9], [!@#$%^&()-_=+[]{};,. ] except '.' and ' ' at the first character. If the domain name includes a space, you must enclose that space character in quotation marks. The domain name is not case sensitive.

Step 4

user-identity logout-probe netbios local-system probe-time minutes minutes retry-interval seconds seconds retry-count times [ user-not-needed | match-any | exact-match ]

ciscoasa(config)# user-identity logout-probe netbios local-system probe-time minutes 10 retry-interval seconds 10 retry-count 2 user-not-needed

Enables NetBIOS probing. Enabling this option configures how often the ASA probes the user client IP address to determine whether the client is still active. By default, NetBIOS probing is disabled.

To minimize the NetBIOS packets, the ASA only sends a NetBIOS probe to a client when the user has been idle for more than the specified number of minutes.

- Exact - match —The username of the user assigned to the IP address must be the only one in the NetBIOS response. Otherwise, the user identity of that IP address is considered invalid.

- User - not - needed —As long as the ASA received a NetBIOS response from the client, the user identity is considered valid.

The Identity Firewall only performs NetBIOS probing for those users identities that are in the active state and exist in at least one security policy. The ASA does not perform NetBIOS probing for clients where the users logged in through cut-through proxy or by using a VPN.

Step 5

user-identity inactive-user-timer minutes minutes

ciscoasa(config)# user-identity inactive-user-timer minutes 120

Specifies the amount of time before a user is considered idle, meaning the ASA has not received traffic from the user's IP address for the specified amount of time.

When the timer expires, the user's IP address is marked as inactive and removed from the local cached user identity-IP address mapping database, and the ASA no longer notifies the AD Agent about that IP address. Existing traffic is still allowed to pass. When this command is specified, the ASA runs an inactive timer even when the NetBIOS Logout Probe is configured.

By default, the idle timeout is set to 60 minutes.

Note The Idle Timeout option does not apply to VPN or cut-through proxy users.

Step 6

user-identity poll-import-user-group-timer hours hours

ciscoasa(config)# user-identity poll-import-user-group-timer hours 1

Specifies the amount of time before the ASA queries the Active Directory server for user group information.

If a user is added to or deleted from an Active Directory group, the ASA received the updated user group after the import group timer ran.

value is 8 hours.

command.

Step 7

user-identity action netbios-response-fail remove-user-ip

ciscoasa(config)# user-identity action netbios-response-fail remove-user-ip

Specifies the action when a client does not respond to a NetBIOS probe. For example, the network connection might be blocked to that client or the client is not active.

command is configured, the ASA removed the user identity-IP address mapping for that client.

By default, this command is disabled.

Step 8

user-identity action domain-controller-down domain_nickname disable-user-identity-rule

ciscoasa(config)# user-identity action domain-controller-down SAMPLE disable-user-identity-rule

Specifies the action when the domain is down, because the Active Directory domain controller is not responding.

command.

By default, this command is disabled.

Step 9

user-identity user-not-found enable

Enables user-not-found tracking. Only the last 1024 IP addresses are tracked.

By default, this command is disabled.

Step 10

user-identity action ad-agent-down disable-user-identity-rule

ciscoasa(config)# user-identity action ad-agent-down disable-user-identity-rule

Specifies the action when the AD Agent is not responding.

command.

By default, this command is disabled.

Step 11

user-identity action mac-address-mismatch remove-user-ip

ciscoasa(config)# user-identity action mac-address-mismatch remove-user-ip

Specifies the action when a user's MAC address is found to be inconsistent with the ASA IP address currently mapped to that MAC address.

command is configured, the ASA removes the user identity-IP address mapping for that client.

keyword when this command is specified.

Step 12

user-identity ad-agent active-user-database { on-demand | full-download }

ciscoasa(config)# user-identity ad-agent active-user-database full-download

Defines how the ASA retrieves the user identity-IP address mapping information from the AD Agent:

- Full-download —Specifies that the ASA send a request to the AD Agent to download the entire IP-user mapping table when the ASA starts and then to receive incremental IP-user mapping information when users log in and log out.

- On-demand —Specifies that the ASA retrieve the user mapping information of an IP address from the AD Agent when the ASA receives a packet that requires a new connection, and the user of its source IP address is not in the user-identity database.

By default, the ASA 5505 uses the on-demand option. The other ASA platforms use the full-download option.

Full downloads are event driven, meaning that when there are subsequent requests to download the database, just the updates to the user identity-IP address mapping database are sent.

When the ASA registers a change request with the AD Agent, the AD Agent sends a new event to the ASA.

Step 13

user-identity ad-agent hello-timer seconds seconds retry-times number

ciscoasa(config)# user-identity ad-agent hello-timer seconds 20 retry-times 3

Defines the hello timer between the ASA and the AD Agent.

The hello timer between the ASA and the AD Agent defines how frequently the ASA exchanges hello packets. The ASA uses the hello packet to obtain ASA replication status (in-sync or out-of-sync) and domain status (up or down). If the ASA does not receive a response from the AD Agent, it resends a hello packet after the specified interval.

By default, the hello timer is set to 30 seconds and 5 retries.

Step 14

user-identity ad-agent event-timestamp-check

ciscoasa(config)# user-identity ad-agent event-timestamp-check

Enables the ASA to keep track of the last event time stamp that it receives for each identifier and to discard any message if the event time stamp is at least 5 minutes older than the ASA’s clock, or if its time stamp is earlier than the last event’s time stamp.

For a newly booted ASA that does not have knowledge of the last event time stamp, the ASA compares the event time stamp with its own clock. If the event is at least 5 minutes older, the ASA does not accept the message.

We recommend that you configure the ASA, Active Directory, and Active Directory agent to synchronize their clocks among themselves using NTP.

Step 15

user-identity ad-agent aaa-server aaa_server_group_tag

ciscoasa(config)# user-identity ad-agent aaa-server adagent

Defines the server group of the AD Agent.

command.

What to Do Next

Configure the Active Directory domain and server groups. See Configuring the Active Directory Domain.

Configure AD Agents. See Configuring Active Directory Agents.

Configuring Identity-Based Security Policy

You can incorporate identity-based policy in many ASA features. Any feature that uses extended ACLs (other than those listed as unsupported in the Guidelines and Limitations) can take advantage of an identity firewall. You can now add user identity arguments to extended ACLs, as well as network-based parameters.

- To configure an extended ACL, see Chapter21, “Extended Access Control Lists”

- To configure local user groups, which can be used in the ACL, see Configuring Local User Groups.

Features that can use identity include the following:

- Access rules—An access rule permits or denies traffic on an interface using network information. With an identity firewall, you can control access based on user identity. See firewall configuration guide.

- AAA rules—An authentication rule (also known as cut-through proxy) controls network access based on the user. Because this function is very similar to an access rule plus an identity firewall, AAA rules can now be used as a backup method of authentication if a user’s AD login expires. For example, for any user without a valid login, you can trigger a AAA rule. To ensure that the AAA rule is only triggered for users that do not have valid logins, you can specify special usernames in the extended ACL used for the access rule and for the AAA rule: None (users without a valid login) and Any (users with a valid login). In the access rule, configure your policy as usual for users and groups, but then include a AAA rule that permits all None users; you must permit these users so they can later trigger a AAA rule. Then, configure a AAA rule that denies Any users (these users are not subject to the AAA rule, and were handled already by the access rule), but permits all None users. For example:

access-list 100 ex permit ip user CISCO\xyz any any

access-list 100 ex deny ip user CISCO\abc any any

access-list 100 ex permit ip user NONE any any

access-list 100 ex deny any any

access-group 100 in interface inside

access-list 200 ex deny ip user ANY any any

access-list 200 ex permit user NONE any any

aaa authenticate match 200 inside user-identity

For more information, see the legacy feature guide.

- Cloud Web Security—You can control which users are sent to the Cloud Web Security proxy server. In addition, you can configure policy on the Cloud Web Security ScanCenter that is based on user groups that are included in ASA traffic headers sent to Cloud Web Security. See the firewall configuration guide.

- VPN filter—Although a VPN does not support identity firewall ACLs in general, you can configure the ASA to enforce identity-based access rules on VPN traffic. By default, VPN traffic is not subject to access rules. You can force VPN clients to abide by access rules that use an identity firewall ACL (with the no sysopt connection permit-vpn command). You can also use an identity firewall ACL with the VPN filter feature; a VPN filter accomplishes a similar effect as allowing access rules in general.

Collecting User Statistics

To activate the collection of user statistics by the Modular Policy Framework and match lookup actions for the Identify Firewall, enter the following command:

Command

Purpose

user-statistics [ accounting | scanning ]

ciscoasa (config)# class-map c-identity-example-1

ciscoasaciscoasa(config-cmap)# match access-list identity-example-1

ciscoasaciscoasa(config-cmap)# exit

ciscoasaciscoasa(config)# policy-map p-identity-example-1

ciscoasaciscoasa(config-pmap)# class c-identity-example-1

ciscoasaciscoasa(config-pmap)# user-statistics accounting

ciscoasaciscoasa(config-pmap)# exit

ciscoasaciscoasa(config)# service-policy p-identity-example-1 interface outside

Activates the collection of user statistics by the Modular Policy Framework and matches lookup actions for the Identify Firewall.

keyword specifies that the ASA collect only the sent drop count.

keywords, the ASA collects both accounting and scanning statistics.

Configuration Examples

This section includes the following topics:

- AAA Rule and Access Rule Example 1

- AAA Rule and Access Rule Example 2

- VPN Filter Example

AAA Rule and Access Rule Example 1

This example shows a typical cut-through proxy configuration to allow a user to log in through the ASA. In this example, the following conditions apply:

- The ASA IP address is 172.1.1.118.

- The Active Directory domain controller has the IP address 71.1.2.93.

- The end-user client has the IP address 172.1.1.118 and uses HTTPS to log in through a web portal.

- The user is authenticated by the Active Directory domain controller via LDAP.

- The ASA uses the inside interface to connect to the Active Directory domain controller on the corporate network.

ciscoasa(config)# access-list AUTH extended permit tcp any 172.1.1.118 255.255.255.255 eq http

ciscoasa(config)# access-list AUTH extended permit tcp any 172.1.1.118 255.255.255.255 eq https

ciscoasa(config)# aaa-server LDAP protocol ldap

ciscoasa(config-aaa-server-group)# aaa-server LDAP (inside) host 171.1.2.93

ciscoasa(config-aaa-server-host)# ldap-base-dn DC=cisco,DC=com

ciscoasa(config-aaa-server-host)# ldap-group-base-dn DC=cisco,DC=com

ciscoasa(config-aaa-server-host)# ldap-scope subtree

ciscoasa(config-aaa-server-host)# ldap-login-dn cn=kao,OU=Employees,OU=Cisco Users,DC=cisco,DC=com

ciscoasa(config-aaa-server-host)# ldap-login-password *****

ciscoasa(config-aaa-server-host)# ldap-over-ssl enable

ciscoasa(config-aaa-server-host)# server-type microsoft

ciscoasa(config-aaa-server-host)# aaa authentication match AUTH inside LDAP

ciscoasa(config)#

ciscoasa(config)# http server enable

ciscoasa(config)# http 0.0.0.0 0.0.0.0 inside

ciscoasa(config)#

ciscoasa(config)# auth-prompt prompt Enter Your Authentication

ciscoasa(config)# auth-prompt accept You are Good

ciscoasa(config)# auth-prompt reject Goodbye

AAA Rule and Access Rule Example 2

In this example, the following guidelines apply:

- In access list commands, permit user NONE rules should be written before entering the access-list 100 ex deny any any command to allow unauthenticated incoming users to trigger AAA cut-through proxy.

- In the auth access-list command, permit user NONE rules guarantee only unauthenticated trigger cut-through proxy. Ideally, they should be the last lines.

ciscoasa(config)# access-list listenerAuth extended permit tcp any any

ciscoasa(config)# aaa authentication match listenerAuth inside ldap

ciscoasa(config)# aaa authentication listener http inside port 8888

ciscoasa(config)# access-list 100 ex permit ip user SAMPLE\user1 any any

ciscoasa(config)# access-list 100 ex deny ip user SAMPLE\user2 any any

ciscoasa(config)# access-list 100 ex permit ip user NONE any any

ciscoasa(config)# access-list 100 ex deny any any

ciscoasa(config)# access-group 100 in interface inside

ciscoasa(config)# aaa authenticate match 200 inside user-identity

VPN Filter Example

Some traffic might need to bypass the Identity Firewall.

The ASA reports users logging in through VPN authentication or a web portal (cut-through proxy) to the AD Agent, which distributes the user information to all registered ASA devices. Specifically, the IP-user mapping of authenticated users is forwarded to all ASA contexts that include the input interface where HTTP/HTTPS packets are received and authenticated. The ASA designates users logging in through a VPN as belonging the LOCAL domain.

There are two different ways to apply identity firewall (IDFW) rules to VPN users:

- Apply VPN-Filter with bypassing access-list check disabled

- Apply VPN-Filter with bypassing access-list check enabled

VPN with IDFW Rule -1 Example

command is enabled and VPN traffic is exempted from an access list check. To apply interface-based ACL rules for VPN traffic, VPN traffic access list bypassing needs to be disabled.

In this example, if the user logs in from the outside interface, the IDFW rules control which network resources are accessible. All VPN users are to be stored under the LOCAL domain. Therefore, it is only meaningful to apply the rules for LOCAL users or object groups that include LOCAL users.

! Apply VPN-Filter with bypassing access-list check disabled

no sysopt connection permit-vpn

access-list v1 extended deny ip user LOCAL\idfw any 10.0.0.0 255.255.255.0

access-list v1 extended permit ip user LOCAL\idfw any 20.0.0.0 255.255.255.0

access-group v1 in interface outside

VPN with IDFW Rule -2 Example

command is enabled, with VPN traffic access bypassing enabled. A VPN filter can be used to apply the IDFW rules to the VPN traffic. A VPN filter with IDFW rules can be defined in the CLI username and group policy.

In the example, when user idfw logs in, the user can access network resources in the 10.0.00/24 subnet. However, when user user1 logs in, access to network resources in 10.0.00/24 subnet is denied. Note that all VPN users are stored under the LOCAL domain. Therefore, it is only meaningful to apply the rules for LOCAL users or object groups that include LOCAL users.

Note IDFW rules can only be applied to VPN filters under group policy and are not available in all of the other group policy features.

! Apply VPN-Filter with bypassing access-list check enabled

sysopt connection permit-vpn

access-list v1 extended permit ip user LOCAL\idfw any 10.0.0.0 255.255.255.0

access-list v2 extended deny ip user LOCAL\user1 any 10.0.0.0 255.255.255.0

username user1 password QkBIIYVi6IFLEsYv encrypted privilege 0 username user1 attributes

vpn-group-policy group1 vpn-filter value v2

username idfw password eEm2dmjMaopcGozT encrypted

username idfw attributes

vpn-group-policy testgroup vpn-filter value v1

sysopt connection permit-vpn

access-list v1 extended permit ip user LOCAL\idfw any 10.0.0.0 255.255.255.0 access-list v1 extended deny ip user LOCAL\user1 any 10.0.0.0 255.255.255.0 group-policy group1 internal

group-policy group1 attributes

vpn-filter value v1

vpn-tunnel-protocol ikev1 l2tp-ipsec ssl-client ssl-clientless

Monitoring the Identity Firewall

This section includes the following topics:

- Monitoring AD Agents

- Monitoring Groups

- Monitoring Memory Usage for the Identity Firewall

- Monitoring Users for the Identity Firewall

Monitoring AD Agents

To obtain troubleshooting information for the AD Agent, use one of the following commands:

- show user-identity ad-agent

- show user-identity ad-agent statistics

These commands display the following information about the primary and secondary AD Agents:

- Status of the AD Agents

- Status of the domains

- Statistics for the AD Agents

Monitoring Groups

command.

Monitoring Memory Usage for the Identity Firewall

command.

The command displays the memory usage in bytes of various modules in the Identity Firewall:

- Users

- Groups

- User Stats

- LDAP

The ASA sends an LDAP query for the Active Directory groups configured on the Active Directory server. The Active Directory server authenticates users and generates user login security logs.

- AD Agent

- Miscellaneous

- Total Memory Usage

Note How you configure the Identity Firewall to retrieve user information from the AD Agent affects the amount of memory used by the feature. You specify whether the ASA uses on-demand retrieval or full download retrieval. Choosing on-demand retrieval has the benefit of using less memory because only users of received packets are queried and stored. For more information, see Configuring Identity Options.

Monitoring Users for the Identity Firewall

To obtain troubleshooting information for the AD Agent, enter one of the following commands:

- show user-identity user all list

- show user-identity user active user domain \ user-name list detail

These commands display the following information for users:

Status (active or inactive)

Connections

Minutes Idle

Active Connections

Minutes Idle

The default domain name can be the real domain name, a special reserved word, or LOCAL. The Identity Firewall uses the LOCAL domain name for all locally defined user groups or locally defined users (users who log in and authenticate by using a VPN or web portal). When the default domain is not specified, the default domain is LOCAL.

The idle time is stored on a per-user basis instead of by the IP address of a user.

command is configured and the AD Agent is down, all the logged-in users have the disabled status.

Feature History for the Identity Firewall

lists the release history for this feature.

\

Table 40-1 Feature History for the Identity Firewall

Feature Name

Releases

Feature Information

Identity Firewall

8.4(2)

The Identity Firewall feature was introduced.

.

LDAP Servers for AAA

This chapter describes how to configure LDAP servers used in AAA and includes the following sections:

- Information About LDAP and the ASA

- Licensing Requirements for LDAP Servers

- Guidelines and Limitations

- Configuring LDAP Servers

- Monitoring LDAP Servers

- Feature History for LDAP Servers

Information About LDAP and the ASA

The ASA is compatible with the most LDAPv3 directory servers, including:

- Sun Microsystems JAVA System Directory Server, now part of Oracle Directory Server Enterprise Edition, and formerly named the Sun ONE Directory Server

- Microsoft Active Directory

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

LDAP Server Guidelines

When configuring the LDAP server, note the following 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.

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

How Authentication Works with LDAP

During authentication, the ASA acts as a client proxy to the LDAP server for the user, and authenticates to the LDAP server in either plain text or by using the SASL protocol. By default, the ASA passes authentication parameters, usually a username and password, to the LDAP server in plain text.

The ASA supports the following SASL mechanisms, listed in order of increasing strength:

- Digest-MD5—The ASA responds to the LDAP server with an MD5 value computed from the username and password.

- Kerberos—The ASA responds to the LDAP server by sending the username and realm using the GSSAPI Kerberos mechanism.

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 the LDAP protocol, see RFCs 1777, 2251, and 2849.

About the 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 Figure 38-1 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 38-1 A Multi-Level LDAP Hierarchy

Searching the LDAP Hierarchy

The ASA lets you tailor the search within the LDAP hierarchy. You configure the following three fields on the ASA to define where in the LDAP hierarchy that your search begins, the extent, and the type of information you are looking for. Together, these fields limit the search of the hierarchy to only the part that includes the user permissions.

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

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 38-1 Example Search Configurations

No.

LDAP Base DN

Search Scope

Naming Attribute

Result

1

group= Engineering,ou=People,dc=ExampleCorporation, dc=com

One Level

cn=Employee1

Quicker search

2

dc=ExampleCorporation,dc=com

Subtree

cn=Employee1

Longer search

About Binding to an LDAP Server

The ASA uses the login DN and login password to establish trust (bind) with an LDAP server. When performing a Microsoft Active Directory read-only operation (such as authentication, authorization, or group search), the ASA can bind using a login DN with fewer privileges. For example, the login DN can be a user whose AD “Member Of” designation is part of Domain Users. For VPN password management operations, the login DN needs elevated privileges, and must be part of the Account Operators AD group.

The following is an example of a login DN:

cn=Binduser1,ou=Admins,ou=Users,dc=company_A,dc=com

The ASA supports the following authentication methods:

- Simple LDAP authentication with an unencrypted password on port 389

- Secure LDAP (LDAP-S) on port 636

- Simple Authentication and Security Layer (SASL) MD5

- SASL Kerberos

The ASA does not support anonymous authentication.

Note As an LDAP client, the ASA does not support the transmission of anonymous binds or requests.

Licensing Requirements for LDAP Servers

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Configuring LDAP Servers

This section includes the following topics:

- Task Flow for Configuring LDAP Servers

- Configuring LDAP Attribute Maps

- Configuring LDAP Server GroupsConfiguring Authorization with LDAP for VPN

Task Flow for Configuring LDAP Servers

Step 1 Add an LDAP server group. See Configuring LDAP Server Groups.

Step 2 (Optional) Configure authorization from an LDAP server that is separate and distinct from the authentication mechanism. See Configuring Authorization with LDAP for VPN.

You must add an attribute map before adding an LDAP server to an LDAP server group.

Configuring LDAP Attribute Maps

The ASA can use an LDAP directory for authenticating users for:

- VPN remote access users

- firewall network access/cut-through-proxy sessions

- setting policy permissions (also called authorization attributes), such as ACLs, bookmark lists, DNS or WINS settings, and session timers.

- setting the key attributes in a local group policy

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.

Guidelines

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-Id—Applies an access control list or ACL to VPN clients, IPsec, and SSL.

- IETF-Radius-Framed-IP-Address—Assigns a static IP address assigned to a VPN remote access client, IPsec, and SSL.

- Banner1—Displays a text banner when the VPN remote access user logs in.

- Tunneling-Protocols—Allows 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.

To map LDAP features, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ldap attribute-map map-name

ciscoasa(config)# ldap attribute-map att_map_1

Creates an unpopulated LDAP attribute map table.

Step 2

map-name user-attribute-name Cisco-attribute-name

ciscoasa(config-ldap-attribute-map)# map-name department IETF-Radius-Class

Maps the user-defined attribute name department to the Cisco attribute.

Step 3

map-value user-attribute-name Cisco-attribute-name

ciscoasa(config-ldap-attribute-map)# map-value department Engineering group1

Maps the user-defined map value department to the user-defined attribute value and the Cisco attribute value.

Step 4

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config)# aaa-server ldap_dir_1 host 10.1.1.4

Identifies the server and the AAA server group to which it belongs.

Step 5

ldap-attribute-map map-name

ciscoasa(config-aaa-server-host)# ldap-attribute-map att_map_1

Binds the attribute map to the LDAP server.

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 MGMT

ciscoasa(config-ldap-attribute-map)# map-name accessType IETF-Radius-Service-Type

ciscoasa(config-ldap-attribute-map)# map-value accessType VPN 5

ciscoasa(config-ldap-attribute-map)# map-value accessType admin 6

ciscoasa(config-ldap-attribute-map)# map-value accessType helpdesk 7

ciscoasa(config-ldap-attribute-map)# aaa-server LDAP protocol ldap

ciscoasa(config-aaa-server-group)# aaa-server LDAP (inside) host 10.1.254.91

ciscoasa(config-aaa-server-host)# ldap-base-dn CN=Users,DC=cisco,DC=local

ciscoasa(config-aaa-server-host)# ldap-scope subtree

ciscoasa(config-aaa-server-host)# ldap-login-password test

ciscoasa(config-aaa-server-host)# ldap-login-dn CN=Administrator,CN=Users,DC=cisco,DC=local

ciscoasa(config-aaa-server-host)# server-type auto-detect

ciscoasa(config-aaa-server-host)# ldap-attribute-map MGMT

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

Allow-Network-Extension-Mode

Auth-Service-Type

Authenticated-User-Idle-Timeout

Authorization-Required

Authorization-Type

:

:

X509-Cert-Data

ciscoasa(config-ldap-attribute-map)#

Configuring LDAP Server Groups

To use an external LDAP server for authentication, authorization, and/or accounting, you must first create at least one LDAP server group, and add one or more servers to each group. You identify LDAP server groups by name. Each server group is specific to one type of server.

Guidelines

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

Detailed Steps

The following steps show how to create and configure an LDAP server group, and add an LDAP server to that group.

Command

Purpose

Step 1

aaa-server server_tag protocol ldap

aaa-server servergroup1 protocol ldap

ciscoasa(config-aaa-server-group)#

command, you enter aaa-server group configuration mode.

Step 2

max-failed-attempts number

max-failed-attempts 2

argument can range from 1 and 5. The default is 3.

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

reactivation-mode { depletion [ deadtime minutes ] | timed }

reactivation-mode deadtime 20

Specifies the method (reactivation policy) by which failed servers in a group are reactivated.

keyword reactivates failed servers only after all of the servers in the group are inactive.

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.

keyword reactivates failed servers after 30 seconds of down time.

Step 4

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config)# aaa-server servergroup1 outside host 10.10.1.1

Move to new procedure for adding a server to a grouyp

Identifies the LDAP server and AAA server group to which it belongs.

command, you enter aaa-server host configuration mode. As needed, use host configuration mode commands to further configure the AAA server.

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 38-2 Host Mode Commands and Defaults

Command

Default Value

Description

—

Separate steps in procedure under host command

—

—

—

—

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.

—

—

389

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.

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

ciscoasa(config)#

Configuring Authorization with LDAP for VPN

When user LDAP authentication for VPN access has succeeded, the ASA queries the LDAP server, which returns LDAP attributes. These attributes generally include authorization data that applies to the VPN session. Using LDAP in this way accomplishes authentication and authorization in a single step.

There may be cases, however, where you require authorization from an LDAP directory server that is separate and distinct from the authentication mechanism. For example, if you use an SDI or certificate server for authentication, no authorization information is returned. For user authorizations in this case, you can query an LDAP directory after successful authentication, accomplishing authentication and authorization in two steps.

To set up VPN user authorization using LDAP, perform the following steps.

Detailed Steps

Command

Purpose

Step 1

tunnel-group groupname

tunnel-group remotegrp

Creates an IPsec remote access tunnel group named remotegrp.

Step 2

tunnel-group groupname general-attributes

tunnel-group remotegrp general-attributes

Associates the server group and the tunnel group.

Step 3

authorization-server-group group-tag

ciscoasa(config-general)# authorization-server-group ldap_dir_1

Assigns a new tunnel group to a previously created AAA server group for authorization.

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:

ciscoasa(config)# aaa-server ldap_dir_1 protocol ldap

ciscoasa(config-aaa-server-group)# aaa-server ldap_dir_1 host 10.1.1.4

ciscoasa(config-aaa-server-host)# ldap-login-dn obscurepassword

ciscoasa(config-aaa-server-host)# ldap-base-dn starthere

ciscoasa(config-aaa-server-host)# ldap-scope subtree

ciscoasa(config-aaa-server-host)#

Monitoring LDAP Servers

To monitor LDAP servers,enter one of the following commands:

Command

Purpose

Shows the configured AAA server statistics.

command.

Shows the AAA server running configuration.

command.

Feature History for LDAP Servers

lists each feature change and the platform release in which it was implemented.

Table 38-3 Feature History for AAA Servers

Feature Name

Platform Releases

Feature Information

LDAP Servers for AAA

7.0(1)

LDAP Servers describe support for AAA and how to configure LDAP servers.

We introduced the following commands:

.

Local Database for AAA

This chapter describes how to configure local servers for AAAand includes the following sections:

- Information About the Local Database

- Fallback Support

- How Fallback Works with Multiple Servers in a Group

- Licensing Requirements for the Local Database

- Guidelines and Limitations

- Adding a User Account to the Local Database

- Monitoring the Local Database

- Feature History for the Local Database

Information About the Local Database

You can use the local database for the following functions:

- ASDM per-user access

- Console authentication

- Telnet and SSH authentication

- enable command authentication

This setting is for CLI-access only and does not affect the ASDM login.

- Command authorization

If you turn on command authorization using the local database, then the 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.

- Network access authentication

- VPN client authentication

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.

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 authentication—If 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 authorization—If the TACACS+ servers in the group are all unavailable, the local database is used to authorize commands based on privilege levels.

- VPN authentication and authorization—VPN authentication and authorization are supported to enable remote access to the ASA if AAA servers that normally support these VPN services are unavailable. When a VPN client of an administrator specifies a tunnel group configured to fallback to the local database, the VPN tunnel can be established even if the AAA server group is unavailable, provided that the local database is configured with the necessary attributes.

How Fallback Works with Multiple Servers in a Group

If you configure multiple servers in a server group and you enable fallback to the local database for the server group, fallback occurs when no server in the group responds to the authentication request from the ASA. To illustrate, consider this scenario:

You configure an LDAP server group with two Active Directory servers, server 1 and server 2, in that order. When the remote user logs in, the ASA attempts to authenticate to server 1.

If server 1 responds with an authentication failure (such as user not found), the ASA does not attempt to authenticate to server 2.

If server 1 does not respond within the timeout period (or the number of authentication attempts exceeds the configured maximum), the ASA tries server 2.

If both servers in the group do not respond, and the ASA is configured to fall back to the local database, the ASA tries to authenticate to the local database.

Licensing Requirements for the Local Database

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Additional Guidelines

To prevent lockout from the ASA when using the local database for authentication or authorization, see Recovering from a Lockout.

Adding a User Account to the Local Database

To add a user to the local database, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

username user name { nopassword | password password } [ privilege priv_level ]

ciscoasa(config)# username exampleuser1 privilege 1

keyword is a string from 4 to 64 characters long.

argument 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.

keyword creates a user account with no password.

output would appear as something similar to the following:

username user1 password DLaUiAX3l78qgoB5c7iVNw== 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

username username attributes

ciscoasa(config)# username exampleuser1 attributes

argument is the username that you created in Step 1.

command. For more information, see the VPN configuration guide.

Step 3

service-type { admin | nas-prompt | remote-access }

ciscoasa(config-username)# service-type admin

keyword is the default.

command).

keyword; serial access is allowed).

Step 4

ssh authentication {pkf | publickey key [ hashed ]}

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)#

keyword).

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).

keyword to be prompted for the key.
command to synchronize the PKF key.
keyword.

Step 5

(Optional) If you are using this username for VPN authentication, you can configure many VPN attributes for the user. For more information, see the VPN configuration guide.

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 creates a user account with no password:

ciscoasa(config)# username user34 nopassword

:

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

The following example generates a shared key for SSH on a Linux or Macintosh system, and imports it to the ASA:

Step 1 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 Convert the key to PKF format:

jcrichton-mac:~ john$ cd .ssh

jcrichton-mac:.ssh john$ ssh-keygen -e -f id_rsa.pub

---- 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 Copy the key to your clipboard.

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 Verify the user (test) can SSH to the ASA:

jcrichton-mac:.ssh john$ ssh test@10.86.118.5

The authenticity of host '10.86.118.5 (10.86.118.5)' can't be established.

RSA key fingerprint is 39:ca:ed:a8:75:5b:cc:8e:e2:1d:96:2b:93:b5:69:94.

Are you sure you want to continue connecting (yes/no)? yes

The following dialog box appears for you to enter your passphrase:

Meanwhile, in the terminal session:

Warning: Permanently added '10.86.118.5' (RSA) to the list of known hosts.

Identity added: /Users/john/.ssh/id_rsa (/Users/john/.ssh/id_rsa)

Type help or '?' for a list of available commands.

asa>

Monitoring the Local Database

To monitor the local database,enter one of the following commands:

Command

Purpose

Shows the configured database statistics.

command.

Shows the AAA server running configuration.

command.

Feature History for the Local Database

lists each feature change and the platform release in which it was implemented.

Table 35-1 Feature History for the Local Database

Feature Name

Platform Releases

Feature Information

Local database configuration for AAA

7.0(1)

Describes how to configure the local database for AAA use.

We introduced the following commands:

Support for SSH public key authentication

9.1(2)

You can now enable public key authentication for SSH connections to the ASA on a per-user basis. You can specify a public key file (PKF) formatted key or a Base64 key. The PKF key can be up to 4096 bits. Use PKF format for keys that are too large to for the ASA support of the Base64 format (up to 2048 bits).

.

RADIUS Servers for AAA

This chapter describes how to configure RADIUS servers for AAA and includes the following sections:

- Information About RADIUS Servers

- Licensing Requirements for RADIUS Servers

- Guidelines and Limitations

- Configuring RADIUS Servers

- Monitoring RADIUS Servers

- Additional References

- Feature History for RADIUS Servers

Information About RADIUS Servers

The ASA supports the following RFC-compliant RADIUS servers for AAA:

- Cisco Secure ACS 3.2, 4.0, 4.1, 4.2, and 5.x

- Cisco Identity Services Engine (ISE)

- RSA RADIUS in RSA Authentication Manager 5.2, 6.1, and 7.x

- Microsoft

This section includes the following topics:

- Supported Authentication Methods

- User Authorization of VPN Connections

- Supported Sets of RADIUS Attributes

- Supported RADIUS Authorization Attributes

- Supported IETF RADIUS Authorization Attributes

- RADIUS Accounting Disconnect Reason Codes

Supported Authentication Methods

The ASA supports the following authentication methods with RADIUS servers:

- PAP—For all connection types.

- CHAP and MS-CHAPv1—For L2TP-over-IPsec connections.

- MS-CHAPv2—For 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 modes—For RADIUS-to Active-Directory, RADIUS-to-RSA/SDI, RADIUS- to-Token server, and RSA/SDI-to-RADIUS connections,

Note 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.

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.

User Authorization of VPN Connections

The ASA can use RADIUS servers for user authorization of VPN remote access and firewall cut-through-proxy sessions using dynamic ACLs or ACL names per user. To implement dynamic ACLs, you must configure the RADIUS server to support them. When the user authenticates, the RADIUS server sends a downloadable ACL or ACL name to the ASA. Access to a given service is either permitted or denied by the ACL. The ASA deletes the ACL when the authentication session expires.

In addition to ACLs, the ASA supports many other attributes for authorization and setting of permissions for VPN remote access and firewall cut-through proxy sessions.

Supported Sets of RADIUS Attributes

The ASA supports the following sets of RADIUS attributes:

- Authentication attributes defined in RFC 2138.

- Accounting attributes defined in RFC 2139.

- RADIUS attributes for tunneled protocol support, defined in RFC 2868.

- Cisco IOS Vendor-Specific Attributes (VSAs), identified by RADIUS vendor ID 9.

- Cisco VPN-related VSAs, identified by RADIUS vendor ID 3076.

- Microsoft VSAs, defined in RFC 2548.

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

Supported RADIUS Authorization Attributes

Authorization refers to the process of enforcing permissions or attributes. A RADIUS server defined as an authentication server enforces permissions or attributes if they are configured. These attributes have vendor ID 3076.

lists the supported RADIUS attributes that can be used for user authorization.

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 Table 36-1 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 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 36-1 Supported RADIUS Authorization Attributes

Attribute Name

ASA

Attr. No.

Syntax/Type

Single or Multi-

Valued

Description or Value

Access-Hours

Y

1

String

Single

Name of the time range, for example, Business-hours

Access-List-Inbound

Y

86

String

Single

ACL ID

Access-List-Outbound

Y

87

String

Single

ACL ID

Address-Pools

Y

217

String

Single

Name of IP local pool

Allow-Network-Extension-Mode

Y

64

Boolean

Single

1 = Enabled

Authenticated-User-Idle-Timeout

Y

50

Integer

Single

1-35791394 minutes

Authorization-DN-Field

Y

67

String

Single

Possible values: UID, OU, O, CN, L, SP, C, EA, T, N, GN, SN, I, GENQ, DNQ, SER, use-entire-name

Authorization-Required

66

Integer

Single

1 = Yes

Authorization-Type

Y

65

Integer

Single

2 = LDAP

Banner1

Y

15

String

Single

Banner string to display for Cisco VPN remote access sessions: IPsec IKEv1, AnyConnect SSL-TLS/DTLS/IKEv2, and Clientless SSL

Banner2

Y

36

String

Single

Banner string to display for Cisco VPN remote access sessions: IPsec IKEv1, AnyConnect SSL-TLS/DTLS/IKEv2, and Clientless SSL. The Banner2 string is concatenated to the Banner1 string , if configured.

Cisco-IP-Phone-Bypass

Y

51

Integer

Single

1 = Enabled

Cisco-LEAP-Bypass

Y

75

Integer

Single

1 = Enabled

Client Type

Y

150

Integer

Single

6 = AnyConnect Client IPsec VPN (IKEv2)

Client-Type-Version-Limiting

Y

77

String

Single

IPsec VPN version number string

DHCP-Network-Scope

Y

61

String

Single

IP Address

Extended-Authentication-On-Rekey

Y

122

Integer

Single

1 = Enabled

Group-Policy

Y

25

String

Single

Sets the group policy for the remote access VPN session. For Versions 8.2.x and later, use this attribute instead of IETF-Radius-Class. You can use one of the following formats:

- group policy name

- OU= group policy name

- OU= group policy name ;

IE-Proxy-Bypass-Local

83

Integer

Single

1 = Local

IE-Proxy-Exception-List

82

String

Single

New line (\n) separated list of DNS domains

IE-Proxy-PAC-URL

Y

133

String

Single

PAC address string

IE-Proxy-Server

80

String

Single

IP address

IE-Proxy-Server-Policy

81

Integer

Single

4 = Use Concentrator Setting

IKE-KeepAlive-Confidence-Interval

Y

68

Integer

Single

10-300 seconds

IKE-Keepalive-Retry-Interval

Y

84

Integer

Single

2-10 seconds

IKE-Keep-Alives

Y

41

Boolean

Single

1 = Enabled

Intercept-DHCP-Configure-Msg

Y

62

Boolean

Single

1 = Enabled

IPsec-Allow-Passwd-Store

Y

16

Boolean

Single

1 = Enabled

IPsec-Authentication

13

Integer

Single

7 = Kerberos/Active Directory

IPsec-Auth-On-Rekey

Y

42

Boolean

Single

1 = Enabled

IPsec-Backup-Server-List

Y

60

String

Single

Server Addresses (space delimited)

IPsec-Backup-Servers

Y

59

String

Single

3 = Use Backup Server list

IPsec-Client-Firewall-Filter-Name

57

String

Single

Specifies the name of the filter to be pushed to the client as firewall policy

IPsec-Client-Firewall-Filter-Optional

Y

58

Integer

Single

1 = Optional

IPsec-Default-Domain

Y

28

String

Single

Specifies the single default domain name to send to the client (1-255 characters).

IPsec-IKE-Peer-ID-Check

Y

40

Integer

Single

3 = Do not check

IPsec-IP-Compression

Y

39

Integer

Single

1 = Enabled

IPsec-Mode-Config

Y

31

Boolean

Single

1 = Enabled

IPsec-Over-UDP

Y

34

Boolean

Single

1 = Enabled

IPsec-Over-UDP-Port

Y

35

Integer

Single

4001- 49151. The default is 10000.

IPsec-Required-Client-Firewall-Capability

Y

56

Integer

Single

4 = Policy from server

IPsec-Sec-Association

12

String

Single

Name of the security association

IPsec-Split-DNS-Names

Y

29

String

Single

Specifies the list of secondary domain names to send to the client (1-255 characters).

IPsec-Split-Tunneling-Policy

Y

55

Integer

Single

2 = Local LAN permitted

IPsec-Split-Tunnel-List

Y

27

String

Single

Specifies the name of the network or ACL that describes the split tunnel inclusion list.

IPsec-Tunnel-Type

Y

30

Integer

Single

2 = Remote access

IPsec-User-Group-Lock

33

Boolean

Single

1 = Enabled

IPv6-Address-Pools

Y

218

String

Single

Name of IP local pool-IPv6

IPv6-VPN-Filter

Y

219

String

Single

ACL value

L2TP-Encryption

21

Integer

Single

15= 40/128-Encr/Stateless-Req

L2TP-MPPC-Compression

38

Integer

Single

1 = Enabled

Member-Of

Y

145

String

Single

Comma-delimited string, for example:

Engineering, Sales

An administrative attribute that can be used in dynamic access policies. It does not set a group policy.

MS-Client-Subnet-Mask

Y

63

Boolean

Single

An IP address

NAC-Default-ACL

92

String

ACL

NAC-Enable

89

Integer

Single

1 = Yes

NAC-Revalidation-Timer

91

Integer

Single

300-86400 seconds

NAC-Settings

Y

141

String

Single

Name of the NAC policy

NAC-Status-Query-Timer

90

Integer

Single

30-1800 seconds

Perfect-Forward-Secrecy-Enable

Y

88

Boolean

Single

1 = Yes

PPTP-Encryption

20

Integer

Single

15= 40/128-Encr/Stateless-Req

PPTP-MPPC-Compression

37

Integer

Single

1 = Enabled

Primary-DNS

Y

5

String

Single

An IP address

Primary-WINS

Y

7

String

Single

An IP address

Privilege-Level

Y

220

Integer

Single

An integer between 0 and 15.

Required-Client- Firewall-Vendor-Code

Y

45

Integer

Single

5 = Cisco Systems (with Cisco Intrusion Prevention Security Agent)

Required-Client-Firewall-Description

Y

47

String

Single

String

Required-Client-Firewall-Product-Code

Y

46

Integer

Single

Cisco Systems Products:

1 = Cisco Intrusion Prevention Security Agent or Cisco Integrated Client (CIC)

3 = Zone Labs Integrity

1 = BlackIce Defender/Agent

3 = Security Agent

Required-Individual-User-Auth

Y

49

Integer

Single

1 = Enabled

Require-HW-Client-Auth

Y

48

Boolean

Single

1 = Enabled

Secondary-DNS

Y

6

String

Single

An IP address

Secondary-WINS

Y

8

String

Single

An IP address

SEP-Card-Assignment

9

Integer

Single

Not used

Session Subtype

Y

152

Integer

Single

3 = Client Only

Session Subtype applies only when the Session Type (151) attribute has the following values: 1, 2, 3, and 4.

Session Type

Y

151

Integer

Single

8 = VPN Load Balancing

Simultaneous-Logins

Y

2

Integer

Single

0-2147483647

Smart-Tunnel

Y

136

String

Single

Name of a Smart Tunnel

Smart-Tunnel-Auto

Y

138

Integer

Single

2 = AutoStart

Smart-Tunnel-Auto-Signon-Enable

Y

139

String

Single

Name of a Smart Tunnel Auto Signon list appended by the domain name

Strip-Realm

Y

135

Boolean

Single

1 = Enabled

SVC-Ask

Y

131

String

Single

(2 and 4 not used)

SVC-Ask-Timeout

Y

132

Integer

Single

5-120 seconds

SVC-DPD-Interval-Client

Y

108

Integer

Single

5-3600 seconds

SVC-DPD-Interval-Gateway

Y

109

Integer

Single

5-3600 seconds

SVC-DTLS

Y

123

Integer

Single

1 = True

SVC-Keepalive

Y

107

Integer

Single

15-600 seconds

SVC-Modules

Y

127

String

Single

String (name of a module)

SVC-MTU

Y

125

Integer

Single

256-1406 in bytes

SVC-Profiles

Y

128

String

Single

String (name of a profile)

SVC-Rekey-Time

Y

110

Integer

Single

1-10080 minutes

Tunnel Group Name

Y

146

String

Single

1-253 characters

Tunnel-Group-Lock

Y

85

String

Single

Name of the tunnel group or “none”

Tunneling-Protocols

Y

11

Integer

Single

0 - 11, 16 - 27, 32 - 43, 48 - 59 are legal values.

Use-Client-Address

17

Boolean

Single

1 = Enabled

VLAN

Y

140

Integer

Single

0-4094

WebVPN-Access-List

Y

73

String

Single

Access-List name

WebVPN ACL

Y

73

String

Single

Name of a WebVPN ACL on the device

WebVPN-ActiveX-Relay

Y

137

Integer

Single

Otherwise = Enabled

WebVPN-Apply-ACL

Y

102

Integer

Single

1 = Enabled

WebVPN-Auto-HTTP-Signon

Y

124

String

Single

Reserved

WebVPN-Citrix-Metaframe-Enable

Y

101

Integer

Single

1 = Enabled

WebVPN-Content-Filter-Parameters

Y

69

Integer

Single

8 = Cookies in images

WebVPN-Customization

Y

113

String

Single

Name of the customization

WebVPN-Default-Homepage

Y

76

String

Single

A URL such as http://example-example.com

WebVPN-Deny-Message

Y

116

String

Single

Valid string (up to 500 characters)

WebVPN-Download_Max-Size

Y

157

Integer

Single

0x7fffffff

WebVPN-File-Access-Enable

Y

94

Integer

Single

1 = Enabled

WebVPN-File-Server-Browsing-Enable

Y

96

Integer

Single

1 = Enabled

WebVPN-File-Server-Entry-Enable

Y

95

Integer

Single

1 = Enabled

WebVPN-Group-based-HTTP/HTTPS-Proxy-Exception-List

Y

78

String

Single

Comma-separated DNS/IP with an optional wildcard (*) (for example *.cisco.com, 192.168.1.*, wwwin.cisco.com)

WebVPN-Hidden-Shares

Y

126

Integer

Single

1 = Visible

WebVPN-Home-Page-Use-Smart-Tunnel

Y

228

Boolean

Single

Enabled if clientless home page is to be rendered through Smart Tunnel.

WebVPN-HTML-Filter

Y

69

Bitmap

Single

8 = Cookies

WebVPN-HTTP-Compression

Y

120

Integer

Single

1 = Deflate Compression

WebVPN-HTTP-Proxy-IP-Address

Y

74

String

Single

Comma-separated DNS/IP:port, with http= or https= prefix (for example http=10.10.10.10:80, https=11.11.11.11:443)

WebVPN-Idle-Timeout-Alert-Interval

Y

148

Integer

Single

0-30. 0 = Disabled.

WebVPN-Keepalive-Ignore

Y

121

Integer

Single

0-900

WebVPN-Macro-Substitution

Y

223

String

Single

Unbounded. For examples, see the SSL VPN Deployment Guide at the following URL:

WebVPN-Macro-Substitution

Y

224

String

Single

Unbounded. For examples, see the SSL VPN Deployment Guide at the following URL:

WebVPN-Port-Forwarding-Enable

Y

97

Integer

Single

1 = Enabled

WebVPN-Port-Forwarding-Exchange-Proxy-Enable

Y

98

Integer

Single

1 = Enabled

WebVPN-Port-Forwarding-HTTP-Proxy

Y

99

Integer

Single

1 = Enabled

WebVPN-Port-Forwarding-List

Y

72

String

Single

Port forwarding list name

WebVPN-Port-Forwarding-Name

Y

79

String

Single

String name (example, “Corporate-Apps”).

This text replaces the default string, “Application Access,” on the clientless portal home page.

WebVPN-Post-Max-Size

Y

159

Integer

Single

0x7fffffff

WebVPN-Session-Timeout-Alert-Interval

Y

149

Integer

Single

0-30. 0 = Disabled.

WebVPN Smart-Card-Removal-Disconnect

Y

225

Boolean

Single

1 = Enabled

WebVPN-Smart-Tunnel

Y

136

String

Single

Name of a Smart Tunnel

WebVPN-Smart-Tunnel-Auto-Sign-On

Y

139

String

Single

Name of a Smart Tunnel auto sign-on list appended by the domain name

WebVPN-Smart-Tunnel-Auto-Start

Y

138

Integer

Single

2 = Auto Start

WebVPN-Smart-Tunnel-Tunnel-Policy

Y

227

String

Single

One of “e networkname,” “i networkname,” or “a,” where networkname is the name of a Smart Tunnel network list, e indicates the tunnel excluded, i indicates the tunnel specified, and a indicates all tunnels.

WebVPN-SSL-VPN-Client-Enable

Y

103

Integer

Single

1 = Enabled

WebVPN-SSL-VPN-Client-Keep- Installation

Y

105

Integer

Single

1 = Enabled

WebVPN-SSL-VPN-Client-Required

Y

104

Integer

Single

1 = Enabled

WebVPN-SSO-Server-Name

Y

114

String

Single

Valid string

WebVPN-Storage-Key

Y

162

String

Single

WebVPN-Storage-Objects

Y

161

String

Single

WebVPN-SVC-Keepalive-Frequency

Y

107

Integer

Single

15-600 seconds, 0=Off

WebVPN-SVC-Client-DPD-Frequency

Y

108

Integer

Single

5-3600 seconds, 0=Off

WebVPN-SVC-DTLS-Enable

Y

123

Integer

Single

1 = Enabled

WebVPN-SVC-DTLS-MTU

Y

125

Integer

Single

MTU value is from 256-1406 bytes.

WebVPN-SVC-Gateway-DPD-Frequency

Y

109

Integer

Single

5-3600 seconds, 0=Off

WebVPN-SVC-Rekey-Time

Y

110

Integer

Single

4-10080 minutes, 0=Off

WebVPN-SVC-Rekey-Method

Y

111

Integer

Single

0 (Off), 1 (SSL), 2 (New Tunnel)

WebVPN-SVC-Compression

Y

112

Integer

Single

0 (Off), 1 (Deflate Compression)

WebVPN-UNIX-Group-ID (GID)

Y

222

Integer

Single

Valid UNIX group IDs

WebVPN-UNIX-User-ID (UIDs)

Y

221

Integer

Single

Valid UNIX user IDs

WebVPN-Upload-Max-Size

Y

158

Integer

Single

0x7fffffff

WebVPN-URL-Entry-Enable

Y

93

Integer

Single

1 = Enabled

WebVPN-URL-List

Y

71

String

Single

URL list name

WebVPN-User-Storage

Y

160

String

Single

WebVPN-VDI

Y

163

String

Single

List of settings

Supported IETF RADIUS Authorization Attributes

lists the supported IETF RADIUS attributes.

Table 36-2 Supported IETF RADIUS Attributes

Attribute Name

ASA

Attr. No.

Syntax/Type

Single or Multi-

Valued

Description or Value

IETF-Radius-Class

Y

25

Single

:

- group policy name

- OU= group policy name

- OU= group policy name

IETF-Radius-Filter-Id

Y

11

String

Single

ACL name that is defined on the ASA, which applies only to full tunnel IPsec and SSL VPN clients.

IETF-Radius-Framed-IP-Address

Y

n/a

String

Single

An IP address

IETF-Radius-Framed-IP-Netmask

Y

n/a

String

Single

An IP address mask

IETF-Radius-Idle-Timeout

Y

28

Integer

Single

Seconds

IETF-Radius-Service-Type

Y

6

Integer

Single

Seconds. Possible Service Type values:

- .Administrative—User is allowed access to the configure prompt.

- .NAS-Prompt—User is allowed access to the exec prompt.

- .remote-access—User is allowed network access

IETF-Radius-Session-Timeout

Y

27

Integer

Single

Seconds

RADIUS Accounting Disconnect Reason Codes

These codes are returned if the ASA encounters a disconnect when sending packets:

Disconnect Reason Code

ACCT_DISC_USER_REQ = 1

ACCT_DISC_LOST_CARRIER = 2

ACCT_DISC_LOST_SERVICE = 3

ACCT_DISC_IDLE_TIMEOUT = 4

ACCT_DISC_SESS_TIMEOUT = 5

ACCT_DISC_ADMIN_RESET = 6

ACCT_DISC_ADMIN_REBOOT = 7

ACCT_DISC_PORT_ERROR = 8

ACCT_DISC_NAS_ERROR = 9

ACCT_DISC_NAS_REQUEST = 10

ACCT_DISC_NAS_REBOOT = 11

ACCT_DISC_PORT_UNNEEDED = 12

ACCT_DISC_PORT_PREEMPTED = 13

ACCT_DISC_PORT_SUSPENDED = 14

ACCT_DISC_SERV_UNAVAIL = 15

ACCT_DISC_CALLBACK = 16

ACCT_DISC_USER_ERROR = 17

ACCT_DISC_HOST_REQUEST = 18

ACCT_DISC_ADMIN_SHUTDOWN = 19

ACCT_DISC_SA_EXPIRED = 21

ACCT_DISC_MAX_REASONS = 22

Licensing Requirements for RADIUS Servers

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports 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.

- If you need to configure fallback support using the local database, see Fallback Support and the How Fallback Works with Multiple Servers in a Group.

- To prevent lockout from the ASA when using RADIUS authentication, see Recovering from a Lockout.

Configuring RADIUS Servers

This section includes the following topics:

- Task Flow for Configuring RADIUS Servers

- Configuring RADIUS Server Groups

- Adding a RADIUS Server to a Group

Task Flow for Configuring RADIUS Servers

Step 1 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 Configuring RADIUS Server Groups.

Step 3 For a server group, add a server to the group. See Adding a RADIUS Server to a Group.

Configuring RADIUS Server Groups

If you want to use an external RADIUS server for authentication, authorization, or accounting, you must first create at least one RADIUS server group per AAA protocol and add one or more servers to each group. You identify AAA server groups by name.

To add a RADIUS server group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_tag protocol radius

aaa-server servergroup1 protocol radius

ciscoasa(config-aaa-server-group)#

Identifies the server group name and the protocol.

command, you enter aaa-server group configuration mode.

Step 2

merge-dacl { before-avpair | after-avpair }

aaa-server servergroup1 protocol radius

ciscoasa(config-aaa-server-group)# merge-dacl before-avpair

, 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.

option specifies that the downloadable ACL entries should be placed before the Cisco AV pair entries.

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

max-failed-attempts number

max-failed-attempts 2

argument can range from 1 and 5. The default is 3.

command in the next step.

If you do not have a fallback method, the ASA continues to retry the servers in the group.

Step 4

reactivation-mode { depletion [ deadtime minutes ] | timed }

reactivation-mode deadtime 20

Specifies the method (reactivation policy) by which failed servers in a group are reactivated.

keyword reactivates failed servers only after all of the servers in the group are inactive.

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.

keyword reactivates failed servers after 30 seconds of down time.

Step 5

accounting-mode simultaneous

ciscoasa(config-aaa-server-group)# accounting-mode simultaneous

Sends accounting messages to all servers in the group.

command.

Step 6

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config)# aaa-server servergroup1 outside host 10.10.1.1

Identifies the server and the AAA server group to which it belongs.

command, you enter aaa-server host configuration mode.

Step 7

dynamic-authorization {port port-number}

(config-aaa-server-group)# dynamic-authorization port 1700

Enables the RADIUS Dynamic Authorization (CoA) services for the AAA server group.

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 is1 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 will be displayed.

Step 8

authorize-only

Enables authorize-only mode for the RADIUS server group. This indicates that when this server group is used for authorization, the RADIUS Access Request message will be built as an “Authorize Only” request as opposed to 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 The authorize-only mode is configured for the server-group while the common password is host-specific. Thus, once authorize-only mode is configured, the common password configured for individual AAA server would be ignored.

Step 9

without-csd {anyconnect}

without-csd anyconnect

Switches off hostscan processing for connections that are made to a specific tunnel-group. This setting currently applies to clientless and L3 connections. This command has been modified to allow this setting to be applied to AnyConnect connections only.

Step 10

interim-accounting-update {periodic interval}

interim-accounting-update periodic 12

Enables the generation of RADIUS interim-accounting-update messages. Currently these messages are only generated when a VPN tunnel connection is added to a clientless VPN session. When this happens the accounting update is generated in order to inform the RADIUS server of the newly assigned IP address. Keywords have been added to this command to enable it to be configured to allow the current capabilities or to allow the generation of periodic interim accounting updates for all sessions that are configured to send accounting messages to the indicated server group.

periodic - This optional keyword enables the periodic generation and transmission of accounting records for every VPN session that is configured to send accounting records to the server group in question.

interval - This is a numeric value that represents the length, in hours, of the interval between periodic accounting updates. The valid range is 1 to 120 and the default value is 24.

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

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

Adding a RADIUS Server to a Group

To add a RADIUS server to a group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config-aaa-server-group)# aaa-server servergroup1 outside host 10.10.1.1

Identifies the RADIUS server and the AAA server group to which it belongs.

command, you enter aaa-server host configuration mode.

Step 2

acl-netmask-convert { auto-detect | standard | wildcard }

ciscoasa(config-aaa-server-host)# acl-netmask-convert standard

command.

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.

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.

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.

Step 3

radius-common-pw string

ciscoasa(config-aaa-server-host)# radius-common-pw examplepassword123abc

Specifies a common password to be used for all users who are accessing a RADIUS authorization server through the ASA.

argument is a case-sensitive, alphanumeric keyword of up to 127 characters to be used as a common password for all authorization transactions with the RADIUS server.

Step 4

mschapv2-capable

ciscoasa(config-aaa-server-host)# mschapv2-capable

Enables MS-CHAPv2 authentication requests to the RADIUS server.

Step 5

timeout hh:mm:ss

ciscoasa(config-aaa-server-host)# timeout 15

Specifies 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.

Step 6

retry-interval seconds

ciscoasa(config-aaa-server-host)# retry-interval 8

command.

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

Step 7

accounting-mode simultaneous

ciscoasa(config-aaa-server-group)# accounting-mode simultaneous

Sends accounting messages to all servers in the group.

command.

Step 8

authentication-port port

ciscoasa(config-aaa-server-host)# authentication-port 1645

Specifies the authentication port as port number1645, or the server port o be used for authentication of users.

Step 9

accounting-port port

ciscoasa(config-aaa-server-host)# accounting-port 1646

Specifies the accounting port as port number 1646, or the server port to be used for accounting for this host.

Step 10

key

ciscoasa(config-aaa-host)# key myexamplekey1

Specifies 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.

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)#

Monitoring RADIUS Servers

To monitor RADIUS servers,enter one of the following commands:

Command

Purpose

Shows the configured RADIUS server statistics.

command.

Shows the RADIUS server running configuration.

command.

Additional References

For additional information related to implementing AAA through RADIUS servers, see RFCs.

RFCs

RFC

Title

2138

2139

2548

2868

Feature History for RADIUS Servers

lists each feature change and the platform release in which it was implemented.

,

Table 36-3 Feature History for RADIUS Servers

Feature Name

Platform Releases

Feature Information

RADIUS Servers for AAA

7.0(1)

Describes how to configure RADIUS servers for AAA.

We introduced the following commands:

.

Key vendor-specific attributes (VSAs) sent in RADIUS access request and accounting request packets from the ASA

8.4(3)

Four New VSAs—Tunnel Group Name (146) and Client Type (150) are sent in RADIUS access request packets from the ASA. Session Type (151) and Session Subtype (152) are sent in RADIUS accounting request packets from the ASA. All four attributes are sent for all accounting request packet types: Start, Interim-Update, and Stop. The RADIUS server (for example, ACS and ISE) can then enforce authorization and policy attributes or use them for accounting and billing purposes.

TACACS+ Servers for AAA

This chapter describes how to configure TACACS+ servers used in AAA and includes the following sections:

- Information About TACACS+ Servers

- Licensing Requirements for TACACS+ Servers

- Guidelines and Limitations

- Configuring TACACS+ Servers

- Monitoring TACACS+ Servers

- Feature History for TACACS+ Servers

Information About TACACS+ Servers

The ASA supports TACACS+ server authentication with the following protocols: ASCII, PAP, CHAP, and MS-CHAPv1.

Using TACACS+ Attributes

The 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.

lists supported TACACS+ accounting attributes.

Table 37-1 Supported TACACS+ Authorization Response Attributes

Attribute

Description

acl

Identifies a locally configured ACL to be applied to the connection.

idletime

Indicates the amount of inactivity in minutes that is allowed before the authenticated user session is terminated.

timeout

Specifies the absolute amount of time in minutes that authentication credentials remain active before the authenticated user session is terminated.

.

Table 37-2 Supported TACACS+ Accounting Attributes

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

Defines the command executed (command accounting only).

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

Contains a session ID for the connection.

packs_in

Specifies the number of input packets transferred during this connection.

packs_out

Specifies the number of output packets transferred during this connection.

priv-level

Set to the user privilege level for command accounting requests or to 1 otherwise.

rem_iddr

Indicates the IP address of the client.

service

Specifies the service used. Always set to “shell” for command accounting only.

task_id

Specifies a unique task ID for the accounting transaction.

username

Indicates the name of the user.

Licensing Requirements for TACACS+ Servers

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports 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.

- If you need to configure fallback support using the local database, see Fallback Support and the How Fallback Works with Multiple Servers in a Group.

- To prevent lockout from the ASA when using TACACS+ authentication or authorization, see Recovering from a Lockout.

Configuring TACACS+ Servers

This section includes the following topics:

- Task Flow for Configuring TACACS+ Servers

- Configuring TACACS+ Server Groups

- Adding a TACACS+ Server to a Group

Task Flow for Configuring TACACS+ Servers

Step 1 Add a TACACS+ server group. See Configuring TACACS+ Server Groups.

Step 2 For a server group, add a server to the group. See Adding a TACACS+ Server to a Group.

Configuring TACACS+ Server Groups

If you want to use a TACACS+ server for authentication, authorization, or accounting, you must first create at least one TACACS+ server group and add one or more servers to each group. You identify TACACS+ server groups by name.

To add a TACACS+ server group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_tag protocol tacacs+

aaa-server servergroup1 protocol tacacs+

ciscoasa(config-aaa-server-group)#

Identifies the server group name and the protocol.

command, you enter aaa-server group configuration mode.

Step 2

max-failed-attempts number

max-failed-attempts 2

argument can range from 1 and 5. The default is 3.

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

reactivation-mode { depletion [ deadtime minutes ] | timed }

reactivation-mode deadtime 20

Specifies the method (reactivation policy) by which failed servers in a group are reactivated.

keyword reactivates failed servers only after all of the servers in the group are inactive.

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.

keyword reactivates failed servers after 30 seconds of down time.

Step 4

accounting-mode simultaneous

ciscoasa(config-aaa-server-group)# accounting-mode simultaneous

Sends accounting messages to all servers in the group.

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

Adding a TACACS+ Server to a Group

To add a TACACS+ server to a group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config-aaa-server-group)# aaa-server servergroup1 outside host 10.10.1.1

Identifies the TACACS+ server and the server group to which it belongs.

command, you enter aaa-server host configuration mode.

Step 2

timeout hh:mm:ss

ciscoasa(config-aaa-server-host)# timeout 15

Specifies 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.

Step 3

server-port port_number

ciscoasa(config-aaa-server-host)# server-port 49

Specifies the server port as port number 49, or the TCP port number used by the ASA to communicate with the TACACS+ server.

Step 4

key

ciscoasa(config-aaa-host)# key myexamplekey1

Specifies the server secret value used to authenticate the NAS to the TACACS+ server. 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.

Monitoring TACACS+ Servers

To monitor TACACS+ servers,enter one of the following commands:

Command

Purpose

Shows the configured TACACS+ server statistics.

command.

Shows the TACACS+ server running configuration.

command.

Feature History for TACACS+ Servers

lists each feature change and the platform release in which it was implemented.

Table 37-3 Feature History for TACACS+ Servers

Feature Name

Platform Releases

Feature Information

TACACS+ Servers

7.0(1)

Describes how to configure TACACS+ servers for AAA.

We introduced the following commands:

.

ASA and Cisco TrustSec

This chapter includes the following sections:

- Information About the ASA Integrated with Cisco TrustSec

- Licensing Requirements for Cisco TrustSec

- Prerequisites for Using Cisco TrustSec

- Guidelines and Limitations

- Configuring the ASA for Cisco TrustSec Integration

- Configuration Example

- Additional References

- Monitoring Cisco TrustSec

- Feature History for the Cisco TrustSec Integration

Information About the ASA Integrated with Cisco TrustSec

This section includes the following topics:

- Information about Cisco TrustSec

- About SGT and SXP Support in Cisco TrustSec

- Roles in the Cisco TrustSec Feature

- Security Group Policy Enforcement

- How the ASA Enforces Security Group-Based Policies

- Effects of Changes to Security Groups on the ISE

- About Speaker and Listener Roles on the ASA

- SXP Chattiness

- SXP Timers

- IP-SGT Manager Database

- Features of the ASA-Cisco TrustSec Integration

Information about Cisco TrustSec

Traditionally, security features such as firewalls performed access control based on predefined IP addresses, subnets and protocols. However, with enterprises transitioning to borderless networks, both the technology used to connect people and organizations and the security requirements for protecting data and networks have evolved significantly. End points are becoming increasingly nomadic and users often employ a variety of end points (for example, laptop versus desktop, smart phone, or tablet), which means that a combination of user attributes plus end-point attributes provide the key characteristics (in addition to existing 6-tuple based rules), that enforcement devices such as switches and routers with firewall features or dedicated firewalls can reliably use for making access control decisions.

As a result, the availability and propagation of end point attributes or client identity attributes have become increasingly important requirements to enable security across the customers’ networks, at the access, distribution, and core layers of the network, and in the data center.

Cisco TrustSec provides access control that builds upon an existing identity-aware infrastructure to ensure data confidentiality between network devices and integrate security access services on one platform. In the Cisco TrustSec feature, enforcement devices use a combination of user attributes and end-point attributes to make role-based and identity-based access control decisions. The availability and propagation of this information enables security across networks at the access, distribution, and core layers of the network.

Implementing Cisco TrustSec into your environment has the following advantages:

- Provides a growing mobile and complex workforce with appropriate and more secure access from any device

- Lowers security risks by providing comprehensive visibility of who and what is connecting to the wired or wireless network

- Offers exceptional control over activity of network users accessing physical or cloud-based IT resources

- Reduces total cost of ownership through centralized, highly secure access policy management and scalable enforcement mechanisms

For more information about using the Cisco TrustSec feature across various Cisco products, see Additional References.

About SGT and SXP Support in Cisco TrustSec

In the Cisco TrustSec feature, security group access transforms a topology-aware network into a role-based network, which enables end-to-end policies enforced on the basis of role-based access control (RBAC). Device and user credentials acquired during authentication are used to classify packets by security groups. Every packet entering the Cisco TrustSec cloud is tagged with an security group tag (SGT). The tagging helps trusted intermediaries identify the source identity of the packet and enforce security policies along the data path. An SGT can indicate a privilege level across the domain when the SGT is used to define a security group ACL.

An SGT is assigned to a device through IEEE 802.1X authentication, web authentication, or MAC authentication bypass (MAB), which occurs with a RADIUS vendor-specific attribute. An SGT can be assigned statically to a particular IP address or to a switch interface. An SGT is passed along dynamically to a switch or access point after successful authentication.

The Security-group eXchange Protocol (SXP) is a protocol developed for Cisco TrustSec to propagate the IP-to-SGT mapping database across network devices that do not have SGT-capable hardware support to hardware that supports SGTs and security group ACLs. SXP, a control plane protocol, passes IP-SGT mapping from authentication points (such as legacy access layer switches) to upstream devices in the network.

The SXP connections are point-to-point and use TCP as the underlying transport protocol. SXP uses the well-known TCP port number 64999 to initiate a connection. Additionally, an SXP connection is uniquely identified by the source and destination IP addresses.

Roles in the Cisco TrustSec Feature

To provide identity and policy-based access enforcement, the Cisco TrustSec feature includes the following roles:

- Access Requestor (AR)—Access requestors are end point devices that request access to protected resources in the network. They are primary subjects of the architecture and their access privilege depends on their Identity credentials.

Access requestors include end-point devices such PCs, laptops, mobile phones, printers, cameras, and MACsec-capable IP phones.

- Policy Decision Point (PDP)—A policy decision point is responsible for making access control decisions. The PDP provides features such as 802.1x, MAB, and web authentication. The PDP supports authorization and enforcement through VLAN, DACL, and security group access (SGACL/SXP/SGT).

In the Cisco TrustSec feature, the Cisco Identity Services Engine (ISE) acts as the PDP. The Cisco ISE provides identity and access control policy functionality.

- Policy Information Point (PIP)—A policy information point is a source that provides external information (for example, reputation, location, and LDAP attributes) to policy decision points.

Policy information points include devices such as Session Directory, Sensor IPS, and Communication Manager.

- Policy Administration Point (PAP)—A policy administration point defines and inserts policies into the authorization system. The PAP acts as an identity repository by providing Cisco TrustSec tag-to-user identity mapping and Cisco TrustSec tag-to-server resource mapping.

In the Cisco TrustSec feature, the Cisco Secure Access Control System (a policy server with integrated 802.1x and SGT support) acts as the PAP.

- Policy Enforcement Point (PEP)—A policy enforcement point is the entity that carries out the decisions (policy rules and actions) made by the PDP for each AR. PEP devices learn identity information through the primary communication path that exists across networks. PEP devices learn the identity attributes of each AR from many sources, such as end point agents, authorization servers, peer enforcement devices, and network flows. In turn, PEP devices use SXP to propagate IP-SGT mapping to mutually trusted peer devices across the network.

Policy enforcement points include network devices such as Catalyst switches, routers, firewalls (specifically the ASA), servers, VPN devices, and SAN devices.

The ASA serves the PEP role in the identity architecture. Using SXP, the ASA learns identity information directly from authentication points and uses it to enforce identity-based policies.

Security Group Policy Enforcement

Security policy enforcement is based on security group name. An end-point device attempts to access a resource in the data center. Compared to traditional IP-based policies configured on firewalls, identity-based policies are configured based on user and device identities. For example, mktg-contractor is allowed to access mktg-servers; mktg-corp-users are allowed to access mktg-server and corp-servers.

The benefits of this type of deployment include:

- User group and resource are defined and enforced using single object (SGT) simplified policy management.

- User identity and resource identity are retained throughout the Cisco TrustSec-capable switch infrastructure.

Figure 41-1 show a deployment for security group name-based policy enforcement.

Figure 41-1 Security Group Name-Based Policy Enforcement Deployment

Implementing Cisco TrustSec allows you to configure security policies that support server segmentation and includes the following features:

- A pool of servers can be assigned an SGT for simplified policy management.

- The SGT information is retained within the infrastructure of Cisco Trustsec-capable switches.

- The ASA can use the IP-SGT mapping for policy enforcement across the Cisco TrustSec domain.

- Deployment simplification is possible because 802.1x authorization for servers is mandatory.

How the ASA Enforces Security Group-Based Policies

Note User-based security policies and security-group based policies can coexist on the ASA. Any combination of network, user-based, and security-group based attributes can be configured in an security policy. See Chapter 40, “Identity Firewall” for information about configuring user-based security policies.

To configure the ASA to function with Cisco TrustSec, you must import a Protected Access Credential (PAC) file from the ISE. For more information, see Importing a Protected Access Credential (PAC) File.

Importing the PAC file to the ASA establishes a secure communication channel with the ISE. After the channel is established, the ASA initiates a PAC secure RADIUS transaction with the ISE and downloads Cisco TrustSec environment data (that is, the security group table). The security group table maps SGTs to security group names. Security group names are created on the ISE and provide user-friendly names for security groups.

The first time that the ASA downloads the security group table, it walks through all entries in the table and resolves all the security group names included in security policies that have been configured on it; then the ASA activates those security policies locally. If the ASA cannot resolve a security group name, it generates a syslog message for the unknown security group name.

Figure 41-2 shows how a security policy is enforced in Cisco TrustSec.

Figure 41-2 Security Policy Enforcement

1. An end point device connects to an access layer device directly or via remote access and authenticates with Cisco TrustSec.

2. The access layer device authenticates the end-point device with the ISE by using authentication methods such as 802.1X or web authentication. The end-point device passes role and group membership information to classify the device into the appropriate security group.

3. The access layer device uses SXP to propagate the IP-SGT mapping to the upstream devices.

4. The ASA receives the packet and looks up the SGTs for the source and destination IP addresses using the IP-SGT mapping passed by SXP.

If the mapping is new, the ASA records it in its local IP-SGT Manager database. The IP-SGT Manager database, which runs in the control plane, tracks IP-SGT mapping for each IPv4 or IPv6 address. The database records the source from which the mapping was learned. The peer IP address of the SXP connection is used as the source of the mapping. Multiple sources can exist for each IP-SGT mapped entry.

If the ASA is configured as a Speaker, the ASA transmits all IP-SGT mapping entries to its SXP peers. For more information, see About Speaker and Listener Roles on the ASA.

5. If a security policy is configured on the ASA with that SGT or security group name, the ASA enforces the policy. (You can create security policies on the ASA that include SGTs or security group names. To enforce policies based on security group names, the ASA needs the security group table to map security group names to SGTs.)

If the ASA cannot find a security group name in the security group table and it is included in a security policy, the ASA considers the security group name to be unknown and generates a syslog message. After the ASA refreshes the security group table from the ISE and learns the security group name, the ASA generates a syslog message indicating that the security group name is known.

Effects of Changes to Security Groups on the ISE

The ASA periodically refreshes the security group table by downloading an updated table from the ISE. Security groups can change on the ISE between downloads. These changes are not reflected on the ASA until it refreshes the security group table.

Tip We recommend that you schedule policy configuration changes on the ISE during a maintenance window, then manually refresh the security group table on the ASA to make sure the security group changes have been incorporated.

Handling policy configuration changes in this way maximizes the chances of security group name resolution and immediate activation of security policies.

The security group table is automatically refreshed when the environment data timer expires. You can also trigger a security group table refresh on demand.

If a security group changes on the ISE, the following events occur when the ASA refreshes the security group table:

- Only security group policies that have been configured using security group names need to be resolved with the security group table.Policies that include security group tags are always active.

- When the security group table is available for the first time, all policies with security group names are walked through, security group names are resolved, and policies are activated. All policies with tags are walked through, and syslogs are generated for unknown tags.

- If the security group table has expired, policies continue to be enforced according to the most recently downloaded security group table until you clear it, or a new table becomes available.

- When a resolved security group name becomes unknown on the ASA, it deactivates the security policy; however, the security policy persists in the ASA running configuration.

- If an existing secuity group is deleted on the PAP, a previously known security group tag can become unknown, but no change in policy status occurs on the ASA. A previously known security group name can become unresolved, and the policy is then inactivated. If the security group name is reused, the policy is recompiled using the new tag.

- If a new security group is added on the PAP, a previously unknown security group tag can become known, a syslog message is generated, but no change in policy status occurs. A previously unknown security group name can become resolved, and associated policies are then activated.

- If a tag has been renamed on the PAP, policies that were configured using tags display the new name, and no change in policy status occurs. Policies that were configured with security group names are recompiled using the new tag value.

About Speaker and Listener Roles on the ASA

The ASA supports SXP to send and receive IP-SGT mapping entries to and from other network devices. Using SXP allows security devices and firewalls to learn identity information from access switches without the need for hardware upgrades or changes. SXP can also be used to pass IP-SGT mapping entries from upstream devices (such as datacenter devices) back to downstream devices. The ASA can receive information from both upstream and downstream directions.

When configuring an SXP connection on the ASA to an SXP peer, you must designate the ASA as a Speaker or a Listener for that connection so that it can exchange Identity information:

- Speaker mode—Configures the ASA so that it can forward all active IP-SGT mapping entries collected on the ASA to upstream devices for policy enforcement.

- Listener mode—Configures the ASA so that it can receive IP-SGT mapping entries from downstream devices (SGT-capable switches) and use that information to create policy definitions.

If one end of an SXP connection is configured as a Speaker, then the other end must be configured as a Listener, and vice versa. If both devices on each end of an SXP connection are configured with the same role (either both as Speakers or both as Listeners), the SXP connection fails and the ASA generates a syslog message.

Multiple SXP connections can learn IP-SGT mapping entries that have been downloaded from the IP-SGT mapping database. After an SXP connection to an SXP peer is established on the ASA, the Listener downloads the entire IP-SGT mapping database from the Speaker. All changes that occur after this are sent only when a new device appears on the network. As a result, the rate of SXP information flow is proportional to the rate at which end hosts authenticate to the network.

IP-SGT mapping entries that have been learned through SXP connections are maintained in the SXP IP-SGT mapping database. The same mapping entries may be learned through different SXP connections. The mapping database maintains one copy for each mapping entry learned. Multiple mapping entries of the same IP-SGT mapping value are identified by the peer IP address of the connection from which the mapping was learned. SXP requests that the IP-SGT Manager add a mapping entry when a new mapping is learned the first time and remove a mapping entry when the last copy in the SXP database is removed.

Whenever an SXP connection is configured as a Speaker, SXP requests that the IP-SGT Manager forward all the mapping entries collected on the device to the peer. When a new mapping is learned locally, the IP-SGT Manager requests that SXP forward it through connections that are configured as Speakers.

Configuring the ASA to be both a Speaker and a Listener for an SXP connection can cause SXP looping, which means that SXP data can be received by an SXP peer that originally transmitted it.

SXP Chattiness

The rate of SXP information flow is proportional to the rate at which end hosts authenticate into the network. After an SXP peering is established, the listener device downloads the entire IP-SGT database from the speaker device. After that, all changes are sent incrementally only when a new device appears on the network or leaves the network. Also, note that only access devices that are attached to the new device initiate this incremental update to the upstream device.

In other words, SXP protocol is no chattier than the authentication rate, which is limited to the capability of the authentication server. Therefore, SXP chattiness is not a major concern.

SXP Timers

- Retry Open Timer—The retry open timer is triggered if one SXP connection on the device is not up. After the retry open timer expires, the device goes through the entire connection database and if any connection is in the off or “pending on” state, the retry open timer restarts. The default timer value is 120 seconds. A zero value means the retry timer does not start. The retry open timer continues until all the SXP connections are set up, or the retry open timer has been configured to be 0.

- Delete Hold-Down Timer—The connection-specific delete hold-down timer is triggered when a connection on the Listener is torn down. The mapping entries that have been learned are not deleted immediately, but are held until the delete hold-down timer expires. The mapping entries are deleted after this timer expires. The delete hold-down timer value is set to 120 seconds and is not configurable.

- Reconciliation Timer—If an SXP connection is brought up within the delete hold-down timer period, a bulk update is performed on this connection. This means that the most recent mapping entries are learned and are associated with a new connection instantiation identifier. A periodic, connection-specific reconciliation timer starts in the background. When this reconciliation timer expires, it scans the entire SXP mapping database and identifies all mapping entries that have not been learned in the current connection session (that is, mapping entries with an unmatched connection instantiation identifier), and marks them for deletion. These entries are deleted in the subsequent reconciliation review. The default reconciliation timer value is 120 seconds. A zero value is not allowed on the ASA to prevent obsolete entries from staying for an unspecified length of time and causing unexpected results in policy enforcement.

- HA Reconciliation Timer—When HA is enabled, the SXP mapping database of the active and standby units are in sync. The new active unit tries to establish new SXP connections to all its peers and acquires the latest mapping entries. An HA reconciliation timer provides a way of identifying and removing old mapping entries. It starts after a failover occurs, which gives the ASA time to acquire the latest mapping entries. After the HA reconciliation timer expires, the ASA scans the entire SXP mapping database and identifies all the mapping entries have not been learned in the current connection session. Mapping entries with unmatched instantiation identifiers are marked for deletion. This reconciliation mechanism is the same as that of the reconciliation timer. The time value is the same as the reconciliation timer and is configurable.

After an SXP peer terminates its SXP connection, the ASA starts a delete hold-down timer. Only SXP peers designated as Listeners can terminate a connection. If an SXP peer connects while the delete hold-down timer is running, the ASA starts the reconciliation timer; then the ASA updates the IP-SGT mapping database to learn the most recent mapping.

IP-SGT Manager Database

The IP-SGT Manager database does not synchronize any entries from the active unit to the standby unit. Each source from which the IP-SGT Manager database receives IP-SGT mapping entries synchronizes its database from the active unit to the standby unit, then provides the final IP-SGT mapping to the IP-SGT Manager on the standby unit.

For Version 9.0(1), the IP-SGT Manager database receives IP-SGT mapping updates from the SXP source only.

Features of the ASA-Cisco TrustSec Integration

The ASA includes Cisco TrustSec as part of its identity-based firewall feature. Cisco TrustSec provides the following capabilities:

Flexibility

- The ASA can be configured as an SXP Speaker or Listener, or both.

See About Speaker and Listener Roles on the ASA.

- The ASA supports SXP for IPv6 and IPv6-capable network devices.

- SXP can change mapping entries for IPv4 and IPv6 addresses.

- SXP end points support IPv4 and IPv6 addresses.

- The ASA supports SXP Version 2 only.

- The ASA negotiates SXP versions with different SXP-capable network devices. SXP version negotiation eliminates the need for static configuration of versions.

- You can configure the ASA to refresh the security group table when the SXP reconcile timer expires and you can download the security group table on demand. When the security group table on the ASA is updated from the ISE, changes are reflected in the appropriate security policies.

- The ASA supports security policies based on security group names in the source or destination fields, or both. You can configure security policies on the ASA based on combinations of security groups, IP address, Active Directory group/user name, and FQDN.

Availability

- You can configure security group-based policies on the ASA in both the Active/Active and Active/Standby configurations.

- The ASA can communicate with the ISE configured for high availability (HA).

- You can configure multiple ISE servers on the ASA and if the first server is unreachable, it continues to the next server, and so on. However, if the server list is downloaded as part of the Cisco TrsutSec environment data, it is ignored.

- If the PAC file downloaded from the ISE expires on the ASA and it cannot download an updated security group table, the ASA continues to enforce security policies based on the last downloaded security group table until the ASA downloads an updated table.

Clustering

- For Layer 2 networks, all units share the same IP address. When you change the interface address, the changed configuration is sent to all other units. When the IP address is updated from the interface of a particular unit, a notification is sent to update the IP-SGT local database on this unit.

- For Layer 3 networks, a pool of addresses is configured for each interface on the master unit, and this configuration is synchronized to the slave units. On the master unit, a notification of the IP addresses that have been assigned to the interface is sent, and the IP-SGT local database is updated. The IP-SGT local database on each slave unit can be updated with the IP address information for the master unit by using the address pool configuration that has been synchronized to it, where the first address in the pool for each interface always belongs to the master unit.

When a slave unit boots, it notifies the master unit. Then the master unit goes through the address pool on each interface and computes the IP address for the new slave unit that sent it the notification, and updates the IP-SGT local database on the master unit. The master unit also notifies the other slave units about the new slave unit. As part of this notification processing, each slave unit computes the IP address for the new slave unit and adds this entry to the IP-SGT local database on each slave unit. All the slave units have the address pool configuration to determine the IP address value. For each interface, the value is determined as follows:

Master IP + (M-N), where:

M—Maximum number of units (up to 8 are allowed)

N—Slave unit number that sent the notification

When the IP address pool changes on any interface, the IP addresses for all the slave units and the master unit need to be recalculated and updated in the IP-SGT local database on the master unit, as well as on every other slave unit. The old IP address needs to be deleted, and the new IP address needs to be added.

When this changed address pool configuration is synchronized to the slave unit, as a part of configuration change processing, each slave unit recomputes the IP address for the master unit and for every other slave unit whose IP address has changed, then removes the entry for the old IP address and adds the new IP address.

Scalability

show the number of IP-SGT mapping entries that the ASA supports.

Table 41-1 Capacity Numbers for IP-SGT Mapping Entries

ASA Model

Number of IP-SGT Mapping Entries

5505

250

5585-X with SSP-10

18,750

5585-X with SSP-20

25,000

5585-X with SSP-40

50,000

5585-X with SSP-60

100,000

shows the number of SXP connections that the ASA supports.

Table 41-2 SXP Connections

ASA Model

Number of SXP TCP Connections

5505

10

5585-X with SSP-10

150

5585-X with SSP-20

250

5585-X with SSP-40

500

5585-X with SSP-60

1000

Licensing Requirements for Cisco TrustSec

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for Using Cisco TrustSec

Before configuring the ASA to use Cisco TrustSec, you must perform the following tasks:

- Registering the ASA with the ISE

- Creating a Security Group on the ISE

- Generating the PAC File

Registering the ASA with the ISE

The ASA must be configured as a recognized Cisco TrustSec network device in the ISE before the ASA can successfully import a PAC file. To register the ASA with the ISE, perform the following steps:

1. Log into the ISE.

.

.

4. Enter the IP address of the ASA.

5. When the ISE is being used for user authentication, enter a shared secret in the Authentication Settings area.

When you configure the AAA sever on the ASA, provide the shared secret that you create here on the ISE. The AAA server on the ASA uses this shared secret to communicate with the ISE.

6. Specify a device name, device ID, password, and a download interval for the ASA. See the ISE documentation for how to perform these tasks.

Creating a Security Group on the ISE

When configuring the ASA to communicate with the ISE, you specify a AAA server. When configuring the AAA server on the ASA, you must specify a server group. The security group must be configured to use the RADIUS protocol. To create a security group on the ISE, perform the following steps:

1. Log into the ISE.

.

3. Add a security group for the ASA. (Security groups are global and not ASA specific.)

The ISE creates an entry under Security Groups with a tag.

4. Under the Security Group Access section, configure device ID credentials and a password for the ASA.

Generating the PAC File

Before generating the PAC file, you must have registered the ASA with the ISE. To generate the PAC file, perform the following steps:

1. Log into the ISE.

.

3. From the list of devices, choose the ASA.

.

5. To encrypt the PAC file, enter a password.

The password (or encryption key) that you enter to encrypt the PAC file is independent of the password that was configured on the ISE as part of the device credentials.

The ISE generates the PAC file. The ASA can import the PAC file from flash or from a remote server via TFTP, FTP, HTTP, HTTPS, or SMB. (The PAC file does not have to reside on the ASA flash before you can import it.)

For information about the PAC file, see Importing a Protected Access Credential (PAC) File.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6 for SXP endpoints.

Clustering Guidelines

Supported on the master unit and on slave units in a clustering environment.

Failover Guidelines

Supports a list of servers via configuration. If the first server is unreachable, the ASA tries to contact the second server in the list, and so on. However, the server list downloaded as part of the Cisco TrustSec environment data is ignored.

Supports both Active/Standby and Active/Active scenarios. All SXP data is replicated from the active unit to the standby unit after it takes over.

Additional Guidelines

Cisco TrustSec supports the Smart Call Home feature in single context and multi-context mode, but not in the system context.

Limitations

- The ASA can only be configured to interoperate in a single Cisco TrustSec domain.

- The ASA does not support static configuration of SGT-name mapping on the device.

- NAT is not supported in SXP messages.

- SXP conveys IP-SGT mapping to enforcement points in the network. If an access layer switch belongs to a different NAT domain than the enforcing point, the IP-SGT map that it uploads is invalid, and an IP-SGT mapping database lookup on the enforcement device does not yield valid results. As a result, the ASA cannot apply security group-aware security policy on the enforcement device.

- You can configure a default password for the ASA to use for SXP connections, or you can choose not to use a password; however, connection-specific passwords are not supported for SXP peers. The configured default SXP password should be consistent across the deployment network. If you configure a connection-specific password, connections may fail and a warning message appears. If you configure the connection with the default password, but it is not configured, the result is the same as when you have configured the connection with no password.

- SXP connection loops can form when a device has bidirectional connections to a peer or is part of a unidirectionally connected chain of devices. (The ASA can learn IP-SGT mapping for resources from the access layer in the data center. The ASA might need to propagate these tags to downstream devices.) SXP connection loops can cause unexpected behavior of SXP message transport. In cases where the ASA is configured to be a Speaker and Listener, an SXP connection loop can occur, causing SXP data to be received by the peer that originally transmitted it.

- When changing the ASA local IP address, you must ensure that all SXP peers have updated their peer list. In addition, if SXP peers changes its IP addresses, you must ensure those changes are reflected on the ASA.

- Automatic PAC file provisioning is not supported. The ASA administrator must request the PAC file from the ISE administrative interface and import it into the ASA. For information about the PAC file, see Generating the PAC File and the Importing a Protected Access Credential (PAC) File.

- PAC files have expiration dates. You must import the updated PAC file before the current PAC file expires; otherwise, the ASA cannot retrieve environment data updates.

- When a security group changes on the ISE (for example, it is renamed or deleted), the ASA does not change the status of any ASA security policies that contain an SGT or security group name associated with the changed security group; however, the ASA generates a syslog message to indicate that those security policies changed.

See Refreshing Environment Data for information about manually updating the security group table on the ASA to include changes from the ISE.

- The multicast types are not supported in ISE 1.0.

- An SXP connection stays in the initializing state among two SXP peers interconnected by the ASA; as shown in the following example:

(SXP peer A) - - - - (ASA) - - - (SXP peer B)

Therefore, when configuring the ASA to integrate with Cisco TrustSec, you must enable the no-NAT, no-SEQ-RAND, and MD5-AUTHENTICATION TCP options on the ASA to configure SXP connections. Create a TCP state bypass policy for traffic destined to SXP port TCP 64999 among the SXP peers. Then apply the policy on the appropriate interfaces.

For example, the following set of commands shows how to configure the ASA for a TCP state bypass policy:

access-list SXP-MD5-ACL extended permit tcp host peerA host peerB eq 64999

access-list SXP-MD5-ACL extended permit tcp host peerB host peerA eq 64999

tcp-map SXP-MD5-OPTION-ALLOW

tcp-options range 19 19 allow

class-map SXP-MD5-CLASSMAP

match access-list SXP-MD5-ACL

policy-map type inspect dns preset_dns_map

parameters

message-length maximum 512

policy-map global_policy

class SXP-MD5-CLASSMAP

set connection random-sequence-number disable

set connection advanced-options SXP-MD5-OPTION-ALLOW

set connection advanced-options tcp-state-bypass

service-policy global_policy global

Configuring the ASA for Cisco TrustSec Integration

This section includes the following topics:

- Task Flow for Configuring the ASA to Integrate with Cisco TrustSec

- Configuring the AAA Server for Cisco TrustSec Integration

- Importing a Protected Access Credential (PAC) File

- Configuring the Security Exchange Protocol (SXP)

- Adding an SXP Connection Peer

- Refreshing Environment Data

- Configuring the Security Policy

Task Flow for Configuring the ASA to Integrate with Cisco TrustSec

Prerequisite

Before configuring the ASA to integrate with Cisco TrustSec, you must complete the following tasks:

- Register the ASA with the ISE.

- Create a security group on the ISE.

- Generate the PAC file on the ISE to import into the ASA.

See Prerequisites for Using Cisco TrustSec for more information.

To configure the ASA to integrate with Cisco TrustSec, perform the following tasks:

Step 1 Configure the AAA server.

See Configuring the AAA Server for Cisco TrustSec Integration.

Step 2 Import the PAC file from the ISE.

See Importing a Protected Access Credential (PAC) File.

Step 3 Enable and set the default values for SXP.

See Configuring the Security Exchange Protocol (SXP).

Step 4 Add SXP connection peers for the Cisco TrustSec architecture.

See Adding an SXP Connection Peer.

Step 5 As necessary, refresh environment data for the ASA.

See Refreshing Environment Data.

Step 6 Configure the security policy.

See Configuring the Security Policy.

Configuring the AAA Server for Cisco TrustSec Integration

As part of configuring the ASA to integrate with Cisco TrustSec, you must configure the ASA so that it can communicate with the ISE.

Prerequisites

- The referenced server group must be configured to use the RADIUS protocol. If you add a non-RADIUS server group to the ASA, the configuration fails.

- If the ISE is also used for user authentication, obtain the shared secret that was entered on the ISE when you registered the ASA with the ISE. Contact your ISE administrator to obtain this information.

To configure the AAA server group for the ISE on the ASA, perform the following steps:

Command

Purpose

Step 1

ciscoasa(config)# aaa-server server-tag protocol radius

ciscoasa(config)# aaa-server ISEserver protocol radius

Creates the AAA server group and configures the AAA server parameters for the ASA to communicate with the ISE server.

specifies the server group name.

See Creating a Security Group on the ISE for more information.

Step 2

ciscoasa(config-aaa-server-group)# exit

Exits from the AAA server group configuration mode.

Step 3

ciscoasa(config)# aaa-server server-tag ( interface-name ) host server-ip

ciscoasa(config)# aaa-server ISEserver (inside) host 192.0.2.1

Configures a AAA server as part of a AAA server group and sets host-specific connection data.

specifies the network interface where the ISE server resides. The parentheses are required in this parameter.

is the name of the AAA server group.

specifies the IP address of the ISE server.

Step 4

ciscoasa(config-aaa-server-host)# key key

ciscoasa(config-aaa-server-host)# key myexclusivemumblekey

Specifies the server secret value used to authenticate the ASA with the ISE server.

is an alphanumeric keyword up to 127 characters long.

If the ISE is also used for user authentication, enter the shared secret that was entered on the ISE when you registered the ASA with the ISE.

See Registering the ASA with the ISE for more information.

Step 5

ciscoasa(config-aaa-server-host)# exit

Exits from the AAA server host configuration mode.

Step 6

ciscoasa(config)# cts server-group AAA-server-group-name

ciscoasa(config)# cts server-group ISEserver

Identifies the AAA server group that is used by Cisco TrustSec for environment data retrieval.

argument.

Only one instance of the server group can be configured on the ASA for Cisco TrustSec.

Examples

The following example shows how to configure the ASA to communicate with the ISE server for Cisco TrustSec integration:

ciscoasa(config)# aaa-server ISEserver protocol radius

ciscoasa(config-aaa-server-group)# exit

ciscoasa(config)# aaa-server ISEserver (inside) host 192.0.2.1

ciscoasa(config-aaa-server-host)# key myexclusivemumblekey

ciscoasa(config-aaa-server-host)# exit

ciscoasa(config)# cts server-group ISEserver

Importing a Protected Access Credential (PAC) File

Importing the PAC file to the ASA establishes the connection with the ISE. After the channel is established, the ASA initiates a secure RADIUS transaction with the ISE and downloads Cisco TrustSec environment data (that is, the security group table). The security group table maps SGTs to security group names. Security group names are created on the ISE and provide user-friendly names for security groups.

More specifically, no channel is established before the RADIUS transaction. The ASA initiates a RADIUS transaction with the ISE using the PAC file for authentication.

Tip The PAC file includes a shared key that allows the ASA and ISE to secure the RADIUS transactions that occur between them. Given the sensitive nature of this key, it must be stored securely on the ASA.

After successfully importing the file, the ASA downloads Cisco TrustSec environment data from the ISE without requiring the device password configured in the ISE.

Prerequisites

- The ASA must be configured as a recognized Cisco TrustSec network device in the ISE before the ASA can generate a PAC file. The ASA can import any PAC file, but it only works on the ASA when the file was generated by a correctly configured ISE. See Registering the ASA with the ISE for more information.

- Obtain the password used to encrypt the PAC file when generating it on the ISE.

The ASA requires this password to import and decrypt the PAC file.

- Access to the PAC file generated by the ISE. The ASA can import the PAC file from flash or from a remote server via TFTP, FTP, HTTP, HTTPS, or SMB. (The PAC file does not need to reside on the ASA flash before you can import it.)

- The server group has been configured for the ASA.

Restrictions

- When the ASA is part of an HA configuration, you must import the PAC file to the primary ASA device.

- When the ASA is part of a clustering configuration, you must import the PAC file to the master device.

To import a PAC file, enter the following command:

Command

Purpose

ciscoasaciscoasa(config)# cts import-pac filepath password value

ciscoasaciscoasa(config)# cts import-pac disk0:/xyz.pac password IDFW-pac99

Imports a Cisco TrustSec PAC file.

is entered as one of the following exec mode commands and options:

Single Mode

- disk0 : Path and filename on disk0

- disk1 : Path and filename on disk1

- flash : Path and filename on flash

- ftp : Path and filename on FTP

- http : Path and filename on HTTP

- https : Path and filename on HTTPS

- smb : Path and filename on SMB

- tftp : Path and filename on TFTP

Multi-mode

- http : Path and filename on HTTP

- https : Path and filename on HTTPS

- smb : Path and filename on SMB

- tftp : Path and filename on TFTP

specifies the password used to encrypt the PAC file. The password is independent of the password that was configured on the ISE as part of the device credentials.

Examples

The following example shows how to import a PAC file into the ASA:

ciscoasa(config)# cts import pac disk0:/pac123.pac password hideme

PAC file successfully imported

The following example shows how to use the terminal to import a PAC file into the ASA:

ciscoasa(config)# cts import-pac terminal password A9875Za551

Enter the PAC file data in ASCII hex format

End with the word "quit" on a line by itself.

ciscoasa(exec_pac_hex)# 01002904050000010000000000000000

ciscoasa(exec_pac_hex)# 00000000000000001111111111111111

ciscoasa(exec_pac_hex)# 11111111111111112222222222222222

ciscoasa(exec_pac_hex)# 222222222222222276d7d64b6be4804b

ciscoasa(exec_pac_hex)# 0b4fdca3aeee11950ecd0e47c34157e5

ciscoasa(exec_pac_hex)# 25f4964ed75835cde0adb7e198e0bcdb

ciscoasa(exec_pac_hex)# 6aa8e363b0e4f9b4ac241be9ab576d0b

ciscoasa(exec_pac_hex)# a1fcd34e5dd05dbe1312cbfea072fdb9

ciscoasa(exec_pac_hex)# ee356fb61fe987d2d8f0ac3ef0467627

ciscoasa(exec_pac_hex)# 7f8b137da2b840e16da520468b039bae

ciscoasa(exec_pac_hex)# 36a4d844acc85cdefd7cb2cc58787590

ciscoasa(exec_pac_hex)# ef123882a69b6c37bdbc9320e403024f

ciscoasa(exec_pac_hex)# 354d42f404ec2d67ef3606575014584b

ciscoasa(exec_pac_hex)# 2796e65ccd6e6c8d14d92448a8b24f6e

ciscoasa(exec_pac_hex)# 47015a21f4f66cf6129d352bdfd4520f

ciscoasa(exec_pac_hex)# 3f0c6f340a80715df4498956efe15dec

ciscoasa(exec_pac_hex)# c08bb9a58cb6cb83ac91a3c40ce61de0

ciscoasa(exec_pac_hex)# 284b743e52fd68e848685e2d78c33633

ciscoasa(exec_pac_hex)# f2b4c5824138fc7bac9d9b83ac58ff9f

ciscoasa(exec_pac_hex)# 1dbc84c416322f1f3c5951cf2132994a

ciscoasa(exec_pac_hex)# a7cf20409df1d0d6621eba2b3af83252

ciscoasa(exec_pac_hex)# 70d0130650122bdb13a83b2dae55533a

ciscoasa(exec_pac_hex)# 4a394f21b441e164

ciscoasa(exec_pac_hex)# quit

PAC Imported Successfully

ciscoasa(config)#

Configuring the Security Exchange Protocol (SXP)

Configuring the Security Exchange Protocol (SXP) involves enabling the protocol in the ASA and setting the following default values for SXP:

- The source IP address of SXP connections

- The authentication password between SXP peers

- The retry interval for SXP connections

- The Cisco TrustSec SXP reconcile period

Note For SXP to be operational on the ASA, at least one interface must be in the UP/UP state.

Currently, when SXP is enabled with all interfaces down, the ASA does not display a message indicating that SXP is not working or it could not be enabled. If you check the configuration by entering the show running-config command, the command output displays the following message:

“WARNING: SXP configuration in process, please wait for a few moments and try again.”

This message is generic and does not specify the reason why SXP is not working.

To configure SXP, perform the following steps:

Command

Purpose

Step 1

ciscoasa(config)# cts sxp enable

If necessary, enables SXP on the ASA. By default, SXP is disabled.

In multi-context mode, you enable SXP in the user context.

Step 2

ciscoasa(config)# cts sxp default source-ip ipaddress

ciscoasa(config)# cts sxp default source-ip 192.168.1.100

Configures the default source IP address for SXP connections.

is an IPv4 or IPv6 address.

When you configure a default source IP address for SXP connections, you must specify the same address as the ASA outbound interface. If the source IP address does not match the address of the outbound interface, SXP connections fail.

When a source IP address for an SXP connection is not configured, the ASA performs a route/ARP lookup to determine the outbound interface for the SXP connection. See Adding an SXP Connection Peer for more information.

Step 3

ciscoasa(config)# cts sxp default password [ 0 | 8 ] password

ciscoasa(config)# cts sxp default password 8 IDFW-TrustSec-99

Configures the default password for TCP MD5 authentication with SXP peers. By default, SXP connections do not have a password set.

Configuring an encryption level for the password is optional. If you configure an encryption level, you can only set one level:

- Level 0—unencrypted cleartext

- Level 8—encrypted text

specifies an encrypted string up to 162 characters or an ASCII key string up to 80 characters.

Step 4

ciscoasa(config)# cts sxp retry period timervalue

ciscoasa(config)# cts sxp retry period 60

Specifies the default time interval between ASA attempts to set up new SXP connections between SXP peers. The ASA continues to make connection attempts until a successful connection is made. The retry timer is triggered as long as there is one SXP connection on the ASA that is not up.

is 120 seconds.

If you specify 0 seconds, the timer never expires and the ASA does not try to connect to SXP peers.

When the retry timer expires, the ASA goes through the connection database and if the database contains any connections that are off or in a “pending on” state, the ASA restarts the retry timer.

We recommend that you configure the retry timer to a different value from its SXP peer devices.

Step 5

ciscoasa(config)# cts sxp reconciliation period timervalue

ciscoasa(config)# cts sxp reconciliation period 60

Specifies the value of the default reconcile timer. After an SXP peer terminates its SXP connection, the ASA starts a hold-down timer.

If an SXP peer connects while the hold-down timer is running, the ASA starts the reconcile timer; then the ASA updates the SXP mapping database to learn the latest mapping.

When the reconcile timer expires, the ASA scans the SXP mapping database to identify stale mapping entries (entries that were learned in a previous connection session). The ASA marks these connections as obsolete. When the reconcile timer expires, the ASA removes the obsolete entries from the SXP mapping database.

is 120 seconds.

You cannot specify 0 seconds for the timer, because this value prevents the reconcile timer from starting. Not allowing the reconcile timer to run would keep stale entries for an undefined time and cause unexpected results from policy enforcement.

Examples

The following example shows how to set default values for SXP:

ciscoasa(config)# cts sxp enable

ciscoasa(config)# cts sxp default source-ip 192.168.1.100

ciscoasa(config)# cts sxp default password 8 ********

ciscoasa(config)# cts sxp retry period 60

ciscoasa(config)# cts sxp reconcile period 60

Adding an SXP Connection Peer

SXP connections between peers are point-to-point and use TCP as the underlying transport protocol.

To add an SXP connection peer, perform the following steps:

Command

Purpose

Step 1

ciscoasa(config)# cts sxp enable

If necessary, enables SXP on the ASA. By default, SXP is disabled.

Step 2

ciscoasa(config)# cts sxp connection peer peer_ip_address [ source source_ip_address ] password { default | none } [ mode { local | peer }] { speaker | listener }

ciscoasaciscoasa(config)# cts sxp connection peer 192.168.1.100 password default mode peer speaker

Sets up an SXP connection to an SXP peer. SXP connections are set per IP address; a single device pair can service multiple SXP connections.

is the IPv4 or IPv6 address of the SXP peer. The peer IP address must be reachable from the ASA outgoing interface.

is the local IPv4 or IPv6 address of the SXP connection. The source IP address must be the same as the ASA outbound interface or the connection fails.

We recommend that you do not configure a source IP address for an SXP connection and allow the ASA to perform a route/ARP lookup to determine the source IP address for the SXP connection.

Specifies whether or not to use the authentication key for the SXP connection:

- default —Use the default password configured for SXP connections. See Configuring the Security Exchange Protocol (SXP).

- none —Do not use a password for the SXP connection.

Specifies the mode of the SXP connection:

- local —Use the local SXP device.

- peer —Use the peer SXP device.

Specifies whether the ASA functions as a Speaker or Listener for the SXP connection. See About Speaker and Listener Roles on the ASA.

- speaker — The ASA can forward IP-SGT mapping to upstream devices.

- listener —The ASA can receive IP-SGT mapping from downstream devices.

Examples

The following example shows how to configure SXP peers on the ASA:

ciscoasa(config)# cts sxp enable

ciscoasa(config)# cts sxp connection peer 192.168.1.100 password default mode peer speaker

ciscoasa(config)# cts sxp connection peer 192.168.1.101 password default mode peer

ciscoasa(config)# no cts sxp connection peer 192.168.1.100

ciscoasa(config)# cts sxp connection peer 192.168.1.100 source 192.168.1.1 password default mode peer speaker

ciscoasa(config)# no cts sxp connection peer 192.168.1.100 source 192.168.1.1 password default mode peer speaker

Refreshing Environment Data

The ASA downloads environment data from the ISE, which includes the Security Group Tag (SGT) name table. The ASA automatically refreshes its environment data that is obtained from the ISE when you complete the following tasks on the ASA:

- Configure a AAA server to communicate with the ISE.

- Import a PAC file from the ISE.

- Identify the AAA server group that the ASA will use for retrieval of Cisco TrustSec environment data.

Normally, you do not need to manually refresh the environment data from the ISE; however, security groups can change on the ISE. These changes are not reflected on the ASA until you refresh the data in the ASA security group table, so refresh the data on the ASA to make sure that any security group changes made on the ISE are reflected on the ASA.

Tip We recommend that you schedule policy configuration changes on the ISE and the manual data refresh on the ASA during a maintenance window. Handling policy configuration changes in this way maximizes the chances of security group names getting resolved and security policies becoming active immediately on the ASA.

Prerequisites

The ASA must be configured as a recognized Cisco TrustSec network device in the ISE and the ASA must have successfully imported a PAC file, so that the changes made for Cisco TrustSec are applied to the ASA.

Restrictions

- When the ASA is part of an HA configuration, you must refresh the environment data on the primary ASA device.

- When the ASA is part of a clustering configuration, you must refresh the environment data on the master device.

To refresh the environment data, enter the following command:

Command

Purpose

cts refresh environment-data

ciscoasaciscoasa(config)# cts refresh environment-data

Refreshes the environment data from the ISE and resets the reconcile timer to the configured default value.

Configuring the Security Policy

You can incorporate TrustSec policy in many ASA features. Any feature that uses extended ACLs (unless listed in this chapter as unsupported) can take advantage of TrustSec. You can now add security group arguments to extended ACLs, as well as traditional network-based parameters.

- To configure an extended ACL, see the firewall configuration guide.

- To configure security group object groups, which can be used in the ACL, see Configuring Local User Groups.

For example, an access rule permits or denies traffic on an interface using network information. With TrustSec, you can control access based on security group. For example, you could create an access rule for sample_securitygroup1 10.0.0.0 255.0.0.0, meaning the security group could have any IP address on subnet 10.0.0.0/8.

You can configure security policies based on combinations of security group names (servers, users, unmanaged devices, and so on), user-based attributes, and traditional IP-address-based objects (IP address, Active Directory object, and FQDN). Security group membership can extend beyond roles to include device and location attributes and is independent of user group membership.

Examples

The following example shows how to create an ACL that uses a locally defined security object group:

object-group security objgrp-it-admin

security-group name it-admin-sg-name

security-group tag 1

object-group security objgrp-hr-admin

security-group name hr-admin-sg-name // single sg_name

group-object it-admin // locally defined object-group as nested object

object-group security objgrp-hr-servers

security-group name hr-servers-sg-name

object-group security objgrp-hr-network

security-group tag 2

access-list hr-acl permit ip object-group-security objgrp-hr-admin any object-group-security objgrp-hr-servers

The ACL configured in the previous example can be activated by configuring an access group or the Modular Policy Framework.

Additional examples:

!match src hr-admin-sg-name from any network to dst host 172.23.59.53

access-list idw-acl permit ip security-group name hr-admin-sg-name any host 172.23.59.53

!match src hr-admin-sg-name from host 10.1.1.1 to dst any

access-list idfw-acl permit ip security-group name hr-admin-sg-name host 10.1.1.1 any

!match src tag 22 from any network to dst hr-servers-sg-name any network

access-list idfw-acl permit ip security-group tag 22 any security-group name hr-servers-sg-name any

!match src user mary from any host to dst hr-servers-sg-name any network

access-list idfw-acl permit ip user CSCO\mary any security-group name hr-servers-sg-name any

!match src objgrp-hr-admin from any network to dst objgrp-hr-servers any network

access-list idfw-acl permit ip object-group-security objgrp-hr-admin any object-group-security objgrp-hr-servers any

!match src user Jack from objgrp-hr-network and ip subnet 10.1.1.0/24 to dst objgrp-hr-servers any network

access-list idfw-acl permit ip user CSCO\Jack object-group-security objgrp-hr-network 10.1.1.0 255.255.255.0 object-group-security objgrp-hr-servers any

!match src user Tom from security-group mktg any google.com

object network net-google

fqdn google.com

access-list sgacl permit ip sec name mktg any object net-google

! If user Tom or object_group security objgrp-hr-admin needs to be matched, multiple ACEs can be defined as follows:

access-list idfw-acl2 permit ip user CSCO\Tom 10.1.1.0 255.255.255.0 object-group-security objgrp-hr-servers any

access-list idfw-acl2 permit ip object-group-security objgrp-hr-admin 10.1.1.0 255.255.255.0 object-group-security objgrp-hr-servers any

Configuration Example

The following example shows how to configure the ASA to use Cisco TrustSec:

// Import an encrypted CTS PAC file

cts import-pac asa.pac password Cisco

// Configure ISE for environment data download

aaa-server cts-server-list protocol radius

aaa-server cts-server-list host 10.1.1.100 cisco123

cts server-group cts-server-list

// Configure SXP peers

cts sxp enable

cts sxp connection peer 192.168.1.100 password default mode peer speaker

//Configure security-group based policies

object-group security objgrp-it-admin

security-group name it-admin-sg-name

security-group tag 1

object-group security objgrp-hr-admin

security-group name hr-admin-sg-name

group-object it-admin

object-group security objgrp-hr-servers

security-group name hr-servers-sg-name

access-list hr-acl permit ip object-group-security objgrp-hr-admin any object-group-security objgrp-hr-servers

Additional References

Reference

Description

Describes the Cisco TrustSec system and architecture for the enterprise.

Provides instructions for deploying the Cisco TrustSec solution in the enterprise, including links to component design guides.

Describes the Cisco TrustSec solution when used with the ASA, switches, wireless LAN (WLAN) controllers, and routers.

Provides the Cisco TrustSec Platform Support Matrix, which lists the Cisco products that support the Cisco TrustSec solution.

Monitoring Cisco TrustSec

To monitor Cisco TrustSec on the ASA, enter one or more of the following commands:

Command

Purpose

Displays the configured default values for the Cisco TrustSec infrastructure and the SXP commands.

Displays the SXP connections on the ASA for a particular user context when multi-context mode is used.

Displays data for all SXP connections.

Displays the Cisco TrustSec environment information contained in the security group table on the ASA.

Displays the IP address-security group table manager entries in the control path.

Displays the IP address-security group table mapping entries from the IP address-security group table mapping database maintained in the datapath.

Displays information about the PAC file imported into the ASA from the ISE. Displays a warning message when the PAC file has expired or is within 30 days of expiring.

Feature History for the Cisco TrustSec Integration

lists each feature change and the platform release in which it was implemented.

Table 41-3 Feature History for the Cisco TrustSec Integration

Feature Name

Platform Releases

Feature Information

Cisco TrustSec Integration

9.0(1)

Cisco TrustSec provides access control that builds upon an existing identity-aware infrastructure to ensure data confidentiality between network devices and integrate security access services on one platform. In the Cisco TrustSec feature, enforcement devices use a combination of user attributes and end-point attributes to make role-based and identity-based access control decisions.

In this release, the ASA integrates with Cisco TrustSec to provide security group-based policy enforcement. Access policies within the Cisco TrustSec domain are topology-independent, based on the roles of source and destination devices rather than on network IP addresses.

The ASA can use the Cisco TrustSec feature for other types of security group-based policies, such as application inspection; for example, you can configure a class map that includes an access policy based on a security group.

.

Windows NT Servers for AAA

This chapter describes how to configure Windows NT servers used in AAA and includes the following sections:

- Information About Windows NT Servers

- Licensing Requirements for Windows NT Servers

- Guidelines and Limitations

- Configuring Windows NT Servers

- Monitoring Windows NT Servers

- Feature History for Windows NT Servers

Information About Windows NT Servers

The ASA supports Microsoft Windows server operating systems that support NTLM Version 1, collectively referred to as NT servers.

Note Windows NT servers have a maximum length of 14 characters for user passwords. Longer passwords are truncated, which is a limitation of NTLM Version 1.

Licensing Requirements for Windows NT Servers

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports 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.

- If you need to configure fallback support using the local database, see Fallback Support and the How Fallback Works with Multiple Servers in a Group.

Configuring Windows NT Servers

This section includes the following topics:

- Configuring Windows NT Server Groups

- Adding a Windows NT Server to a Group

Task Flow for Configuring Windows NT Servers

Step 1 Add a AAA server group. See Configuring Windows NT Server Groups.

Step 2 For a server group, add a server to the group. See Adding a Windows NT Server to a Group.

Configuring Windows NT Server Groups

If you want to use a Windows NT server for authentication, authorization, or accounting, you must first create at least one Windows NT server group and add one or more servers to each group. You identify Windows NT server groups by name.

To add a Windows NT server group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_tag protocol nt

aaa-server servergroup1 protocol nt

ciscoasa(config-aaa-server-group)#

Identifies the server group name and the protocol.

command, you enter aaa-server group configuration mode.

Step 2

max-failed-attempts number

max-failed-attempts 2

argument can range from 1 and 5. The default is 3.

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

reactivation-mode { depletion [ deadtime minutes ] | timed }

reactivation-mode deadtime 20

Specifies the method (reactivation policy) by which failed servers in a group are reactivated.

keyword reactivates failed servers only after all of the servers in the group are inactive.

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.

keyword reactivates failed servers after 30 seconds of down time.

Examples

The following example shows how to add a Windows NT domain server group:

ciscoasa(config)# aaa-server NTAuth protocol nt

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 NTAuth (inside) host 10.1.1.4

ciscoasa(config-aaa-server-host)# nt-auth-domain-controller primary1

ciscoasa(config-aaa-server-host)# exit

Adding a Windows NT Server to a Group

To add a Windows NT server to a group, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

aaa-server server_group [ interface_name ] host server_ip

ciscoasa(config-aaa-server-group)# aaa-server servergroup1 outside host 10.10.1.1

Identifies the Windows NT server and the server group to which it belongs.

command, you enter aaa-server host configuration mode.

Step 2

timeout hh:mm:ss

ciscoasa(config-aaa-server-host)# timeout 15

Specifies the length of time, in hours, minutes, and seconds, that the ASA waits for a response from the primary server before sending the request to the backup server.

Step 3

server-port port_number

ciscoasa(config-aaa-server-host)# server-port 139

Specifies the server port as port number 139, or the TCP port number used by the ASA to communicate with the Windows NT server.

Step 4

nt-auth-domain-controller string

ciscoasa(config-aaa-server)# nt-auth-domain controller primary1

Specifies the name for the Windows NT authentication domain controller.

argument represents the hostname (no more than 15 characters) of the NT Primary Domain Controller for this server (for example, PDC01). You must enter a name, and it must be the correct hostname for the server whose IP address you added in the Authentication Server Address field. If the name is incorrect, authentication fails.

Examples

The following example shows how to add a Windows NT domain server to the NTAuth server group:

ciscoasa(config)# aaa-server NTAuth (inside) host 10.1.1.4

ciscoasa(config-aaa-server-host)# timeout 15

ciscoasa(config-aaa-server-host)# server-port 139

ciscoasa(config-aaa-server-host)# nt-auth-domain-controller primary1

ciscoasa(config-aaa-server-host)# exit

Monitoring Windows NT Servers

To monitor Windows NT servers,enter one of the following commands:

Command

Purpose

Shows the configured Windows NT server statistics.

command.

Shows the Windows NT server running configuration.

command.

Feature History for Windows NT Servers

lists each feature change and the platform release in which it was implemented.

Table 39-1 Feature History for Windows NT Servers

Feature Name

Platform Releases

Feature Information

Windows NT Servers for AAA

7.0(1)

Describes support for Windows NT Servers and how to configure them for AAA.

We introduced the following commands:

.

Extended Access Control Lists

This chapter describes how to configure extended access control lists (ACLs), and it includes the following sections:

- Information About Extended ACLs

- Licensing Requirements for Extended ACLs

- Guidelines and Limitations

- Default Settings

- Configuring Extended ACLs

- Monitoring Extended ACLs

- Configuration Examples for Extended ACLs

- Feature History for Extended ACLs

Information About Extended ACLs

command, or you can create objects or object groups for use in the ACL.

- Access Control Entry Order

- NAT and ACLs

Access Control Entry Order

An ACL is made up of one or more ACEs. Each ACE that you enter for a given ACL name is appended to the end of the ACL.

The order of ACEs is important. When the security appliance decides whether to forward or drop a packet, the security appliance tests the packet against each ACE in the order in which the entries are listed. After a match is found, no more ACEs are checked. For example, if you create an ACE at the beginning of an ACL that explicitly permits all traffic, no further statements are ever checked.

You can disable an ACE by making it inactive.

NAT and ACLs

When using NAT or PAT, mapped addresses and ports are no longer required in an ACL for several features. You should now always use the real, untranslated addresses and ports for these features. Using the real address and port means that if the NAT configuration changes, you do not need to change the ACLs.

Note For ACL migration information, see the Cisco ASA 5500 Migration to Version 8.3 and Later.

Features That Use Real IP Addresses

The following commands and features use real IP addresses in the ACLs:

- access-group command

- Modular Policy Framework match access-list command

- Botnet Traffic Filter dynamic-filter enable classify-list command

- AAA aaa ... match commands

- WCCP wccp redirect-list group-list command

For example, if you configure NAT for an inside server, 10.1.1.5, so that it has a publicly routable IP address on the outside, 209.165.201.5, then the access rule to allow the outside traffic to access the inside server needs to reference the server’s real IP address (10.1.1.5), and not the mapped address (209.165.201.5):

ciscoasa(config)# object network server1

ciscoasa(config-network-object)# host 10.1.1.5

ciscoasa(config-network-object)# nat (inside,outside) static 209.165.201.5

ciscoasa(config)# access-list OUTSIDE extended permit tcp any host 10.1.1.5 eq www

ciscoasa(config)# access-group OUTSIDE in interface outside

Features That Use Mapped IP Addresses

The following features use ACLs, but these ACLs will continue to use the mapped values as seen on an interface:

- IPsec ACLs

- capture command ACLs

- Per-user ACLs

- Routing protocol ACLs

- All other feature ACLs...

Information About Scheduling ACL Activation

You can schedule each ACE in an ACL to be activated at specific times of the day and week by applying a time range to the ACE.

Users could experience a delay of approximately 80 to 100 seconds after the specified end time for the ACL to become inactive. For example, if the specified end time is 3:50, because the end time is inclusive, the command is picked up anywhere between 3:51:00 and 3:51:59. After the command is picked up, the ASA finishes any currently running task and then services the command to deactivate the ACL.

Licensing Requirements for Extended ACLs

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall modes.

IPv6 Guidelines

Supports IPv6.

Features That Do Not Support IDFW, FQDN, and TrustSec ACLs

The following features use ACLs, but cannot accept an ACL with IDFW, FQDN, or TrustSec values:

- route-map command

- VPN crypto map command

- VPN group-policy command, except for vpn-filter

- WCCP

- DAP

Additional Guidelines and Limitations

- Tip: Enter the ACL name in uppercase letters so that the name is easy to see in the configuration. You might want to name the ACL for the interface (for example, INSIDE), or you can name it for the purpose for which it is created (for example, NO_NAT or VPN).

- Typically, you identify the ip keyword for the protocol, but other protocols are accepted. For a list of protocol names, see the Protocols and Applications.

- You can specify the source and destination ports only for the TCP or UDP protocols. For a list of permitted keywords and well-known port assignments, see the TCP and UDP Ports. DNS, Discard, Echo, Ident, NTP, RPC, SUNRPC, and Talk each require one definition for TCP and one for UDP. TACACS+ requires one definition for port 49 on TCP.

- When you specify a network mask, the method is different from the Cisco IOS software access-list command. The ASA uses a network mask (for example, 255.255.255.0 for a Class C mask). The Cisco IOS mask uses wildcard bits (for example, 0.0.0.255).

Default Settings

lists the default settings for extended ACL parameters.

Table 21-1 Default Extended ACL Parameters

Parameters

Default

ACE logging

ACE logging generates system log message 106023 for denied packets. A deny ACE must be present to log denied packets.

keyword is specified, the default level for system log message 106100 is 6 (informational), and the default interval is 300 seconds.

Configuring Extended ACLs

This section shows how to add ACEs of various types to an ACL and includes the following topics:

- Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy

- Adding an ACE for TCP or UDP-Based Policy, with Ports

- Adding an ACE for ICMP-Based Policy, with ICMP Type

- Adding an ACE for User-Based Policy (Identity Firewall)

- Adding an ACE for Security Group-Based Policy (TrustSec)

- Adding Remarks to ACLs

Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy

This section lets you control traffic based on IP addresses or fully qualified domain names (FQDNs). An ACL is made up of one or more access control entries (ACEs) with the same ACL ID. To create an ACL you start by creating an ACE and applying a list name. An ACL with one entry is still considered a list, although you can add multiple entries to the list.

Prerequisites

(Optional) Create network objects or object groups according to the Configuring Network Objects and Groups. Objects can contain an IP address (host, subnet, or range) or an FQDN. Object groups contain multiple objects or inline entries.

Guidelines

command.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# access-list ACL_IN extended permit ip any any

Adds an ACE for IP address or FQDN policy.

- Line number—The line line_number option specifies the line number at which insert the ACE; otherwise, the ACE is added to the end of the ACL.

- Permit or Deny—The deny keyword denies or exempts a packet if the conditions are matched. The permit keyword permits a packet if the conditions are matched.

- Protocol—The protocol_argument specifies the IP protocol:

to apply to all protocols.

command.

a source and/or destination port or ICMP type and code.

command.

- Source Address, Destination Address—The source_address_argument specifies the IP address or FQDN from which the packet is being sent, and the dest_address_argument specifies the IP address or FQDN to which the packet is being sent:

—Specifies an IPv4 host address.

—Specifies an IPv4 network address and subnet mask.

—Specifies an IPv6 host or network address and prefix.

specifies any6 traffic.

command.

command.

- Logging— log arguments set logging options when an ACE matches a packet for network access (an ACL applied with the access-group command).

- Activation—Inactivates or enables a time range that the ACE is active; see the time-range command for information about defining a time range.

Adding an ACE for TCP or UDP-Based Policy, with Ports

This section lets you control traffic based on IP addresses or fully qualified domain names (FQDNs) along with TCP or UDP ports. An ACL is made up of one or more access control entries (ACEs) with the same ACL ID. To create an ACL you start by creating an ACE and applying a list name. An ACL with one entry is still considered a list, although you can add multiple entries to the list.

Prerequisites

- (Optional) Create network objects or object groups according to the Configuring Network Objects and Groups. Objects can contain an IP address (host, subnet, or range) or an FQDN. Object groups contain multiple objects or inline entries.

- (Optional) Create service objects or groups according to the Configuring Service Objects and Service Groups.

Guidelines

command.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# access-list ACL_IN extended deny tcp any host 209.165.201.29 eq www

Adds an ACE for IP address or FQDN policy, as well as optional TCP or UDP ports. For common keywords and arguments, see the Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy. Keywords and arguments specific to this type of ACE include the following:

specifies the source and/or destination port. Available arguments include:

- operator port —The operator can be one of the following:

—less than

—greater than

—equal to

—not equal to

—an inclusive range of values. When you use this operator, specify two port numbers, for example:

range 100 200

can be the integer or name of a TCP or UDP port. DNS, Discard, Echo, Ident, NTP, RPC, SUNRPC, and Talk each require one definition for TCP and one for UDP. TACACS+ requires one definition for port 49 on TCP.

- object-group service_grp_id —Specifies a service object group created using the object-group service command.

Adding an ACE for ICMP-Based Policy, with ICMP Type

This section lets you control traffic based on IP addresses or fully qualified domain names (FQDNs) along with the ICMP type. An ACL is made up of one or more access control entries (ACEs) with the same ACL ID. To create an ACL you start by creating an ACE and applying a list name. An ACL with one entry is still considered a list, although you can add multiple entries to the list.

Prerequisites

- (Optional) Create network objects or object groups according to the Configuring Network Objects and Groups. Objects can contain an IP address (host, subnet, or range) or an FQDN. Object groups contain multiple objects or inline entries.

- (Optional) Create ICMP groups according to the Configuring an ICMP Group.

Guidelines

command.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# access-list abc extended permit icmp any any object-group obj_icmp_1

Adds an ACE for IP address or FQDN policy, as well as optional TCP or UDP ports. For common keywords and arguments, see the Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy. Keywords and arguments specific to this type of ACE include the following:

specifies the ICMP type and code.

- icmp_type [ icmp_code ]—Specifies the ICMP type by name or number, and the optional ICMP code for that type. If you do not specify the code, then all codes are used.

- object-group icmp_grp_id —Specifies an ICMP object group created using the object-group icmp command.

Adding an ACE for User-Based Policy (Identity Firewall)

If you configure the identity firewall feature, you can control traffic based on user identity.

Prerequisites

See “Identity Firewall,” to enable IDFW.

Detailed Steps

Command

Purpose

access-list access_list_name [ line line_number ] extended { deny | permit } protocol_argument [ user_argument ] source_address_argument [ port_argument ] dest_address_argument [ port_argument ] [ log [[ level ] [ interval secs ] | disable | default ]] [ inactive | time-range time_range_name ]

ciscoasa(config)# access-list v1 extended permit ip user LOCAL\idfw any 10.0.0.0 255.255.255.0

Adds an ACE for IP address or FQDN policy, as well as optional usernames and/or groups. For common keywords and arguments, see the Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy. Keywords and arguments specific to this type of ACE include the following:

is for use with the identity firewall feature, and specifies the user or group for which to match traffic in addition to the source address. Available arguments include the following:

- object-group-user user_obj_grp_id —Specifies a user object group created using the object-group user command.

- user {[ domain_nickname \ ] name | any | none }—Specifies a username. Specify any to match all users with user credentials, or none to match users without user credentials. These options are especially useful for combining access-group and aaa authentication match policies.

- user-group [ domain_nickname \\ ] user_group_name —Specifies a user group name.

Note Although not shown in the syntax at left, you can also use TrustSec security group arguments.

Adding an ACE for Security Group-Based Policy (TrustSec)

If you configure the Cisco TrustSec feature, you can control traffic based on security groups.

Prerequisites

See “ASA and Cisco TrustSec,” to enable TrustSec.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# access-list v1 extended permit ip user LOCAL\idfw any 10.0.0.0 255.255.255.0

Adds an ACE for IP address or FQDN policy, as well as optional security groups. For common keywords and arguments, see the Adding an ACE for IP Address or Fully Qualified Domain Name-Based Policy. Keywords and arguments specific to this type of ACE include the following:

is for use with the TrustSec feature, and specifies the security group for which to match traffic in addition to the source or destination address. Available arguments include the following:

- object-group-security security_obj_grp_id —Specifies a security object group created using the object-group security command.

- security-group { name security_grp_id | tag security_grp_tag }—Specifies a security group name or tag.

Note Although not shown in the syntax at left, you can also use Identity Firewall user arguments.

Adding Remarks to ACLs

You can include remarks about entries in any ACL. The remarks make the ACL easier to understand.

command you entered, enter the following command.

Detailed Steps

Command

Purpose

access-list access_list_name remark text

ciscoasa(config)# access-list OUT remark - this is the inside admin address

Adds a remark after the last access-list command you entered.

The text can be up to 100 characters in length. You can enter leading spaces at the beginning of the text. Trailing spaces are ignored.

command, then the remark is the first line in the ACL.

command, then all the remarks are also removed.

Examples

You can add remarks before each ACE, and the remark appears in the ACL in this location. Entering a dash (-) at the beginning of the remark helps set it apart from the ACEs.

ciscoasa(config)# access-list OUT remark - this is the inside admin address

ciscoasa(config)# access-list OUT extended permit ip host 209.168.200.3 any

ciscoasa(config)# access-list OUT remark - this is the hr admin address

ciscoasa(config)# access-list OUT extended permit ip host 209.168.200.4 any

Monitoring Extended ACLs

To monitor extended ACLs, enter one of the following commands:

Command

Purpose

show access-list

Displays the ACEs by number.

show running-config access-list

Displays the current running access-list configuration.

Configuration Examples for Extended ACLs

This section includes the following topics:

- Configuration Examples for Extended ACLs (No Objects)

- Configuration Examples for Extended ACLs (Using Objects)

Configuration Examples for Extended ACLs (No Objects)

The following ACL allows all hosts (on the interface to which you apply the ACL) to go through the ASA:

hostname(config)# access-list ACL_IN extended permit ip any any

The following sample ACL prevents hosts on 192.168.1.0/24 from accessing the 209.165.201.0/27 network. All other addresses are permitted.

hostname(config)# access-list ACL_IN extended deny tcp 192.168.1.0 255.255.255.0

209.165.201.0 255.255.255.224

hostname(config)# access-list ACL_IN extended permit ip any any

If you want to restrict access to selected hosts only, then enter a limited permit ACE. By default, all other traffic is denied unless explicitly permitted.

hostname(config)# access-list ACL_IN extended permit ip 192.168.1.0 255.255.255.0

209.165.201.0 255.255.255.224

The following ACL restricts all hosts (on the interface to which you apply the ACL) from accessing a website at address 209.165.201.29. All other traffic is allowed.

hostname(config)# access-list ACL_IN extended deny tcp any host 209.165.201.29 eq www

hostname(config)# access-list ACL_IN extended permit ip any any

The following ACL that uses object groups restricts several hosts on the inside network from accessing several web servers. All other traffic is allowed.

hostname(config-network)# access-list ACL_IN extended deny tcp object-group denied

object-group web eq www

hostname(config)# access-list ACL_IN extended permit ip any any

hostname(config)# access-group ACL_IN in interface inside

The following example temporarily disables an ACL that permits traffic from one group of network objects (A) to another group of network objects (B):

hostname(config)# access-list 104 permit ip host object-group A object-group B inactive

command to bind the time range to an ACL. The following example binds an ACL named “Sales” to a time range named “New_York_Minute.”

hostname(config)# access-list Sales line 1 extended deny tcp host 209.165.200.225 host

209.165.201.1 time-range New_York_Minute

The following example shows a mixed IPv4/IPv6 ACL:

hostname(config)# access-list demoacl extended permit ip 2001:DB8:1::/64 10.2.2.0 255.255.255.0

hostname(config)# access-list demoacl extended permit ip 2001:DB8:1::/64 2001:DB8:2::/64

hostname(config)# access-list demoacl extended permit ip host 10.3.3.3 host 10.4.4.4

Configuration Examples for Extended ACLs (Using Objects)

The following normal ACL that does not use object groups restricts several hosts on the inside network from accessing several web servers. All other traffic is allowed.

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.29 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.29 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.29 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.16 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.16 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.16 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.4 host 209.165.201.78 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.78 host 209.165.201.78 eq www

ciscoasa(config)# access-list ACL_IN extended deny tcp host 10.1.1.89 host 209.165.201.78 eq www

ciscoasa(config)# access-list ACL_IN extended permit ip any any

ciscoasa(config)# access-group ACL_IN in interface inside

If you make two network object groups, one for the inside hosts, and one for the web servers, then the configuration can be simplified and can be easily modified to add more hosts:

ciscoasa(config)# object-group network denied

ciscoasa(config-network)# network-object host 10.1.1.4

ciscoasa(config-network)# network-object host 10.1.1.78

ciscoasa(config-network)# network-object host 10.1.1.89

ciscoasa(config-network)# object-group network web

ciscoasa(config-network)# network-object host 209.165.201.29

ciscoasa(config-network)# network-object host 209.165.201.16

ciscoasa(config-network)# network-object host 209.165.201.78

ciscoasa(config-network)# access-list ACL_IN extended deny tcp object-group denied object-group web eq www

ciscoasa(config)# access-list ACL_IN extended permit ip any any

ciscoasa(config)# access-group ACL_IN in interface inside

Feature History for Extended ACLs

lists the release history for this feature.

Table 21-2 Feature History for Extended ACLs

Feature Name

Releases

Feature Information

Extended ACLs

7.0(1)

ACLs are used to control network access or to specify traffic for many features to act upon. An extended access control list is made up of one or more access control entries (ACE) in which you can specify the line number to insert the ACE, the source and destination addresses, and, depending upon the ACE type, the protocol, the ports (for TCP or UDP), or the IPCMP type (for ICMP).

.

Real IP addresses

8.3(1)

When using NAT or PAT, mapped addresses and ports are no longer required in an ACL for several features. You should now always use the real, untranslated addresses and ports for these features. Using the real address and port means that if the NAT configuration changes, you do not need to change the ACLs. See the Features That Use Real IP Addresses for more information.

Support for Identity Firewall

8.4(2)

You can now use identity firewall users and groups for the source and destination. You can use an identity firewall ACL with access rules, AAA rules, and for VPN authentication.

.

Support for TrustSec

9.0(1)

You can now use TrustSec security groups for the source and destination. You can use an identity firewall ACL with access rules.

.

Unified ACL for IPv4 and IPv6

9.0(1)

keywords were added to represent IPv4-only and IPv6-only traffic, respectively. The IPv6-specific ACLs are deprecated. Existing IPv6 ACLs are migrated to extended ACLs. See the release notes for more information about migration.

.

Extended ACLand object enhancement to filter ICMP traffic by ICMP code

9.0(1)

ICMP traffic can now be permitted/denied based on ICMP code.

.

Software and Configurations

- Upgrading the Software

- Managing Files

- Configuring the Images and Startup Configuration to Use

- Using the ROM Monitor to Load an Image

- Backing Up Configurations or Other Files

- Downgrading Your Software

- Configuring Auto Update

- Feature History for Software and Configurations

Upgrading the Software

- Upgrade Path

- View Your Current Version

- Download the Software from Cisco.com

- Upgrade a Standalone Unit

- Upgrade a Failover Pair or ASA Cluster

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 exceptions:

Note There are no special requirements for Zero Downtime Upgrades for failover and ASA clustering with the following exceptions:

- Upgrading ASA clustering from 9.0(1) or 9.1(1): due to CSCue72961, hitless upgrading is not supported.

- Upgrade issues with 8.4(6), 9.0(2), and 9.1(2) for failover—Due to CSCug88962, you cannot perform a Zero Downtime Upgrade to 8.4(6), 9.0(2), or 9.1(3). You should instead upgrade to 8.4(5) or 9.0(3) or later. To upgrade 9.1(1), you cannot upgrade directly to the 9.1(3) release due to CSCuh25271, so there is no workaround for a Zero Downtime Upgrade; you must upgrade to 9.1(2) before you upgrade to 9.1(3) or later.

Current ASA Version

First Upgrade to:

Then Upgrade to:

8.2(x) and earlier

8.4(5)

9.2(1) or later

8.3(x)

8.4(5)

9.2(1) or later

8.4(1) through 8.4(4)

8.4(5) or 9.0(4)

9.2(1) or later

8.4(5) and later

—

9.2(1) or later

8.5(1)

9.0(4)

9.2(1) or later

8.6(1)

9.0(4)

9.2(1) or later

9.0(1)

9.0(4)

9.2(1) or later

9.0(2) or later

—

9.2(1) or later

9.1(1)

9.1(2)

9.2(1) or later

9.1(2) or later

—

9.2(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.2, you will experience all of these migrations:

- 8.2—See the 8.2 release notes.

- 8.3—See the Cisco ASA 5500 Migration Guide to Version 8.3.

- 8.4—See the 8.4 upgrade guide.

- 9.0—See the 9.0 upgrade guide.

- 9.1—See the 9.1 upgrade guide.

- 9.2—See Configuration Migration in 9.2.

Configuration Migration in 9.2

- 9.2(1) Auto Update Server certificate verification enabled by default—The Auto Update Server certificate verification is now enabled by default; for new configurations, you must explicitly disable certificate verification. If you are upgrading from an earlier release, and you did not enable certificate verification, then certificate verification is not enabled, and you see the following warning:

WARNING: The certificate provided by the auto-update servers will not be verified. In order to verify this certificate please use the verify-certificate option.

The configuration will be migrated to explicitly configure no verification:

View Your Current Version

Use the show version command to verify the software version of your ASA.

Download the Software from Cisco.com

This procedure assumes you put the images on a TFTP server, although other server types are supported.

Upgrade a Standalone Unit

This section describes how to install the ASDM and operating system (OS) images.

Procedure

command.

Step 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.

Step 2 Copy the ASA software to the active unit flash memory:

copy tftp://server[/path]/asa_image_name {disk0:/ | disk1:/}[path/]asa_image_name

Example:

ciscoasa# copy tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

command.

Step 3 Copy the ASDM image to the active unit flash memory:

copy tftp://server[/path]/asdm_image_name {disk0:/ | disk1:/}[path/]asdm_image_name

Example:

ciscoasa# copy tftp://10.1.1.1/asdm-721.bin disk0:/asdm-721.bin

Step 4 If you are not already in global configuration mode, access global configuration mode:

configure terminal

Step 5 Show the current boot images configured (up to 4):

show running-config boot system

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 Step 6 and Step 7.

Step 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

Step 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://asa921-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 Step 6.

Step 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-721.bin

You can only configure one ASDM image to use, so you do not need to first remove the existing configuration.

Step 9 Save the new settings to the startup configuration:

write memory

Step 10 Reload the ASA:

reload

Upgrade a Failover Pair or ASA Cluster

To perform a zero downtime upgrade, you need to upgrade each unit in a particular order.

- Upgrade an Active/Standby Failover Pair

- Upgrade an Active/Active Failover Pair

- Upgrade an ASA Cluster

Upgrade an Active/Standby Failover Pair

To upgrade the Active/Standby failover pair, perform the following steps.

Before You Begin

Perform these steps on the active unit.

Procedure

Step 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

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.

Step 2 Copy the ASA software to the active unit flash memory:

copy tftp://server[/path]/asa_image_name {disk0:/ | disk1:/}[path/]asa_image_name

Example:

active# copy tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

command.

Step 3 Copy the software to the standby unit; be sure to specify the same path as for the active unit:

failover exec mate copy /noconfirm tftp://server[/path]/filename {disk0:/ | disk1:/}[path/]filename

Example:

active# failover exec mate copy /noconfirm tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

Step 4 Copy the ASDM image to the active unit flash memory:

copy tftp://server[/path]/asdm_image_name {disk0:/ | disk1:/}[path/]asdm_image_name

Example:

active# copy tftp://10.1.1.1/asdm-721.bin disk0:/asdm-721.bin

Step 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-721.bin disk0:/asdm-721.bin

Step 6 If you are not already in global configuration mode, access global configuration mode:

configure terminal

Step 7 Show the current boot images configured (up to 4):

show running-config boot system

Example:

ciscoasa(config)# show running-config boot system

boot system disk0:/cdisk.bin

boot system disk0:/asa912-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 Step 8 and Step 9.

Step 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:/asa912-smp-k8.bin

Step 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://asa921-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 Step 8.

Step 10 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-721.bin

You can only configure one ASDM image to use, so you do not need to first remove the existing configuration.

Step 11 Save the new settings to the startup configuration:

write memory

Step 12 Reload the standby unit to boot the new image:

failover reload-standby

command to verify that the standby unit is in the Standby Ready state.

Step 13 Force the active unit to fail over to the standby unit:

no failover active

Step 14 Reload the former active unit (now the new standby unit):

command.

Upgrade an Active/Active Failover Pair

To upgrade two units in an Active/Active failover configuration, perform the following steps.

Before You Begin

unit.

Procedure

Step 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.

Step 2 Copy the ASA software to the primary unit flash memory:

copy tftp://server[/path]/asa_image_name {disk0:/ | disk1:/}[path/]asa_image_name

Example:

primary# copy tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

command.

Step 3 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:

primary# failover exec mate copy /noconfirm tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

Step 4 Copy the ASDM image to the primary unit flash memory:

copy tftp://server[/path]/asdm_image_name {disk0:/ | disk1:/}[path/]asdm_image_name

Example:

primary# copy tftp://10.1.1.1/asdm-721.bin disk0:/asdm-721.bin

Step 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-721.bin disk0:/asdm-721.bin

Step 6 Make both failover groups active on the primary unit:

failover active group 1

failover active group 2

Step 7 If you are not already in global configuration mode, access global configuration mode:

configure terminal

Example:

primary(config)# configure terminal

Step 8 Show the current boot images configured (up to 4):

show running-config boot system

Example:

ciscoasa(config)# show running-config boot system

boot system disk0:/cdisk.bin

boot system disk0:/asa912-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 Step 9 and Step 10.

Step 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:/asa912-smp-k8.bin

Step 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://asa921-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 Step 9.

Step 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-721.bin

You can only configure one ASDM image to use, so you do not need to first remove the existing configuration.

Step 12 Save the new settings to the startup configuration:

write memory

Step 13 Reload the secondary unit to boot the new image:

failover reload-standby

command to verify that both failover groups are in the Standby Ready state.

Step 14 Force both failover groups to become active on the secondary unit:

no failover active group 1

no failover active group 2

Step 15 Reload the primary unit:

reload

command.

Upgrade an ASA Cluster

To upgrade all units in an ASA cluster, perform the following steps on the master unit. For multiple context mode, perform these steps in the system execution space.

Procedure

Step 1 (If there is a configuration migration) Back up your configuration file:

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 general operations configuration guide.

Step 2 Copy the ASA software to all units in the cluster:

cluster exec copy /noconfirm tftp://server[/path]/asa_image_name {disk0:/ | disk1:/}[path/]asa_image_name

Example:

master# cluster exec copy /noconfirm tftp://10.1.1.1/asa921-smp-k8.bin disk0:/asa921-smp-k8.bin

command.

Step 3 Copy the ASDM image to all units in the cluster:

cluster exec copy /noconfirm tftp://server[/path]/asdm_image_name {disk0:/ | disk1:/}[path/]asdm_image_name

Example:

master# cluster exec copy /noconfirm tftp://10.1.1.1/asdm-721.bin disk0:/asdm-721.bin

Step 4 If you are not already in global configuration mode, access global configuration mode:

configure terminal

Step 5 Show the current boot images configured (up to 4):

show running-config boot system

Example:

ciscoasa(config)# show running-config boot system

boot system disk0:/cdisk.bin

boot system disk0:/asa912-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 Step 6 and Step 7.

Step 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:/asa912-smp-k8.bin

Step 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://asa921-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 Step 6.

Step 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-721.bin

You can only configure one ASDM image to use, so you do not need to first remove the existing configuration.

Step 9 Save the new settings to the startup configuration:

write memory

Step 10 Reload each slave unit when you repeat this command for each unit name:

cluster exec unit slave-unit reload noconfirm

Example:

master# cluster exec unit unit2 reload noconfirm

command.

Step 11 Disable clustering on the master unit:

no enable

; when the master unit reloads, you want clustering to be enabled on it.

Step 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.

Managing Files

- Viewing Files in Flash Memory

- Deleting Files from Flash Memory

- Erasing the Flash File System

- Configuring File Access

- Copying a File to the ASA

- Copying a File to the Startup or Running Configuration

Viewing Files in Flash Memory

You can view files in flash memory and see information about files as follows:

- To view files in flash memory, enter the following command:

ciscoasa# dir [disk0: | disk1:]

keyword represents the external flash memory. The internal flash memory is the default.

For example:

hostname# dir

Directory of disk0:/

500 -rw- 4958208 22:56:20 Nov 29 2004 cdisk.bin

2513 -rw- 4634 19:32:48 Sep 17 2004 first-backup

2788 -rw- 21601 20:51:46 Nov 23 2004 backup.cfg

2927 -rw- 8670632 20:42:48 Dec 08 2004 asdmfile.bin

- To view extended information about a specific file, enter the following command:

hostname# show file information [path:/]filename

The default path is the root directory of the internal flash memory (disk0:/).

For example:

hostname# show file information cdisk.bin

disk0:/cdisk.bin:

type is image (XXX) []

file size is 4976640 bytes version 7.0(1)

The file size listed is for example only.

Deleting Files from Flash Memory

You can remove files from flash memory that you no longer need. To delete a file from flash memory, enter the following command:

hostname# delete disk0: filename

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.

Erasing the Flash File System

To erase the flash file system, perform the following steps:

Step 1 Connect to the ASA console port according to the instructions in the Accessing the ASA Services Module Console or the Accessing the Appliance Console.

Step 2 Power off the ASA, then power it on.

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.

erase [disk0: | disk1: | flash:]

Configuring File Access

- Configuring the FTP Client Mode

- Configuring the ASA as a Secure Copy Server

- Customizing the ASA Secure Copy Client

- Configuring the ASA TFTP Client Path

Configuring the FTP Client Mode

The ASA can use FTP to upload or download image files or configuration files to or from an FTP server. In passive FTP, the client initiates both the control connection and the data connection. The server, which is the recipient of the data connection in passive mode, responds with the port number to which it is listening for the specific connection.

Detailed Steps

Command

Purpose

ciscoasa(config)# ftp mode passive

Sets the FTP mode to passive.

Configuring the ASA as a Secure Copy Server

You can enable the secure copy (SCP) server on the ASA. Only clients that are allowed to access the ASA using SSH can establish a secure copy connection.

Restrictions

- The server does not have directory support. The lack of directory support limits remote client access to the ASA internal files.

- The server does not support banners.

- The server does not support wildcards.

Prerequisites

- Enable SSH on the ASA according to the Configuring SSH Access.

- The ASA license must have the strong encryption (3DES/AES) license to support SSH Version 2 connections.

Detailed Steps

Command

Purpose

ciscoasa(config)# ssh scopy enable

Enables the SCP server.

Example

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

is not specified, you will be prompted for a password.

Customizing the ASA Secure Copy Client

You can copy files to and from the ASA using the on-board SCP client (see Copying a File to the ASA). This section lets you customize the SCP client operation.

Prerequisites

command.

Detailed Steps

Command

Purpose

Step 1

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.

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]?

Enables or disables SSH host key checking. 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 2

[ no ] server ip_address

{ key-string

key_string

exit |

key-hash { md5 | sha256 } fingerprint }

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 add or delete servers and their keys from the ASA database if desired.

(hashed value) of the SSH host.

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.

command output.

Examples

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:

Enter the base 64 encoded RSA public key.

End with the word "exit" on a line by itself

Configuring the ASA TFTP Client Path

(see Copying a File to the ASA and Backing Up Configurations or Other Files. In this way, you can back up and propagate configuration files to multiple ASAs.

.

Detailed Steps

Command

Purpose

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]?

Destination filename [test.cfg]?

Accessing tftp://10.1.4.7/files/config2.cfg;int=outside...

command, you can take advantage of the pre-defined TFTP server address but still enter any filename at the interactive prompts.

.

Copying a File to the ASA

This section describes how to copy the application image, ASDM software, a configuration file, or any other file that needs to be downloaded to internal or external flash memory from a TFTP, FTP, SMB, HTTP, HTTPS, or SCP server.

Guidelines

- 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 Configuring the Images and Startup Configuration to Use.

- For multiple context mode, you must be in the system execution space.

Detailed Steps

Command

Purpose

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)

Copies from a TFTP server.

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)

Copies from an FTP server.

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)

Copies from an HTTP(S) server.

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)

Copies from an SMB server.

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:2b: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

Password: <type in password>

!!!!!!

6006 bytes copied in 8.160 secs (750 bytes/sec)

option bypasses the route lookup and always uses the specified interface to reach the SCP server.

Copying a File to the Startup or Running Configuration

You can download a text file to the running or startup configuration from a TFTP, FTP, SMB, HTTP(S), or SCP server, or from the flash memory.

To configure the ASA to use a specific configuration as the startup configuration, see Configuring the Images and Startup Configuration to Use.

Guidelines

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.

Detailed Steps

To copy a file to the startup configuration or running configuration, enter one of the following commands for the appropriate download server:

Command

Purpose

}

ciscoasa# copy tftp://10.1.1.67/files/old-running.cfg running-config

Copies from a TFTP server.

}

ciscoasa# copy ftp://jcrichton:aeryn@10.1.1.67/files/old-startup.cfg startup-config

Copies from an FTP server.

}

ciscoasa# copy https://asun:john@10.1.1.67/files/new-running.cfg running-config

Copies from an HTTP(S) server.

}

ciscoasa# copy /noconfirm smb://chiana:dargo@10.1.1.67/new-running.cfg running-config

Copies from an SMB server.

}

ciscoasa# copy scp://pilot:moya@10.86.94.170/new-startup.cfg startup-config

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

Configuring the Images and Startup Configuration to Use

If you have more than one ASA or ASDM image, you should specify the image that you want to boot. If you do not set the image, the default boot image is used, and that image may not be the one intended. For the startup configuration, you can optionally specify a configuration file.

Default Settings

ASA Image

- Physical ASA—Boots the first application image that it finds in internal flash memory.

- ASAv—Boots 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

All ASAs—Boots 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 Configuration

By default, the ASA boots from a startup configuration that is a hidden file.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# boot system disk:/images/asa921.bin

Sets the ASA boot image location. The URL can be:

- {disk0:/ | disk1:/}[path/]filename

- tftp://[user[:password]@]server[:port]/[path/]filename

The TFTP option is not supported on all models.

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

Step 2

ciscoasa(config)# asdm image disk0:/images/asdm721.bin

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)

ciscoasa(config)# boot config disk0:/configs/startup1.cfg

Sets the startup configuration to be a known file instead of the default hidden file.

Using the ROM Monitor to Load an Image

- Using ROM Monitor for the ASA 5500-X Series

- Using the ROM Monitor for the ASASM

Using ROM Monitor for the ASA 5500-X Series

To load a software image to 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 the Accessing the Appliance Console.

Step 2 Power off the ASA, then power it on.

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=f1/asa800-232-k8.bin

rommon #5> PORT=Ethernet0/0

Ethernet0/0

Link is UP

MAC Address: 0012.d949.15b8

Note Be sure that the connection to the network already exists.

command.

rommon #6> set

ROMMON Variable Settings:

ADDRESS=10.132.44.177

SERVER=10.129.0.30

GATEWAY=10.132.44.1

PORT=Ethernet0/0

VLAN=untagged

IMAGE=f1/asa840-232-k8.bin

CONFIG=

LINKTIMEOUT=20

PKTTIMEOUT=4

RETRY=20

command.

rommon #7> ping server

Sending 20, 100-byte ICMP Echoes to server 10.129.0.30, timeout is 4 seconds:

Success rate is 100 percent (20/20)

command.

rommon #8> tftp

ROMMON Variable Settings:

ADDRESS=10.132.44.177

SERVER=10.129.0.30

GATEWAY=10.132.44.1

PORT=Ethernet0/0

VLAN=untagged

IMAGE=f1/asa840-232-k8.bin

CONFIG=

LINKTIMEOUT=20

PKTTIMEOUT=4

RETRY=20

tftp f1/asa840-232-k8.bin@10.129.0.30 via 10.132.44.1

Received 14450688 bytes

Launching TFTP Image...

Cisco ASA Security Appliance admin loader (3.0) #0: Mon Mar 5 16:00:07 MST 2011

Loading...N

After the software image is successfully loaded, the ASA automatically exits ROMMON mode.

Step 8 To verify that the correct software image has been loaded into the ASA, check the version in the ASA by entering the following command:

hostname# show version

Using the ROM Monitor for the ASASM

To load a software image to an ASASM from the ROM monitor mode using TFTP, perform the following steps:

Step 1 Connect to the ASA console port according to the instructions in the Accessing the ASA Services Module Console.

Step 2 Make sure that you reload the ASASM image.

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

rommon #4> IMAGE=f1/asa851-smp-k8.bin

rommon #5> PORT=Data0

rommon #6> VLAN=1

Data0

Link is UP

MAC Address: 0012.d949.15b8

Note Be sure that the connection to the network already exists.

command.

rommon #7> set

ROMMON Variable Settings:

ADDRESS=172.16.145.149

SERVER=172.16.171.125

GATEWAY=172.16.145.129

PORT=Data0

VLAN=1

IMAGE=f1/asa851-smp-k8.bin

CONFIG=

LINKTIMEOUT=20

PKTTIMEOUT=2

RETRY=20

command.

rommon #8> ping server

Sending 20, 100-byte ICMP Echoes to server 172.16.171.125, timeout is 2 seconds:

Success rate is 100 percent (20/20)

command.

rommon #9> tftp

Clearing EOBC receive queue ...

cmostime_set = 1

ROMMON Variable Settings:

ADDRESS=172.16.145.149

SERVER=172.16.171.125

GATEWAY=172.16.145.129

PORT=Data0

VLAN=1

IMAGE=f1/asa851-smp-k8.bin

CONFIG=

LINKTIMEOUT=20

PKTTIMEOUT=2

RETRY=20

tftp f1/asa851-smp-k8.bin@172.16.171.125 via 172.16.145.129

Starting download. Press ESC to abort.

After the software image is successfully loaded, the ASASM automatically exits ROMMON mode.

Note 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.

Step 8 To verify that the correct software image has been loaded into the ASASM, check the version by entering the following command:

hostname# show version

Backing Up Configurations or Other Files

- Backing up the Single Mode Configuration or Multiple Mode System Configuration

- Backing Up a Context Configuration or Other File in Flash Memory

- Backing Up a Context Configuration within a Context

- Copying the Configuration from the Terminal Display

- Backing Up Additional Files Using the Export and Import Commands

- Using a Script to Back Up and Restore Files

Backing up the Single Mode Configuration or Multiple Mode System Configuration

In single context mode or from the system configuration in multiple mode, you can copy the startup configuration or running configuration to an external server or to the local flash memory.

Detailed Steps

Command

Purpose

ciscoasa# copy running-config tftp://10.1.1.67/files/new-running.cfg

Copies to a TFTP server.

ciscoasa# copy startup-config ftp://jcrichton:aeryn@10.1.1.67/files/new-startup.cfg

Copies to an FTP server.

ciscoasa# copy /noconfirm running-config smb://chiana:dargo@10.1.1.67/new-running.cfg

Copies to an SMB server.

]

ciscoasa# copy startup-config

scp://pilot:moya@10.86.94.170/new-startup.cfg

option bypasses the route lookup and always uses the specified interface to reach the SCP server.

ciscoasa# copy /noconfirm running-config disk0:/new-running.cfg

command.

Backing Up a Context Configuration or Other File in Flash Memory

Copy context configurations or other files that are on the local flash memory by entering one of the following commands in the system execution space.

Detailed Steps

Command

Purpose

ciscoasa# copy disk0:/asa-os.bin tftp://10.1.1.67/files/asa-os.bin

Copies from flash to a TFTP server.

ciscoasa# copy disk0:/asa-os.bin ftp://jcrichton:aeryn@10.1.1.67/files/asa-os.bin

Copies from flash to an FTP server.

ciscoasa# copy /noconfirm copy disk0:/asdm.bin

smb://chiana:dargo@10.1.1.67/asdm.bin

Copies from flash to an SMB server.

]

ciscoasa# copy disk0:/context1.cfg

scp://pilot:moya@10.86.94.170/context1.cfg

option bypasses the route lookup and always uses the specified interface to reach the SCP server.

ciscoasa# copy /noconfirm disk1:/file1.cfg disk0:/file1.cfgnew-running.cfg

command.

Backing Up a Context Configuration within a Context

In multiple context mode, from within a context, you can perform the following backups:

- To copy the running configuration to the startup configuration server (connected to the admin context), enter the following command:

ciscoasa/contexta# copy running-config startup-config

- To copy the running configuration to a TFTP server connected to the context network, enter the following command:

ciscoasa/contexta# copy running-config tftp:/server[/path]/filename

Copying the Configuration from the Terminal Display

To print the configuration to the terminal, enter the following command:

ciscoasa# show running-config

Copy the output from this command, and then paste the configuration into a text file.

Backing Up Additional Files Using the Export and Import Commands

Additional files essential to your configuration might include the following:

- Files that you import using the import webvpn command. Currently, these files include customizations, URL lists, web content, plug-ins, and language translations.

- DAP policies (dap.xml).

- CSD configurations (data.xml).

- Digital keys and certificates.

- Local CA user database and certificate status files.

commands.

command or certificates, perform the following steps:

command(s) as follows:

ciscoasa # show import webvpn plug-in

ica

rdp

ssh, telnet

vnc

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

Using a Script to Back Up and Restore Files

CLI, the CSD configuration XML files, and the DAP configuration XML file. For security reasons, we do not recommend that you perform automated backups of digital keys and certificates or the local CA key.

This section provides instructions for doing so and includes a sample script that you can use as is or modify as your environment requires. The sample script is specific to a Linux system. To use it for a Microsoft Windows system, you need to modify it using the logic of the sample.

Note The existing CLI lets you back up and restore individual files using the copy, export, and import commands. It does not, however, have a facility that lets you back up all ASA configuration files in one operation. Running the script facilitates the use of multiple CLIs.

This section includes the following topics:

- Prerequisites

- Running the Script

- Sample Script

Prerequisites

To use a script to back up and restore an ASA configuration, first perform the following tasks:

- Install Perl with an Expect module.

- Install an SSH client that can reach the ASA.

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

Running the Script

To run a backup-and-restore script, perform the following steps:

Step 1 Download or cut-and-paste the script file to any location on your system.

is the name of the script file.

.

. 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

#Function: Backup/restore configuration/extensions to/from a TFTP server.

#Description: The objective of this script is to show how to back up configurations/extensions before the backup/restore command is developed.

# 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

%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”;

$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();

$obj->send(“show import webvpn url-list\n”);

$obj->expect(15, “$prompt#” );

$output = $obj->before();

@items = split(/\n+/, $output);

for (@items) {

chop;

next if /^Template/ or /show import/ or /^\s*$/ or /No bookmarks/;

$cli=“export webvpn url-list $_ $storage/$prompt-$date-urllist-$_.xml”;

$ocli = $cli;

$ocli =~ s/^export/import/;

print “$cli\n”;

print OUT “$ocli\n”;

$obj->send(“$cli\n”);

$obj->expect(15, “$prompt#” );

}

}

sub dap {

$obj = shift;

$obj->clear_accum();

$obj->send(“dir dap.xml\n”);

$obj->expect(15, “$prompt#” );

$output = $obj->before();

return 0 if($output =~ /Error/);

$cli=“copy /noconfirm dap.xml $storage/$prompt-$date-dap.xml”;

$ocli=“copy /noconfirm $storage/$prompt-$date-dap.xml disk0:/dap.xml”;

print “$cli\n”;

print OUT “$ocli\n”;

$obj->send(“$cli\n”);

$obj->expect(15, “$prompt#” );

}

sub csd {

$obj = shift;

$obj->clear_accum();

$obj->send(“dir sdesktop\n”);

$obj->expect(15, “$prompt#” );

$output = $obj->before();

return 0 if($output =~ /Error/);

$cli=“copy /noconfirm sdesktop/data.xml $storage/$prompt-$date-data.xml”;

$ocli=“copy /noconfirm $storage/$prompt-$date-data.xml disk0:/sdesktop/data.xml”;

print “$cli\n”;

print OUT “$ocli\n”;

$obj->send(“$cli\n”);

$obj->expect(15, “$prompt#” );

}

sub webcontent {

$obj = shift;

$obj->clear_accum();

$obj->send(“show import webvpn webcontent\n”);

$obj->expect(15, “$prompt#” );

$output = $obj->before();

@items = split(/\n+/, $output);

for (@items) {

s/^\s+//;

s/\s+$//;

next if /show import/ or /No custom/;

next unless (/^.+\s+.+$/);

($url, $type) = split(/\s+/,$_);

$turl = $url;

$turl =~ s/\/\+//;

$turl =~ s/\+\//-/;

$cli = “export webvpn webcontent $url $storage/$prompt-$date-$turl”;

$ocli = $cli;

$ocli =~ s/^export/import/;

print “$cli\n”;

print OUT “$ocli\n”;

$obj->send(“$cli\n”);

$obj->expect(15, “$prompt#” );

}

}

sub login {

$obj = shift;

$obj->raw_pty(1);

$obj->log_stdout(0); #turn off console logging.

$obj->spawn(“/usr/bin/ssh $user\@$asa”) or die “can't spawn ssh\n”;

unless ($obj->expect(15, “password:” )) {

die “timeout waiting for password:\n”;

}

$obj->send(“$password\n”);

unless ($obj->expect(15, “$prompt>” )) {

die “timeout waiting for $prompt>\n”;

}

}

sub finish {

$obj = shift;

$obj->hard_close();

print “\n\n”;

}

sub restore {

$obj = shift;

my $file = shift;

my $output;

open(IN,“$file”) or die “can't open $file\n”;

while (<IN>) {

$obj->send(“$_”);

$obj->expect(15, “$prompt#” );

$output = $obj->before();

print “$output\n”;

}

close(IN);

}

sub process_options {

if (defined($options{s})) {

$tstr= $options{s};

$storage = “tftp://$tstr”;

}

else {

print “Enter TFTP host name or IP address:”;

chop($tstr=<>);

$storage = “tftp://$tstr”;

}

if (defined($options{h})) {

$asa = $options{h};

}

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};

}

}

Downgrading Your Software

When you upgrade to Version 8.3, your configuration is migrated. The old configuration is automatically stored in flash memory. For example, when you upgrade from Version 8.2(1) to 8.3(1), the old 8.2(1) configuration is stored in flash memory in a file called 8_2_1_0_startup_cfg.sav.

Note You must manually restore the old configuration before downgrading.

This section describes how to downgrade and includes the following topics:

- Information About Activation Key Compatibility

- Performing the Downgrade

Information About Activation Key Compatibility

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 earlier versions—After 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 activation key compatible with the earlier version.

- Downgrading to Version 8.2 or earlier versions—Version 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.

Performing the Downgrade

To downgrade from Version 8.3, perform the following steps:

Detailed Steps

Step 1 Enter the following command:

ciscoasa(config)# downgrade [/noconfirm] old_image_url old_config_url [activation-key old_key]

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:

).

).

).

). This action sets the BOOT environment variable to the old image, so when you reload, the old image is loaded.

).

).

For example:

ciscoasa(config)# downgrade /noconfirm disk0:/asa821-k8.bin disk0:/8_2_1_0_startup_cfg.sav

Configuring Auto Update

This section includes the following topics:

- Information About Auto Update

- Guidelines and Limitations

- Configuring Communication with an Auto Update Server

- Configuring Client Updates as an Auto Update Server

- Viewing Auto Update Status

Information About Auto Update

Auto Update is a protocol specification that allows an Auto Update Server to download configurations and software images to many ASAs and can provide basic monitoring of the ASAs from a central location.

- Auto Update Client or Server

- Auto Update Benefits

- Auto Update Server Support in Failover Configurations

Auto Update Client or Server

The ASA can be configured as either a client or a server. As an Auto Update client, it periodically polls the Auto Update Server for updates to software images and configuration files. As an Auto Update Server, it issues updates for ASAs configured as Auto Update clients.

Auto Update Benefits

Auto Update is useful in solving many issues facing administrators for ASA management, such as:

- Overcoming dynamic addressing and NAT challenges.

- Committing configuration changes in one action.

- Providing a reliable method for updating software.

- Leveraging well-understood methods for high availability (failover).

- Providing flexibility with an open interface.

- Simplifying security solutions for Service Provider environments.

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.

Auto Update Server Support in Failover Configurations

You can use the Auto Update Server to deploy software images and configuration files to ASAs in an Active/Standby failover configuration. To enable Auto Update on an Active/Standby failover configuration, enter the Auto Update Server configuration on the primary unit in the failover pair.

The following restrictions and behaviors apply to Auto Update Server support in failover configurations:

- Only single mode, Active/Standby configurations are supported.

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

Auto Update Process Overview

The following is an overview of the Auto Update process in failover configurations. This process assumes that failover is enabled and operational. The Auto Update process cannot occur if the units are synchronizing configurations, if the standby unit is in the failed state for any reason other than SSM card failure, or if the failover link is down.

1. 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 Auto Update Server.

b. The primary unit copies the image to the standby unit and then updates the image on itself.

c. If both units have new image, the secondary (standby) unit is reloaded first.

– If hitless upgrade can be performed when secondary unit boots, then the secondary unit becomes 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 the same time.

d. If only the secondary (standby) unit has new image, then only the secondary unit reloads. The primary unit waits until the secondary unit finishes reloading.

e. If only the primary (active) unit has new image, the secondary unit becomes the active unit, and the primary unit reloads.

f. The update process starts again at Step 1.

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 by the Auto Update Server.

b. The primary unit copies the ASDM image to the standby unit, if needed.

c. The primary unit updates the ASDM image on itself.

d. The update process starts again at Step 1.

6. 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.

Monitoring the Auto Update Process

command.

Auto-update client: Sent DeviceDetails to /cgi-bin/dda.pl of server 192.168.0.21

Auto-update client: Processing UpdateInfo from server 192.168.0.21

Component: asdm, URL: http://192.168.0.21/asdm.bint, checksum: 0x94bced0261cc992ae710faf8d244cf32

Component: config, URL: http://192.168.0.21/config-rms.xml, checksum: 0x67358553572688a805a155af312f6898

Component: image, URL: http://192.168.0.21/cdisk73.bin, checksum: 0x6d091b43ce96243e29a62f2330139419

Auto-update client: need to update img, act: yes, stby yes

name

ciscoasa(config)# Auto-update client: update img on stby unit...

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 2001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 2501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 3001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 3501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 4001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 4501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 5001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 5501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 6001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 6501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 7001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 7501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 8001, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 8501, len = 1024

auto-update: Fover copyfile, seq = 4 type = 1, pseq = 9001, len = 1024

auto-update: Fover file copy waiting at clock tick 6129280

fover_parse: Rcvd file copy ack, ret = 0, seq = 4

auto-update: Fover filecopy returns value: 0 at clock tick 6150260, upd time 145980 msecs

Auto-update client: update img on active unit...

fover_parse: Rcvd image info from mate

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

auto-update: HA safe reload: reload active waiting with mate state: 20

Beginning configuration replication: Sending to mate.

auto-update: HA safe reload: reload active waiting with mate state: 50

auto-update: HA safe reload: reload active waiting with mate state: 50

auto-update: HA safe reload: reload active waiting with mate state: 80

Sauto-update: HA safe reload: reload active unit at clock tick: 6266860

Auto-update client: Succeeded: Image, version: 0x6d091b43ce96243e29a62f2330139419

The following syslog message is generated if the Auto Update process fails:

%ASA4-612002: Auto Update failed: file version: version reason: reason

is the reason that the update failed.

Guidelines and Limitations

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

- Auto Update is supported in single context mode only.

Configuring Communication with an Auto Update Server

Detailed Steps

–

To configure the ASA as an Auto Update client, perform the following steps:

Step 1 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]

where url has the following syntax:

http[s]://[user:password@]server_ip[:port]/pathname

command, the Auto Update requests travel over the same IPsec VPN tunnel used for management access.

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}

The identifier used is determined by specifying one of the following parameters:

- The hardware-serial argument specifies the ASA serial number.

- The hostname argument specifies the ASA hostname.

- 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 ?.

Step 3 (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]]

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).

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.

specify the period to randomize the poll time following the specified start time. The range is from 1 to 1439 minutes.

argument specifies how many times to try reconnecting to the Auto Update Server if the first attempt fails. The default is zero.

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

form of this command.

command to be sure that the ASA has the most recent image and configuration. This condition is reported with system log message 201008.

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

Configuring Client Updates as an Auto Update Server

command enables updates for ASAs configured as Auto Update clients and lets you specify the type of software component (ASDM or boot image), the type or family of ASA, revision numbers to which the update applies, and a URL or IP address from which to obtain the update.

To configure the ASA as an Auto Update Server, perform the following steps:

Step 1 To enable client update, enter the following command:

ciscoasa(config)# client-update enable

command that you want to apply to the ASAs:

}

} parameter specifies the software component, either ASDM or the boot image of the ASA.

parameter specifies a unique string that the Auto Update client uses to identify itself. The maximum length is 63 characters.

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.

parameter specifies the software or firmware images for this client. Enter up to four, in any order, separated by commas.

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.

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)

Viewing Auto Update Status

To view the Auto Update status, enter the following command:

ciscoasa(config)# show auto-update

command:

ciscoasa(config)# show auto-update

Server: https://********@209.165.200.224:1742/management.cgi?1276

Certificate will be verified

Poll period: 720 minutes, retry count: 2, retry period: 5 minutes

Timeout: none

Device ID: host name [corporate]

Next poll in 4.93 minutes

Last poll: 11:36:46 PST Tue Nov 13 2004

Last PDM update: 23:36:46 PST Tue Nov 12 2004

Feature History for Software and Configurations

lists each feature change and the platform release in which it was implemented..

Table 44-1 Feature History for Software and Configurations

Feature Name

Platform Releases

Feature Information

Secure Copy client

9.1(5)/9.2(1)

The ASA now supports the Secure Copy (SCP) client to transfer files to and from a SCP server.

.

.

Auto Update server certificate verification enabled by default

9.2(1)

The Auto Update server certificate verification is now enabled by default; for new configurations, you must explicitly disable certificate verification. If you are upgrading from an earlier release, and you did not enable certificate verification, then certificate verification is not enabled, and you see the following warning:

WARNING: The certificate provided by the auto-update servers will not be verified. In order to verify this certificate please use the verify-certificate option.

The configuration will be migrated to explicitly configure no verification:

}.

Troubleshooting

This chapter describes how to troubleshoot the ASA and ASAv and includes the following sections:

- Viewing Debugging Messages

- Capturing Packets

- Viewing the Crash Dump

- Viewing the Coredump

- vCPU Usage in the ASAv

Viewing Debugging Messages

command reference.

Capturing 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 feature.

To capture packets, enter the following command:

Command

Purpose

]]

ciscoasa# capture captest interface inside

). Not all options can be specified in one command. See the CLI help for allowed combinations.

statements to capture multiple types of traffic.

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 the system, all context dropped data packets are captured.

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.

overwrites the buffer, starting from the beginning, when the buffer is full.

sets the name of the interface on which to use packet capture. You must configure an interface for any packets to be captured.

options are only available in the user context.

, specify the physical interface ID instead of the nameif name.

can be as follows:

- lt—less than

- gt—greater than

- eq—equal to

capture inbound and outbound packets. This setting is the default.

command.

The reinject-hide keyword specifies that no reinjected packets will be captured and applies only in a clustering environment.
command in this case.

Capturing Packets in a Clustering Environment

command to enable cluster-wide capture.

The “cluster” interface name is the default name for the cluster control link and is not configurable. You specify “cluster “ as the interface name to capture the traffic on the cluster control link interface. There are two types of packets on the cluster control link: control plane packets and data plane packets, which both include forwarded data traffic and cluster LU messages. The TTL field in the IP address header is encoded to differentiate between these two types of packets. When forwarded data packets are captured, their clustering trailers are included in the capture file for debugging purposes.

Guidelines and Limitations

This section includes the guidelines and limitation for this feature.

Most of the limitations are the result of the distributed nature of the ASA architecture and the hardware accelerators that are being used in the ASA.

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

- In multicontext mode, the copy capture command is available only in the system space. The syntax is as follows:

:

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

- For a shared VLAN, the following guidelines apply:

– 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 to other contexts on the shared VLAN.

– Therefore, if you enable a capture in Context A for a VLAN that is also used by Context B, both Context A and Context B ingress traffic are captured.

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

commands.

Examples

The following example shows how to create a cluster-wide LACP capture:

ciscoasa (config)# cluster exec capture lacp type lacp interface gigabitEthernet0/0

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

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

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.

For more information about clustering, see Chapter9, “ASA Cluster”

Viewing the Crash Dump

command in the command reference.

Viewing the Coredump

command in the command reference.

vCPU Usage in the ASAv

The ASAv vCPU usage shows the amount of vCPUs used for the data path, control point, and external processes.

The vSphere reported vCPU usage includes the ASAv usage as described plus:

- ASAv idle time

- %SYS overhead used for the ASAv VM

- Overhead of moving packets between vSwitches, vNICs, and pNICs. This overhead can be quite significant.

CPU Usage Example

The following is an example in which the reported vCPU usage is substantially different:

- ASAv reports: 40%

- DP: 35%

- External Processes: 5%

- vSphere reports: 95%

- ASA (as ASAv reports): 40%

- ASA idle polling: 10%

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

VMware CPU Usage Reporting

to display the Chart Options drop-down list, which shows vCPU usage for each state (%USER, %IDLE, %SYS, and so on) of the VM. This information is useful for understanding VMware’s perspective on where CPU resources are being used.

command and provides VM state information for vSphere performance, including the following:

- Details on vCPU, memory, and network usage

- vCPU usage for each state of each VM.

- Memory (type M while running) and network (type N while running), as well as statistics and the number of RX drops

ASAv and vCenter Graphs

There are differences in the CPU % numbers between the ASAv and vCenter:

- The vCenter graph numbers are always higher than the ASAv numbers.

- vCenter calls it %CPU usage; the ASAv calls it %CPU utilization.

The terms “%CPU utilization” and “%CPU usage” mean different things:

- CPU utilization provides statistics for physical CPUs.

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

vCenter calculates the CPU % usage as follows:

Amount of actively used virtual CPUs, specified as a percentage of the total available CPUs

This calculation is the host view of the CPU usage, not the guest operating system view, and is the average CPU utilization over all available virtual CPUs in the virtual machine.

For example, if a virtual machine with one virtual CPU is running on a host that has four physical CPUs and the CPU usage is 100%, the virtual machine is using one physical CPU completely. The virtual CPU usage calculation is as follows:

Usage in MHz / number of virtual CPUs x core frequency

When you compare the usage in MHz, both the vCenter and ASAv numbers match. According to the vCenter graph, MHz % CPU usage is calculated as:

60/(2499 x 1 vCPU) = 2.4

Dynamic DNS

This chapter describes how to configure DDNS update methods and includes the following topics:

- Information About DDNS

- Licensing Requirements for DDNS

- Guidelines and Limitations

- Configuring DDNS

- Configuration Examples for DDNS

- DDNS Monitoring Commands

- Feature History for DDNS

Information 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. To configure the DNS server for other uses, see Configuring the DNS Server. To configure DHCP, see Configuring the DHCP Server.

commands are available:

- The existing global limit: message-length maximum 512

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

Licensing Requirements for DDNS

The following table shows the licensing requirements for DDNS:

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

Failover Guidelines

Supports Active/Active and Active/Standby failover.

Firewall Mode Guidelines

Supported in routed firewall mode.

Not supported in transparent firewall mode.

Context Mode Guidelines

Supported in single and multiple context modes.

Not supported in transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Configuring DDNS

This section describes examples for configuring the ASA to support Dynamic DNS. When you use DHCP and dynamic DNS update, this configures a host automatically for network access whenever it attaches to the IP network. You can locate and reach the host using its permanent, unique DNS hostname. Mobile hosts, for example, can move freely without user or administrator intervention.

DDNS provides address and domain name mapping so that hosts can find each other, even though their DHCP-assigned IP addresses change frequently. The DDNS name and address mapping is held on the DHCP server in two resource records: 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 updates—the IETF standard defined by RFC 2136 and a generic HTTP method—the ASA supports the IETF method in this release.

The two most common DDNS update configurations are the following:

- The DHCP client updates the A RR, while the DHCP server updates the PTR RR.

- The DHCP server updates both the A RR and PTR RR.

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. To update the PTR RR, the DHCP server must know the FQDN of the client. The client provides an FQDN to the server using a DHCP option called Client FQDN.

Configuration Examples for DDNS

The following examples present five common scenarios:

- Example 1: Client Updates Both A and PTR RRs for Static IP Addresses

- Example 2: Client Updates Both A and PTR RRs; DHCP Server Honors Client Update Request; FQDN Provided Through Configuration

- Example 3: Client Includes FQDN Option Instructing Server Not to Update Either RR; Server Overrides Client and Updates Both RRs.

- Example 4: Client Asks Server To Perform Both Updates; Server Configured to Update PTR RR Only; Honors Client Request and Updates Both A and PTR RR

- Example 5: Client Updates A RR; Server Updates PTR RR

Example 1: Client Updates Both A and PTR RRs for Static IP Addresses

The following example shows how to configure the client to request that it update both A and PTR resource records for static IP addresses.

To configure this scenario, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ddns update method name

ciscoasa(config)# ddns update method ddns-2

Creates a DDNS update method ddns-2 that dynamically updates DNS resource records (RRs).

Step 2

ddns both

Specifies that the client updates both the DNS A and PTR resource records (RRs ).

Step 3

interface mapped_name

Configures an interface eth1 and enters interface configuration mode.

Step 4

ddns update [ method-name | hostname hostname]

Associates the the DDNS method ddns-2 with the eth1 interface and an update hostname.

Step 5

ip address ip_address [mask] [standby ip_address ]

Configures a static IP address for the interace eth1.

Example 2: Client Updates Both A and PTR RRs; DHCP Server Honors Client Update Request; FQDN Provided Through Configuration

The following example shows how to configure the DHCP client to request that it update both the A and PTR RRs, and the DHCP server to honor these requests.

To configure this scenario, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

dhcp-client update dns [server {both | none}]

Configures the DHCP client to request that the DHCP server perform no updates

Step 2

ddns update method name

ciscoasa(config)# ddns update method ddns-2

Creates a DDNS update method ddns-2 that dynamically updates DNS resource records (RRs)

Step 3

ddns both

Specifies that the client updates both the DNS A and PTR resource records (RRs ).

Step 4

interface mapped_name

Configures an interface Ethernet 0and enters interface configuration mode.

Step 5

ddns update [ method-name | hostname hostname]

Associates the DDNS method ddns-2 with the Ethernet0 interface and an update hostname.

Step 6

ip address dhcp

Uses DHCP to obtain an IP address for the interface.

Step 7

dhcpd update dns [both] [override] [interface srv_ifc_name]

Configures DHCP server to perform DDNS updates.

Example 3: Client Includes FQDN Option Instructing Server Not to Update Either RR; Server Overrides Client and Updates Both RRs.

The following example shows how to configure the DHCP client to include the FQDN option that instruct the DHCP server not to honor either the A or PTR updates. The example also shows how to configure the server to override the client request. As a result, the client does not perform any updates.

To configure this scenario, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ddns update method name

ciscoasa(config)# ddns update method ddns-2

Creates a DDNS update method ddns-2 that dynamically updates DNS resource records (RRs).

Step 2

ddns both

Specifies that the client updates both the DNS A and PTR resource records (RRs ).

Step 3

interface mapped_name

Configures an interface Ethernet 0and enters interface configuration mode.

Step 4

ddns update [ method-name | hostname hostname]

Associates the the DDNS method ddns-2 with the Ethernet0 interface and an update hostname.

Step 5

dhcp-client update dns [server {both | none}]

Configures the DHCP client to request that the DHCP server perform no updates.

Step 6

ip address dhcp

Uses DHCP to obtain an IP address for the interface.

Step 7

dhcpd update dns [both] [override] [interface srv_ifc_name]

Configures DHCP server to override the client update requests.

Example 4: Client Asks Server To Perform Both Updates; Server Configured to Update PTR RR Only; Honors Client Request and Updates Both A and PTR RR

The following example shows how to configure the server to perform only PTR RR updates by default. However, the server honors the client request that it perform both A and PTR updates. The server also forms the FQDN by appending the domain name (example.com) to the hostname that the client (asa) has provided.

To configure this scenario, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

interface mapped_name

Configures an interface Ethernet 0.

Step 2

dhcp-client update dns [server {both | none}]

DHCP client requests that the DHCP server update both the DNS A and PTR resource records.

Step 3

ddns update [ method-name | hostname hostname]

Configures the DHCP client on interface Ethernet 0.

Step 4

dhcpd update dns [both] [override] [interface srv_ifc_name]

Configures DHCP server to perform DDNS updates.

Step 5

dhcpd domain domain_name [interface if_name]

Defines the DNS domain name for DHCP clients.

Example 5: Client Updates A RR; Server Updates PTR RR

The following example shows how to configure the client to update the A resource record and how to configure the server to update the PTR records. Also, the client uses the domain name from the DHCP server to form the FQDN.

To configure this scenario, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ddns update method name

ciscoasa(config)# ddns update method ddns-2

Creates a DDNS update method ddns-2 that dynamically updates DNS resource records (RRs).

Step 2

ddns [both]

Specifies a dynamic DNS (DDNS) update method.

Step 3

interface mapped_name

Configures an interface Ethernet 0.

Step 4

dhcp-client update dns [server {both | none}]

Configures the update parameters that the DHCP client passes to the DHCP server.

Step 5

ddns update [ method-name | hostname hostname]

Associates the the DDNS method ddns-2 with the Ethernet0 interface and an update hostname.

Step 6

dhcpd update dns [both] [override] [interface srv_ifc_name]

Configures DHCP server to perform DDNS updates.

Step 7

dhcpd domain domain_name [interface if_name]

Defines the DNS domain name for DHCP clients.

DDNS Monitoring Commands

To monitor DDNS, enter one of the following commands:

Command

Purpose

show running-config ddns

Shows the current DDNS configuration.

show running-config dns server-group

Shows the current DNS server group status.

Feature History for DDNS

lists each feature change and the platform release in which it was implemented.

Table 16-1 Feature History for DDNS

Feature Name

Releases

Feature Information

DDNS

7.0(1)

We introduced this feature.

.

DHCP Services

This chapter describes how to configure the DHCP server or DHCP relay and includes the following sections:

- Information About DHCP Services

- Licensing Requirements for DHCP

- Guidelines and Limitations

- Configuring DHCP Services

- Additional References

- Monitoring DHCP Services

- Feature History for DHCP Services

Information About DHCP Services

- Information About the DHCP Server

- Information About the DHCP Relay Agent

Information About the DHCP Server

DHCP provides network configuration parameters, such as IP addresses, to DHCP clients. The ASA can provide a DHCP server to DHCP clients attached to ASA interfaces. The DHCP server provides network configuration parameters directly to DHCP clients.

A client locates a DHCP server to request the assignment of configuration information using a reserved, link-scoped multicast address, which indicates that the client and server should be attached to the same link. However, in some cases where ease of management, economy, or scalability is the concern, we 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:

- All_DHCP_Relay_Agents_and_Servers (FF02::1:2) is a link-scoped multicast address used by a client to communicate with neighboring (that is, on-link) relay agents and servers. All DHCPv6 servers and relay agents are members of this multicast group.

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

Information About the DHCP Relay Agent

You can configure a DHCP relay agent to forward DHCP requests received on an interface to one or more DHCP servers. DHCP clients use UDP broadcasts to send their initial DHCPDISCOVER messages because they do not have information about the network to which they are attached. If the client is on a network segment that does not include a server, UDP broadcasts normally are not forwarded by the ASA because it does not forward broadcast traffic.

You can remedy this situation by configuring the interface of your ASA that is receiving the broadcasts to forward DHCP requests to a DHCP server on another interface.

Licensing Requirements for DHCP

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

For all ASA models, the maximum number of DHCP client addresses varies depending on the license:

- If the limit is 10 hosts, the maximum available DHCP pool is 32 addresses.

- If the limit is 50 hosts, the maximum available DHCP pool is 128 addresses.

- If the number of hosts is unlimited, the maximum available DHCP pool is 256 addresses.

Guidelines and Limitations

Firewall Mode Guidelines

Supported in routed firewall mode.

DHCP server is supported in transparent firewall mode.

DHCP relay is NOT supported in transparent firewall mode.

Context Mode Guidelines

Supported in single and multiple context mode.

Failover Guidelines

Supports Active/Active and Active/Standby failover.

IPv6 Guidelines

Supports IPv6, except for interface-specific DHCP relay servers.

DHCP Server Guidelines

- The maximum available DHCP pool is 256 addresses.

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

- 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 address—not 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 address—not 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.

command is 209.165.200.1, the server sends that pool in the offer message to the ASA.

command setting applies only to VPN users.

DHCP Relay Guidelines

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

Configuring DHCP Services

- Configuring the DHCP Server

- Configuring the DHCP Relay Agent

Configuring the DHCP Server

This section describes how to configure a DHCP server provided by the ASA and includes the following topics:

- Enabling the DHCP Server

- Configuring DHCP Options

Enabling the DHCP Server

To enable the DHCP server on an ASA interface, perform the following steps.

Detailed Steps

Command

Purpose

Step 1

dhcpd address ip_address if_name

ciscoasa(config)# dhcpd address 10.0.1.101-10.0.1.110 inside

Creates 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.

The address pool must be on the same subnet as the ASA interface.

Step 2

dhcpd dns dns1 [ dns2 ]

ciscoasa(config)# dhcpd dns 209.165.201.2 209.165.202.129

(Optional) Specifies the IP address(es) of the DNS server(s).

Step 3

dhcpd wins wins1 [ wins2 ]

ciscoasa(config)# dhcpd wins 209.165.201.5

(Optional) Specifies the IP address(es) of the WINS server(s). You can specify up to two WINS servers.

Step 4

dhcpd lease lease_length

ciscoasa(config)# dhcpd lease 3000

(Optional) Changes 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.

Step 5

dhcpd domain domain_name

ciscoasa(config)# dhcpd domain example.com

(Optional) Configures the domain name.

Step 6

dhcpd ping_timeout milliseconds

ciscoasa(config)# dhcpd ping timeout 20

(Optional) Configures 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.

Step 7

dhcpd option 3 ip gateway_ip

ciscoasa(config)# dhcpd option 3 ip 10.10.1.1

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.

Step 8

dhcpd enable interface_name

ciscoasa(config)# dhcpd enable outside

Enables the DHCP daemon within the ASA to listen for DHCP client requests on the enabled interface.

–

Configuring DHCP Options

The ASA supports the DHCP options listed in RFC 2132 to send information. This section includes the following topics:

- Options that Return an IP Address

- Options that Return a Text String

- Options that Return a Hexadecimal Value

Options that Return an IP Address

Command

Purpose

dhcpd option code ip addr_1 [ addr_2 ]

ciscoasa(config)# dhcpd option 2 ip 10.10.1.1 10.10.1.2

Configures a DHCP option that returns one or two IP addresses.

Options that Return a Text String

Command

Purpose

dhcpd option code ascii text

ciscoasa(config)# dhcpd option 2 ascii examplestring

Configures a DHCP option that returns a text string.

Options that Return a Hexadecimal Value

Command

Purpose

dhcpd option code hex value

ciscoasa(config)# dhcpd option 2 hex 22.0011.01.FF1111.00FF.0000.AAAA.1111.1111.1111.11

Configures a DHCP option that returns a hexadecimal value.

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.

command.

Table 17-1 Unsupported DHCP Options

Option Code

Description

0

DHCPOPT_PAD

1

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 Using Cisco IP Phones with a DHCP Server.

Using Cisco IP Phones with a DHCP Server

Cisco IP phones download their configuration from a TFTP server. When a Cisco IP phone starts, if it does not have both the IP address and TFTP server IP address preconfigured, it sends a request with option 150 or 66 to the DHCP server to obtain this information.

- DHCP option 150 provides the IP addresses of a list of TFTP servers.

- DHCP option 66 gives the IP address or the hostname of a single TFTP server.

Note 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.

To send information to use for any option number, enter the following command:

Command

Purpose

dhcpd option number value

ciscoasa(config)# dhcpd option 2

Provides information for DHCP requests that include an option number as specified in RFC 2132.

To send information to use for option 66, enter the following command:

Command

Purpose

dhcpd option 66 ascii server_name

ciscoasa(config)# dhcpd option 66 ascii exampleserver

Provides the IP address or name of a TFTP server for option 66.

To send information to use for option 150, enter the following command:

Command

Purpose

dhcpd option 150 ip server_ip1 [ server_ip2 ]

ciscoasa(config)# dhcpd option 150 ip 10.10.1.1

A maximum of two TFTP servers can be identified using option 150.

To send information to use for option 3, enter the following command:

Command

Purpose

dhcpd option 3 ip router_ip1

ciscoasa(config)# dhcpd option 3 ip 10.10.1.1

Sets the default route.

Configuring the DHCP Rel ay Agent

- Configuring the DHCPv4 Relay Agent

- Configuring the DHCPv6 Relay Agent

Configuring the DHCPv4 Relay Agent

When a DHCP request enters an interface, the DHCP servers to which the ASA relays the request depends on your configuration. You can configure the following types of servers:

- Interface-specific DHCP servers—When a DHCP request enters a particular interface, then the ASA relays the request only to the interface-specific servers.

- Global DHCP servers—When 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.

Detailed Steps

Command

Purpose

Step 1

Do one or both of the following:

For a global server:

dhcprelay server ip_address if_name

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

Specifies a global DHCP server IP address and the interface through which it is reachable.

For an interface-specific server:

interface interface_id

dhcprelay server ip_address

ciscoasa(config)# interface gigabitethernet 0/0

ciscoasa(config)# dhcprelay server 209.165.201.6

ciscoasa(config)# dhcprelay server 209.165.201.7

ciscoasa(config)# interface gigabitethernet 0/1

ciscoasa(config)# dhcprelay server 209.165.202.155

ciscoasa(config)# dhcprelay server 209.165.202.156

command; instead, the ASA uses the routing table to determine the egress interface.

Step 2

dhcprelay enable interface

ciscoasa(config)# dhcprelay enable inside

ciscoasa(config)# dhcprelay enable dmz

ciscoasa(config)# dhcprelay enable eng1

ciscoasa(config)# dhcprelay enable eng2

ciscoasa(config)# dhcprelay enable mktg

Enables the DHCP relay service on the interface connected to the DHCP clients. You can enable DHCP relay on multiple interfaces.

Step 3

dhcprelay timeout seconds

ciscoasa(config)# dhcprelay timeout 25

(Optional) Sets the number of seconds allowed for DHCP relay address handling.

Step 4

dhcprelay setroute interface_name

ciscoasa(config)# dhcprelay setroute inside

(Optional) Changes the first default router address in the packet sent from the DHCP server to the address of the ASA interface.

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

(Optional) Do one of the following:

ciscoasa(config)# interface gigabitethernet 0/0

ciscoasa(config-if)# dhcprelay information trusted

Specifies a DHCP client interface that you want to trust. 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.

dhcprelay information trust-all

ciscoasa(config)# dhcprelay information trust-all

Configures all client interfaces as trusted.

Configuring the DHCPv6 Relay Agent

When a DHCPv6 request enters an interface, then the ASA relays the request to all DHCPv6 global servers.

Detailed Steps

Command

Purpose

Step 1

ipv6 dhcprelay server ipv6_address [interface]

ciscoasa(config)# ipv6 dhcprelay server 3FFB:C00:C18:6:A8BB:CCFF:FE03:2701

Specifies the IPv6 DHCP server destination address to which client messages are forwarded.

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

ipv6 dhcprelay enable interface

ciscoasa(config)# ipv6 dhcprelay enable inside

Enables DHCPv6 relay service on a client interface.

Step 3

ipv6 dhcprelay timeout seconds

ciscoasa(config)# ipv6 dhcprelay timeout 25

(Optional) Specifies 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.

argument range from 1 to 3600. The default is 60 seconds.

Additional References

For additional information related to implementing DHCPv6, see the following section:

- RFCs

RFCs

RFC

Title

2132

DHCP Options and BOOTP Vendor Extensions

2462

IPv6 Stateless Address Autoconfiguration

5510

DHCP for IPv6

Monitoring DHCP Services

To monitor DHCP, enter one or more of the following commands:

Command

Purpose

Shows the current DHCP configuration.

Shows the current DHCP relay service status.

Shows the relay binding entries that were created by the relay agent.

Shows DHCP relay agent statistics for IPv6.

Clears the IPv6 DHCP relay configuration.

Feature History for DHCP Services

Table 17-2 each feature change and the platform release in which it was implemented.

Table 17-2 Feature History for DHCP Services

Feature Name

Releases

Description

DHCP

7.0(1)

The ASA can provide a DHCP server or DHCP relay services to DHCP clients attached to ASA interfaces.

.

DHCP for IPv6 (DHCPv6)

9.0(1)

Support for IPv6 was added.

.

DHCP relay servers per interface (IPv4 only)

9.1(2)

You can now configure DHCP relay servers per-interface, so requests that enter a given interface are relayed only to servers specified for that interface. IPv6 is not supported for per-interface DHCP relay.

.

DHCP trusted interfaces

9.1(2)

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.

.

DHCP rebind function

9.1(4)

During the DHCP rebind phase, the client now attempts to rebind to other DHCP servers in the tunnel group list. Prior to this release, the client did not rebind to an alternate server, when the DHCP lease fails to renew.

There is no change to the CLI.

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.

- Information About ASA Clustering

- Licensing Requirements for ASA Clustering

- Prerequisites for ASA Clustering

- Guidelines and Limitations

- Default Settings

- Configuring ASA Clustering

- Managing ASA Cluster Members

- Monitoring the ASA Cluster

- Configuration Examples for ASA Clustering

- Feature History for ASA Clustering

Information About ASA Clustering

- How the ASA Cluster Fits into Your Network

- Performance Scaling Factor

- Cluster Members

- Cluster Interfaces

- Cluster Control Link

- High Availability Within the ASA Cluster

- Configuration Replication

- ASA Cluster Management

- Load Balancing Methods

- Inter-Site Clustering

- How the ASA Cluster Manages Connections

- ASA Features and Clustering

How the ASA Cluster Fits into Your Network

The cluster consists of multiple ASAs acting as a single unit. (See Licensing Requirements for ASA Clustering for the number of units supported per model). To act as a cluster, the ASAs need the following infrastructure:

- Isolated, high-speed backplane network for intra-cluster communication, known as the cluster control link . See Cluster Control Link.

- Management access to each ASA for configuration and monitoring. See ASA Cluster Management.

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:

- Spanned EtherChannel (Recommended)—Interfaces on multiple members of the cluster are grouped into a single EtherChannel; the EtherChannel performs load balancing between units. See Spanned EtherChannel (Recommended).

- Policy-Based Routing (Routed firewall mode only)—The upstream and downstream routers perform load balancing between units using route maps and ACLs. See Policy-Based Routing (Routed Firewall Mode Only).

- 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. See Equal-Cost Multi-Path Routing (Routed Firewall Mode Only).

Performance Scaling Factor

When you combine multiple units into a cluster, you can expect a performance of approximately:

- 70% of the combined throughput

- 60% of maximum connections

- 50% of connections per second

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.

Cluster Members

- ASA Hardware and Software Requirements

- Bootstrap Configuration

- Master and Slave Unit Roles

- Master Unit Election

ASA Hardware and Software Requirements

All units in a 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. See Upgrade Path.

- You can have cluster members in different geographical locations (inter-site) when using individual interface mode. See Inter-Site Clustering for more information.

- Must be in the same security context mode, single or multiple.

- (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.

Bootstrap Configuration

.

Master and Slave Unit Roles

One member of the cluster is the master unit. The master unit is determined by the priority setting in the bootstrap configuration; the priority is set between 1 and 100, where 1 is the highest priority. All other members are slave units. Typically, when you first create a cluster, the first unit you add becomes the master unit simply because it is the only unit in the cluster so far.

You must perform all configuration (aside from the bootstrap configuration) on the master unit only; the configuration is then replicated to the slave units. In the case of physical assets, such as interfaces, the configuration of the master unit is mirrored on all slave units. For example, if you configure GigabitEthernet 0/1 as the inside interface and GigabitEthernet 0/0 as the outside interface, then these interfaces are also used on the slave units as inside and outside interfaces.

Some features do not scale in a cluster, and the master unit handles all traffic for those features. See Centralized Features.

Master Unit Election

Members of the cluster communicate over the cluster control link to elect a master unit as follows:

1. 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 If multiple units tie for the highest priority, the cluster unit name and then the serial number is used to determine the master.

4. 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.

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. See Centralized Features for a list of centralized features.

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.

- Interface Types

- Interface Type Mode

Interface Types

- Spanned EtherChannel (Recommended)

You can group one or more interfaces per unit into an EtherChannel that spans all units in the cluster. The EtherChannel aggregates the traffic across all the available active interfaces in the channel. A Spanned EtherChannel can be configured in both routed and transparent firewall modes. In routed mode, the EtherChannel is configured as a routed interface with a single IP address. In transparent mode, the IP address is assigned to the bridge group, not to the interface. The EtherChannel inherently provides load balancing as part of basic operation. See also the Spanned EtherChannel (Recommended).

- Individual interfaces (Routed firewall mode only)

is a fixed address for the cluster that always belongs to the current master unit. The Main cluster IP address is a secondary IP address for the master unit; the Local IP address is always the primary address for routing. 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. Load balancing, however, must be configured separately on the upstream switch in this case. For information about load balancing, see Load Balancing Methods.

Note We recommend Spanned EtherChannels instead of Individual interfaces because Individual interfaces rely on routing protocols to load-balance traffic, and routing protocols often have slow convergence during a link failure.

Interface Type Mode

You must choose the interface type (Spanned EtherChannel or Individual) before you configure your devices. See the following guidelines for the interface type mode:

- 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 Spanned EtherChannel mode, if you configure the management interface as an Individual interface, you cannot enable dynamic routing for the management interface. You must use a static route.

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

Cluster Control Link

Each unit must dedicate at least one hardware interface as the cluster control link.

- Cluster Control Link Traffic Overview

- Cluster Control Link Interfaces and Network

- Sizing the Cluster Control Link

- Cluster Control Link Redundancy

- Cluster Control Link Reliability

- Cluster Control Link Failure

Cluster Control Link Traffic Overview

Cluster control link traffic includes both control and data traffic.

Control traffic includes:

- Master election. (See Cluster Members.)

- Configuration replication. (See Configuration Replication.)

- Health monitoring. (See Unit Health Monitoring.)

Data traffic includes:

- State replication. (See Data Path Connection State Replication.)

- Connection ownership queries and data packet forwarding. (See Rebalancing New TCP Connections Across the Cluster.)

Cluster Control Link Interfaces and Network

You can use any data interface(s) for the cluster control link, with the following exceptions:

- You cannot use a VLAN subinterface as the cluster control link.

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

You can use an EtherChannel or redundant interface; see Cluster Control Link Redundancy for more information.

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. See Sizing the Cluster Control Link for more information.

Each cluster control link has an IP address on the same subnet. This subnet should be isolated from all other traffic, and should include only the ASA cluster control link interfaces.

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.

Sizing the Cluster Control Link

You should size the cluster control link to match the expected throughput of each member. For example, if you have the ASA 5585-X with SSP-60, which can pass 14 Gbps per unit maximum in a cluster, then you should also assign interfaces to the cluster control link that can pass at least 14 Gbps. In this case, you could use 2 Ten Gigabit Ethernet interfaces in an EtherChannel for the cluster control link, and use the rest of the interfaces as desired for data links.

Cluster control link traffic is comprised mainly of state update and forwarded packets. The amount of traffic at any given time on the cluster control link varies. For example state updates could consume up to 10% of the through traffic amount if through traffic consists exclusively of short-lived TCP connections. The amount of forwarded traffic depends on the load-balancing efficacy or whether there is a lot of traffic for centralized features. For example:

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

For inter-site clusters and sizing the data center interconnect for cluster control link traffic, see Inter-Site Clustering.

Cluster Control Link Redundancy

We recommend using an EtherChannel for the cluster control link, so that you can pass traffic on multiple links in the EtherChannel while still achieving redundancy.

The following diagram shows how to use an EtherChannel as a cluster control link in a Virtual Switching System (VSS) or Virtual Port Channel (vPC) environment. All links in the EtherChannel are active. When the switch is part of a VSS or vPC, then you can connect ASA interfaces within the same EtherChannel to separate switches in the VSS or vPC. The switch interfaces are members of the same EtherChannel port-channel interface, because the separate switches act like a single switch. Note that this EtherChannel is device-local, not a Spanned EtherChannel.

Cluster Control Link Reliability

To ensure cluster control link functionality, be sure the round-trip time (RTT) between units is less than 20 ms. This maximum latency enhances compatibility with cluster members installed at different geographical sites. To check your latency, perform a ping on the cluster control link between units.

The cluster control link must be reliable, with no out-of-order or dropped packets; for example, for inter-site deployment, you should use a dedicated link.

Cluster Control Link Failure

If the cluster control link line protocol goes down for a unit, then clustering is disabled; data interfaces are shut down. After you fix the cluster control link, you must manually rejoin the cluster by re-enabling clustering; see Rejoining the Cluster.

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.

High Availability Within the ASA Cluster

- Unit Health Monitoring

- Interface Monitoring

- Unit or Interface Failure

- Rejoining the Cluster

- Data Path Connection State Replication

Unit Health Monitoring

The master unit monitors every slave unit by sending keepalive messages over the cluster control link periodically (the period is configurable). Each slave unit monitors the master unit using the same mechanism.

Interface Monitoring

Each unit monitors the link status of all hardware interfaces in use (up or down), and reports status changes to the master unit.

- Spanned EtherChannel—Uses 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.

Unit or Interface Failure

When health monitoring is enabled, a unit is removed from the cluster if it fails or if its interfaces fail. If an interface fails on a particular unit, but the same interface is active 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. For EtherChannels (spanned or not), if the interface is down on an established member, then the ASA removes the member after 9 seconds. If the unit is joining the cluster as a new member, the ASA waits 45 seconds before rejecting the new unit. For non-EtherChannels, the unit is removed after 500 ms, regardless of the member state.

When a unit in the cluster fails, the connections hosted by that unit are seamlessly transferred to other units; state information for traffic flows is shared over the control cluster link.

If the master unit fails, then another member of the cluster with the highest priority (lowest number) becomes the master.

The ASA automatically tries to rejoin the cluster; see Rejoining the Cluster.

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.

Rejoining the Cluster

After a cluster member is removed from the cluster, how it can rejoin the cluster depends on why it was removed:

- Failed cluster control link—After 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 (see Configuring Basic Bootstrap Settings and Enabling Clustering).

- Failed data interface—The 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 (see Configuring Basic Bootstrap Settings and Enabling Clustering).

- Failed unit—If 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.

Data Path Connection State Replication

Every connection has one owner and at least one backup owner in the cluster. The backup owner does not take over the connection in the event of a failure; instead, it stores TCP/UDP state information, so that the connection can be seamlessly transferred to a new owner in case of a failure.

If the owner becomes unavailable, the first unit to receive packets from the connection (based on load balancing) contacts the backup owner for the relevant state information so it can become the new owner.

for clustering support or lack of support for this kind of traffic.

Table 9-1 ASA Features Replicated Across the Cluster

Traffic

State Support

Notes

Up time

Yes

Keeps track of the system up time.

ARP Table

Yes

Transparent mode only.

MAC address table

Yes

Transparent mode only.

User Identity

Yes

Includes AAA rules (uauth) and identify firewall.

IPv6 Neighbor database

Yes

—

Dynamic routing

Yes

—

SNMP Engine ID

—

VPN (Site-to-Site)

VPN sessions will be disconnected if the master unit fails.

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.

ASA Cluster Management

- Management Network

- Management Interface

- Master Unit Management Vs. Slave Unit Management

- RSA Key Replication

- ASDM Connection Certificate IP Address Mismatch

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.

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.

Master Unit Management Vs. Slave Unit Management

Aside from the bootstrap configuration, all management and monitoring can take place on the master unit. From the master unit, you can check runtime statistics, resource usage, or other monitoring information of all units. You can also issue a command to all units in the cluster, and replicate the console messages from slave units to the master unit.

You can monitor slave units directly if desired. Although also available from the master unit, you can perform file management on slave units (including backing up the configuration and updating images). The following functions are not available from the master unit:

- Monitoring per-unit cluster-specific statistics.

- Syslog monitoring per unit.

- SNMP

- NetFlow

RSA Key Replication

When you create an RSA key on the master unit, the key is replicated to all slave units. If you have an SSH session to the Main cluster IP address, you will be disconnected if the master unit fails. The new master unit uses the same key for SSH connections, so that you do not need to update the cached SSH host key when you reconnect to the new master unit.

ASDM Connection Certificate IP Address Mismatch

By default, a self-signed certificate is used for the ASDM connection based on the Local IP address. If you connect to the Main cluster IP address using ASDM, then a warning message about a mismatched IP address appears because the certificate uses the Local IP address, and not the Main cluster IP address. You can ignore the message and establish the ASDM connection. However, to avoid this type of warning, you can enroll a certificate that contains the Main cluster IP address and all the Local IP addresses from the IP address pool. You can then use this certificate for each cluster member. For more information, see Chapter42, “Digital Certificates”

Load Balancing Methods

See also the Cluster Interfaces.

- Spanned EtherChannel (Recommended)

- Policy-Based Routing (Routed Firewall Mode Only)

- Equal-Cost Multi-Path Routing (Routed Firewall Mode Only)

Spanned EtherChannel (Recommended)

You can group one or more interfaces per unit into an EtherChannel that spans all units in the cluster. The EtherChannel aggregates the traffic across all the available active interfaces in the channel.

- Spanned EtherChannel Benefits

- Guidelines for Maximum Throughput

- Load Balancing

- EtherChannel Redundancy

- Connecting to a VSS or vPC

Spanned EtherChannel Benefits

The EtherChannel method of load-balancing is recommended over other methods for the following benefits:

- Faster failure discovery.

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

For more information about EtherChannels in general (not just for clustering), see EtherChannels.

Guidelines for Maximum Throughput

To achieve maximum throughput, we recommend the following:

- 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 (see Customizing the EtherChannel). 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. See Load Balancing for more information.

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. See NAT for more information.

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.

Connecting to a VSS or vPC

You can include multiple interfaces per ASA in the Spanned EtherChannel. Multiple interfaces per ASA are especially useful for connecting to both switches in a VSS or vPC.

Depending on your switches, you can configure up to 32 active links in the spanned EtherChannel. This feature requires both switches in the vPC to support EtherChannels with 16 active links each (for example the Cisco Nexus 7000 with F2-Series 10 Gigabit Ethernet Module).

For switches that support 8 active links in the EtherChannel, you can configure up to 16 active links in the spanned EtherChannel when connecting to two switches in a VSS/vPC.

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. You can still use 8 active links and 8 standby links if desired, for example, when connecting to a single switch.

The following figure shows a 32 active link spanned EtherChannel in an 8-ASA cluster and a 16-ASA cluster.

The following figure shows a 16 active link spanned EtherChannel in a 4-ASA cluster and an 8-ASA cluster.

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.

Policy-Based Routing (Routed Firewall Mode Only)

When using Individual interfaces, each ASA interface maintains its own IP address and MAC address. One method of load balancing is Policy-Based Routing (PBR).

We recommend this method if you are already using PBR, and want to take advantage of your existing infrastructure. This method might offer additional tuning options vs. Spanned EtherChannel as well.

PBR makes routing decisions based on a route map and ACL. You must manually divide traffic between all ASAs in a cluster. Because PBR is static, it may not achieve the optimum load balancing result at all times. To achieve the best performance, we recommend that you configure the PBR policy so that forward and return packets of a connection are directed to the same physical ASA. For example, if you have a Cisco router, redundancy can be achieved by using Cisco IOS PBR with Object Tracking. Cisco IOS Object Tracking monitors each ASA using ICMP ping. PBR can then enable or disable route maps based on reachability of a particular ASA. See the following URLs for more details:

Note If you use this method of load-balancing, you can use a device-local EtherChannel as an Individual interface.

Equal-Cost Multi-Path Routing (Routed Firewall Mode Only)

When using Individual interfaces, each ASA interface maintains its own IP address and MAC address. One method of load balancing is Equal-Cost Multi-Path (ECMP) routing.

We recommend this method if you are already using ECMP, and want to take advantage of your existing infrastructure. This method might offer additional tuning options vs. Spanned EtherChannel as well.

ECMP routing can forward packets over multiple “best paths” that tie for top place in the routing metric. Like EtherChannel, a hash of source and destination IP addresses and/or source and destination ports can be used to send a packet to one of the next hops. If you use static routes for ECMP routing, then an ASA failure can cause problems; the route continues to be used, and traffic to the failed ASA will be lost. If you use static routes, be sure to use a static route monitoring feature such as Object Tracking. We recommend using dynamic routing protocols to add and remove routes, in which case, you must configure each ASA to participate in dynamic routing.

Note If you use this method of load-balancing, you can use a device-local EtherChannel as an Individual interface.

Inter-Site Clustering

- Inter-Site Clustering Guidelines

- Sizing the Data Center Interconnect

- Inter-Site Examples

Inter-Site Clustering Guidelines

See the following guidelines for inter-site clustering:

- Supports inter-site clustering in the following interface and firewall modes:

Interface Mode

Firewall Mode

Routed

Transparent

Individual Interface

N/A

Spanned EtherChannel

No

- 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 (see Rebalancing New TCP Connections Across the Cluster); 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 (see Connection Roles). This is expected behavior.

- For transparent mode, you must ensure that both inside routers share the same MAC address, and also that both outside routers share the same 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, do not extend the data VLANs between switches at each site; a loop will occur. Data traffic must be routed between the two sites.

Sizing the Data Center Interconnect

You should reserve bandwidth on the data center interconnect (DCI) for cluster control link traffic equivalent to the following calculation:

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:

- For 4 members at 2 sites:

– 4 cluster members total

– 2 members at each site

– 5 Gbps cluster control link per member

Reserved DCI bandwidth = 5 Gbps (2/2 x 5 Gbps).

- For 8 members at 2 sites, the size increases:

– 8 cluster members total

– 4 members at each site

– 5 Gbps cluster control link per member

Reserved DCI bandwidth = 10 Gbps (4/2 x 5 Gbps).

- For 6 members at 3 sites:

– 6 cluster members total

– 3 members at site 1, 2 members at site 2, and 1 member at site 3

– 10 Gbps cluster control link per member

Reserved DCI bandwidth = 15 Gbps (3/2 x 10 Gbps).

- For 2 members at 2 sites:

– 2 cluster members total

– 1 member at each site

– 10 Gbps cluster control link per member

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

- Individual Interface Inter-Site Example

- Spanned EtherChannel Transparent Mode Inter-Site Example

Individual Interface Inter-Site Example

The following example shows 2 ASA cluster members at each of 2 data centers. The cluster members are connected by the cluster control link over the DCI. The inside and outside routers at each data center use OSPF and PBR or ECMP to load balance the traffic between cluster members. By assigning a higher cost route across the DCI, traffic stays within each data center unless all ASA cluster members at a given site go down. In the event of a failure of all cluster members at one site, traffic goes from each router over the DCI to the ASA cluster members at the other site.

Spanned EtherChannel Transparent Mode Inter-Site Example

The following example shows 2 ASA cluster members at each of 2 data centers. The cluster members are connected by the cluster control link over the DCI. The cluster members at each site connect to the local switches using spanned EtherChannels for the inside and outside. The ASA EtherChannel is spanned across all ASAs in the cluster. The inside and outside routers at each data center use OSPF, which is passed through the transparent ASAs. Unlike MACs, router IPs are unique on all routers. By assigning a higher cost route across the DCI, traffic stays within each data center unless all ASA cluster members at a given site go down. The lower cost route through the ASAs must traverse the same bridge group at each site for the cluster to maintain asymmetric connections. the event of a failure of all cluster members at one site, traffic goes from each router over the DCI to the ASA cluster members at the other site.

The implementation of the switches at each site can include:

- Inter-site VSS/vPC—In 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 site—For 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.

How the ASA Cluster Manages Connections

- Connection Roles

- New Connection Ownership

- Sample Data Flow

- Rebalancing New TCP Connections Across the Cluster

Connection Roles

There are 3 different ASA roles defined for each connection:

- Owner—The unit that initially receives the connection. The owner maintains the TCP state and processes packets. A connection has only one owner.

- Director—The 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.

- Forwarder—A 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.

New Connection Ownership

When a new connection is directed to a member of the cluster via load balancing, that unit owns both directions of the connection. If any connection packets arrive at a different unit, they are forwarded to the owner unit over the cluster control link. For best performance, proper external load balancing is required for both directions of a flow to arrive at the same unit, and for flows to be distributed evenly between units. If a reverse flow arrives at a different unit, it is redirected back to the original unit. For more information, see Load Balancing Methods.

Sample Data Flow

The following example shows the establishment of a new connection.

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.

Rebalancing New TCP Connections Across the Cluster

If the load balancing capabilities of the upstream or downstream routers result in unbalanced flow distribution, you can configure overloaded units to redirect new TCP flows to other units. No existing flows will be moved to other units.

ASA Features and Clustering

- Unsupported Features

- Centralized Features

- Features Applied to Individual Units

- Dynamic Routing

- Multicast Routing

- NAT

- AAA for Network Access

- Syslog and NetFlow

- SNMP

- VPN

- FTP

- Cisco TrustSec

Unsupported Features

These features cannot be configured with clustering enabled, and the commands will be rejected.

- Unified Communications

- Remote access VPN (SSL VPN and IPsec VPN)

- The following application inspections:

– CTIQBE

– GTP

– H323, H225, and RAS

– IPsec passthrough

– MGCP

– MMP

– RTSP

– SIP

– SCCP (Skinny)

– WAAS

– WCCP

- Botnet Traffic Filter

- Auto Update Server

- DHCP client, server, relay, and proxy

- VPN load balancing

- Failover

- BGP

- ASA CX module

Centralized Features

The following features are only supported on the master unit, and are not scaled for the cluster. For example, you have a cluster of eight units (5585-X with SSP-60). The Other VPN license allows a maximum of 10,000 site-to-site IPsec tunnels for one ASA 5585-X with SSP-60. For the entire cluster of eight units, you can only use 10,000 tunnels; the feature does not scale.

Note Traffic for centralized features is forwarded from member units to the master unit over the cluster control link; see Sizing the Cluster Control Link to ensure adequate bandwidth for the cluster control link.

If you use the rebalancing feature (see Rebalancing New TCP Connections Across the Cluster), 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

- The following application inspections:

– DCERPC

– NetBIOS

– PPTP

– RADIUS

– RSH

– SUNRPC

– TFTP

– XDMCP

- Dynamic routing (Spanned EtherChannel mode only)

- Multicast routing (Individual interface mode only)

- Static route monitoring

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

- Authentication and Authorization for network access. Accounting is decentralized.

- Filtering Services

Features Applied to Individual Units

These features are applied to each ASA unit, instead of the cluster as a whole or to the master unit.

- QoS—The 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.

- Threat detection—Threat 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.

- Resource management—Resource management in multiple context mode is enforced separately on each unit based on local usage.

- ASA FirePOWER module—There is no configuration sync or state sharing between ASA FirePOWER modules. You are responsible for maintaining consistent policies on the ASA FirePOWER modules in the cluster using FireSIGHT Management Center. Do not use different ASA-interface-based zone definitions for devices in the cluster.

- ASA IPS module—There 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.

Dynamic Routing

Note BGP is not supported with clustering.

- Dynamic Routing in Spanned EtherChannel Mode

- Dynamic Routing in Individual Interface Mode

Dynamic Routing in Spanned EtherChannel Mode

In Spanned EtherChannel mode, the routing process only runs on the master unit, and routes are learned through the master unit and replicated to slaves. If a routing packet arrives at a slave, it is redirected to the master unit.

Figure 9-1 Dynamic Routing in Spanned EtherChannel Mode

After the slave members learn the routes from the master unit, each unit makes forwarding decisions independently.

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.

Dynamic Routing in Individual Interface Mode

In Individual interface mode, each unit runs the routing protocol as a standalone router, and routes are learned by each unit independently.

Figure 9-2 Dynamic Routing in Individual Interface Mode

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.

Multicast Routing

- Multicast Routing in Spanned EtherChannel Mode

- Multicast Routing in Individual Interface Mode

Multicast Routing in Spanned EtherChannel Mode

In Spanned EtherChannel mode, the master unit handles all multicast routing packets and data packets until fast-path forwarding is established. After the connection is established, each slave can forward multicast data packets.

Multicast Routing in Individual Interface Mode

In Individual interface mode, units do not act independently with multicast. All data and routing packets are processed and forwarded by the master unit, thus avoiding packet replication.

NAT

NAT can impact the overall throughput of the cluster. Inbound and outbound NAT packets can be sent to different ASAs in the cluster because the load balancing algorithm relies on IP addresses and ports, and NAT causes inbound and outbound packets to have different IP addresses and/or ports. When a packet arrives at an ASA that is not the connection owner, it is forwarded over the cluster control link to the owner, causing large amounts of traffic on the cluster control link.

If you still want to use NAT in clustering, then consider the following guidelines:

- No Proxy ARP—For 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.

- No interface PAT on an Individual interface—Interface PAT is not supported for Individual interfaces.

- NAT pool address distribution for dynamic PAT—The 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.

- No round-robin—Round-robin for a PAT pool is not supported with clustering.

- Dynamic NAT xlates managed by the master unit—The 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 feature—Although 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.

- No static PAT for the following inspections—

– FTP

– PPTP

– RSH

– SQLNET

– TFTP

– XDMCP

– All Voice-over-IP applications

AAA for Network Access

AAA for network access consists of three components: authentication, authorization, and accounting. Authentication and accounting are implemented as centralized features on the clustering master with replication of the data structures to the cluster slaves. If a master is elected, the new master will have all the information it needs to continue uninterrupted operation of the established authenticated users and their associated authorizations. Idle and absolute timeouts for user authentications are preserved when a master unit change occurs.

Accounting is implemented as a distributed feature in a cluster. Accounting is done on a per-flow basis, so the cluster unit owning a flow will send accounting start and stop messages to the AAA server when accounting is configured for a flow.

Syslog and NetFlow

- Syslog—Each 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. See Including the Device ID in Non-EMBLEM Format Syslog Messages.

- NetFlow—Each unit in the cluster generates its own NetFlow stream. The NetFlow collector can only treat each ASA as a separate NetFlow exporter.

SNMP

An SNMP agent polls each individual ASA by its Local IP address. You cannot poll consolidated data for the cluster.

You should always use the Local address, and not the Main cluster IP address for SNMP polling. If the SNMP agent polls the Main cluster IP address, if a new master is elected, the poll to the new master unit will fail.

VPN

Site-to-site VPN is a centralized feature; only the master unit supports VPN connections.

Note Remote access VPN is not supported with 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.

FTP

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

Cisco TrustSec

Only the master unit learns security group tag (SGT) information. The master unit then populates the SGT to slaves, and slaves can make a match decision for SGT based on the security policy.

Licensing Requirements for ASA Clustering

Model

License Requirement

ASA 5585-X

Cluster License, supports up to 16 units.

A Cluster license is required on each unit. For other feature licenses, cluster units do not require the same license on each unit. If you have feature licenses on multiple units, they combine into a single running ASA cluster license.

Note Each unit must have the same encryption license and the same 10 GE I/O license.

ASA 5512-X

Security Plus license, supports 2 units.

Note Each unit must have the same encryption license.

ASA 5515-X, ASA 5525-X, ASA 5545-X, ASA 5555-X

Base License, supports 2 units.

Note Each unit must have the same encryption license.

All other models

No support.

Prerequisites for ASA Clustering

Switch Prerequisites

- Be sure to complete the switch configuration before you configure clustering on the ASAs.

- Table 9-2 lists supported external hardware and software to interoperate with ASA clustering.

Table 9-2 External Hardware and Software Support for ASA Clustering

External Hardware

External Software

ASA Version

Cisco Nexus 9500

Cisco NX-OS 6.1(2)I2(1) and later

9.2(1) and later

Cisco Nexus 9300

Cisco NX-OS 6.1(2)I2(1) and later

9.2(1) and later

Cisco Nexus 7000

Cisco NX-OS 5.2(5) and later

9.0(1) and later

Cisco Nexus 5000

Cisco NX-OS 7.0(1) and later

9.1(4) and later

Catalyst 6800 with Supervisor 2T

Cisco IOS 15.1(2)SY4 and later

9.1(5) and later

Catalyst 6500 with Supervisor 32, 720, and 720-10GE

Cisco IOS 12.2(33)SXI7, SXI8, and SXI9 and later

9.0(1) and later

Catalyst 6500 with Supervisor 2T

Cisco IOS 15.1(2)SY4 and later

9.1(5) and later

Catalyst 3750-X

Cisco IOS 15.0(2) and later

9.1(4) and later

- Follow these guidelines on supported 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.

ASA Prerequisites

- Provide each unit with a unique IP address before you join them to the management network.

– See “Getting Started,” for more information about connecting to the ASA and setting the management IP address.

– Except for the IP address used by the master unit (typically the first unit you add to the cluster), these management IP addresses are for temporary use only.

– After a slave joins the cluster, its management interface configuration is replaced by the one replicated from the master unit.

- To use jumbo frames on the cluster control link (recommended), you must enable Jumbo Frame Reservation before you enable clustering. See Enabling Jumbo Frame Support.

- See also ASA Hardware and Software Requirements.

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.

Guidelines and Limitations

Context Mode Guidelines

Supported in single and multiple context modes. The mode must match on each member unit.

Firewall Mode Guidelines

Supported in routed and transparent firewall modes. For single mode, the firewall mode must match on all units.

Failover Guidelines

Failover is not supported with clustering.

IPv6 Guidelines

Supports IPv6. However, the cluster control link is only supported using IPv4.

Model Guidelines

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. See Sizing the Cluster Control Link for more information.

- ASA 5512-X, ASA 5515-X, ASA 5525-X, ASA 5545-X, and ASA 5555-X

Switch Guidelines

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

EtherChannel Guidelines

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

- For detailed EtherChannel guidelines, limitations, and prerequisites, see Configuring an EtherChannel.

- See also the EtherChannel Guidelines.

- Spanned vs. Device-Local EtherChannel Configuration—Be sure to configure the switch appropriately for Spanned EtherChannels vs. Device-local EtherChannels.

EtherChannels, which span across all members of 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.

including any EtherChannels configured for the cluster control link, be sure to configure discrete Ether–annels on the switch; do not combine multiple ASA EtherChannels into one EtherChannel on the switch.

Additional Guidelines

- See ASA Hardware and Software Requirements.

- For unsupported features with clustering, see Unsupported Features.

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

Default Settings

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

- Connection rebalancing is disabled by default. If you enable connection rebalancing, the default time between load information exchanges is 5 seconds.

Configuring ASA Clustering

Note To enable or disable clustering, you must use a console connection (for CLI) or an ASDM connection.

- Task Flow for ASA Cluster Configuration

- Cabling the Cluster Units and Configuring Upstream and Downstream Equipment

- Configuring the Cluster Interface Mode on Each Unit

- Configuring Interfaces on the Master Unit

- Configuring the Master Unit Bootstrap Settings

- Configuring Slave Unit Bootstrap Settings

Task Flow for ASA Cluster Configuration

To configure clustering, perform the following steps:

Step 1 Complete all pre-configuration on the switches and ASAs according to the Prerequisites for ASA Clustering.

Step 2 Cable your equipment. Before configuring clustering, cable the cluster control link network, management network, and data networks. See Cabling the Cluster Units and Configuring Upstream and Downstream Equipment.

Step 3 Configure the interface mode. You can only configure one type of interface for clustering: Spanned EtherChannels or Individual interfaces. See Configuring the Cluster Interface Mode on Each Unit.

Step 4 Configure interfaces for clustering on the master unit. You cannot enable clustering if the interfaces are not cluster-ready. See Configuring Interfaces on the Master Unit.

Step 5 Configure the bootstrap settings and enable clustering on the master unit. See Configuring the Master Unit Bootstrap Settings.

Step 6 Configure the bootstrap settings for each slave unit. See Configuring Slave Unit Bootstrap Settings.

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. For a list of supported and unsupported features, see ASA Features and Clustering.

Cabling the Cluster Units and Configuring 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.

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

Note 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.

Purpose

Connect Interfaces on each of 4 ASAs

To Switch Ports

Cluster control link

TenGigabitEthernet 0/6 and TenGigabitEthernet 0/7

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.

Inside and outside interfaces

TenGigabitEthernet 0/8 and TenGigabitEthernet 0/9

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.

What to Do Next

Configure the cluster interface mode on each unit. See Configuring the Cluster Interface Mode on Each Unit.

Configuring the Cluster Interface Mode on Each Unit

You can only configure one type of interface for clustering: Spanned EtherChannels or Individual interfaces; you cannot mix interface types in a cluster. For exceptions for the management interface and other guidelines, see Interface Type Mode.

Prerequisites

- You must set the mode separately on each ASA that you want to add to the cluster.

- Transparent firewall mode supports only Spanned EtherChannel mode.

- For multiple context mode, configure this setting in the system execution space; you cannot configure the mode per context.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# cluster interface-mode spanned check-details

command shows any incompatible configuration so that you can force the interface mode and fix your configuration later; the mode is not changed with this command.

Step 2

ciscoasa(config)# cluster interface-mode spanned force

Sets the interface mode for clustering. There is no default setting; you must explicitly choose the mode. If you have not set the mode, you cannot enable clustering.

option after you set the mode for more guidance.

.

command.

What to Do Next

Configure interfaces. See Configuring Interfaces on the Master Unit.

Configuring Interfaces on the Master Unit

you enable clustering. For other interfaces, you can configure them before or after you enable clustering; we recommend pre-configuring all of your interfaces so that the complete configuration is synced to new cluster members.

This section describes how to configure interfaces to be compatible with clustering. You can configure data interfaces as either Spanned EtherChannels or as Individual interfaces. Each method uses a different load-balancing mechanism. You cannot configure both types in the same configuration, with the exception of the management interface, which can be an Individual interface even in Spanned EtherChannel mode. For more information, see Cluster Interfaces.

- Configuring Individual Interfaces (Recommended for the Management Interface)

- Configuring Spanned EtherChannels

Configuring Individual Interfaces (Recommended for the Management Interface)

Individual interfaces are normal routed interfaces, each with their own IP address taken from a pool of IP addresses. The Main cluster IP address is a fixed address for the cluster that always belongs to the current master unit.

In Spanned EtherChannel mode, we recommend configuring the management interface as an Individual interface. Individual management interfaces let you connect directly to each unit if necessary, while a Spanned EtherChannel interface only allows connection to the current master unit. See Management Interface for more information.

Prerequisites

- Except for the management-only interface, you must be in Individual interface mode; see Configuring the Cluster Interface Mode on Each Unit.

- 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. For information about load balancing, see Load Balancing Methods.

- (Optional) Configure the interface as a device-local EtherChannel interface, a redundant interface, and/or configure subinterfaces.

– For an EtherChannel, see Configuring an EtherChannel. This EtherChannel is local to the unit, and is not a Spanned EtherChannel.

– For a redundant interface, see Configuring a Redundant Interface. Management-only interfaces cannot be redundant interfaces.

– For subinterfaces, see Configuring VLAN Subinterfaces and 802.1Q Trunking.

Detailed Steps

Command

Purpose

Step 1

(IPv4)

]

(IPv6)

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

a part of this pool; be sure to reserve an IP address on the same network for the Main cluster IP address.

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

ciscoasa(config)# interface tengigabitethernet 0/8

Enters interface configuration mode.

Step 3

(Management interface only)

ciscoasa(config-if)# management-only

Sets an interface to management-only mode so that it does not pass through traffic.

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.

Step 4

ciscoasa(config-if)# nameif inside

Names the interface.

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

(IPv4)

(IPv6)

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

Sets the Main cluster IP address and identifies the cluster pool. 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

ciscoasa(config-if)# security-level 100

is an integer between 0 (lowest) and 100 (highest). See Security Levels.

Step 7

ciscoasa(config-if)# no shutdown

Enables the interface.

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

security-level 100

management-only

What to Do Next

- For spanned interface mode, configure your data interfaces. See Configuring Spanned EtherChannels.

- For Individual interface mode, join the cluster. See Configuring the Master Unit Bootstrap Settings.

Configuring Spanned EtherChannels

A Spanned EtherChannel spans all ASAs in the cluster, and provides load balancing as part of the EtherChannel operation.

Prerequisites

- You must be in Spanned EtherChannel interface mode; see Configuring the Cluster Interface Mode on Each Unit.

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

- For transparent mode, configure the bridge group according to the Configuring Bridge Groups.

Guidelines

- Do not specify the maximum and minimum links in the EtherChannel—We 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.

. 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 (see Configuring the Master Unit Bootstrap Settings). This requirement prevents traffic from being forwarded to a unit that is not an active unit in the cluster.

- For detailed EtherChannel guidelines, limitations, and prerequisites, see Configuring an EtherChannel.

- See also the EtherChannel Guidelines.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/0

. This first interface in the channel group determines the type and speed for all other interfaces in the group.

Step 2

}]

ciscoasa(config-if)# channel-group 1 mode active

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:

mode is supported for Spanned EtherChannels.

command for the port-channel interface in Step 6. See also the Connecting to a VSS or vPC for more information.

Step 3

ciscoasa(config-if)# no shutdown

Enables the interface.

Step 4

(Optional) Add additional interfaces to the EtherChannel by repeating Step 1 through Step 3.

ciscoasa(config)# interface gigabitethernet 0/1

ciscoasa(config-if)# channel-group 1 mode active

ciscoasa(config-if)# no shutdown

command (see Configuring Advanced Clustering Settings). 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

ciscoasa(config)# interface port-channel 1

Specifies the port-channel interface. This interface was created automatically when you added an interface to the channel group.

Step 6

]

ciscoasa(config-if)# port-channel span-cluster

Sets this EtherChannel as a Spanned EtherChannel.

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. See Enabling the Physical Interface and Configuring Ethernet Parameters for Ethernet commands.

Step 8

(Optional)

If you are creating VLAN subinterfaces on this EtherChannel, do so now. The rest of this procedure applies to the subinterfaces.

ciscoasa(config)# interface port-channel 1.10

ciscoasa(config-if)# vlan 10

See Configuring VLAN Subinterfaces and 802.1Q Trunking.

Step 9

(Multiple Context Mode)

Allocate the interface to a context. See Configuring a Security Context.

Then enter:

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

ciscoasa(config-if)# nameif inside

Names the interface.

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

Perform one of the following, depending on the firewall mode:

Routed Mode:

(IPv4)

]

(IPv6)

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0

ciscoasa(config-if)# ipv6 address 2001:DB8::1001/32

Sets the IPv4 and/or IPv6 address. DHCP, PPPoE, and IPv6 autoconfig are not supported.

Transparent Mode:

ciscoasa(config-if)# bridge-group 1

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

ciscoasa(config-if)# security-level 50

is an integer between 0 (lowest) and 100 (highest). See Security Levels.

Step 13

ciscoasa(config-if)# mac-address 000C.F142.4CDE

You must configure a MAC address for a Spanned EtherChannel so that the MAC address does not change when the current master unit leaves the cluster; 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.

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.

that What to Do Next

Configure the master unit bootstrap settings. See Configuring the Master Unit Bootstrap Settings.

Configuring the Master Unit Bootstrap Settings

Each unit in the cluster requires a bootstrap configuration to join the cluster. Typically, the first unit you configure to join the cluster will be the master unit. After you enable clustering, after an election period, the cluster elects a master unit. With only one unit in the cluster initially, that unit will become the master unit. Subsequent units that you add to the cluster will be slave units.

- Prerequisites

- Enabling the Cluster Control Link Interface

- Configuring Basic Bootstrap Settings and Enabling Clustering

- Configuring Advanced Clustering Settings

- Examples

Prerequisites

- 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. See Enabling Jumbo Frame Support.

- 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 according to the Configuring Interfaces on the Master Unit 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.

Enabling the Cluster Control Link Interface

You need to 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.

Prerequisites

Determine the size of the cluster control link by referring to the Sizing the Cluster Control Link.

Restrictions

- You cannot use a VLAN subinterface as the cluster control link.

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

Detailed Steps—Single Interface

Command

Purpose

Step 1

ciscoasa(config)# interface tengigabitethernet 0/6

Enters interface configuration mode.

Step 2

ciscoasa(config-if)# no shutdown

Enables the interface. You only need to enable the interface; do not configure a name for the interface, or any other parameters.

Detailed Steps—EtherChannel Interface

Command

Purpose

Step 1

ciscoasa(config)# interface tengigabitethernet 0/6

Enters interface configuration mode.

Step 2

ciscoasa(config-if)# channel-group 1 mode on

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:

EtherChannels to Active mode.

Step 3

ciscoasa(config-if)# no shutdown

Enables the interface.

Step 4

ciscoasa(config)# interface tengigabitethernet 0/7

ciscoasa(config-if)# channel-group 1 mode on

ciscoasa(config-if)# no shutdown

Repeat for each additional interface you want to add to the EtherChannel.

What to Do Next

Configure the master unit bootstrap settings. See Configuring Basic Bootstrap Settings and Enabling Clustering.

Configuring Basic Bootstrap Settings and Enabling Clustering

Perform the following steps to configure basic bootstrap settings and to enable clustering.

Detailed Steps

Command

Purpose

Step 1

(Optional)

ciscoasa(config)# mtu cluster 9000

Specifies the maximum transmission unit for the cluster control link interface, between 64 and 65,535 bytes. The default MTU is 1500 bytes.

Note We suggest setting the MTU to 1600 bytes or greater, which requires you to enable jumbo frame reservation before continuing with this procedure. See Enabling Jumbo Frame Support. 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 2

ciscoasa(config)# cluster group pod1

Names the cluster and enters cluster configuration mode. 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 3

ciscoasa(cfg-cluster)# local-unit unit1

Names this member of the cluster with 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.

Step 4

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

Specifies the cluster control link interface, preferably an EtherChannel. Subinterfaces and Management interfaces are not allowed. See Configuring Interfaces on the Master Unit.

configured.

For each unit, specify a different IP address on the same network.

Step 5

ciscoasa(cfg-cluster)# priority 1

Sets the priority of this unit for master unit elections, between 1 and 100, where 1 is the highest priority. See Master Unit Election for more information.

Step 6

(Optional)

ciscoasa(cfg-cluster)# key chuntheunavoidable

Sets an authentication key for control traffic on the cluster control link. 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 7

(Optional)

]

ciscoasa(cfg-cluster)# clacp system-mac 000a.0000.aaaa

, 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 8

]

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

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.

command.

Note If you disable clustering, all data interfaces are shut down, and only the management-only interface is active. If you want to remove the unit from the cluster entirely (and thus want to have active data interfaces), see that Leaving the Cluster.

What to Do Next

- Configure advanced settings. See Configuring Advanced Clustering Settings.

- Add slave units. See Configuring Slave Unit Bootstrap Settings.

Configuring Advanced Clustering Settings

Perform the following steps to customize your clustering configuration.

Detailed Steps

Command

Purpose

Step 1

]

ciscoasa(cfg-cluster)# health-check holdtime 5

health check; for interface health, the ASA uses the interface status (up or down).

, 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.

The interface health check monitors for link failures. If an interface fails on a particular unit, but the same interface is active on other units, then the unit is removed from the cluster. For details, see Interface Monitoring.

form of this command.

Note 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 2

]

ciscoasa(cfg-cluster)# conn-rebalance frequency 60

Enables connection rebalancing for TCP traffic. 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.

Note Do not configure connection rebalancing for inter-site topologies; you do not want connections rebalanced to cluster members at a different site.

Step 3

ciscoasa(cfg-cluster)# console-replicate

Enables console replication from slave units to the master unit. 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 4

ciscoasa(cfg-cluster)# clacp static-port-priority

Disables dynamic port priority in LACP. 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.

What to Do Next

Add slave units. See Configuring Slave Unit Bootstrap Settings.

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

Configuring Slave Unit Bootstrap Settings

Perform the following procedures to configure the slave units.

- Prerequisites

- Enabling the Cluster Control Link Interface

- Configuring Bootstrap Settings and Joining the Cluster

- Examples

Prerequisites

- 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. See Enabling Jumbo Frame Support.

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

Enabling the Cluster Control Link Interface

Configure the same cluster control link interface as you configured for the master unit. See Enabling the Cluster Control Link Interface.

Detailed Steps—Single Interface

Command

Purpose

Step 1

ciscoasa(config)# interface tengigabitethernet 0/6

Enters interface configuration mode.

Step 2

ciscoasa(config-if)# no shutdown

Enables the interface. You only need to enable the interface; do not configure a name for the interface, or any other parameters.

Detailed Steps—EtherChannel Interface

Command

Purpose

Step 1

ciscoasa(config)# interface tengigabitethernet 0/6

Enters interface configuration mode.

Step 2

ciscoasa(config-if)# channel-group 1 mode on

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:

EtherChannels to Active mode.

Step 3

ciscoasa(config-if)# no shutdown

Enables the interface.

Step 4

ciscoasa(config)# interface tengigabitethernet 0/7

ciscoasa(config-if)# channel-group 1 mode on

ciscoasa(config-if)# no shutdown

Repeat for each additional interface you want to add to the EtherChannel.

What to Do Next

Configure the slave unit bootstrap settings. See Configuring Bootstrap Settings and Joining the Cluster.

Configuring Bootstrap Settings and Joining the Cluster

Perform the following steps to configure bootstrap settings and join the cluster as a slave unit.

Detailed Steps

Command

Purpose

Step 1

(Optional)

ciscoasa(config)# mtu cluster 9000

Specifies the same MTU that you configured for the master unit.

Note We suggest setting the MTU to 1600 bytes or greater, which requires you to enable jumbo frame reservation before continuing with this procedure. See Enabling Jumbo Frame Support. Jumbo frame reservation requires a reload of the ASA.

Step 2

ciscoasa(config)# cluster group pod1

Identifies the same cluster name that you configured for the master unit.

Step 3

ciscoasa(cfg-cluster)# local-unit unit1

Names this member of the cluster with 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.

Step 4

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

Specifies the same cluster control link interface that you configured for the master unit.

configured.

For each unit, specify a different IP address on the same network.

Step 5

ciscoasa(cfg-cluster)# priority 2

Sets the priority of this unit for master unit elections, between 1 and 100, where 1 is the highest priority. See Master Unit Election for more information.

Step 6

(Optional)

ciscoasa(cfg-cluster)# key chuntheunavoidable

Sets the same authentication key that you set for the master unit.

Step 7

ciscoasa(cfg-cluster)# 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.

command.

Note If you disable clustering, all data interfaces are shut down, and only the management interface is active. If you want to remove the unit from the cluster entirely (and thus want to have active data interfaces), see that Leaving the Cluster.

What to Do Next

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. For a list of supported and unsupported features, see ASA Features and Clustering.

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

Managing ASA Cluster Members

- Becoming an Inactive Member

- Inactivating a Member

- that Leaving the Cluster

- Changing the Master Unit

- Executing a Command Cluster-Wide

Becoming an Inactive Member

To become an inactive member of the cluster, disable clustering on the unit while leaving the clustering configuration intact.

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. See that Leaving 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.

Prerequisites

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

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# cluster group pod1

Enters cluster configuration mode.

Step 2

ciscoasa(cfg-cluster)# no enable

Disables clustering. 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.

Inactivating 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. See that Leaving 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.

Prerequisites

command.

Detailed Steps

Command

Purpose

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

Removes the unit from the cluster. 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.

command.

that Leaving the Cluster

If you want to leave the cluster altogether, you need to remove the entire cluster bootstrap configuration. Because the current configuration on each member is the same (synced from the master unit), leaving the cluster also means either restoring a pre-clustering configuration from backup, or clearing your configuration and starting over to avoid IP address conflicts.

Prerequisites

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.

Detailed Steps

Command

Purpose

Step 1

For a slave unit:

no enable

ciscoasa(config)# cluster group cluster1

ciscoasa(cfg-cluster)# no enable

Disables clustering. You cannot make configuration changes while clustering is enabled on a slave unit.

Step 2

ciscoasa(config)# clear configure cluster

Clears the cluster configuration. The ASA shuts down all interfaces including the management interface and cluster control link.

Step 3

ciscoasa(config)# no cluster interface-mode

Disables cluster interface mode. The mode is not stored in the configuration and must be reset manually.

Step 4

If you have a backup configuration:

ciscoasa(config)# copy backup_cluster.cfg running-config

Source filename [backup_cluster.cfg]?

Destination filename [running-config]?

ciscoasa(config)#

Copies the backup configuration to the running configuration.

Step 5

ciscoasa(config)# write memory

Saves the configuration to startup.

Step 6

If you do not have a backup configuration, reconfigure management access according to Chapter4, “Getting Started” Be sure to change the interface IP addresses, and restore the correct hostname, for example.

Changing the Master Unit

Caution The best method to change the master unit is to disable clustering on the master unit (see Becoming an Inactive Member), 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. See Centralized Features for a list of centralized features.

To change the master unit, perform the following steps.

Prerequisites

command.

Detailed Steps

Command

Purpose

ciscoasa(config)# cluster master unit asa2

Sets a new unit as the master unit. You will need to reconnect to the Main cluster IP address.

command.

Executing a Command Cluster-Wide

, can also take advantage of cluster-wide execution.

Detailed Steps

Command

Purpose

ciscoasa# cluster exec show xlate

Sends a command to all members, or if you specify the unit name, a specific member.

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.

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)

Monitoring the ASA Cluster

- Monitoring Commands

- Related Commands

Monitoring Commands

To monitor the cluster, enter one of the following commands:

Command

Purpose

]

command shows the status of all members of the cluster.

commands show traffic distribution across all cluster units. These commands can help you to evaluate and adjust the external load balancer.

command shows the debug information for further troubleshooting.

command shows the current health of interfaces, units, and the cluster overall.

command shows connection rebalance statistics.

]

available depends on the data type.

]

Displays cluster-wide user identity information and statistics.

}

Shows the cLACP system ID and priority.

]

Shows debug messages for clustering.

]

Shows debug messages for cLACP.

This command is useful for datapath troubleshooting.

Example 9-1 show cluster info

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 26 2011

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 23 2011

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 23 2011

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 23 2011

Last leave: 19:13:36 UTC Sep 23 2011

Example 9-2 show cluster info trace

ciscoasa# show cluster info trace

Feb 02 14:19:47.456 [DBUG]Receive CCP message: CCP_MSG_LOAD_BALANCE

Feb 02 14:19:47.456 [DBUG]Receive CCP message: CCP_MSG_LOAD_BALANCE

Feb 02 14:19:47.456 [DBUG]Send CCP message to all: CCP_MSG_KEEPALIVE from 80-1 at MASTER

Example 9-3 show cluster access-list

ciscoasa# show cluster access-list

hitcnt display order: cluster-wide aggregated result, unit-A, unit-B, unit-C, unit-D

access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300

access-list 101; 122 elements; name hash: 0xe7d586b5

access-list 101 line 1 extended permit tcp 192.168.143.0 255.255.255.0 any eq www (hitcnt=0, 0, 0, 0, 0) 0x207a2b7d

access-list 101 line 2 extended permit tcp any 192.168.143.0 255.255.255.0 (hitcnt=0, 0, 0, 0, 0) 0xfe4f4947

access-list 101 line 3 extended permit tcp host 192.168.1.183 host 192.168.43.238 (hitcnt=1, 0, 0, 0, 1) 0x7b521307

access-list 101 line 4 extended permit tcp host 192.168.1.116 host 192.168.43.238 (hitcnt=0, 0, 0, 0, 0) 0x5795c069

access-list 101 line 5 extended permit tcp host 192.168.1.177 host 192.168.43.238 (hitcnt=1, 0, 0, 1, 0) 0x51bde7ee

access list 101 line 6 extended permit tcp host 192.168.1.177 host 192.168.43.13 (hitcnt=0, 0, 0, 0, 0) 0x1e68697c

access-list 101 line 7 extended permit tcp host 192.168.1.177 host 192.168.43.132 (hitcnt=2, 0, 0, 1, 1) 0xc1ce5c49

access-list 101 line 8 extended permit tcp host 192.168.1.177 host 192.168.43.192 (hitcnt=3, 0, 1, 1, 1) 0xb6f59512

access-list 101 line 9 extended permit tcp host 192.168.1.177 host 192.168.43.44 (hitcnt=0, 0, 0, 0, 0) 0xdc104200

access-list 101 line 10 extended permit tcp host 192.168.1.112 host 192.168.43.44 (hitcnt=429, 109, 107, 109, 104)

0xce4f281d

access-list 101 line 11 extended permit tcp host 192.168.1.170 host 192.168.43.238 (hitcnt=3, 1, 0, 0, 2) 0x4143a818

access-list 101 line 12 extended permit tcp host 192.168.1.170 host 192.168.43.169 (hitcnt=2, 0, 1, 0, 1) 0xb18dfea4

access-list 101 line 13 extended permit tcp host 192.168.1.170 host 192.168.43.229 (hitcnt=1, 1, 0, 0, 0) 0x21557d71

access-list 101 line 14 extended permit tcp host 192.168.1.170 host 192.168.43.106 (hitcnt=0, 0, 0, 0, 0) 0x7316e016

access-list 101 line 15 extended permit tcp host 192.168.1.170 host 192.168.43.196 (hitcnt=0, 0, 0, 0, 0) 0x013fd5b8

access-list 101 line 16 extended permit tcp host 192.168.1.170 host 192.168.43.75 (hitcnt=0, 0, 0, 0, 0) 0x2c7dba0d

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 Commands

Command

Purpose

]

command on any unit to view all connections. This command can show how traffic for a single flow arrives at different ASAs in the cluster. The throughput of the cluster is dependent on the efficiency and configuration of load balancing. This command provides an easy way to view how traffic for a connection is flowing through the cluster, and can help you understand how a load balancer might affect the performance of a flow.

Shows cluster information for routing.

command, which is then automatically enabled on all of the slave units in the cluster.

See Capturing Packets.

Creates a MAC address pool for an individual interface.

Sets the CLI prompt to include the cluster unit name.

See Customizing a CLI Prompt.

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.

See Including the Device ID in Non-EMBLEM Format Syslog Messages.

Includes information about whether a port-channel is spanned.

Example 9-4 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 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

command:

ciscoasa/ASA2/slave# show conn detail

12 in use, 13 most used

Cluster stub connections: 0 in use, 46 most used

Flags: A - awaiting inside ACK to SYN, a - awaiting outside ACK to SYN,

B - initial SYN from outside, b - TCP state-bypass or nailed,

C - CTIQBE media, c - cluster centralized,

D - DNS, d - dump, E - outside back connection, F - outside FIN, f - inside FIN,

G - group, g - MGCP, H - H.323, h - H.225.0, I - inbound data,

i - incomplete, J - GTP, j - GTP data, K - GTP t3-response

k - Skinny media, M - SMTP data, m - SIP media, n - GUP

O - outbound data, P - inside back connection, p - Phone-proxy TFTP connection,

q - SQL*Net data, R - outside acknowledged FIN,

R - UDP SUNRPC, r - inside acknowledged FIN, S - awaiting inside SYN,

s - awaiting outside SYN, T - SIP, t - SIP transient, U - up,

V - VPN orphan, W - WAAS,

X - inspected by service module,

x - per session, Y - director stub flow, y - backup stub flow,

Z - Scansafe redirection, z - forwarding stub flow

ESP outside: 10.1.227.1/53744 NP Identity Ifc: 10.1.226.1/30604, , flags c, idle 0s, uptime 1m21s, timeout 30s, bytes 7544, cluster sent/rcvd bytes 0/0, owners (0,255) Traffic received at interface outside Locally received: 7544 (93 byte/s) Traffic received at interface NP Identity Ifc Locally received: 0 (0 byte/s) UDP outside: 10.1.227.1/500 NP Identity Ifc: 10.1.226.1/500, flags -c, idle 1m22s, uptime 1m22s, timeout 2m0s, bytes 1580, cluster sent/rcvd bytes 0/0, cluster sent/rcvd total bytes 0/0, owners (0,255) Traffic received at interface outside Locally received: 864 (10 byte/s) Traffic received at interface NP Identity Ifc Locally received: 716 (8 byte/s)

Configuration Examples for ASA Clustering

- Sample ASA and Switch Configuration

- Firewall on a Stick

- Traffic Segregation

- Spanned EtherChannel with Backup Links (Traditional 8 Active/8 Standby)

Sample ASA and Switch Configuration

The following sample configurations connect the following interfaces between the ASA and the switch:

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

- Cisco IOS Switch Configuration

ASA Configuration

Interface Mode on Each Unit

cluster interface-mode spanned force

ASA1 Master Bootstrap Configuration

interface GigabitEthernet0/0

channel-group 1 mode on

no shutdown

!

interface GigabitEthernet0/1

channel-group 1 mode on

no shutdown

!

interface Port-channel1

description Clustering Interface

!

cluster group Moya

local-unit A

cluster-interface Port-channel1 ip 10.0.0.1 255.255.255.0

priority 10

key emphyri0

enable noconfirm

ASA2 Slave Bootstrap Configuration

interface GigabitEthernet0/0

channel-group 1 mode on

no shutdown

!

interface GigabitEthernet0/1

channel-group 1 mode on

no shutdown

!

interface Port-channel1

description Clustering Interface

!

cluster group Moya

local-unit B

cluster-interface Port-channel1 ip 10.0.0.2 255.255.255.0

priority 11

key emphyri0

enable as-slave

Master Interface Configuration

ip local pool mgmt-pool 10.53.195.231-10.53.195.232

interface GigabitEthernet0/2

channel-group 10 mode active

no shutdown

!

interface GigabitEthernet0/3

channel-group 10 mode active

no shutdown

!

interface GigabitEthernet0/4

channel-group 11 mode active

no shutdown

!

interface GigabitEthernet0/5

channel-group 11 mode active

no shutdown

!

interface Management0/0

management-only

nameif management

ip address 10.53.195.230 cluster-pool mgmt-pool

security-level 100

no shutdown

!

interface Port-channel10

port-channel span-cluster

mac-address aaaa.bbbb.cccc

nameif inside

security-level 100

ip address 209.165.200.225 255.255.255.224

!

interface Port-channel11

port-channel span-cluster

mac-address aaaa.dddd.cccc

nameif outside

security-level 0

ip address 209.165.201.1 255.255.255.224

Cisco IOS Switch Configuration

interface GigabitEthernet1/0/15

switchport access vlan 201

switchport mode access

spanning-tree portfast

channel-group 10 mode active

!

interface GigabitEthernet1/0/16

switchport access vlan 201

switchport mode access

spanning-tree portfast

channel-group 10 mode active

!

interface GigabitEthernet1/0/17

switchport access vlan 401

switchport mode access

spanning-tree portfast

channel-group 11 mode active

!

interface GigabitEthernet1/0/18

switchport access vlan 401

switchport mode access

spanning-tree portfast

channel-group 11 mode active

interface Port-channel10

switchport access vlan 201

switchport mode access

interface Port-channel11

switchport access vlan 401

switchport mode access

Firewall on a Stick

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.

Interface Mode on Each Unit

cluster interface-mode spanned force

ASA1 Master Bootstrap Configuration

interface tengigabitethernet 0/8

no shutdown

description CCL

cluster group cluster1

local-unit asa1

cluster-interface tengigabitethernet0/8 ip 192.168.1.1 255.255.255.0

priority 1

key chuntheunavoidable

enable noconfirm

ASA2 Slave Bootstrap Configuration

interface tengigabitethernet 0/8

no shutdown

description CCL

cluster group cluster1

local-unit asa2

cluster-interface tengigabitethernet0/8 ip 192.168.1.2 255.255.255.0

priority 2

key chuntheunavoidable

enable as-slave

ASA3 Slave Bootstrap Configuration

interface tengigabitethernet 0/8

no shutdown

description CCL

cluster group cluster1

local-unit asa3

cluster-interface tengigabitethernet0/8 ip 192.168.1.3 255.255.255.0

priority 3

key chuntheunavoidable

enable as-slave

Master Interface Configuration

ip local pool mgmt 10.1.1.2-10.1.1.9

ipv6 local pool mgmtipv6 2001:DB8::1002/64 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/9

channel-group 2 mode active

no shutdown

interface port-channel 2

port-channel span-cluster

interface port-channel 2.10

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

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

ASA1 Master Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

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

ASA2 Slave Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

no shutdown

interface tengigabitethernet 0/7

channel-group 1 mode on

no shutdown

interface port-channel 1

description CCL

cluster group cluster1

local-unit asa2

cluster-interface port-channel1 ip 192.168.1.2 255.255.255.0

priority 2

key chuntheunavoidable

enable as-slave

ASA3 Slave Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

no shutdown

interface tengigabitethernet 0/7

channel-group 1 mode on

no shutdown

interface port-channel 1

description CCL

cluster group cluster1

local-unit asa3

cluster-interface port-channel1 ip 192.168.1.3 255.255.255.0

priority 3

key chuntheunavoidable

enable as-slave

Master Interface Configuration

ip local pool mgmt 10.1.1.2-10.1.1.9

ipv6 local pool mgmtipv6 2001:DB8::1002/64 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/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

Spanned EtherChannel with Backup Links (Traditional 8 Active/8 Standby)

The maximum number of active ports in a traditional EtherChannel is limited to 8 from the switch side. If you have an 8-ASA cluster, and you allocate 2 ports per unit to the EtherChannel, for a total of 16 ports total, then 8 of them have to be in standby mode. The ASA uses LACP to negotiate which links should be active or standby. If you enable multi-switch EtherChannel using VSS or vPC, you can achieve inter-switch redundancy. On the ASA, all physical ports are ordered first by the slot number then by the port number. In the following figure, the lower ordered port is the “primary” port (for example, GigabitEthernet 0/0), and the other one is the “secondary” port (for example, GigabitEthernet 0/1). You must guarantee symmetry in the hardware connection: all primary links must terminate on one switch, and all secondary links must terminate on another switch if VSS/vPC is used. The following diagram shows what happens when the total number of links grows as more units join the cluster:

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.

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.

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.

Interface Mode on Each Unit

cluster interface-mode spanned force

ASA1 Master Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

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 asa1

cluster-interface port-channel1 ip 192.168.1.1 255.255.255.0

priority 1

key chuntheunavoidable

enable noconfirm

ASA2 Slave Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

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 asa2

cluster-interface port-channel1 ip 192.168.1.2 255.255.255.0

priority 2

key chuntheunavoidable

enable as-slave

ASA3 Slave Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

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 asa3

cluster-interface port-channel1 ip 192.168.1.3 255.255.255.0

priority 3

key chuntheunavoidable

enable as-slave

ASA4 Slave Bootstrap Configuration

interface tengigabitethernet 0/6

channel-group 1 mode on

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

Master Interface Configuration

ip local pool mgmt 10.1.1.2-10.1.1.9

interface management 0/0

channel-group 2 mode active

no shutdown

interface management 0/1

channel-group 2 mode active

no shutdown

interface port-channel 2

nameif management

ip address 10.1.1.1 255.255.255.0 cluster-pool mgmt

security-level 100

management-only

interface tengigabitethernet 1/6

channel-group 3 mode active vss-id 1

no shutdown

interface tengigabitethernet 1/7

channel-group 3 mode active vss-id 2

no shutdown

interface port-channel 3

port-channel span-cluster vss-load-balance

nameif inside

ip address 10.10.10.5 255.255.255.0

mac-address 000C.F142.4CDE

interface tengigabitethernet 1/8

channel-group 4 mode active vss-id 1

no shutdown

interface tengigabitethernet 1/9

channel-group 4 mode active vss-id 2

no shutdown

interface port-channel 4

port-channel span-cluster vss-load-balance

nameif outside

ip address 209.165.201.1 255.255.255.224

mac-address 000C.F142.5CDE

Feature History for ASA Clustering

lists each feature change and the platform release in which it was implemented.

Table 9-3 Feature History for Clustering

Feature Name

Platform Releases

Feature Information

ASA Clustering for the ASA 5580 and 5585-X

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.

.

Support for clustering with the Cisco Nexus 7000 and Cisco Catalyst 6500

9.0(1)

The ASA supports clustering when connected to the Cisco Nexus 7000 and Cisco Catalyst 6500 with Supervisor 32, 720, and 720-10GE.

ASA 5500-X support for clustering

9.1(4)

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.

Improved VSS and vPC support for health check monitoring

9.1(4)

If you configure the cluster control link as an EtherChannel (recommended), and it is connected to a VSS or vPC pair, you can now increase stability with health check monitoring. For some switches, such as the Cisco Nexus 5000, 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 the VSS/vPC health check feature, 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.

]

Support for cluster members at different geographical locations (inter-site); Individual Interface mode only

9.1(4)

You can now place cluster members at different geographical locations when using Individual Interface mode.

We did not modify any commands.

Support for clustering with the Cisco Nexus 5000 and Cisco Catalyst 3750-X

9.1(4)

The ASA supports clustering when connected to the Cisco Nexus 5000 and Cisco Catalyst 3750-X.

]

Support for cluster members at different geographical locations (inter-site) for transparent mode

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.

Static LACP port priority support for clustering

9.2(1)

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.

- Port-channel bundling downtime should not exceed the configured keepalive interval.

.

Support for 32 active links in a spanned EtherChannel

9.2(1)

EtherChannels, that functionality is extended to support up to 32 active links across the cluster when used with two switches in a vPC and when you disable dynamic port priority. The switches must support EtherChannels with 16 active links, for example, the Cisco Nexus 7000 with F2-Series 10 Gigabit Ethernet Module.

For switches in a VSS or vPC that support 8 active links, you can now configure 16 active links in the spanned EtherChannel (8 connected to each switch). Previously, the spanned EtherChannel only supported 8 active links and 8 standby links, even for use with a VSS/vPC.

Note 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.
.

Support for 16 cluster members for the ASA 5585-X

9.2(1)

The ASA 5585-X now supports 16-unit clusters.

We did not modify any commands.

Support for clustering with the Cisco Nexus 9300

9.2(1)

The ASA supports clustering when connected to the Cisco Nexus 9300.

Failover

This chapter describes how to configure Active/Standby or Active/Active failover, and includes the following sections:

- Introduction to Failover

- Licensing Requirements Failover

- Prerequisites for Failover

- Guidelines and Limitations

- Default Settings

- Configuring Active/Standby Failover

- Configuring Active/Active Failover

- Configuring Optional Failover Parameters

- Managing Failover

- Monitoring Failover

- Feature History for Failover

Introduction to Failover

- Failover Overview

- Failover System Requirements

- Failover and Stateful Failover Links

- MAC Addresses and IP Addresses

- Intra- and Inter-Chassis Module Placement for the ASA Services Module

- Stateless and Stateful Failover

- Transparent Firewall Mode Requirements

- Failover Health Monitoring

- Failover Times

- Configuration Synchronization

- Information About Active/Standby Failover

- Information About Active/Active Failover

Failover Overview

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.

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.

Both failover modes support stateful or stateless failover.

Failover System Requirements

This section describes the hardware, software, and license requirements for ASAs in a failover configuration.

- Hardware Requirements

- Software Requirements

- License Requirements

Hardware Requirements

The two units in a failover configuration must:

- Be the same model.

- Have the same number and types of interfaces.

- Have the same modules installed (if any)

- Have the same RAM installed.

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:

- Be in the same firewall mode (routed or transparent).

- Be in the same context mode (single or multiple).

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

See Upgrade a Failover Pair or ASA Cluster for more information about upgrading the software on a failover pair.

- 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.”

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. See Failover or ASA Cluster Licenses for more information.

Failover and Stateful Failover Links

The failover link and the optional Stateful Failover link are dedicated connections between the two units.

- Failover Link

- Stateful Failover Link

- Avoiding Interrupted Failover and Data Links

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.

- Failover Link Data

- Interface for the Failover Link

- Connecting the Failover Link

Failover Link Data

The following information is communicated over the failover link:

- The unit state (active or standby)

- Hello messages (keep-alives)

- Network link status

- MAC address exchange

- Configuration replication and synchronization

Interface for the Failover Link

You can use any unused interface (physical, redundant, or EtherChannel) as the failover link; however, you cannot specify an interface that is currently configured with a name. The failover link interface is not configured as a normal networking interface; it exists for failover communication only. This interface can only be used for the failover link (and optionally also for the state link).

Connecting the Failover Link

Connect the failover link in one of the following two ways:

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

Stateful Failover Link

To use Stateful Failover, you must configure a Stateful Failover link (also known as the state link) to pass connection state information.

You have three interface options for the state link:

- Dedicated Interface (Recommended)

- Shared with the Failover Link

- Shared with a Regular Data Interface (Not Recommended)

Note Do not use a management interface for the state link.

Dedicated Interface (Recommended)

You can use a dedicated interface (physical, redundant, or EtherChannel) for the state link. Connect a dedicated state link in one of the following two ways:

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

Shared with the Failover Link

Sharing a failover link might be necessary if you do not have enough interfaces. If you use the failover link as the state link, you should use the fastest Ethernet interface available. If you experience performance problems on that interface, consider dedicating a separate interface for the state link.

Shared with a Regular Data Interface (Not Recommended)

Sharing a data interface with the state link can leave you vulnerable to replay attacks. Additionally, large amounts of Stateful Failover traffic may be sent on the interface, causing performance problems on that network segment.

Using a data interface as the state link is supported in single context, routed mode only.

Avoiding Interrupted Failover and Data Links

We recommend that failover links and data interfaces travel through different paths to decrease the chance that all interfaces fail at the same time. If the failover link is down, the ASA can use the data interfaces to determine if a failover is required. Subsequently, the failover operation is suspended until the health of the failover link is restored.

See the following connection scenarios to design a resilient failover network.

Scenario 1—Not Recommended

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 Figure 8-1 and Figure 8-2 are NOT recommended.

Figure 8-1 Connecting with a Single Switch—Not Recommended

Figure 8-2 Connecting with a Double Switch—Not Recommended

Scenario 2—Recommended

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 Figure 8-3 and Figure 8-4.

Figure 8-3 Connecting with a Different Switch

Figure 8-4 Connecting with a Cable

Scenario 3—Recommended

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 Figure 8-5.

Figure 8-5 Connecting with a Secure Switch

Scenario 4—Recommended

The most reliable failover configurations use a redundant interface on the failover link, as shown in Figure 8-6 and Figure 8-7.

Figure 8-6 Connecting with Redundant Interfaces

Figure 8-7 Connecting with Inter-switch Links

MAC Addresses and IP Addresses

When you configure your interfaces, you must specify an active IP address and a standby IP address on the same network.

1. 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.

Note 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. See Information About MAC Addresses for more information. In single context mode, you can manually configure virtual MAC addresses; see Configuring Active/Active Failover for more information.

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.

Note 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.

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. The following sections describe each option:

- Intra-Chassis Failover

- Inter-Chassis Failover

Intra-Chassis Failover

If you install the secondary ASASM in the same switch as the primary ASASM, you protect against module-level failure. To protect against switch-level failure, as well as module-level failure, see Inter-Chassis Failover.

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.

Figure 8-8 shows a typical intra-switch configuration.

Figure 8-8 Intra-Switch Failover

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.

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.

Figure 8-9 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 8-9 Normal Operation

If the primary ASASM fails, then the secondary ASASM becomes active and successfully passes the firewall VLANs (Figure 8-10).

Figure 8-10 ASASM Failure

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 8-11).

Figure 8-11 Switch Failure

Stateless and Stateful Failover

The ASA supports two types of failover, stateless and stateful for both the Active/Standby and Active/Active modes.

- Stateless Failover

- Stateful Failover

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.

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

- Unsupported Features

Supported Features

The following state information is passed to the standby ASA when Stateful Failover is enabled:

- NAT translation table

- TCP connection states

- UDP connection states

- The ARP table

- The Layer 2 bridge table (when running in transparent firewall mode)

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

- The ISAKMP and IPsec SA table

- GTP PDP connection database

- SIP signalling sessions

- ICMP connection state—ICMP connection replication is enabled only if the respective interface is assigned to an asymmetric routing group.

- Dynamic Routing Protocols—Stateful 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.

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 sessions—If 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.

- VPN—VPN 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

passed to the standby ASA when Stateful Failover is enabled:

- The HTTP connection table (unless HTTP replication is enabled)

- The user authentication (uauth) table

- Application inspections that are subject to advanced TCP-state tracking—The 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.

- DHCP server address leases

- State information for modules, such as the ASA IPS SSP or ASA CX SSP.

- Phone proxy connections—When 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.

- Selected clientless SSL VPN features:

– Smart Tunnels

– Port Forwarding

– Plugins

– Java Applets

– IPv6 clientless or Anyconnect sessions

– Citrix authentication (Citrix users must reauthenticate after failover)

Transparent Firewall Mode Requirements

- Transparent Mode Requirements for Appliances

- Transparent Mode Requirements for Modules

Transparent Mode Requirements for Appliances

When the active unit fails over to the standby unit, the connected switch port running Spanning Tree Protocol (STP) can go into a blocking state for 30 to 50 seconds when it senses the topology change. To avoid traffic loss while the port is in a blocking state, you can configure one of the following workarounds depending on the switch port mode:

- Access mode—Enable the STP PortFast feature on the switch:

interface interface_id

spanning-tree portfast

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 mode—Block 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:

- Disable interface monitoring.

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

Transparent Mode Requirements for Modules

To avoid loops when you use failover in transparent mode, you should allow BPDUs to pass (the default), and you must use switch software that supports BPDU forwarding.

Loops can occur if both modules are active at the same time, such as when both modules are discovering each other’s presence, or due to a bad failover link. Because the ASASMs bridge packets between the same two VLANs, loops can occur when inside packets destined for the outside get endlessly replicated by both ASASMs (see Figure 8-12). The spanning tree protocol can break such loops if there is a timely exchange of BPDUs. To break the loop, BPDUs sent between VLAN 200 and VLAN 201 need to be bridged.

Figure 8-12 Transparent Mode Loop

Failover Health Monitoring

The ASA monitors each unit for overall health and for interface health. This section includes information about how the ASA performs tests to determine the state of each unit.

- Unit Health Monitoring

- Interface Monitoring

Unit Health Monitoring

The ASA determines the health of the other unit by monitoring the failover link. When a unit does not receive three consecutive hello messages on the failover link, the unit sends interface hello messages on each data interface, including the failover link, to validate whether or not the peer is responsive. The action that the ASA takes depends on the response from the other unit. See the following possible actions:

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

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 half of the configured hold time, it runs the following tests:

1. Link Up/Down test—A test of the interface status. If the Link Up/Down test indicates that the interface is operational, then the ASA performs network tests. The purpose of these tests is to generate network traffic to determine which (if either) unit has failed. At the start of each test, each unit clears its received packet count for its interfaces. At the conclusion of each test, each unit looks to see if it has received any traffic. If it has, the interface is considered operational. If one unit receives traffic for a test and the other unit does not, the unit that received no traffic is considered failed. If neither unit has received traffic, then the next test is used.

2. Network Activity test—A received network activity test. The unit 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 ARP test begins.

3. ARP test—A reading of the unit ARP cache for the 2 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 ping test begins.

4. Broadcast Ping test—A 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.

Monitored interfaces can have the following status:

- Unknown—Initial status. This status can also mean the status cannot be determined.

- Normal—The interface is receiving traffic.

- Testing—Hello messages are not heard on the interface for five poll times.

- Link Down—The interface or VLAN is administratively down.

- No Link—The physical link for the interface is down.

- Failed—No traffic is received on the interface, yet traffic is heard on the peer interface.

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).

If all network tests fail for an interface, but this 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.

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.

Failover Times

shows the minimum, default, and maximum failover times.

Table 8-1 ASA Failover Times

Failover Condition

Minimum

Default

Maximum

Active unit loses power or stops normal operation.

800 milliseconds

15 seconds

45 seconds

Active unit main board interface link down.

500 milliseconds

5 seconds

15 seconds

Active unit 4GE module interface link down.

2 seconds

5 seconds

15 seconds

Active unit IPS or CSC module fails.

2 seconds

2 seconds

2 seconds

Active unit interface up, but connection problem causes interface testing.

5 seconds

25 seconds

75 seconds

Configuration Synchronization

Failover includes two types of configuration synchronization:

- Running Configuration Replication

- Command Replication

Running Configuration Replication

Running configuration replication occurs when one or both devices in the failover pair boot. Configurations are always synchronized from the active unit to the standby unit. When the standby unit completes its initial startup, it clears its running configuration (except for the failover commands needed to communicate with the active unit), and the active unit sends its entire configuration to the standby unit.

When the replication starts, the ASA console on the active unit displays the message “Beginning configuration replication: Sending to mate,” and when it is complete, the ASA displays the message “End Configuration Replication to mate.” Depending on the size of the configuration, replication can take from a few seconds to several minutes.

On the standby unit, the configuration exists only in running memory. You should save the configuration to flash memory according to the Saving Configuration Changes.

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.

Note Configuration syncing does not replicate the following files and configuration components, so you must copy these files manually so they match:

Note 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

- Local Certificate Authorities (CAs)

- 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, commands 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 commands 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

- copy running-config startup-config

- delete

- mkdir

- rename

- rmdir

- write memory

replicated to the standby ASA:

- All forms of the copy command except for copy running-config startup-config

- All forms of the write command except for write memory

- debug

- failover lan unit

- firewall

- show

- terminal pager and pager

Information About Active/Standby Failover

Active/Standby failover lets you use a standby ASA to take over the functionality of a failed unit. When the active unit fails, it changes to the standby state while the standby unit changes to the active state.

Note For multiple context mode, the ASA can fail over the entire unit (including all contexts) but cannot fail over individual contexts separately.

- Primary/Secondary Roles and Active/Standby Status

- Active Unit Determination at Startup

- Failover Events

Primary/Secondary Roles and Active/Standby Status

The main differences between the two units in a failover pair are related to which unit is active and which unit is standby, namely which IP addresses to use and which unit actively passes traffic.

However, a few differences exist between the units based on which unit is primary (as specified in the configuration) and which unit is secondary:

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

Active Unit Determination at Startup

The active unit is determined by the following:

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

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.

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 8-2 Failover Behavior

Failure Event

Policy

Active Action

Standby Action

Notes

Active unit failed (power or hardware)

Failover

n/a

Become active

Mark active as failed

No hello messages are received on any monitored interface or the failover link.

Formerly active unit recovers

No failover

Become standby

No action

None.

Standby unit failed (power or hardware)

No failover

Mark standby as failed

n/a

When the standby unit is marked as failed, then the active unit does not attempt to fail over, even if the interface failure threshold is surpassed.

Failover link failed during operation

No failover

Mark failover link as failed

Mark failover link as failed

You should restore the failover link as soon as possible because the unit cannot fail over to the standby unit while the failover link is down.

Failover link failed at startup

No failover

Mark failover link as failed

Become active

If the failover link is down at startup, both units become active.

State link failed

No failover

No action

No action

State information becomes out of date, and sessions are terminated if a failover occurs.

Interface failure on active unit above threshold

Failover

Mark active as failed

Become active

None.

Interface failure on standby unit above threshold

No failover

No action

Mark standby as failed

When the standby unit is marked as failed, then the active unit does not attempt to fail over even if the interface failure threshold is surpassed.

Information About Active/Active Failover

This section describes Active/Active failover. This section includes the following topics:

- Active/Active Failover Overview

- Primary/Secondary Roles and Active/Standby Status for a Failover Group

- Failover Events

Active/Active Failover Overview

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 a maximum of 2 failover groups.

A failover group is simply a logical group of one or more security contexts. You can assign failover group to be active on the primary ASA, and failover group 2 to be active on the secondary ASA. When a failover occurs, it occurs at the failover group level. For example, depending on interface failure patterns, it is possible for failover group 1 to fail over to the secondary ASA, and subsequently failover group 2 to fail over to the primary ASA. This event could occur if the interfaces in failover group 1 are down on the primary ASA but up on the secondary ASA, while the interfaces in failover group 2 are down on the secondary ASA but up on the primary ASA.

The admin context is always a member of failover group 1. Any unassigned security contexts are also members of failover group 1 by default. If you want Active/Active failover, but are otherwise uninterested in multiple contexts, the simplest configuration would be to add one additional context and assign it to failover group 2.

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.

Primary/Secondary Roles and Active/Standby Status for a Failover Group

As in Active/Standby failover, one unit in an Active/Active failover pair is designated the primary unit, and the other unit the secondary unit. Unlike Active/Standby failover, this designation does not indicate which unit becomes active when both units start simultaneously. Instead, the primary/secondary designation does two things:

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

Active Unit Determination for Failover Groups at Startup

The unit on which a failover group becomes active is determined as follows:

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

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

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 8-3 Failover Behavior for Active/Active Failover

Failure Event

Policy

Active Group Action

Standby Group Action

Notes

A unit experiences a power or software failure

Failover

Become standby Mark as failed

Become active

Mark active as failed

When a unit in a failover pair fails, any active failover groups on that unit are marked as failed and become active on the peer unit.

Interface failure on active failover group above threshold

Failover

Mark active group as failed

Become active

None.

Interface failure on standby failover group above threshold

No failover

No action

Mark standby group as failed

When the standby failover group is marked as failed, the active failover group does not attempt to fail over, even if the interface failure threshold is surpassed.

Formerly active failover group recovers

No failover

No action

No action

Unless failover group preemption is configured, the failover groups remain active on their current unit.

Failover link failed at startup

No failover

Become active

Become active

If the failover link is down at startup, both failover groups on both units become active.

State link failed

No failover

No action

No action

State information becomes out of date, and sessions are terminated if a failover occurs.

Failover link failed during operation

No failover

n/a

n/a

Each unit marks the failover link as failed. You should restore the failover link as soon as possible because the unit cannot fail over to the standby unit while the failover link is down.

Licensing Requirements Failover

Active/Standby Failover

Model

License Requirement

ASA 5505

Security Plus License. (Stateful failover is not supported).

ASA 5512-X

Security Plus License.

ASAv

Standard and Premium Licenses.

All other models

Base License.

Failover units do not require the same license on each unit. If you have licenses on both units, they combine into a single running failover cluster license. The exceptions to this rule include:

- Security Plus license for the ASA 5505 and 5512-X—The Base license does not support failover, so that you cannot enable failover on a standby unit that only has the Base license.

- Encryption license—Both units must have the same encryption license.

- IPS module license for the ASA 5512-X through ASA 5555-X—Both units require the 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 failover, because it is not an ASA license.

– 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.

- ASAv Virtual CPUs—For failover deployments, make sure that the standby unit has the same number of vCPUs assigned to it as the primary unit (along with matching vCPU licenses).

Active/Active Failover

Model

License Requirement

ASA 5505

No support.

ASA 5512-X

Security Plus License.

ASAv

No support.

All other models

Base License.

Failover units do not require the same license on each unit. If you have licenses on both units, they combine into a single running failover cluster license. The exceptions to this rule include:

- Security Plus license for the 5512-X—The Base license does not support failover, so you cannot enable failover on a standby unit that only has the Base license.

- Encryption license—Both units must have the same encryption license.

- IPS module license for the ASA 5512-X through ASA 5555-X—Both units require the 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 failover, because it is not an ASA license.

– 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.

- ASAv Virtual CPUs—For failover deployments, make sure that the standby unit has the same number of vCPUs assigned to it as the primary unit (along with matching vCPU licenses).

Prerequisites for Failover

See Failover System Requirements.

Guidelines and Limitations

For Auto Update guidelines with failover, see Auto Update Server Support in Failover Configurations.

Context Mode Guidelines

- Active/Standby mode is supported in single and multiple context mode.

- Active/Active mode is supported only in multiple context mode.

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

Firewall Mode Guidelines

Supported in transparent and routed firewall mode.

IPv6 Guidelines

IPv6 is supported.

Model Guidelines

Stateful failover is not supported on the ASA 5505. See Licensing Requirements Failover for other guidelines.

Additional Guidelines and Limitations

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

- You can monitor up to 250 interfaces on a unit, across all contexts.

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

Default Settings

By default, the failover policy consists of the following:

- No HTTP replication in Stateful Failover.

- A single interface failure causes failover.

- The interface poll time is 5 seconds.

- The interface hold time is 25 seconds.

- The unit poll time is 1 second.

- The unit hold time is 15 seconds.

- Virtual MAC addresses are enabled in multiple context mode; in single context mode, they are disabled.

- Monitoring on all physical interfaces, or for the ASA 5505 and ASASM, all VLAN interfaces.

Configuring Active/Standby Failover

- Configuring the Primary Unit for Active/Standby Failover

- Configuring the Secondary Unit for Active/Standby Failover

Configuring the Primary Unit for Active/Standby Failover

Follow the steps in this section to configure the primary in an Active/Standby failover configuration. These steps provide the minimum configuration needed to enable failover on the primary unit.

Prerequisites

- Configure standby IP addresses for all interfaces except for the failover and state links according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

- Do not configure a nameif for the failover and state links.

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

Detailed Steps

Command

Purpose

Step 1

Designates this unit as the primary unit.

Step 2

ciscoasa(config)# failover lan interface folink gigabitethernet0/3

Specifies the interface to be used as the failover link. This interface cannot be used for any other purpose (except, optionally, the state link).

argument assigns a name to the interface.

specifies a VLAN ID.

Note Although you can use an EtherChannel as a failover or state 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.

Step 3

ciscoasa(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

Or:

2001:a0a:b00::a0a:b70/64 standby 2001:a0a:b00::a0a:b71

Assigns the active and standby IP addresses to the failover link. This address should be on an unused subnet.

The standby IP address must be in the same subnet as the active IP address.

Step 4

ciscoasa(config)# interface gigabitethernet 0/3

ciscoasa(config-if)# no shutdown

Enables the failover link.

Step 5

ciscoasa(config)# failover link statelink gigabitethernet0/4

(Optional) Specifies the interface you want to use as the state link. We recommend specifying a separate interface from the failover link or data interfaces.

argument assigns a name to the interface.

specifies a VLAN ID.

Note Although you can use an EtherChannel as a failover or state 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.

Step 6

ciscoasa(config)# failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

Or:

2001:a0a:b00:a::a0a:b70/64 standby 2001:a0a:b00:a::a0a:b71

If you specified a separate state link, assigns the active and standby IP addresses to the state link. This address should be on an unused subnet, different from the failover link.

The standby IP address must be in the same subnet as the active IP address.

Skip this step if you are sharing the state link.

Step 7

ciscoasa(config)# interface gigabitethernet 0/4

ciscoasa(config-if)# no shutdown

If you specified a separate state link, enables the state link.

Skip this step if you are sharing the state link.

Step 8

(Optional) Do one of the following to encrypt communications on the failover and state links:

ciscoasa(config)# failover ipsec pre-shared-key a3rynsun

can be up to 128 characters in length. Identify the same key on both units. The key is used by IKEv2 to establish the tunnels.

is used by default, specifying an unencrypted password.
output; this obscured key is not copyable.
If you do not configure failover and state link encryption, failover communication, including any passwords or keys in the configuration that are sent during command replication, will be in clear text.

command before you configure IPsec encryption.

Note Failover LAN-to-LAN tunnels do not count against the IPsec (Other VPN) license.

}

ciscoasa(config)# failover key johncr1cht0n

, you can use any combination of numbers, letters, or punctuation. The shared secret or hex key is used to generate the encryption key. Identify the same key on both units.

is used by default, specifying an unencrypted password.
output; this obscured key is not copyable.
If you do not configure failover and state link encryption, failover communication, including any passwords or keys in the configuration that are sent during command replication, will be in clear text.

Step 9

ciscoasa(config)# failover

Enables failover.

Step 10

ciscoasa(config)# write memory

Saves the system configuration to flash memory.

Examples

The following example configures the failover parameters for the primary unit:

failover lan unit primary

failover lan interface folink gigabitethernet0/3

failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

no shutdown

failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

no shutdown

failover ipsec pre-shared-key a3rynsun

failover

Configuring the Secondary Unit for Active/Standby Failover

command, which identifies each unit as primary or secondary.

Prerequisites

- Do not configure a nameif for the failover and state links.

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

Detailed Steps

is the default setting. See Configuring the Primary Unit for Active/Standby Failover.

For example:

ciscoasa(config)# failover lan interface folink gigabitethernet0/3

INFO: Non-failover interface config is cleared on GigabitEthernet0/3 and its sub-interfaces

ciscoasa(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

no shutdown

INFO: Non-failover interface config is cleared on GigabitEthernet0/4 and its sub-interfaces

ciscoasa(config)# failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

no shutdown

ciscoasa(config)# failover ipsec pre-shared-key a3rynsun

ciscoasa(config)# failover

Step 2 After the failover configuration syncs, save the configuration to flash memory:

ciscoasa(config)# write memory

Configuring Active/Active Failover

- Configuring the Primary Unit for Active/Active Failover

- Configuring the Secondary Unit for Active/Active Failover

Configuring the Primary Unit for Active/Active Failover

Follow the steps in this section to configure the primary unit in an Active/Active failover configuration. These steps provide the minimum configuration needed to enable failover on the primary unit.

Prerequisites

- Enable multiple context mode according to the Enabling or Disabling Multiple Context Mode.

- Configure standby IP addresses for all interfaces except for the failover and state links according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

- Do not configure a nameif for the failover and state links.

- Complete this procedure in the system execution space. To change from the context to the system execution space, enter the changeto system command.

Detailed Steps

Command

Purpose

Step 1

Designates this unit as the primary unit.

Step 2

ciscoasa(config)# failover lan interface folink gigabitethernet0/3

Specifies the interface to be used as the failover link. This interface cannot be used for any other purpose (except, optionally, the state link).

argument assigns a name to the interface.

specifies a VLAN ID.

Note Although you can use an EtherChannel as a failover or state 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.

Step 3

ciscoasa(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

Or:

2001:a0a:b00::a0a:b70/64 standby 2001:a0a:b00::a0a:b71

Assigns the active and standby IP addresses to the failover link. This address should be on an unused subnet.

The standby IP address must be in the same subnet as the active IP address.

Step 4

ciscoasa(config)# interface gigabitethernet 0/3

ciscoasa(config-if)# no shutdown

Enables the failover link.

Step 5

ciscoasa(config)# failover link statelink gigabitethernet0/4

(Optional) Specifies the interface you want to use as the state link. We recommend specifying a separate interface from the failover link or data interfaces.

argument assigns a name to the interface.

specifies a VLAN ID.

Note Although you can use an EtherChannel as a failover or state 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.

Step 6

ciscoasa(config)# failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

Or:

2001:a0a:b00:a::a0a:b70/64 standby 2001:a0a:b00:a::a0a:b71

If you specified a separate state link, assigns the active and standby IP addresses to the state link. This address should be on an unused subnet, different from the failover link.

The standby IP address must be in the same subnet as the active IP address.

Skip this step if you are sharing the state link.

Step 7

ciscoasa(config)# interface gigabitethernet 0/4

ciscoasa(config-if)# no shutdown

If you specified a separate state link, enables the state link.

Skip this step if you are sharing the state link.

Step 8

(Optional) Do one of the following to encrypt communications on the failover and state links:

ciscoasa(config)# failover ipsec pre-shared-key a3rynsun

can be up to 128 characters in length. Identify the same key on both units. The key is used by IKEv2 to establish the tunnels.

is used by default, specifying an unencrypted password.
output; this obscured key is not copyable.
If you do not configure failover and state link encryption, failover communication, including any passwords or keys in the configuration that are sent during command replication, will be in clear text.

command before you configure IPsec encryption.

Note Failover LAN-to-LAN tunnels do not count against the IPsec (Other VPN) license.

}

ciscoasa(config)# failover key johncr1cht0n

, you can use any combination of numbers, letters, or punctuation. The shared secret or hex key is used to generate the encryption key. Identify the same key on both units.

is used by default, specifying an unencrypted password.
output; this obscured key is not copyable.
If you do not configure failover and state link encryption, failover communication, including any passwords or keys in the configuration that are sent during command replication, will be in clear text.

Step 9

ciscoasa(config)# failover group 1

subcommands.

Step 10

ciscoasa(config)# failover group 2

ciscoasa(config-fover-group)# secondary

Creates failover group 2 and assigns it to the secondary unit.

Step 11

}

ciscoasa(config)# context Eng

ciscoasa(config-ctx)# join-failover-group 2

Enters the context configuration mode for a given context, and assigns the context to a failover group. Repeat this command for each context.

Any unassigned contexts are automatically assigned to failover group 1. The admin context is always a member of failover group 1; you cannot assign it to group 2.

Step 12

ciscoasa(config)# failover

Enables failover.

Step 13

ciscoasa(config)# write memory

Saves the system configuration to flash memory.

Examples

The following example configures the failover parameters for the primary unit:

failover lan unit primary

failover lan interface folink gigabitethernet0/3

failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

no shutdown

failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

no shutdown

failover group 1

failover group 2

secondary

context admin

join-failover-group 1

failover ipsec pre-shared-key a3rynsun

failover

Configuring the Secondary Unit for Active/Active Failover

command, which identifies each unit as primary or secondary.

Prerequisites

- Enable multiple context mode according to the Enabling or Disabling Multiple Context Mode.

- Do not configure a nameif for the failover and state links.

- Complete this procedure in the system execution space. To change from the context to the system execution space, enter the changeto system command.

Detailed Steps

commands, as they are replicated from the primary unit. See Configuring the Primary Unit for Active/Active Failover.

For example:

ciscoasa(config)# failover lan interface folink gigabitethernet0/3

INFO: Non-failover interface config is cleared on GigabitEthernet0/3 and its sub-interfaces

ciscoasa(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2

no shutdown

INFO: Non-failover interface config is cleared on GigabitEthernet0/4 and its sub-interfaces

ciscoasa(config)# failover interface ip statelink 172.27.49.1 255.255.255.0 standby 172.27.49.2

no shutdown

ciscoasa(config)# failover ipsec pre-shared-key a3rynsun

ciscoasa(config)# failover

Step 2 After the failover configuration syncs from the primary unit, save the configuration to flash memory:

ciscoasa(config)# write memory

Step 3 If necessary, force failover group 2 to be active on the secondary unit:

failover active group 2

Configuring Optional Failover Parameters

You can customize failover settings as desired.

- Configuring Failover Criteria, HTTP Replication, Group Preemption, and MAC Addresses

- Configuring Interface Monitoring

- Configuring Support for Asymmetrically Routed Packets (Active/Active Mode)

Configuring Failover Criteria, HTTP Replication, Group Preemption, and MAC Addresses

See Default Settings for the default settings for many parameters that you can change in this section. For Active/Active mode, you set most criteria per failover group.

Prerequisites

Configure these settings in the system execution space in multiple context mode.

Detailed Steps

Command

Purpose

Step 1

]

ciscoasa(config)# failover polltime unit msec 200 holdtime msec 800

Changes the unit poll and hold times. In Active/Active mode, you set this rate for the system; you cannot set this rate per failover group.

You cannot enter a holdtime value that is less than 3 times the unit poll time. With a faster poll time, the ASA can detect failure and trigger failover faster. However, faster detection can cause unnecessary switchovers when the network is temporarily congested.

If a unit does not hear hello packet on the failover communication interface for one polling period, additional testing occurs through the remaining interfaces. If there is still no response from the peer unit during the hold time, the unit is considered failed and, if the failed unit is the active unit, the standby unit takes over as the active unit.

Step 2

ciscoasa(config)# failover replication rate 20000

Sets the HTTP replication rate in connections per second, between 8341 and 50000. The default is 50000. In Active/Active mode, you set this rate for the system; you cannot set this rate per failover group.

Step 3

(Active/Active mode only)

}

ciscoasa(config)# failover group 1

ciscoasa(config-fover-group)#

Specifies the failover group you want to customize.

Step 4

(Active/Active Mode Only)

]

ciscoasa(config-fover-group)# preempt 1200

Configures failover group preemption for failover group 1. If one unit boots before the other, then both failover groups become active on that unit, despite the primary or secondary setting. This command causes the failover group to become active on the designated unit automatically when that unit becomes available.

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

Step 5

For Active/Standby mode:

For Active/Active mode:

ciscoasa(config)# failover replication http

Or

ciscoasa(config-fover-group)# replication http

Enables HTTP state replication. To allow HTTP connections to be included in the state information replication, you need to enable HTTP replication. Because HTTP connections are typically short-lived, and because HTTP clients typically retry failed connection attempts, HTTP connections are not automatically included in the replicated state information.

Step 6

For Active/Standby mode:

[%]

For Active/Active mode:

[%]

ciscoasa (config)# failover interface-policy 20%

Or

ciscoasa(config-fover-group)# interface-policy 20%

Sets the threshold for failover when interfaces fail. By default, one interface failure causes failover.

argument can be from 1 to 250.

argument can be from 1 to 100.

Step 7

For Active/Standby mode:

]

For Active/Active mode:

]

ciscoasa(config)# failover polltime interface msec 500 holdtime 5

Or

ciscoasa(config-fover-group)# polltime interface msec 500 holdtime 5

Changes the interface poll and hold times.

keyword is used, from 500 to 999 milliseconds. The hold time determines how long it takes from the time a hello packet is missed to when the interface is marked as failed. Valid values for the hold time are from 5 to 75 seconds. You cannot enter a hold time that is less than 5 times the poll time.

If the interface link is down, interface testing is not conducted and the standby unit could become active in just one interface polling period if the number of failed interfaces meets or exceeds the configured failover criteria.

Step 8

For Active/Standby mode:

For Active/Active mode:

ciscoasa(config)# failover mac address gigabitethernet0/2 00a0.c969.87c8 00a0.c918.95d8

Or

ciscoasa(config-fover-group)# mac address gigabitethernet0/2 00a0.c969.87c8 00a0.c918.95d8

Configures the virtual MAC address for an interface.

argument is the physical name of the interface, such as gigabitethernet0/1.

You can also set the MAC address using other commands or 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.

command to display the MAC address used by an interface.

Step 9

(Active/Active mode only)

Repeat this procedure for the other failover group, if desired.

Configuring Interface Monitoring

By default, monitoring is enabled on all physical interfaces, or for the ASA 5505 and ASASM, all VLAN interfaces. You might want to exclude interfaces attached to less critical networks from affecting your failover policy.

Guidelines

- You can monitor up to 250 interfaces on a unit (across all contexts in multiple context mode).

- In multiple context mode, configure interfaces within each context.

Detailed Steps

ciscoasa(config)# monitor-interface inside

ciscoasa(config)# no monitor-interface eng1

Enables or disables health monitoring for an interface.

Configuring Support for Asymmetrically Routed Packets (Active/Active Mode)

When running in Active/Active failover, a unit may receive a return packet for a connection that originated through its peer unit. Because the ASA that receives the packet does not have any connection information for the packet, the packet is dropped. This drop most commonly occurs when the two ASAs in an Active/Active failover pair are connected to different service providers and the outbound connection does not use a NAT address.

You can prevent the return packets from being dropped by allowing asymmetrically routed packets. To do so, you assign the similar interfaces on each ASA to the same ASR group. For example, both ASAs connect to the inside network on the inside interface, but connect to separate ISPs on the outside interface. On the primary unit, assign the active context outside interface to ASR group 1; on the secondary unit, assign the active context outside interface to the same ASR group 1. When the primary unit outside interface receives a packet for which it has no session information, it checks the session 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:

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

Note This feature does not provide asymmetric routing; it restores asymmetrically routed packets to the correct interface.

Figure 8-13 shows an example of an asymmetrically routed packet.

Figure 8-13 ASR Example

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 ASAwith 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.

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.

Prerequisites

- Stateful Failover—Passes state information for sessions on interfaces in the active failover group to the standby failover group.

- Replication HTTP—HTTP 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.

Detailed Steps

Command

Purpose

Step 1

On the primary unit:

primary/admin(config)# interface gigabitethernet 0/0

Specifies the interface on the primary unit for which you want to allow asymmetrically routed packets.

Step 2

primary/admin(config-ifc)# asr-group 1

range from 1 to 32.

Step 3

On the secondary unit:

secondary/ctx1(config)# interface gigabitethernet 0/1

Specifies the similar interface on the secondary unit for which you want to allow asymmetrically routed packets.

Step 4

secondary/ctx1(config-ifc)# asr-group 1

Sets the ASR group number for the interface to match the primary unit interface.

Example

The two units have the following configuration (configurations show only the relevant commands). The device labeled SecAppA in the diagram is the primary unit in the failover pair.

Example 8-1 Primary Unit System Configuration

interface GigabitEthernet0/1

description LAN/STATE Failover Interface

interface GigabitEthernet0/2

no shutdown

interface GigabitEthernet0/3

no shutdown

interface GigabitEthernet0/4

no shutdown

interface GigabitEthernet0/5

no shutdown

failover

failover lan unit primary

failover lan interface folink GigabitEthernet0/1

failover link folink

failover interface ip folink 10.0.4.1 255.255.255.0 standby 10.0.4.11

failover group 1

primary

failover group 2

secondary

admin-context SecAppA

context admin

allocate-interface GigabitEthernet0/2

allocate-interface GigabitEthernet0/3

config-url flash:/admin.cfg

join-failover-group 1

context SecAppB

allocate-interface GigabitEthernet0/4

allocate-interface GigabitEthernet0/5

config-url flash:/ctx1.cfg

join-failover-group 2

Example 8-2 SecAppA Context Configuration

interface GigabitEthernet0/2

nameif outsideISP-A

security-level 0

ip address 192.168.1.1 255.255.255.0 standby 192.168.1.2

asr-group 1

interface GigabitEthernet0/3

nameif inside

security-level 100

ip address 10.1.0.1 255.255.255.0 standby 10.1.0.11

monitor-interface outside

Example 8-3 SecAppB Context Configuration

interface GigabitEthernet0/4

nameif outsideISP-B

security-level 0

ip address 192.168.2.2 255.255.255.0 standby 192.168.2.1

asr-group 1

interface GigabitEthernet0/5

nameif inside

security-level 100

ip address 10.2.20.1 255.255.255.0 standby 10.2.20.11

Managing Failover

- Forcing Failover

- Disabling Failover

- Restoring a Failed Unit

- Re-Syncing the Configuration

- Testing the Failover Functionality

Forcing Failover

To force the standby unit to become active, perform the following procedure.

Prerequisites

In multiple context mode, perform this procedure in the System execution space.

Detailed Steps

Command

Purpose

For Active/Standby mode on the standby unit:

For Active/Active mode on the standby unit:

]

standby# failover active

Or:

standby# failover active group 1

unit. The standby unit becomes the active unit.

unit for the specified Active/Active failover group. The standby unit becomes the active unit for the failover group.

For Active/Standby mode on the active unit:

For Active/Active mode on the active unit:

]

active# no failover active

Or:

active# no failover active group 1

unit. The active unit becomes the standby unit.

unit for the specified failover group. The active unit becomes the standby unit for the failover group.

Disabling Failover

To disable failover, perform the following procedure.

Prerequisites

In multiple context mode, perform this procedure in the System execution space.

Detailed Steps

Command

Purpose

ciscoasa(config)# no failover

Disables failover.

Disabling failover on an Active/Standby pair causes the active and standby state of each unit to be maintained until you reload. For example, the standby unit remains in standby mode so that both units do not start passing traffic. To make the standby unit active (even with failover disabled), see Forcing Failover.

Disabling failover on an Active/Active failover pair causes the failover groups to remain in the active state on whichever unit they are active, no matter which unit they are configured to prefer.

Restoring a Failed Unit

To restore a failed unit to an unfailed state, perform the following procedure.

Prerequisites

In multiple context mode, perform this procedure in the System execution space.

Detailed Steps

Command

Purpose

For Active/Standby mode:

For Active/Active mode:

]

ciscoasa(config)# failover reset

Or:

ciscoasa(config)# failover reset group 1

Restores a failed unit to an unfailed state. Restoring a failed unit to an unfailed state does not automatically make it active; restored units remain in the standby state until made active by failover (forced or natural). An exception is a failover group (Active/Active mode only) configured with failover preemption. If previously active, a failover group becomes active if it is configured with preemption and if the unit on which it failed is the preferred unit.

, this command restores a failed Active/Active failover group to an unfailed state.

Re-Syncing the Configuration

If you enter the write standby command on the active unit, the standby unit clears its running configuration (except for the failover commands used to communicate with the active unit), and the active unit sends its entire configuration to the standby unit.

command within a context, the command replicates only the context configuration.

Replicated commands are stored in the running configuration.

Testing the Failover Functionality

To test failover functionality, perform the following procedure.

Detailed Steps

Step 1 Test that your active unit is passing traffic as expected by using FTP (for example) to send a file between hosts on different interfaces.

Step 2 Force a failover by entering the following command on the active unit:

Active/Standby mode:

ciscoasa(config)# no failover active

Active/Active mode:

ciscoasa(config)# no failover active group group_id

Step 3 Use FTP to send another file between the same two hosts.

command to check the failover status.

Step 5 When you are finished, you can restore the unit to active status by enter the following command on the newly active unit:

Active/Standby mode:

ciscoasa(config)# no failover active

Active/Active mode:

ciscoasa(config)# failover active group group_id

Note When an ASA interface goes down, for failover it is still considered to be a unit issue. If the ASA detects that an interface is down, failover occurs immediately, without waiting for the interface holdtime. The interface holdtime is only useful when the ASA considers its status to be OK, although it is not receiving hello packets from the peer. To simulate interface holdtime, shut down the VLAN on the switch to prevent peers from receiving hello packets from each other.

Remote Command Execution

Remote command execution lets you send commands entered at the command line to a specific failover peer.

- Sending a Command

- Changing Command Modes

- Security Considerations

- Limitations of Remote Command Execution

Sending a Command

command to send configuration commands to the standby unit or context; those configuration changes are not replicated to the active unit and the two configurations will no longer be synchronized.

commands on a peer unit and view the results in the current terminal.

You must have sufficient privileges to execute a command on the local unit to execute the command on the peer unit.

Detailed Steps

command.

Step 2 Use the following command to send commands to he specified failover unit:

ciscoasa(config)# failover exec {active | mate | standby}

keyword to cause the command to be executed on the failover peer.

command to display the command mode the command is executed in. See Changing Command Modes for more information.

Changing Command Modes

.

are entered in interface configuration mode.

mode is in interface configuration mode.

ciscoasa(config)# failover exec active interface GigabitEthernet0/1

ciscoasa(config)# failover exec active ip address 192.168.1.1 255.255.255.0 standby 192.168.1.2

ciscoasa(config)# router rip

ciscoasa(config-router)#

are sent to router configuration mode for the specified routing process.

ciscoasa(config-if)# failover exec active router ospf 100

ciscoasa(config-if)#

mode for each device is tracked separately.

command entered on the standby unit:

ciscoasa(config)# failover exec active interface GigabitEthernet0/1

ciscoasa(config)# sh failover exec active

Active unit Failover EXEC is at interface sub-command mode

ciscoasa(config)# sh failover exec standby

Standby unit Failover EXEC is at config mode

ciscoasa(config)# sh failover exec mate

Active unit Failover EXEC is at interface sub-command mode

Security Considerations

command uses the failover link to send commands to and receive the output of the command execution from the peer unit. You should enable encryption on the failover link to prevent eavesdropping or man-in-the-middle attacks.

Limitations of Remote Command Execution

When you use remote commands you face the following limitations:

- If you upgrade one unit using the zero-downtime upgrade procedure and not the other, both units must be running software that supports the failover exec command for the command to work.

- Command completion and context help is not available for the commands in the cmd_string argument.

- In multiple context mode, you can only send commands to the peer context on the peer unit. To send commands to a different context, you must first change to that context on the unit to which you are logged in.

- You cannot use the following commands with the failover exec command:

)

- If the standby unit is in the failed state, it can still receive commands from the failover exe c command if the failure is due to a service card failure; otherwise, the remote command execution will fail.

- You cannot use the failover exec command to switch from privileged EXEC mode to global configuration mode on the failover peer. For example, if the current unit is in privileged EXEC mode, and you enter failover exec mate configure terminal , the show failover exec mate output will show that the failover exec session is in global configuration mode. However, entering configuration commands for the peer unit using failover exec will fail until you enter global configuration mode on the current unit.

- You cannot enter recursive failover exec commands, such as failover exec mate failover exec mate command.

- Commands that require user input or confirmation must use the /nonconfirm option.

Monitoring Failover

- Failover Messages

- Monitoring Failover

Failover Messages

When a failover occurs, both ASAs send out system messages. This section includes the following topics:

- Failover Syslog Messages

- Failover Debug Messages

- SNMP Failover Traps

Failover Syslog Messages

The ASA issues a number of syslog messages related to failover at priority level 2, which indicates a critical condition. To view these messages, see the syslog messages guide. To enable logging, see Chapter46, “Logging”

Note During a fail over, failover logically shuts down and then bring up interfaces, generating syslog messages 411001 and 411002. This is normal activity.

Failover Debug Messages

command. See the command reference for more information.

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.

SNMP Failover Traps

To receive SNMP syslog traps for failover, configure the SNMP agent to send SNMP traps to SNMP management stations, define a syslog host, and compile the Cisco syslog MIB into your SNMP management station. See Chapter 47, “SNMP” for more information.

Monitoring Failover

To monitor failover, enter one of the following commands:

Command

Purpose

Displays information about the failover state of the unit.

show failover group

command but limited to the specified group.

Displays information about the monitored interface.

Displays the failover commands in the running configuration.

For more information about the output of the monitoring commands, refer to the command reference.

Feature History for Failover

lists the release history for this feature.

Table 8-4 Feature History for Optional Active/Standby Failover Settings

Feature Name

Releases

Feature Information

Active/Standby failover

7.0(1)

This feature was introduced.

Active/Active failover

7.0(1)

This feature was introduced.

Support for a hex value for the failover key

7.0(4)

You can now specify a hex value for failover link encryption.

.

Support for the master passphrase for the failover key

8.3(1)

command, you can successfully copy and paste the encrypted shared key.
output; this obscured key is not copyable.
].

IPv6 support for failover added.

8.2(2)

.

Support for IPsec LAN-to-LAN tunnels to encrypt failover and state link communications

9.1(2)

command), you can now use an IPsec LAN-to-LAN tunnel for failover and state link encryption.

Note Failover LAN-to-LAN tunnels do not count against the IPsec (Other VPN) license.
.

Basic Interface Configuration (ASA 5505)

This chapter includes tasks for starting your interface configuration for the ASA 5505, including creating VLAN interfaces and assigning them to switch ports.

This chapter includes the following sections:

- Information About ASA 5505 Interfaces

- Licensing Requirements for ASA 5505 Interfaces

- Guidelines and Limitations

- Default Settings

- Starting ASA 5505 Interface Configuration

- Monitoring Interfaces

- Configuration Examples for ASA 5505 Interfaces

- Where to Go Next

- Feature History for ASA 5505 Interfaces

Information About ASA 5505 Interfaces

This section describes the ports and interfaces of the ASA 5505 and includes the following topics:

- Understanding ASA 5505 Ports and Interfaces

- Maximum Active VLAN Interfaces for Your License

- VLAN MAC Addresses

- Power over Ethernet

- Monitoring Traffic Using SPAN

- Auto-MDI/MDIX Feature

Understanding ASA 5505 Ports and Interfaces

The ASA 5505 supports a built-in switch. There are two kinds of ports and interfaces that you need to configure:

- Physical switch ports—The ASA has 8 Fast Ethernet switch ports that forward traffic at Layer 2, using the switching function in hardware. Two of these ports are PoE ports. See Power over Ethernet for more information. You can connect these interfaces directly to user equipment such as PCs, IP phones, or a DSL modem. Or you can connect to another switch.

- Logical VLAN interfaces—In routed mode, these interfaces forward traffic between VLAN networks at Layer 3, using the configured security policy to apply firewall and VPN services. In transparent mode, these interfaces forward traffic between the VLANs on the same network at Layer 2, using the configured security policy to apply firewall services. See Maximum Active VLAN Interfaces for Your License for more information about the maximum VLAN interfaces. VLAN interfaces let you divide your equipment into separate VLANs, for example, home, business, and Internet VLANs.

To segregate the switch ports into separate VLANs, you assign each switch port to a VLAN interface. Switch ports on the same VLAN can communicate with each other using hardware switching. But when a switch port on VLAN 1 wants to communicate with a switch port on VLAN 2, then the ASA applies the security policy to the traffic and routes or bridges between the two VLANs.

Maximum Active VLAN Interfaces for Your License

In routed mode, you can configure the following VLANs depending on your license:

- Base license—3 active VLANs. The third VLAN can only be configured to initiate traffic to one other VLAN. See Figure 11-1 for more information.

- Security Plus license—20 active VLANs.

In transparent firewall mode, you can configure the following VLANs depending on your license:

- Base license—2 active VLANs in 1 bridge group.

- Security Plus license—3 active VLANs: 2 active VLANs in 1 bridge group, and 1 active VLAN for the failover link.

Note An active VLAN is a VLAN with a nameif command configured.

With the Base license in routed mode, the third VLAN can only be configured to initiate traffic to one other VLAN. See Figure 11-1 for an example network where the Home VLAN can communicate with the Internet, but cannot initiate contact with Business.

Figure 11-1 ASA 5505 with Base License

With the Security Plus license, you can configure 20 VLAN interfaces in routed mode, including a VLAN interface for failover and a VLAN interface as a backup link to your ISP. You can configure the backup interface to not pass through traffic unless the route through the primary interface fails. You can configure trunk ports to accommodate multiple VLANs per port.

Note The ASA 5505 supports Active/Standby failover, but not Stateful Failover.

See Figure 11-2 for an example network.

Figure 11-2 ASA 5505 with Security Plus License

VLAN MAC Addresses

- Routed firewall mode—All VLAN interfaces share a MAC address. Ensure that any connected switches can support this scenario. If the connected switches require unique MAC addresses, you can manually assign MAC addresses. See Configuring the MAC Address, MTU, and TCP MSS.

- Transparent firewall mode—Each VLAN has a unique MAC address. You can override the generated MAC addresses if desired by manually assigning MAC addresses. See Configuring the MAC Address, MTU, and TCP MSS.

Power over Ethernet

Ethernet 0/6 and Ethernet 0/7 support PoE for devices such as IP phones or wireless access points. If you install a non-PoE device or do not connect to these switch ports, the ASA does not supply power to the switch ports.

command. See Configuring and Enabling Switch Ports as Access Ports for more information about shutting down a switch port.

command.

Monitoring Traffic Using SPAN

If you want to monitor traffic that enters or exits one or more switch ports, you can enable SPAN, also known as switch port monitoring. The port for which you enable SPAN (called the destination port) receives a copy of every packet transmitted or received on a specified source port. The SPAN feature lets you attach a sniffer to the destination port so you can monitor all traffic; without SPAN, you would have to attach a sniffer to every port you want to monitor. You can only enable SPAN for one destination port.

command in the command reference for more information.

Auto-MDI/MDIX Feature

All ASA 5505 interfaces include 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. You cannot disable Auto-MDI/MDIX.

Licensing Requirements for ASA 5505 Interfaces

Model

License Requirement

ASA 5505

VLANs:

Routed Mode:

Base License: 3 (2 regular zones and 1 restricted zone that can only communicate with 1 other zone)

Security Plus License: 20

Transparent Mode:

Base License: 2 active VLANs in 1 bridge group.

Security Plus License: 3 active VLANs: 2 active VLANs in 1 bridge group, and 1 active VLAN for the failover link.

VLAN Trunks:

Base License: None.

Security Plus License: 8.

Guidelines and Limitations

Context Mode Guidelines

The ASA 5505 does not support multiple context mode.

Firewall Mode Guidelines

- In transparent mode, you can configure up to eight bridge groups. Note that you must use at least one bridge group; data interfaces must belong to a bridge group.

- Each bridge group can include up to four VLAN interfaces, up to the license limit.

Failover Guidelines

Active/Standby failover is only supported with the Security Plus license. Active/Active failover is not supported.

IPv6 Guidelines

Supports IPv6.

Default Settings

This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see Factory Default Configurations.

Default State of Interfaces

Interfaces have the following default states:

- Switch ports—Disabled.

- VLANs—Enabled. However, for traffic to pass through the VLAN, the switch port must also be enabled.

Default Speed and Duplex

By default, the speed and duplex are set to auto-negotiate.

Starting ASA 5505 Interface Configuration

This section includes the following topics:

- Task Flow for Starting Interface Configuration

- Configuring VLAN Interfaces

- Configuring and Enabling Switch Ports as Access Ports

- Configuring and Enabling Switch Ports as Trunk Ports

Task Flow for Starting Interface Configuration

To configure interfaces in single mode, perform the following steps:

Step 1 Configure VLAN interfaces. See Configuring VLAN Interfaces.

Step 2 Configure and enable switch ports as access ports. See Configuring and Enabling Switch Ports as Access Ports.

Step 3 (Optional for Security Plus licenses) Configure and enable switch ports as trunk ports. See Configuring and Enabling Switch Ports as Trunk Ports.

Step 4 Complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Configuring VLAN Interfaces

This section describes how to configure VLAN interfaces. For more information about ASA 5505 interfaces, see Information About ASA 5505 Interfaces.

Guidelines

We suggest that you finalize your interface configuration before you enable Easy VPN.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface vlan 100

is between 1 and 4090.

command. Because this interface also includes the interface name configuration, and the name is used in other commands, those commands are also removed.

Step 2

(Optional for the Base license)

ciscoasa(config-if)# no forward interface vlan 101

Allows this interface to be the third VLAN by limiting it from initiating contact to one other VLAN.

specifies the VLAN ID to which this VLAN interface cannot initiate traffic.

With the Base license, you can only configure a third VLAN if you use this command to limit it.

command on the home VLAN; the business network can access the home network, but the home network cannot access the business network.

command on the third interface; the ASA does not allow three fully functioning VLAN interfaces with the Base license on the ASA 5505.

Note If you upgrade to the Security Plus license, you can remove this command and achieve full functionality for this interface. If you leave this command in place, this interface continues to be limited even after upgrading.

What to Do Next

Configure the switch ports. See Configuring and Enabling Switch Ports as Access Ports and the Configuring and Enabling Switch Ports as Trunk Ports.

Configuring and Enabling Switch Ports as Access Ports

By default (with no configuration), all switch ports are shut down, and assigned to VLAN 1. To assign a switch port to a single VLAN, configure it as an access port. To create a trunk port to carry multiple VLANs, see Configuring and Enabling Switch Ports as Trunk Ports. If you have a factory default configuration, see ASA 5505 Default Configuration to check if you want to change the default interface settings according to this procedure.

For more information about ASA 5505 interfaces, see Information About ASA 5505 Interfaces.

Caution The ASA 5505 does not support Spann ing Tr ee Protocol for loop detection in the network. Therefore you must ensure that any connection with the ASA does not end up in a network loop.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface ethernet0/1

is 0 through 7.

Step 2

ciscoasa(config-if)# switchport access vlan 100

command.

Note You might assign multiple switch ports to the primary or backup VLANs if the Internet access device includes Layer 2 redundancy.

Step 3

(Optional)

ciscoasa(config-if)# switchport protected

Prevents the switch port from communicating with other protected switch ports on the same VLAN.

command to each switch port. The inside and outside networks can both communicate with all three web servers, and vice versa, but the web servers cannot communicate with each other.

Step 4

(Optional)

}

ciscoasa(config-if)# speed 100

on PoE ports Ethernet 0/6 or 0/7, then Cisco IP phones and Cisco wireless access points that do not support IEEE 802.3af will not be detected and supplied with power.

Step 5

(Optional)

}

ciscoasa(config-if)# duplex full

on PoE ports Ethernet 0/6 or 0/7, then Cisco IP phones and Cisco wireless access points that do not support IEEE 802.3af will not be detected and supplied with power.

Step 6

ciscoasa(config-if)# no shutdown

command.

What to Do Next

- If you want to configure a switch port as a trunk port, see Configuring and Enabling Switch Ports as Trunk Ports.

- To complete the interface configuration, see “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Configuring and Enabling Switch Ports as Trunk Ports

This procedure describes how to create a trunk port that can carry multiple VLANs using 802.1Q tagging. Trunk mode is available only with the Security Plus license.

To create an access port, where an interface is assigned to only one VLAN, see Configuring and Enabling Switch Ports as Access Ports.

Guidelines

This switch port cannot pass traffic until you assign at least one VLAN to it, native or non-native.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface ethernet0/1

is 0 through 7.

Step 2

To assign VLANs to this trunk, do one or more of the following:

ciscoasa(config)# switchport trunk allowed vlan 100-200

(with VLANs between 1 and 4090) can be identified in one of the following ways:

- A single number (n)

- A range (n-x)

- Separate numbers and ranges by commas, for example:

5,7-10,13,45-100

You can enter spaces instead of commas, but the command is saved to the configuration with commas.

You can include the native VLAN in this command, but it is not required; the native VLAN is passed whether it is included in this command or not.

ciscoasa(config-if)# switchport trunk native vlan 100

is a single VLAN ID between 1 and 4090.

Packets on the native VLAN are not modified when sent over the trunk. For example, if a port has VLANs 2, 3 and 4 assigned to it, and VLAN 2 is the native VLAN, then packets on VLAN 2 that egress the port are not modified with an 802.1Q header. Frames which ingress (enter) this port and have no 802.1Q header are put into VLAN 2.

Each port can only have one native VLAN, but every port can have either the same or a different native VLAN.

Step 3

ciscoasa(config-if)# switchport mode trunk

command.

Step 4

(Optional)

ciscoasa(config-if)# switchport protected

Prevents the switch port from communicating with other protected switch ports on the same VLAN.

command to each switch port. The inside and outside networks can both communicate with all three web servers, and vice versa, but the web servers cannot communicate with each other.

Step 5

(Optional)

}

ciscoasa(config-if)# speed 100

on PoE ports Ethernet 0/6 or 0/7, then Cisco IP phones and Cisco wireless access points that do not support IEEE 802.3af will not be detected and supplied with power.

Step 6

(Optional)

}

ciscoasa(config-if)# duplex full

on PoE ports Ethernet 0/6 or 0/7, then Cisco IP phones and Cisco wireless access points that do not support IEEE 802.3af will not be detected and supplied with power.

Step 7

ciscoasa(config-if)# no shutdown

command.

Monitoring Interfaces

To monitor interfaces, enter one of the following commands:

Command

Purpose

Displays interface statistics.

show interface ip brief

Displays interface IP addresses and status.

Configuration Examples for ASA 5505 Interfaces

This section includes the following topics:

- Access Port Example

- Trunk Port Example

Access Port Example

command:

ciscoasa(config)# interface vlan 100

ciscoasa(config-if)# nameif outside

ciscoasa(config-if)# security-level 0

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 200

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

ciscoasa(config-if)# ip address 10.2.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 300

ciscoasa(config-if)# nameif dmz

ciscoasa(config-if)# security-level 50

ciscoasa(config-if)# ip address 10.3.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 400

ciscoasa(config-if)# nameif backup-isp

ciscoasa(config-if)# security-level 50

ciscoasa(config-if)# ip address 10.1.2.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# failover lan faillink vlan500

ciscoasa(config)# failover interface ip faillink 10.4.1.1 255.255.255.0 standby 10.4.1.2 255.255.255.0

ciscoasa(config)# interface ethernet 0/0

ciscoasa(config-if)# switchport access vlan 100

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/1

ciscoasa(config-if)# switchport access vlan 200

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/2

ciscoasa(config-if)# switchport access vlan 300

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/3

ciscoasa(config-if)# switchport access vlan 400

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/4

ciscoasa(config-if)# switchport access vlan 500

ciscoasa(config-if)# no shutdown

Trunk Port Example

command. VLANs 200, 201, and 202 are trunked on Ethernet 0/1.

ciscoasa(config)# interface vlan 100

ciscoasa(config-if)# nameif outside

ciscoasa(config-if)# security-level 0

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 200

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

ciscoasa(config-if)# ip address 10.2.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 201

ciscoasa(config-if)# nameif dept1

ciscoasa(config-if)# security-level 90

ciscoasa(config-if)# ip address 10.2.2.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 202

ciscoasa(config-if)# nameif dept2

ciscoasa(config-if)# security-level 90

ciscoasa(config-if)# ip address 10.2.3.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 300

ciscoasa(config-if)# nameif dmz

ciscoasa(config-if)# security-level 50

ciscoasa(config-if)# ip address 10.3.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 400

ciscoasa(config-if)# nameif backup-isp

ciscoasa(config-if)# security-level 50

ciscoasa(config-if)# ip address 10.1.2.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# failover lan faillink vlan500

ciscoasa(config)# failover interface ip faillink 10.4.1.1 255.255.255.0 standby 10.4.1.2 255.255.255.0

ciscoasa(config)# interface ethernet 0/0

ciscoasa(config-if)# switchport access vlan 100

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/1

ciscoasa(config-if)# switchport mode trunk

ciscoasa(config-if)# switchport trunk allowed vlan 200-202

ciscoasa(config-if)# switchport trunk native vlan 5

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/2

ciscoasa(config-if)# switchport access vlan 300

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/3

ciscoasa(config-if)# switchport access vlan 400

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface ethernet 0/4

ciscoasa(config-if)# switchport access vlan 500

ciscoasa(config-if)# no shutdown

Where to Go Next

Complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Feature History for ASA 5505 Interfaces

lists the release history for this feature.

Table 11-1 Feature History for Interfaces

Feature Name

Releases

Feature Information

Increased VLANs

7.2(2)

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.

Native VLAN support for the ASA 5505

7.2(4)/8.0(4)

You can now include the native VLAN in an ASA 5505 trunk port.

.

Basic Interface Configuration (ASAv)

This chapter includes tasks for starting your interface configuration for the ASAv, including configuring Ethernet settings, redundant interfaces, and VLAN subinterfaces.

This chapter includes the following sections:

- Information About Starting ASAv Interface Configuration

- Licensing Requirements for ASAv Interfaces

- Guidelines and Limitations

- Default Settings

- Starting Interface Configuration (ASAv)

- Monitoring Interfaces

- Configuration Examples for ASAv Interfaces

- Where to Go Next

- Feature History for ASAv Interfaces

Information About Starting ASAv Interface Configuration

This section includes the following topics:

- ASAv Interfaces and Virtual NICs

- Interfaces in Transparent Mode

- Management Interface

- Redundant Interfaces

- Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size

ASAv Interfaces and Virtual NICs

As a guest on a virtualized platform, the ASAv utilizes the network interfaces of the underlying physical platform. Each ASAv interface maps to a VMware virtual NIC (vNIC).

- ASAv Interfaces

- Supported vNICs

- ASAv Interface Concordance with vNICs

ASAv Interfaces

The ASAv includes the following Gigabit Ethernet interfaces:

- Management 0/0

- GigabitEthernet 0/0 through 0/8. Note that the GigabitEthernet 0/8 is used for the failover link when you deploy the ASAv as part of a failover pair.

Supported vNICs

VMware supports the following vNIC for ASAv interfaces:

- E1000—This vNIC is used by default.

ASAv Interface Concordance with vNICs

) shows each Network Adapter and the assigned network. However, that screen does not show the ASAv interface IDs (only Network Adapter IDs). See the following concordance of Network Adapter IDs and ASAv IDs:

Network Adapter ID

ASAv Interface ID

Network Adapter 1

Management0/0

Network Adapter 2

GigabitEthernet0/0

Network Adapter 3

GigabitEthernet0/1

Network Adapter 4

GigabitEthernet0/2

Network Adapter 5

GigabitEthernet0/3

Network Adapter 6

GigabitEthernet0/4

Network Adapter 7

GigabitEthernet0/5

Network Adapter 8

GigabitEthernet0/6

Network Adapter 9

GigabitEthernet0/7

Network Adapter 10

GigabitEthernet0/8

Interfaces in Transparent Mode

Interfaces in transparent mode belong to a “bridge group,” one bridge group for each network. You can have up to 8 bridge groups of 4 interfaces. For more information about bridge groups, see Bridge Groups in Transparent Mode.

Management Interface

- Management Interface Overview

- Using Any Interface for Management-Only Traffic

- Management Interface for Transparent Mode

- No Through Traffic Support

Management Interface Overview

You can manage the ASA by connecting to:

- Any through-traffic interface

- The dedicated Management 0/0 interface

You may need to configure management access to the interface according to Chapter43, “Management Access”

Using Any Interface for Management-Only Traffic

command).

Management Interface for Transparent Mode

In transparent firewall mode, in addition to the maximum allowed through-traffic interfaces, you can also use the Management 0/0 interface (either the physical interface or a subinterface) as a separate management interface. You cannot use any other interface types as management interfaces. The management interface is not part of a normal bridge group. Note that for operational purposes, it is part of a non-configurable bridge group.

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 Cisco 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 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 Through Traffic Support

The Management 0/0 interface is always set to management-only; you cannot use this interface for through traffic support.

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.

Redundant Interface MAC Address

The redundant interface uses the MAC address of the first physical interface that you add. If you change the order of the member interfaces in the configuration, then the MAC address changes to match the MAC address of the interface that is now listed first. Alternatively, you can assign a MAC address to the redundant interface, which is used regardless of the member interface MAC addresses (see Configuring the MAC Address, MTU, and TCP MSS or the Configuring Multiple Contexts). When the active interface fails over to the standby, the same MAC address is maintained so that traffic is not disrupted.

Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size

- MTU Overview

- Default MTU

- Path MTU Discovery

- Setting the MTU and Jumbo Frames

- TCP Maximum Segment Size Overview

- Default TCP MSS

- Setting the TCP MSS for VPN and Non-VPN Traffic

- Examples

MTU Overview

Ethernet headers, FCS, or VLAN tagging. The Ethernet header is 14 bytes and the FCS is 4 bytes. When you set the MTU to 1500, the expected frame size is 1518 bytes including the headers. If you are using VLAN tagging (which adds an additional 4 bytes), then when you set the MTU to 1500, the expected frame size is 1522. Do not set the MTU value higher to accommodate these headers. For information about accommodating TCP headers for encapsulation, do not alter the MTU setting; instead change the TCP Maximum Segment Size (the TCP Maximum Segment Size Overview).

Note The ASA can receive frames larger than the configured MTU as long as there is room in memory. See Enabling Jumbo Frame Support to increase memory for larger frames.

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.

Path MTU Discovery

The ASA supports Path MTU Discovery (as defined in RFC 1191), which lets all devices in a network path between two hosts coordinate the MTU so that they can standardize on the lowest MTU in the path.

Setting the MTU and Jumbo Frames

See Configuring the MAC Address, MTU, and TCP MSS.

See Enabling Jumbo Frame Support.

See the following guidelines:

- Matching MTUs on the traffic path—We 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 frames—If you enable jumbo frames, you can set the MTU up to 9000 bytes.

TCP Maximum Segment Size Overview

any TCP headers are added. UDP packets are not affected. The client and the server exchange TCP MSS values during the three-way handshake when establishing the connection.

You can set the TCP MSS on the ASA. If either endpoint of a connection requests a TCP MSS that is larger than the value set on the ASA, the ASA overwrites the TCP MSS in the request packet with the ASA maximum. If the host or server does not request a TCP MSS, then the ASA assumes the RFC 793-default value of 536 bytes, but does not modify the packet. You can also configure the minimum TCP MSS; if a host or server requests a very small TCP MSS, the ASA can adjust the value up. By default, the minimum TCP MSS is not enabled.

For example, you configure the default MTU of 1500 bytes. A host requests an MSS of 1700. If the ASA maximum TCP MSS is 1380, then the ASA changes the MSS value in the TCP request packet to 1380. The server then sends 1380-byte packets.

Default TCP MSS

By default, the maximum TCP MSS on the ASA is 1380 bytes. This default accommodates VPN connections where the headers can add up to 120 bytes; this value fits within the default MTU of 1500 bytes.

Setting the TCP MSS for VPN and Non-VPN Traffic

See Configuring the MAC Address, MTU, and TCP MSS.

See the following guidelines:

- Non-VPN traffic—If 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 traffic—Set 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.

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 9000

mtu outside 9000

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 8880 (the MTU minus 120):

jumbo frame-reservation

mtu inside 9000

mtu outside 9000

sysopt connection tcpmss 8880

Licensing Requirements for ASAv Interfaces

Model

License Requirement

ASAv with 1 Virtual CPU

VLANs1:

Standard and Premium License: 50

Interfaces of all types2:

Standard and Premium License: 716

ASAv with 4 Virtual CPUs

:

Standard and Premium License: 200

:

Standard and Premium License: 1316

1.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

1.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

2.The maximum number of combined interfaces; for example, VLANs, physical, redundant, and bridge group interfaces. Every interface command defined in the configuration counts against this limit.

2.The maximum number of combined interfaces; for example, VLANs, physical, redundant, and bridge group interfaces. Every interface command defined in the configuration counts against this limit.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Firewall Mode Guidelines

- For transparent mode, you can configure up to 8 bridge groups.

- Each bridge group can include up to 4 interfaces.

Failover Guidelines

- When you use a redundant 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 .

- If you use a redundant interface for the state link, no special configuration is required; the configuration can replicate from the primary unit as normal.

- You can monitor redundant 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 interface to appear to be failed when being monitored for device-level failover. Only when all physical interfaces fail does the redundant interface appear to be failed.

- You cannot share a failover or state interface with a data interface.

Redundant Interface Guidelines

- You can configure up to 8 redundant interface pairs.

- All ASA configuration refers to the logical redundant interface instead of the member physical interfaces.

- If you shut down the active interface, then the standby interface becomes active.

- You cannot set a redundant interface as management-only.

- For failover guidelines, see Failover Guidelines.

Default Settings

This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see Factory Default Configurations.

Default State of Interfaces

- Physical interfaces—Disabled.

- Redundant Interfaces—Enabled. However, for traffic to pass through the redundant interface, the member physical interfaces must also be enabled.

- Subinterfaces—Enabled. However, for traffic to pass through the subinterface, the physical interface must also be enabled.

Default Speed and Duplex

- By default, the speed and duplex for interfaces are set to auto-negotiate.

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.

Default vNIC

All interfaces use the E1000 emulation.

Starting Interface Configuration (ASAv)

This section includes the following topics:

- Task Flow for Starting Interface Configuration

- Enabling the Physical Interface and Configuring Ethernet Parameters

- Enabling the Physical Interface and Configuring Ethernet Parameters

- Configuring a Redundant Interface

- Configuring VLAN Subinterfaces and 802.1Q Trunking

- Enabling Jumbo Frame Support

Task Flow for Starting Interface Configuration

To start configuring interfaces, perform the following steps:

Step 1 Enable the physical interface, and optionally change Ethernet parameters. See Enabling the Physical Interface and Configuring Ethernet Parameters.

Physical interfaces are disabled by default.

Step 2 (Optional) Configure redundant interface pairs. See Configuring a Redundant Interface.

A logical redundant interface pairs an active and a standby physical interface. When the active interface fails, the standby interface becomes active and starts passing traffic.

Step 3 (Optional) Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

Step 4 (Optional) Enable jumbo frame support according to the Enabling Jumbo Frame Support.

Enabling the Physical Interface and Configuring Ethernet Parameters

This section describes how to:

- Enable the physical interface

- Set a specific speed and duplex

- Enable pause frames for flow control

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/0

Specifies the interface that you want to configure.

.

The physical interface types include the following:

- gigabitethernet

- management

. A space is optional between the type and the slot/port.

Step 2

(Optional)

}

ciscoasa(config-if)# speed 100

.

Step 3

(Optional)

}

ciscoasa(config-if)# duplex full

setting is the default.

Step 4

(Optional)

]

ciscoasa(config-if)# flowcontrol send on 95 200 10000

Enables pause (XOFF) frames for flow control.

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?

keyword.

Note Only flow control frames defined in 802.3x are supported. Priority-based flow control is not supported.

Step 5

ciscoasa(config-if)# no 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.

What to Do Next

Optional Tasks:

- Configure redundant interface pairs. See Configuring a Redundant Interface.

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- Complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Configuring a Redundant Interface

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 failover if desired.

This section describes how to configure redundant interfaces and includes the following topics:

- Configuring a Redundant Interface

- Changing the Active Interface

Configuring a Redundant Interface

This section describes how to create a redundant interface. By default, redundant interfaces are enabled.

Guidelines and Limitations

- You can configure up to 8 redundant interface pairs.

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

- See also the Redundant Interface Guidelines.

Prerequisites

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

Caution If you are using a physical interface already in your configuration, removing the name will clear any configuration that refers to the interface.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface redundant 1

argument is an integer between 1 and 8.

Note You need to add at least one member interface to the redundant interface before you can configure logical parameters for it such as a name.

Step 2

ciscoasa(config-if)# member-interface gigabitethernet 0/0

Adds the first member interface to the redundant interface. After you add the interface, any configuration for it (such as an IP address) is removed.

Step 3

ciscoasa(config-if)# member-interface gigabitethernet 0/1

Adds the second member interface to the redundant interface.

Make sure the second interface is the same physical type as the first interface.

command. You cannot remove both member interfaces from the redundant interface; the redundant interface requires at least one member interface.

Examples

The following example creates two redundant interfaces:

ciscoasa(config)# interface redundant 1

ciscoasa(config-if)# member-interface gigabitethernet 0/0

ciscoasa(config-if)# member-interface gigabitethernet 0/1

ciscoasa(config-if)# interface redundant 2

ciscoasa(config-if)# member-interface gigabitethernet 0/2

ciscoasa(config-if)# member-interface gigabitethernet 0/3

What to Do Next

Optional Task:

- Configure VLAN subinterfaces. See Configuring VLAN Subinterfaces and 802.1Q Trunking.

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- Complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Changing the Active Interface

By default, the active interface is the first interface listed in the configuration, if it is available. To view which interface is active, enter the following command:

ciscoasa# show interface redundantnumber detail | grep Member

For example:

ciscoasa# show interface redundant1 detail | grep Member

Members GigabitEthernet0/3(Active), GigabitEthernet0/2

To change the active interface, enter the following command:

ciscoasa# redundant-interface redundantnumber active-member physical_interface

.

is the member interface ID that you want to be active.

Configuring VLAN Subinterfaces and 802.1Q Trunking

Subinterfaces let you divide a physical or redundant interface into multiple logical interfaces that are tagged with different VLAN IDs. An interface with one or more VLAN subinterfaces is automatically configured as an 802.1Q trunk. Because VLANs allow you to keep traffic separate on a given physical interface, you can increase the number of interfaces available to your network without adding additional physical interfaces or ASAs.

Guidelines and Limitations

- Maximum subinterfaces—To determine how many VLAN subinterfaces are allowed for your model, see Licensing Requirements for ASAv Interfaces.

- Preventing untagged packets on the physical interface—If 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. Because the physical or redundant interface must be enabled for the subinterface to pass traffic, ensure that the physical or redundant interface does not pass traffic by leaving out the nameif command. If you want to let the physical or redundant interface pass untagged packets, you can configure the nameif command as usual. See “Routed Mode Interfaces,” or “Transparent Mode Interfaces,” for more information about completing the interface configuration.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface gigabitethernet 0/1.100

Specifies the new subinterface. See Enabling the Physical Interface and Configuring Ethernet Parameters for a description of the physical interface ID.

.

ID is an integer between 1 and 4294967293.

Step 2

ciscoasa(config-subif)# vlan 101

is an integer between 1 and 4094. Some VLAN IDs might be reserved on connected switches, so check the switch documentation for more information.

command with a different VLAN ID, and the ASA changes the old ID.

What to Do Next

Optional Task:

- Configure jumbo frame support. See Enabling Jumbo Frame Support.

Required Tasks:

- Complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Enabling Jumbo Frame Support

A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as ACLs. See Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size for more information.

Prerequisites

- Changes in this setting require you to reload the ASA.

- 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 9000 using the mtu command. See Configuring the MAC Address, MTU, and TCP MSS.

- Be sure to adjust the TCP MSS, either to disable it for non-VPN traffic (using the sysopt connection tcpmss 0 command), or to increase it in accord with the MTU according to the Configuring the MAC Address, MTU, and TCP MSS.

Detailed Steps

Command

Purpose

ciscoasa(config)# jumbo-frame reservation

form of this command.

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

What to Do Next

Complete the interface configuration. See “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Monitoring Interfaces

To monitor interfaces, enter one of the following commands:

Command

Purpose

Displays interface statistics.

Displays interface IP addresses and status.

Configuration Examples for ASAv Interfaces

This section includes the following topics:

- Physical Interface Parameters Example

- Subinterface Parameters Example

Physical Interface Parameters Example

The following example configures parameters for the physical interface:

interface gigabitethernet 0/1

speed 1000

duplex full

no shutdown

Subinterface Parameters Example

The following example configures parameters for a subinterface:

interface gigabitethernet 0/1.1

vlan 101

no shutdown

Where to Go Next

Complete the interface configuration according to “Routed Mode Interfaces,” or Chapter14, “Transparent Mode Interfaces”

Feature History for ASAv Interfaces

lists the release history for this feature.

Table 12-1 Feature History for Interfaces

Feature Name

Releases

Feature Information

ASAv support

9.2(1)

The ASAv was introduced.

Routed Mode Interfaces

This chapter includes tasks to complete the interface configuration for all models in routed firewall mode. This chapter includes the following sections:

- Information About Completing Interface Configuration in Routed Mode

- Licensing Requirements for Completing Interface Configuration in Routed Mode

- Guidelines and Limitations

- Default Settings

- Completing Interface Configuration in Routed Mode

- Turning Off and Turning On Interfaces

- Monitoring Interfaces

- Configuration Examples for Interfaces in Routed Mode

- Feature History for Interfaces in Routed Mode

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.

Information About Completing Interface Configuration in Routed Mode

This section includes the following topics:

- Security Levels

- Dual IP Stack (IPv4 and IPv6)

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. See Allowing Same Security Level Communication for more information.

The level controls the following behavior:

- Network access—By 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 (see Allowing Same Security Level Communication), there is an implicit permit for interfaces to access other interfaces on the same security level or lower.

- Inspection engines—Some application inspection engines are dependent on the security level. For same security interfaces, inspection engines apply to traffic in either direction.

– NetBIOS inspection engine—Applied only for outbound connections.

– SQL*Net inspection engine—If 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.

- Filtering—HTTP(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 command—This 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.

commands for both directions.

Dual IP Stack (IPv4 and IPv6)

The ASA supports the configuration of both IPv6 and IPv4 on an interface. You do not need to enter any special commands to do so; simply enter the IPv4 configuration commands and IPv6 configuration commands as you normally would. Make sure you configure a default route for both IPv4 and IPv6.

Licensing Requirements for Completing Interface Configuration in Routed Mode

Model

License Requirement

ASA 5505

VLANs:

Routed Mode:

Base License: 3 (2 regular zones and 1 restricted zone that can only communicate with 1 other zone)

Security Plus License: 20

Transparent Mode:

Base License: 2 active VLANs in 1 bridge group.

Security Plus License: 3 active VLANs: 2 active VLANs in 1 bridge group, and 1 active VLAN for the failover link.

VLAN Trunks:

Base License: None.

Security Plus License: 8.

Model

License Requirement

ASA 5512-X

VLANs1:

Base License: 50

Security Plus License: 100

Interfaces of all types2:

Base License: 716

Security Plus License: 916

ASA 5515-X

:

Base License: 100

:

Base License: 916

ASA 5525-X

:

Base License: 200

:

Base License: 1316

ASA 5545-X

:

Base License: 300

:

Base License: 1716

ASA 5555-X

:

Base License: 500

:

Base License: 2516

ASA 5585-X

:

Base and Security Plus License: 1024

Interface Speed for SSP-10 and SSP-20:

Base License—1-Gigabit Ethernet for fiber interfaces

10 GE I/O License (Security Plus)—10-Gigabit Ethernet for fiber interfaces

(SSP-40 and SSP-60 support 10-Gigabit Ethernet by default.)

:

Base and Security Plus License: 4612

1.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

1.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

2.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

2.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

Model

License Requirement

ASASM

VLANs:

Base License: 1000

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

- For the ASA 5512-X and higher in multiple context mode, configure the physical interfaces in the system execution space according to Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)” Then, configure the logical interface parameters in the context execution space according to this chapter. For the ASASM in multiple context mode, configure switch ports and VLANs on the switch, and then assign VLANs to the ASASM according to Chapter2, “Switch Configuration for the ASA Services Module”

The ASA 5505 and ASAv do not support multiple context mode.

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to the Configuring Multiple Contexts.

- PPPoE is not supported in multiple context mode.

Firewall Mode Guidelines

Supported in routed firewall mode. For transparent mode, see Chapter14, “Transparent Mode Interfaces”

Failover Guidelines

Do not finish configuring failover interfaces with the procedures in this chapter. See “Failover,” to configure the failover and state links. In multiple context mode, failover interfaces are configured in the system configuration.

IPv6 Guidelines

Supports IPv6.

VLAN ID Guidelines for the ASASM

command.

command for more information about interface states.

Default Settings

This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see Factory Default Configurations.

Default Security Level

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.

Default State of Interfaces for the ASASM

- In single mode or in the system execution space, VLAN interfaces are enabled by default.

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

Jumbo Frame Support

By default, the ASASM supports jumbo frames. Just configure the MTU for the desired packet size according to the Configuring the MAC Address, MTU, and TCP MSS.

Completing Interface Configuration in Routed Mode

This section includes the following topics:

- Task Flow for Completing Interface Configuration

- Configuring General Interface Parameters

- Configuring the MAC Address, MTU, and TCP MSS

- Configuring IPv6 Addressing

- Allowing Same Security Level Communication

Task Flow for Completing Interface Configuration

Step 1 Set up your interfaces depending on your model:

- ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

- ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

- ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

- ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

Step 2 (Multiple context mode) Allocate interfaces to the context according to Configuring Multiple Contexts.

command to change to the context you want to configure. Configure general interface parameters, including the interface name, security level, and IPv4 address. See Configuring General Interface Parameters.

Step 4 (Optional) Configure the MAC address and the MTU. See Configuring the MAC Address, MTU, and TCP MSS.

Step 5 (Optional) Configure IPv6 addressing. See Configuring IPv6 Addressing.

Step 6 (Optional) Allow same security level communication, either by allowing communication between two interfaces or by allowing traffic to enter and exit the same interface. See Allowing Same Security Level Communication.

Configuring General Interface Parameters

This procedure describes how to set the name, security level, IPv4 address and other options.

For the ASA 5512-X and higher and the ASAv, you must configure interface parameters for the following interface types:

- Physical interfaces

- VLAN subinterfaces

- Redundant interfaces

- EtherChannel interfaces

For the ASA 5505 and ASASM, you must configure interface parameters for the following interface types:

- VLAN interfaces

Guidelines and Limitations

If you are using failover, do not use this procedure to name interfaces that you are reserving for failover and Stateful Failover communications. See “Failover,” to configure the failover and state links.

Restrictions

- PPPoE is not supported in multiple context mode.

- PPPoE and DHCP are not supported on the ASASM.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

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

Detailed Steps

Command

Purpose

Step 1

For the ASA 5512-X and higher and ASAv:

}

For the ASA 5505 or ASASM:

}

ciscoasa(config)# interface gigabithethernet 0/0

If you are not already in interface configuration mode, enters interface configuration mode.

.

.

See Enabling the Physical Interface and Configuring Ethernet Parameters section for a description of the physical interface ID.

ID to the physical or redundant interface ID separated by a period (.).

command.

Step 2

ciscoasa(config-if)# nameif inside

Names the interface.

form, because that command causes all commands that refer to that name to be deleted.

Step 3

Do one of the following:

]

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2

Sets the IP address manually.

Note For use with failover, you must set the IP address and standby address manually; DHCP and PPPoE are not supported.
arguments set the interface IP address and subnet mask.

argument is used for failover. See Configuring Active/Standby Failover or the Configuring Active/Active Failover for more information.

]

ciscoasa(config-if)# ip address dhcp

Obtains an IP address from a DHCP server.

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.

command, some DHCP requests might not be sent.

To obtain an IP address from a PPPoE server, see the VPN configuration guide.

PPPoE is not supported in multiple context mode.

Step 4

ciscoasa(config-if)# security-level 50

is an integer between 0 (lowest) and 100 (highest). See Security Levels.

Step 5

(Optional)

ciscoasa(config-if)# management-only

Sets an interface to management-only mode so that it does not pass through traffic.

command.

on the Management 0/0 interface.

is not supported for a redundant interface.

Example

The following example configures parameters for VLAN 101:

ciscoasa(config)# interface vlan 101

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0

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

What to Do Next

- (Optional) Configure the MAC address and the MTU. See Configuring the MAC Address, MTU, and TCP MSS.

- (Optional) Configure IPv6 addressing. See Configuring IPv6 Addressing.

Configuring the MAC Address, MTU, and TCP MSS

This section describes how to configure MAC addresses for interfaces, how to set the MTU, and set the TCP MSS.

Information About 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 the ASASM, all VLANs use the same MAC address provided by the backplane.

A redundant interface uses the MAC address of the first physical interface that you add. If you change the order of the member interfaces in the configuration, then the MAC address changes to match the MAC address of the interface that is now listed first. If you assign a MAC address to the redundant interface using this command, then it is used regardless of the member interface MAC addresses.

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. See How the ASA Classifies Packets for more information. You can assign each MAC address manually, or you can automatically generate MAC addresses for shared interfaces in contexts. See Automatically Assigning MAC Addresses to Context Interfaces to automatically generate MAC addresses. 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.

Information About the MTU and TCP MSS

See Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

- 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 the Enabling Jumbo Frame Support. Jumbo frames are supported by default on the ASASM; you do not need to enable them.

Detailed Steps

Command

Purpose

Step 1

For the ASA 5512-X and higher and the ASAv:

}

For the ASA 5505 or ASASM:

}

ciscoasa(config)# interface vlan 100

If you are not already in interface configuration mode, enters interface configuration mode.

.

.

See Enabling the Physical Interface and Configuring Ethernet Parameters section for a description of the physical interface ID.

ID to the physical or redundant interface ID separated by a period (.).

command.

Step 2

]

ciscoasa(config-if)# mac-address 000C.F142.4CDE

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.

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.

Step 3

ciscoasa(config)# mtu inside 9200

Sets the MTU between 300 and 9198 bytes (9000 for the ASAv). The default is 1500 bytes.

Note When you set the MTU for a redundant or port-channel interface, the ASA applies the setting to all member interfaces.
For models that support jumbo frames, if you enter a value for any interface that is greater than 1500, then you need to enable jumbo frame support. See Enabling Jumbo Frame Support.

Step 4

ciscoasa(config)# sysopt connection tcpmss 8500

ciscoasa(config)# sysopt connection tcpmss minimum 1290

.

, between 48 and 65535. The minimum feature is disabled by default (set to 0).

What to Do Next

(Optional) Configure IPv6 addressing. See Configuring IPv6 Addressing.

Configuring IPv6 Addressing

This section describes how to configure IPv6 addressing.

This section includes the following topics:

- Information About IPv6

- Configuring a Global IPv6 Address

- Configuring IPv6 Neighbor Discovery

Information About IPv6

This section includes information about how to configure IPv6, and includes the following topics:

- IPv6 Addressing

- Modified EUI-64 Interface IDs

IPv6 Addressing

You can configure two types of unicast addresses for IPv6:

- Global—The global address is a public address that you can use on the public network.

- Link-local—The 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 configuration or for the ND functions such as address resolution and neighbor discovery.

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.

Modified EUI-64 Interface IDs

RFC 3513: Internet Protocol Version 6 (IPv6) Addressing Architecture requires that the interface identifier portion of all unicast IPv6 addresses, except those that start with binary value 000, be 64 bits long and be constructed in Modified EUI-64 format. The ASA can enforce this requirement for hosts attached to the local link.

When this feature is enabled on an interface, the source addresses of IPv6 packets received on that interface are verified against the source MAC addresses to ensure that the interface identifiers use the Modified EUI-64 format. If the IPv6 packets do not use the Modified EUI-64 format for the interface identifier, the packets are dropped and the following system log message is generated:

%ASA-3-325003: EUI-64 source address check failed.

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.

Configuring a Global IPv6 Address

To configure a global IPv6 address, perform the following steps.

Note Configuring the global address automatically configures the link-local address, so you do not need to configure it separately.

Restrictions

The ASA does not support IPv6 anycast addresses.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

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

Detailed Steps

Command

Purpose

Step 1

For the ASA 5512-X and higher and the ASAv:

}

For the ASA 5505 or ASASM:

}

ciscoasa(config)# interface gigabithethernet 0/0

If you are not already in interface configuration mode, enters interface configuration mode.

.

.

See Enabling the Physical Interface and Configuring Ethernet Parameters for a description of the physical interface ID.

ID to the physical or redundant interface ID separated by a period (.).

command.

Step 2

Do one of the following:

ciscoasa(config-if)# ipv6 address autoconfig

Enables stateless autoconfiguration on the interface. 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.
command to suppress messages.

]

ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98:0:3210/48

Assigns a global address to the interface. When you assign a global address, the link-local address is automatically created for the interface.

specifies the interface address used by the secondary unit or failover group in a failover pair.

ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98::/48 eui-64

Assigns 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. When you assign a global address, the link-local address is automatically created for the interface.

ou do not need to specify the standby address; the interface ID will be generated automatically.

Step 3

(Optional)

ipv6 enforce-eui64 if_name

ciscoasa(config)# ipv6 enforce-eui64 inside

Enforces the use of Modified EUI-64 format interface identifiers in IPv6 addresses on a local link.

command, on which you are enabling the address format enforcement.

See Modified EUI-64 Interface IDs for more information.

Configuring IPv6 Neighbor Discovery

See “IPv6 Neighbor Discovery,” to configure IPv6 neighbor discovery.

Allowing Same Security Level Communication

By default, interfaces on the same security level cannot communicate with each other, and packets cannot enter and exit the same interface. This section describes how to enable inter-interface communication when interfaces are on the same security level, and how to enable intra-interface communication.

Information About Inter-Interface Communication

Allowing interfaces on the same security level to communicate with each other provides the following benefits:

- You can configure more than 101 communicating interfaces.

If you use different levels for each interface and do not assign any interfaces to the same security level, you can configure only one interface per level (0 to 100).

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

Information About Intra-Interface Communication

Intra-interface communication might be useful for VPN traffic that enters an interface, but is then routed out the same interface. The VPN traffic might be unencrypted in this case, or it might be reencrypted for another VPN connection. For example, if you have a hub and spoke VPN network, where the ASA is the hub, and remote VPN networks are spokes, for one spoke to communicate with another spoke, traffic must go into the ASA and then out again to the other spoke.

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. Figure 13-1 shows a network where hosts on the same interface need to communicate.

Figure 13-1 Communication Between Hosts on the Same Interface

commands used to enable policy routing in the network shown in Figure 13-1:

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

Detailed Steps

Command

Purpose

Enables interfaces on the same security level so that they can communicate with each other.

Enables communication between hosts connected to the same interface.

Turning Off and Turning On Interfaces

This section describes how to turn off and on an interface.

All interfaces are enabled by default. In multiple context mode, if you disable or reenable the interface within a context, only that context interface is affected. But if you disable or reenable the interface in the system execution space, then you affect that interface for all contexts.

Detailed Steps

Command

Purpose

Step 1

}

ciscoasa(config)# interface vlan 100

If you are not already in interface configuration mode, enters interface configuration mode.

command.

Step 2

shutdown

Disables the interface.

Step 3

no shutdown

Reenables the interface.

Monitoring Interfaces

To monitor interfaces, enter one of the following commands:

Command

Purpose

Displays interface statistics.

show interface ip brief

Displays interface IP addresses and status.

Configuration Examples for Interfaces in Routed Mode

This section includes the following topics:

- ASA 5505 Example

ASA 5505 Example

The following example configures three VLAN interfaces for the Base license. The third home interface cannot forward traffic to the business interface.

ciscoasa(config)# interface vlan 100

ciscoasa(config-if)# nameif outside

ciscoasa(config-if)# security-level 0

ciscoasa(config-if)# ip address dhcp

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 200

ciscoasa(config-if)# nameif business

ciscoasa(config-if)# security-level 100

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

ciscoasa(config-if)# interface vlan 300

ciscoasa(config-if)# no forward interface vlan 200

ciscoasa(config-if)# nameif home

ciscoasa(config-if)# security-level 50

ciscoasa(config-if)# ip address 10.2.1.1 255.255.255.0

ciscoasa(config-if)# no shutdown

Feature History for Interfaces in Routed Mode

lists the release history for this feature.

Table 13-1 Feature History for Interfaces

Feature Name

Releases

Feature Information

Increased VLANs

7.0(5)

Increased the following limits:

- ASA5510 Base license VLANs from 0 to 10.

- ASA5510 Security Plus license VLANs from 10 to 25.

- ASA5520 VLANs from 25 to 100.

- ASA5540 VLANs from 100 to 200.

Increased VLANs

7.2(2)

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).

Gigabit Ethernet Support for the ASA 5510 Security Plus License

7.2(3)

command to see what speed is currently configured for each interface.

Native VLAN support for the ASA 5505

7.2(4)/8.0(4)

You can now include the native VLAN in an ASA 5505 trunk port.

.

Jumbo packet support for the ASA 5580

8.1(1)

The Cisco ASA 5580 supports jumbo frames. A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as ACLs.

.

Increased VLANs for the ASA 5580

8.1(2)

The number of VLANs supported on the ASA 5580 are increased from 100 to 250.

IPv6 support for transparent mode

8.2(1)

IPv6 support was introduced for transparent firewall mode.

Support for Pause Frames for Flow Control on the ASA 5580 10 Gigabit Ethernet Interfaces

8.2(2)

You can now enable pause (XOFF) frames for flow control.

.

Transparent Mode Interfaces

This chapter includes tasks to complete the interface configuration for all models in transparent firewall mode.

This chapter includes the following sections:

- Information About Completing Interface Configuration in Transparent Mode

- Licensing Requirements for Completing Interface Configuration in Transparent Mode

- Guidelines and Limitations

- Default Settings

- Completing Interface Configuration in Transparent Mode

- Turning Off and Turning On Interfaces

- Monitoring Interfaces

- Configuration Examples for Interfaces in Transparent Mode

- Feature History for Interfaces in Transparent Mode

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.

Information About Completing Interface Configuration in Transparent Mode

This section includes the following topics:

- Bridge Groups in Transparent Mode

- Security Levels

Bridge Groups in Transparent Mode

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. At least one bridge group is required per context or in single mode.

Each bridge group requires a management IP address. For another method of management, see Management Interface.

Note The ASA does not support traffic on secondary networks; only traffic on the same network as the management IP address is supported.

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. See Allowing Same Security Level Communication for more information.

The level controls the following behavior:

- Network access—By 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 (see Allowing Same Security Level Communication), there is an implicit permit for interfaces to access other interfaces on the same security level or lower.

- Inspection engines—Some application inspection engines are dependent on the security level. For same security interfaces, inspection engines apply to traffic in either direction.

– NetBIOS inspection engine—Applied only for outbound connections.

– SQL*Net inspection engine—If 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.

- Filtering—HTTP(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 command—This 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.

commands for both directions.

Licensing Requirements for Completing Interface Configuration in Transparent Mode

Model

License Requirement

ASA 5505

VLANs:

Routed Mode:

Base License: 3 (2 regular zones and 1 restricted zone that can only communicate with 1 other zone)

Security Plus License: 20

Transparent Mode:

Base License: 2 active VLANs in 1 bridge group.

Security Plus License: 3 active VLANs: 2 active VLANs in 1 bridge group, and 1 active VLAN for the failover link.

VLAN Trunks:

Base License: None.

Security Plus License: 8.

Model

License Requirement

ASA 5512-X

VLANs1:

Base License: 50

Security Plus License: 100

Interfaces of all types2:

Base License: 716

Security Plus License: 916

ASA 5515-X

:

Base License: 100

:

Base License: 916

ASA 5525-X

:

Base License: 200

:

Base License: 1316

ASA 5545-X

:

Base License: 300

:

Base License: 1716

ASA 5555-X

:

Base License: 500

:

Base License: 2516

ASA 5585-X

:

Base and Security Plus License: 1024

Interface Speed for SSP-10 and SSP-20:

Base License—1-Gigabit Ethernet for fiber interfaces

10 GE I/O License (Security Plus)—10-Gigabit Ethernet for fiber interfaces

(SSP-40 and SSP-60 support 10-Gigabit Ethernet by default.)

:

Base and Security Plus License: 4612

1.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

1.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

2.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

2.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

Model

License Requirement

ASASM

VLANs:

Base License: 1000

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

- For the ASA 5512-X and higher in multiple context mode, configure the physical interfaces in the system execution space according to Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)” Then, configure the logical interface parameters in the context execution space according to this chapter. For the ASASM in multiple context mode, configure switch ports and VLANs on the switch, and then assign VLANs to the ASASM according to Chapter2, “Switch Configuration for the ASA Services Module”

The ASA 5505 and ASAv do not support multiple context mode.

- You can only configure context interfaces that you already assigned to the context in the system configuration using the allocate-interface command.

Firewall Mode Guidelines

- You can configure up to 8 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.

Note Although you can configure multiple bridge groups on the ASA 5505, the restriction of 2 data interfaces in transparent mode on the ASA 5505 means you can only effectively use 1 bridge group.

- Each bridge group can include up to 4 interfaces.

- For IPv4, a management IP address is required for each bridge group for both management traffic and for traffic to pass through the ASA.

Unlike routed mode, which requires an IP address for each interface, a transparent firewall has an IP address assigned to the entire bridge group. The ASA uses this IP address as the source address for packets originating on the ASA, such as system messages or AAA communications. In addition to the bridge group management address, you can optionally configure a management interface for some models; see Management Interface for more information.

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. See Configuring Bridge Groups for more information about management IP subnets.

- For IPv6, at a minimum you need to configure link-local addresses for each interface for through traffic. For full functionality, including the ability to manage the ASA, you need to configure a global IPv6 address for each bridge group.

- For multiple context mode, each context must use different interfaces; you cannot share an interface across contexts.

- For multiple context 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 Guidelines

Do not finish configuring failover interfaces with the procedures in this chapter. See “Failover,” to configure the failover and state links. In multiple context mode, failover interfaces are configured in the system configuration.

IPv6 Guidelines

- Supports IPv6.

- No support for IPv6 anycast addresses in transparent mode.

VLAN ID Guidelines for the ASASM

command.

command for more information about interface states.

Default Settings

This section lists default settings for interfaces if you do not have a factory default configuration. For information about the factory default configurations, see Factory Default Configurations.

Default Security Level

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.

Default State of Interfaces for the ASASM

- In single mode or in the system execution space, VLAN interfaces are enabled by default.

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

Jumbo Frame Support

By default, the ASASM supports jumbo frames. Just configure the MTU for the desired packet size according to the Configuring the MAC Address, MTU, and TCP MSS.

Completing Interface Configuration in Transparent Mode

This section includes the following topics:

- Task Flow for Completing Interface Configuration

- Configuring Bridge Groups

- Configuring General Interface Parameters

- Configuring a Management Interface (ASA 5512-X and Higher and ASAv)

- Configuring the MAC Address, MTU, and TCP MSS

- Configuring IPv6 Addressing

- Allowing Same Security Level Communication

Task Flow for Completing Interface Configuration

Step 1 Set up your interfaces depending on your model:

- ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

- ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

- ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

- ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

Step 2 (Multiple context mode) Allocate interfaces to the context according to the Configuring Multiple Contexts.

command to change to the context you want to configure.

Step 4 Configure one or more bridge groups, including the IPv4 address. See Configuring Bridge Groups.

Step 5 Configure general interface parameters, including the bridge group it belongs to, the interface name, and security level. See Configuring General Interface Parameters.

Step 6 (Optional; not supported for the ASA 5505) Configure a management interface. See Configuring a Management Interface (ASA 5512-X and Higher and ASAv).

Step 7 (Optional) Configure the MAC address and the MTU. See Configuring the MAC Address, MTU, and TCP MSS.

Step 8 (Optional) Configure IPv6 addressing. See Configuring IPv6 Addressing.

Step 9 (Optional) Allow same security level communication, either by allowing communication between two interfaces or by allowing traffic to enter and exit the same interface. See Allowing Same Security Level Communication.

Configuring Bridge Groups

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 IPv4 traffic, the management IP address is required to pass any traffic. For IPv6 traffic, you must, at a minimum, configure the link-local addresses to pass traffic, but a global management address is recommended for full functionality, including remote management and other management operations.

Guidelines and Limitations

You can configure up to 8 bridge groups in single mode or per context in multiple mode. Note that you must use at least one bridge group; data interfaces must belong to a bridge group.

Note For a separate management interface (for supported models), a non-configurable bridge group (ID 101) is automatically added to your configuration. This bridge group is not included in the bridge group limit.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# interface bvi 1

is an integer between 1 and 100.

Step 2

]

ciscoasa(config-if)# ip address 10.1.3.1 255.255.255.0 standby 10.1.3.2

Specifies the management IP address for the bridge group.

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 ASA does not support traffic on secondary networks; only traffic on the same network as the management IP address is supported.

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

What to Do Next

Configure general interface parameters. See Configuring General Interface Parameters.

Configuring General Interface Parameters

This procedure describes how to set the name, security level, and bridge group for each transparent interface.

To configure a separate management interface, see Configuring a Management Interface (ASA 5512-X and Higher and ASAv).

For the ASA 5512-X and higher and the ASAv, you must configure interface parameters for the following interface types:

- Physical interfaces

- VLAN subinterfaces

- Redundant interfaces

- EtherChannel interfaces

For the ASA 5505 and the ASASM, you must configure interface parameters for the following interface types:

- VLAN interfaces

Guidelines and Limitations

- You can configure up to four interfaces per bridge group.

- For information about security levels, see Security Levels.

- If you are using failover, do not use this procedure to name interfaces that you are reserving for failover and Stateful Failover communications. See “Failover,” to configure the failover and state links.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

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

Detailed Steps

Command

Purpose

Step 1

For the ASA 5512-X and higher and the ASAv:

}

For the ASA 5505:

}

ciscoasa(config)# interface vlan 100

If you are not already in interface configuration mode, enters interface configuration mode.

.

.

See Enabling the Physical Interface and Configuring Ethernet Parameters section for a description of the physical interface ID. Do not use this procedure for Management interfaces; see Configuring a Management Interface (ASA 5512-X and Higher and ASAv) to configure the Management interface.

ID to the physical or redundant interface ID separated by a period (.).

command.

Step 2

ciscoasa(config-if)# bridge-group 1

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

ciscoasa(config-if)# nameif inside

Names the interface.

form, because that command causes all commands that refer to that name to be deleted.

Step 4

ciscoasa(config-if)# security-level 50

is an integer between 0 (lowest) and 100 (highest).

What to Do Next

- (Optional) Configure a management interface. see Configuring a Management Interface (ASA 5512-X and Higher and ASAv).

- (Optional) Configure the MAC address and the MTU. see Configuring the MAC Address, MTU, and TCP MSS.

- (Optional) Configure IPv6 addressing. see Configuring IPv6 Addressing.

Configuring a Management Interface (ASA 5512-X and Higher and ASAv)

You can configure one management interface separate from the bridge group interfaces in single mode or per context. For more information, see Management Interface.

Restrictions

- See Management Interface.

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

- 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 ASA 5505.)

- In multiple context mode, you cannot share any interfaces, including the Management interface, across contexts. To provide management per context, you can create subinterfaces of the Management interface and allocate a Management subinterface to each context. Note that the ASA 5512-X through ASA 5555-X do not allow subinterfaces on the Management interface, so for per-context management, you must connect to a data interface.

Prerequisites

- Complete the procedures in Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

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

Detailed Steps

Command

Purpose

Step 1

}

ciscoasa(config)# interface management 0/0.1

If you are not already in interface configuration mode, enters interface configuration mode for the management interface.

. The EtherChannel interface must have only Management member interfaces.

interfaces as members. You also cannot set a redundant interface comprised of non-Management interfaces as management-only.

command.

Step 2

ciscoasa(config-if)# nameif management

Names the interface.

form, because that command causes all commands that refer to that name to be deleted.

Step 3

Do one of the following:

]

ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2

Sets the IP address manually.

Note For use with failover, you must set the IP address and standby address manually; DHCP is not supported.
arguments set the interface IP address and subnet mask.

argument is used for failover. see Configuring Active/Standby Failover or the Configuring Active/Active Failover for more information.

]

ciscoasa(config-if)# ip address dhcp

Obtains an IP address from a DHCP server.

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.

command, some DHCP requests might not be sent.

Step 4

ciscoasa(config-if)# security-level 50

is an integer between 0 (lowest) and 100 (highest).

What to Do Next

- (Optional) Configure the MAC address and the MTU. see Configuring the MAC Address, MTU, and TCP MSS.

- (Optional) Configure IPv6 addressing. see Configuring IPv6 Addressing.

Configuring the MAC Address, MTU, and TCP MSS

This section describes how to configure MAC addresses for interfaces, how to set the MTU, and set the TCP MSS.

Information About 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 the ASASM, all VLANs use the same MAC address provided by the backplane.

A redundant interface uses the MAC address of the first physical interface that you add. If you change the order of the member interfaces in the configuration, then the MAC address changes to match the MAC address of the interface that is now listed first. If you assign a MAC address to the redundant interface using this command, then it is used regardless of the member interface MAC addresses.

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. see How the ASA Classifies Packets for more information. You can assign each MAC address manually, or you can automatically generate MAC addresses for shared interfaces in contexts. see Automatically Assigning MAC Addresses to Context Interfaces to automatically generate MAC addresses. 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.

Information About the MTU and TCP MSS

See Controlling Fragmentation with the Maximum Transmission Unit and TCP Maximum Segment Size.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

- 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 on supported models according to Enabling Jumbo Frame Support. Jumbo frames are supported by default on the ASASM; you do not need to enable them.

Detailed Steps

Command

Purpose

Step 1

For the ASA 5512-X and higher and the ASAv:

}

For the ASA 5505 or ASASM:

}

ciscoasa(config)# interface vlan 100

If you are not already in interface configuration mode, enters interface configuration mode.

.

.

see Enabling the Physical Interface and Configuring Ethernet Parameters section for a description of the physical interface ID.

ID to the physical or redundant interface ID separated by a period (.).

command.

Step 2

]

ciscoasa(config-if)# mac-address 000C.F142.4CDE

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.

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.

Step 3

ciscoasa(config)# mtu inside 9200

Sets the MTU between 300 and 9198 bytes (9000 for the ASAv). The default is 1500 bytes.

Note When you set the MTU for a redundant or port-channel interface, the ASA applies the setting to all member interfaces.
For models that support jumbo frames, if you enter a value for any interface that is greater than 1500, then you need to enable jumbo frame support. See Enabling Jumbo Frame Support.

Step 4

ciscoasa(config)# sysopt connection tcpmss 8500

ciscoasa(config)# sysopt connection tcpmss minimum 1290

.

, between 48 and 65535. The minimum feature is disabled by default (set to 0).

What to Do Next

(Optional) Configure IPv6 addressing. see Configuring IPv6 Addressing.

Configuring IPv6 Addressing

This section describes how to configure IPv6 addressing.

- Information About IPv6

- Configuring a Global IPv6 Address

- Configuring IPv6 Neighbor Discovery

Information About IPv6

This section includes information about how to configure IPv6, and includes the following topics:

- IPv6 Addressing

- Modified EUI-64 Interface IDs

- Unsupported Commands

IPv6 Addressing

You can configure two types of unicast addresses for IPv6:

- Global—The global address is a public address that you can use on the public network. 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-local—The 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 configuration or for the ND functions such as address resolution and neighbor discovery. 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 addresses is automatically configured on each 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.

Modified EUI-64 Interface IDs

RFC 3513: Internet Protocol Version 6 (IPv6) Addressing Architecture requires that the interface identifier portion of all unicast IPv6 addresses, except those that start with binary value 000, be 64 bits long and be constructed in Modified EUI-64 format. The ASA can enforce this requirement for hosts attached to the local link.

When this feature is enabled on an interface, the source addresses of IPv6 packets received on that interface are verified against the source MAC addresses to ensure that the interface identifiers use the Modified EUI-64 format. If the IPv6 packets do not use the Modified EUI-64 format for the interface identifier, the packets are dropped and the following system log message is generated:

%ASA-3-325003: EUI-64 source address check failed.

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.

Unsupported Commands

The following IPv6 commands are not supported in transparent firewall mode, because they require router capabilities:

- ipv6 address autoconfig

- ipv6 nd prefix

- ipv6 nd ra-interval

- ipv6 nd ra-lifetime

- ipv6 nd suppress-ra

Configuring a Global IPv6 Address

To configure a global IPv6 address for a bridge group or management interface, perform the following steps.

Note Configuring the global address automatically configures the link-local address, so you do not need to configure it separately.

Restrictions

The ASA does not support IPv6 anycast addresses.

Prerequisites

- Set up your interfaces depending on your model:

– ASA 5512-X and higher—Chapter10, “Basic Interface Configuration (ASA 5512-X and Higher)”

– ASA 5505—Chapter11, “Basic Interface Configuration (ASA 5505)”

– ASASM—Chapter2, “Switch Configuration for the ASA Services Module”

– ASAv—Chapter12, “Basic Interface Configuration (ASAv)”

- In multiple context mode, you can only configure context interfaces that you already assigned to the context in the system configuration according to Configuring Multiple Contexts.

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

Detailed Steps

Command

Purpose

Step 1

For the bridge group:

For the management interface:

ciscoasa(config)# interface bvi 1

If you are not already in interface configuration mode, enters interface configuration mode.

Step 2

]

ciscoasa(config-if)# ipv6 address 2001:0DB8::BA98:0:3210/48

Assigns a global address to the interface. When you assign a global address, the link-local address is automatically created for the interface (for a bridge group, for each member interface).

specifies the interface address used by the secondary unit or failover group in a failover pair.
keyword to use the Modified EUI-64 interface ID for the interface ID is not supported in transparent mode.

Step 3

(Optional)

ipv6 enforce-eui64 if_name

ciscoasa(config)# ipv6 enforce-eui64 inside

Enforces the use of Modified EUI-64 format interface identifiers in IPv6 addresses on a local link.

command, on which you are enabling the address format enforcement.

See Modified EUI-64 Interface IDs for more information.

Configuring IPv6 Neighbor Discovery

See “IPv6 Neighbor Discovery,” to configure IPv6 neighbor discovery.

Allowing Same Security Level Communication

By default, interfaces on the same security level cannot communicate with each other, and packets cannot enter and exit the same interface. This section describes how to enable inter-interface communication when interfaces are on the same security level.

Information About Inter-Interface Communication

Allowing interfaces on the same security level to communicate with each other is useful if 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.

Detailed Steps

Command

Purpose

Enables interfaces on the same security level so that they can communicate with each other.

Turning Off and Turning On Interfaces

This section describes how to turn off and on an interface.

All interfaces are enabled by default. In multiple context mode, if you disable or reenable the interface within a context, only that context interface is affected. But if you disable or reenable the interface in the system execution space, then you affect that interface for all contexts.

Detailed Steps

Command

Purpose

Step 1

}

ciscoasa(config)# interface vlan 100

If you are not already in interface configuration mode, enters interface configuration mode.

command.

Step 2

shutdown

Disables the interface.

Step 3

no shutdown

Reenables the interface.

Monitoring Interfaces

To monitor interfaces, enter one of the following commands:

Command

Purpose

Displays interface statistics.

show interface ip brief

Displays interface IP addresses and status.

show bridge-group

Shows bridge group information.

Configuration Examples for Interfaces in Transparent Mode

The following example includes two bridge groups of three interfaces each, plus a management-only interface:

interface gigabitethernet 0/0

nameif inside1

security-level 100

bridge-group 1

no shutdown

interface gigabitethernet 0/1

nameif outside1

security-level 0

bridge-group 1

no shutdown

interface gigabitethernet 0/2

nameif dmz1

security-level 50

bridge-group 1

no shutdown

interface bvi 1

ip address 10.1.3.1 255.255.255.0 standby 10.1.3.2

interface gigabitethernet 1/0

nameif inside2

security-level 100

bridge-group 2

no shutdown

interface gigabitethernet 1/1

nameif outside2

security-level 0

bridge-group 2

no shutdown

interface gigabitethernet 1/2

nameif dmz2

security-level 50

bridge-group 2

no shutdown

interface bvi 2

ip address 10.3.5.8 255.255.255.0 standby 10.3.5.9

interface management 0/0

nameif mgmt

security-level 100

ip address 10.2.1.1 255.255.255.0 standby 10.2.1.2

no shutdown

Feature History for Interfaces in Transparent Mode

lists each feature change and the platform release in which it was implemented.

Table 14-1 Feature History for Interfaces in Transparent Mode

Feature Name

Platform Releases

Feature Information

Increased VLANs

7.0(5)

Increased the following limits:

- ASA5510 Base license VLANs from 0 to 10.

- ASA5510 Security Plus license VLANs from 10 to 25.

- ASA5520 VLANs from 25 to 100.

- ASA5540 VLANs from 100 to 200.

Increased VLANs

7.2(2)

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).

Gigabit Ethernet Support for the ASA 5510 Security Plus License

7.2(3)

command to see what speed is currently configured for each interface.

Native VLAN support for the ASA 5505

7.2(4)/8.0(4)

You can now include the native VLAN in an ASA 5505 trunk port.

.

Jumbo packet support for the ASA 5580

8.1(1)

The Cisco ASA 5580 supports jumbo frames. A jumbo frame is an Ethernet packet larger than the standard maximum of 1518 bytes (including Layer 2 header and FCS), up to 9216 bytes. You can enable support for jumbo frames for all interfaces by increasing the amount of memory to process Ethernet frames. Assigning more memory for jumbo frames might limit the maximum use of other features, such as ACLs.

.

Increased VLANs for the ASA 5580

8.1(2)

The number of VLANs supported on the ASA 5580 are increased from 100 to 250.

IPv6 support for transparent mode

8.2(1)

IPv6 support was introduced for transparent firewall mode.

Support for Pause Frames for Flow Control on the ASA 5580 10-Gigabit Ethernet Interfaces

8.2(2)

You can now enable pause (XOFF) frames for flow control.

.

Bridge groups for transparent mode

8.4(1)

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. You can configure up to eight bridge groups of four interfaces each in single mode or per context.

.

Transparent or Routed Firewall Mode

This chapter describes how to set the firewall mode to routed or transparent, as well as how the firewall works in each firewall mode. This chapter also includes information about customizing the transparent firewall operation.

You can set the firewall mode independently for each context in multiple context mode.

- Information About the Firewall Mode

- Licensing Requirements for the Firewall Mode

- Default Settings

- Guidelines and Limitations

- Setting the Firewall Mode

- Configuring ARP Inspection for the Transparent Firewall

- Customizing the MAC Address Table for the Transparent Firewall

- Monitoring the Transparent Firewall

- Firewall Mode Examples

- Feature History for the Firewall Mode

Information About the Firewall Mode

- Information About Routed Firewall Mode

- Information About Transparent Firewall Mode

Information About Routed Firewall Mode

In routed mode, the ASA is considered to be a router hop in the network. Routed mode supports many interfaces. Each interface is on a different subnet. You can share interfaces between contexts.

The ASA acts as a router between connected networks, and each interface requires an IP address on a different subnet. The ASA supports multiple dynamic routing protocols. However, we recommend using the advanced routing capabilities of the upstream and downstream routers instead of relying on the ASA for extensive routing needs.

Information About Transparent Firewall Mode

Traditionally, a firewall is a routed hop and acts as a default gateway for hosts that connect to one of its screened subnets. A transparent firewall, on the other hand, 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.

- Using the Transparent Firewall in Your Network

- Bridge Groups

- Management Interface (ASA 5512-X and Higher)

- Allowing Layer 3 Traffic

- Allowed MAC Addresses

- Passing Traffic Not Allowed in Routed Mode

- BPDU Handling

- MAC Address vs. Route Lookups

- ARP Inspection

- MAC Address Table

Using the Transparent Firewall in Your Network

The ASA connects the same network between its interfaces. Because the firewall is not a routed hop, you can easily introduce a transparent firewall into an existing network.

Figure 6-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 6-1 Transparent Firewall Network

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.

Figure 6-2 shows two networks connected to the ASA, which has two bridge groups.

Figure 6-2 Transparent Firewall Network with Two Bridge Groups

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 (ASA 5512-X and Higher).

The ASA does not support traffic on secondary networks; only traffic on the same network as the management IP address is supported.

Management Interface (ASA 5512-X and Higher)

interface that is not part of any bridge group, and that allows only management traffic to the ASA. For more information, see Management Interface.

Allowing Layer 3 Traffic

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

- For Layer 3 traffic travelling 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.

Allowed MAC Addresses

The following destination MAC addresses are allowed through the transparent firewall. Any MAC address not on this list is dropped.

- TRUE broadcast destination MAC address equal to FFFF.FFFF.FFFF

- IPv4 multicast MAC addresses from 0100.5E00.0000 to 0100.5EFE.FFFF

- IPv6 multicast MAC addresses from 3333.0000.0000 to 3333.FFFF.FFFF

- BPDU multicast address equal to 0100.0CCC.CCCD

- AppleTalk multicast MAC addresses from 0900.0700.0000 to 0900.07FF.FFFF

Passing Traffic Not Allowed in Routed Mode

In routed mode, some types of traffic cannot pass through the ASA even if you allow it in an ACL. The transparent firewall, however, can allow almost any traffic through using either an extended ACL (for IP traffic) or an EtherType ACL (for non-IP traffic).

Non-IP traffic (for example AppleTalk, IPX, BPDUs, and MPLS) can be configured to go through using an EtherType ACL.

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.

Passing Traffic For Routed-Mode Features

For features that are not directly supported on the transparent firewall, you can allow traffic to pass through so that upstream and downstream routers can support the functionality. For example, by using an extended ACL, you can allow DHCP traffic (instead of the unsupported DHCP relay feature) or multicast traffic such as that created by IP/TV. You can also establish routing protocol adjacencies through a transparent firewall; you can allow OSPF, RIP, EIGRP, or BGP traffic through based on an extended ACL. Likewise, protocols like HSRP or VRRP can pass through the ASA.

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 more information.

MAC Address vs. Route Lookups

When the ASA runs in transparent mode, the outgoing interface of a packet is determined by performing a MAC address lookup instead of a route lookup.

Route lookups, however, are necessary for the following traffic types:

- Traffic originating on the ASA—For 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 enabled—The 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 ASA—For 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. 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.

MAC Address Table

The ASA learns and builds a MAC address table in a similar way as a normal bridge or switch: when a device sends a packet through the ASA, the ASA adds the MAC address to its table. The table associates the MAC address with the source interface so that the ASA knows to send any packets addressed to the device out the correct interface.

MAC address table, which maintains the MAC address-to-VLAN interface mapping for traffic that passes between VLANs.

Because the ASA is a firewall, if the destination MAC address of a packet is not in the table, the ASA does not flood the original packet on all interfaces as a normal bridge does. Instead, it generates the following packets for directly connected devices or for remote devices:

- Packets for directly connected devices—The 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 devices—The ASA generates a ping to the destination IP address so that the ASA can learn which interface receives the ping reply.

The original packet is dropped.

Licensing Requirements for the Firewall Mode

The following table shows the licensing requirements for this feature.

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Default Settings

The default mode is routed mode.

Transparent Mode Defaults

- By default, all ARP packets are allowed through the ASA.

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

Guidelines and Limitations

Context Mode Guidelines

Set the firewall mode per context.

Transparent Firewall Guidelines

- 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 Cisco 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 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.

- Each directly-connected network must be on the same subnet.

- 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 and Limitations 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 Setting the Firewall Mode 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 Configuring the Images and Startup Configuration to Use for information about downloading text files.

Unsupported Features in Transparent Mode

lists the features are not supported in transparent mode.

Table 6-1 Unsupported Features in Transparent Mode

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.

Dynamic routing protocols

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

You can allow multicast traffic through the ASA by allowing it in an extended ACL.

QoS

—

VPN termination for through traffic

The transparent firewall supports site-to-site VPN tunnels for management connections only. It does not terminate VPN connections for traffic through the ASA. You can pass VPN traffic through the ASA using an extended ACL, but it does not terminate non-management connections. Clientless SSL VPN is also not supported.

Unified Communications

—

Setting the Firewall Mode

Note 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 and Limitations 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 Backing Up Configurations or Other Files.

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

- Set the mode within the context.

Detailed Steps

Note To set the firewall mode to transparent and also configure ASDM management access after the configuration is cleared, see Customizing ASDM Access (ASA 5505) or Customizing ASDM Access (ASA 5512-X and Higher, ASAv).

Command

Purpose

ciscoasa(config)# firewall transparent

command.

Note You are not prompted to confirm the firewall mode change; the change occurs immediately.

Configuring ARP Inspection for the Transparent Firewall

This section describes how to configure ARP inspection and includes the following topics:

- Task Flow for Configuring ARP Inspection

- Adding a Static ARP Entry

- Enabling ARP Inspection

Task Flow for Configuring ARP Inspection

To configure ARP Inspection, perform the following steps:

Step 1 Add static ARP entries according to the Adding a Static ARP Entry. ARP inspection compares ARP packets with static ARP entries in the ARP table, so static ARP entries are required for this feature.

Step 2 Enable ARP inspection according to the Enabling ARP Inspection.

Adding a Static ARP Entry

ARP inspection compares ARP packets with static ARP entries in the ARP table. Although hosts identify a packet destination by an IP address, the actual delivery of the packet on Ethernet relies on the Ethernet MAC address. When a router or host wants to deliver a packet on a directly connected network, it sends an ARP request asking for the MAC address associated with the IP address, and then delivers the packet to the MAC address according to the ARP response. The host or router keeps an ARP table so it does not have to send ARP requests for every packet it needs to deliver. The ARP table is dynamically updated whenever ARP responses are sent on the network, and if an entry is not used for a period of time, it times out. If an entry is incorrect (for example, the MAC address changes for a given IP address), the entry times out before it can be updated.

Note The transparent firewall uses dynamic ARP entries in the ARP table for traffic to and from the ASA, such as management traffic.

Detailed Steps

Command

Purpose

ciscoasa(config)# arp outside 10.1.1.1 0009.7cbe.2100

Adds a static ARP entry.

Examples

For example, to allow ARP responses from the router at 10.1.1.1 with the MAC address 0009.7cbe.2100 on the outside interface, enter the following command:

ciscoasa(config)# arp outside 10.1.1.1 0009.7cbe.2100

What to Do Next

Enable ARP inspection according to the Enabling ARP Inspection.

Enabling ARP Inspection

This section describes how to enable ARP inspection.

Detailed Steps

Command

Purpose

]

ciscoasa(config)# arp-inspection outside enable no-flood

Enables ARP inspection.

drops non-matching packets.
.

Examples

For example, to enable ARP inspection on the outside interface, and to drop all non-matching ARP packets, enter the following command:

ciscoasa(config)# arp-inspection outside enable no-flood

Customizing the MAC Address Table for the Transparent Firewall

This section describes how you can customize the MAC address table and includes the following sections:

- Adding a Static MAC Address

- Setting the MAC Address Timeout

- Disabling MAC Address Learning

Adding a Static MAC Address

Normally, MAC addresses are added to the MAC address table dynamically as traffic from a particular MAC address enters an interface. You can add static MAC addresses to the MAC address table if desired. One benefit to adding static entries is to guard against MAC spoofing. If a client with the same MAC address as a static entry attempts to send traffic to an interface that does not match the static entry, then the ASA drops the traffic and generates a system message. When you add a static ARP entry (see Adding a Static ARP Entry), a static MAC address entry is automatically added to the MAC address table.

To add a static MAC address to the MAC address table, enter the following command:

Command

Purpose

ciscoasa(config)# mac-address-table static inside 0009.7cbe.2100

Adds a static MAC address entry.

is the source interface.

Setting the MAC Address Timeout

The default timeout value for dynamic MAC address table entries is 5 minutes, but you can change the timeout. To change the timeout, enter the following command:

Command

Purpose

ciscoasa(config)# mac-address-table aging-time 10

Sets the MAC address entry timeout.

(in minutes) is between 5 and 720 (12 hours). 5 minutes is the default.

Disabling MAC Address Learning

By default, each interface automatically learns the MAC addresses of entering traffic, and the ASA adds corresponding entries to the MAC address table. You can disable MAC address learning if desired, however, unless you statically add MAC addresses to the table, no traffic can pass through the ASA.

To disable MAC address learning, enter the following command:

Command

Purpose

ciscoasa(config)# mac-learn inside disable

Disables MAC address learning.

command reenables MAC address learning on all interfaces.

Monitoring the Transparent Firewall

- Monitoring ARP Inspection

- Monitoring the MAC Address Table

Monitoring ARP Inspection

To monitor ARP inspection, perform the following task:

Command

Purpose

show arp-inspection

Shows the current settings for ARP inspection on all interfaces.

Monitoring 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. To view the MAC address table, enter the following command:

Command

Purpose

show mac-address-table [ interface_name ]

Shows the MAC address table.

Examples

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

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

Firewall Mode Examples

This section includes examples of how traffic moves through the ASA and includes the following topics:

- How Data Moves Through the ASA in Routed Firewall Mode

- How Data Moves Through the Transparent Firewall

How Data Moves Through the ASA in Routed Firewall Mode

This section describes how data moves through the ASA in routed firewall mode and includes the following topics:

- An Inside User Visits a Web Server

- An Outside User Visits a Web Server on the DMZ

- An Inside User Visits a Web Server on the DMZ

- An Outside User Attempts to Access an Inside Host

- A DMZ User Attempts to Access an Inside Host

An Inside User Visits a Web Server

Figure 6-3 shows an inside user accessing an outside web server.

Figure 6-3 Inside to Outside

The following steps describe how data moves through the ASA (see Figure 6-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. The ASA forwards the packet to the inside user.

An Outside User Visits a Web Server on the DMZ

Figure 6-4 shows an outside user accessing the DMZ web server.

Figure 6-4 Outside to DMZ

The following steps describe how data moves through the ASA (see Figure 6-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. The ASA forwards the packet to the outside user.

An Inside User Visits a Web Server on the DMZ

Figure 6-5 shows an inside user accessing the DMZ web server.

Figure 6-5 Inside to DMZ

The following steps describe how data moves through the ASA (see Figure 6-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. The ASA forwards the packet to the inside user.

An Outside User Attempts to Access an Inside Host

Figure 6-6 shows an outside user attempting to access the inside network.

Figure 6-6 Outside to Inside

The following steps describe how data moves through the ASA (see Figure 6-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.

A DMZ User Attempts to Access an Inside Host

Figure 6-7 shows a user in the DMZ attempting to access the inside network.

Figure 6-7 DMZ to Inside

The following steps describe how data moves through the ASA (see Figure 6-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.

How Data Moves Through the Transparent Firewall

Figure 6-8 shows a typical transparent firewall implementation with an inside network that contains a public web server. The ASA has an access list so that the inside users can access Internet resources. Another access list lets the outside users access only the web server on the inside network.

Figure 6-8 Typical Transparent Firewall Data Path

This section describes how data moves through the ASA and includes the following topics:

- An Inside User Visits a Web Server

- An Inside User Visits a Web Server Using NAT

- An Outside User Visits a Web Server on the Inside Network

- An Outside User Attempts to Access an Inside Host

An Inside User Visits a Web Server

Figure 6-9 shows an inside user accessing an outside web server.

Figure 6-9 Inside to Outside

The following steps describe how data moves through the ASA (see Figure 6-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. The ASA records that a session is established.

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. The ASA forwards the packet to the inside user.

An Inside User Visits a Web Server Using NAT

Figure 6-10 shows an inside user accessing an outside web server.

Figure 6-10 Inside to Outside with NAT

The following steps describe how data moves through the ASA (see Figure 6-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.

An Outside User Visits a Web Server on the Inside Network

Figure 6-11 shows an outside user accessing the inside web server.

Figure 6-11 Outside to Inside

The following steps describe how data moves through the ASA (see Figure 6-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. The ASA records that a session is established.

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. The ASA forwards the packet to the outside user.

An Outside User Attempts to Access an Inside Host

Figure 6-12 shows an outside user attempting to access a host on the inside network.

Figure 6-12 Outside to Inside

The following steps describe how data moves through the ASA (see Figure 6-12):

1. A user on the outside network attempts to reach an inside host.

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.

Feature History for the Firewall Mode

lists each feature change and the platform release in which it was implemented.

Table 6-2 Feature History for Firewall Mode

Feature Name

Platform Releases

Feature Information

Transparent Firewall Mode

7.0(1)

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.

.

ARP inspection

7.0(1)

ARP inspection compares the MAC address, IP address, and source interface in all ARP packets to static entries in the ARP table.

.

MAC address table

7.0(1)

Transparent firewall mode uses a MAC address table.

.

Transparent firewall bridge groups

8.4(1)

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. You can configure up to 8 bridge groups in single mode or per context in multiple mode, with 4 interfaces maximum per bridge group.

Note Although you can configure multiple bridge groups on the ASA 5505, the restriction of 2 data interfaces in transparent mode on the ASA 5505 means you can only effectively use 1 bridge group.
.

ARP cache additions for non-connected subnets

8.4(5)/9.1(2)

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.

- Proxy ARP on adjacent routes for traffic forwarding.

.

Mixed firewall mode support in multiple context mode

8.5(1)/9.0(1)

You can set the firewall mode independently for each security context in multiple context mode, so some can run in transparent mode while others run in routed mode.

.

Feature Licenses

A license specifies the options that are enabled on a given ASA. This document describes how to obtain a license activation key and how to activate it. It also describes the available licenses for each model.

Note This chapter describes licensing for Version 9.2; for other versions, see the licensing documentation that applies to your version:

http://www.cisco.com/c/en/us/support/security/asa-5500-series-next-generation-firewalls/products-licensing-information-listing.html

This chapter includes the following sections:

- Supported Feature Licenses Per Model

- Information About Feature Licenses

- Guidelines and Limitations

- Configuring Licenses

- Monitoring Licenses

- Feature History for Licensing

Supported Feature Licenses Per Model

This section describes the licenses available for each model as well as important notes about licenses. This section includes the following topics:

- Licenses Per Model

- License Notes

- VPN License and Feature Compatibility

Licenses Per Model

This section lists the feature licenses available for each model:

- ASA 5505

- ASA 5512-X

- ASA 5515-X

- ASA 5525-X

- ASA 5545-X

- ASA 5555-X

- ASA 5585-X with SSP-10

- ASA 5585-X with SSP-20

- ASA 5585-X with SSP-40 and -60

- ASA Services Module

- ASAv with 1 Virtual CPU

- ASAv with 4 Virtual CPUs

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 the No Payload Encryption Models for a list of unsupported features.

For detailed information about licenses, see License Notes.

ASA 5505

Table 5-1 ASA 5505 License Features

Licenses

Base License

Security Plus License

Firewall Licenses

Botnet Traffic Filter

Disabled

Disabled

Firewall Conns, Concurrent

10,000

25,000

GTP/GPRS

No support

No support

Intercompany Media Eng.

Disabled

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

Disabled

AnyConnect for Cisco VPN Phone

Disabled

Disabled

AnyConnect Essentials

Disabled

Disabled

AnyConnect for Mobile

Disabled

Disabled

AnyConnect Premium (sessions)

2

2

25

25

Other VPN (sessions)

10

25

Total VPN (sessions), combined all types

up to 251

up to 25

VPN Load Balancing

No support

No support

General Licenses

Encryption

Base (DES)

Base (DES)

Failover

No support

Active/Standby (no stateful failover)

Security Contexts

No support

No support

Clustering

No support

No support

Inside Hosts, concurrent2

103

VLANs, maximum

Transparent mode: 2

Transparent mode: 3 (2 regular and 1 failover)

VLAN Trunks, maximum

No support

8 trunks

1.The total number of VPN sessions depends on your licenses. If you enable AnyConnect Essentials, then the total is the model maximum of 25. If you enable AnyConnect Premium, then the total is the AnyConnect Premium value plus the Other VPN value, not to exceed 25 sessions.

1.The total number of VPN sessions depends on your licenses. If you enable AnyConnect Essentials, then the total is the model maximum of 25. If you enable AnyConnect Premium, then the total is the AnyConnect Premium value plus the Other VPN value, not to exceed 25 sessions.

2.In routed mode, hosts on the inside (Business and Home VLANs) count toward the limit when they communicate with the outside (Internet VLAN), including when the inside initiates a connection to the outside as well as when the outside initiates a connection to the inside. Note that even when the outside initiates a connection to the inside, outside hosts are not counted toward the limit; only the inside hosts count. Hosts that initiate traffic between Business and Home are also not counted toward the limit. The interface associated with the default route is considered to be the outside Internet interface. If there is no default route, hosts on all interfaces are counted toward the limit. In transparent mode, the interface with the lowest number of hosts is counted toward the host limit. Use the show local-host command to view host limits.

2.In routed mode, hosts on the inside (Business and Home VLANs) count toward the limit when they communicate with the outside (Internet VLAN), including when the inside initiates a connection to the outside as well as when the outside initiates a connection to the inside. Note that even when the outside initiates a connection to the inside, outside hosts are not counted toward the limit; only the inside hosts count. Hosts that initiate traffic between Business and Home are also not counted toward the limit. The interface associated with the default route is considered to be the outside Internet interface. If there is no default route, hosts on all interfaces are counted toward the limit. In transparent mode, the interface with the lowest number of hosts is counted toward the host limit. Use the show local-host command to view host limits.

3.For a 10-user license, the max. DHCP clients is 32. For 50 users, the max. is 128. For unlimited users, the max. is 250, which is the max. for other models.

3.For a 10-user license, the max. DHCP clients is 32. For 50 users, the max. is 128. For unlimited users, the max. is 250, which is the max. for other models.

ASA 5512-X

Table 5-2 ASA 5512-X License Features

Licenses

Base License

Security Plus License

Firewall Licenses

Botnet Traffic Filter

Disabled

Disabled

Firewall Conns, Concurrent

100,000

250,000

GTP/GPRS

No support

Disabled

Intercompany Media Eng.

Disabled

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

Disabled

AnyConnect for Cisco VPN Phone

Disabled

Disabled

AnyConnect Essentials

Disabled

Disabled

AnyConnect for Mobile

Disabled

Disabled

AnyConnect Premium (sessions)

2

2

250

250

Total VPN (sessions), combined all types

250

250

Other VPN (sessions)

250

250

VPN Load Balancing

No support

Supported

General Licenses

Encryption

Base (DES)

Base (DES)

Failover

No support

Active/Standby or Active/Active

Interfaces of all types, Max.

716

916

Security Contexts

No support

2

Clustering

No Support

2

IPS Module

Disabled

Disabled

VLANs, Maximum

50

100

ASA 5515-X

Table 5-3 ASA 5515-X License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

250,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

250

Total VPN (sessions), combined all types

250

Other VPN (sessions)

250

VPN Load Balancing

Supported

General Licenses

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

916

Security Contexts

2

Clustering

2

IPS Module

Disabled

VLANs, Maximum

100

ASA 5525-X

Table 5-4 ASA 5525-X License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

500,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

750

Other VPN (sessions)

750

VPN Load Balancing

Supported

General Licenses

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

1316

Security Contexts

2

Clustering

2

IPS Module

Disabled

VLANs, Maximum

200

ASA 5545-X

Table 5-5 ASA 5545-X License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

750,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

2500

Other VPN (sessions)

2500

VPN Load Balancing

Supported

General Licenses

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

1716

Security Contexts

2

Clustering

2

IPS Module

Disabled

VLANs, Maximum

300

ASA 5555-X

Table 5-6 ASA 5555-X License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

1,000,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

5000

Other VPN (sessions)

5000

VPN Load Balancing

Supported

General Licenses

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

2516

Security Contexts

2

Clustering

2

IPS Module

Disabled

VLANs, Maximum

500

ASA 5585-X with SSP-10

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 5-7 ASA 5585-X with SSP-10 License Features

Licenses

Base and Security Plus Licenses

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

1,000,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

5000

Other VPN (sessions)

5000

VPN Load Balancing

Supported

General Licenses

10 GE I/O

: Disabled; fiber ifcs run at 1 GE

: Enabled; fiber ifcs run at 10 GE

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

4612

Security Contexts

2

Clustering

Disabled

VLANs, Maximum

1024

ASA 5585-X with SSP-20

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 5-8 ASA 5585-X with SSP-20 License Features

Licenses

Base and Security Plus Licenses

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

2,000,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

10,000

Other VPN (sessions)

10,000

VPN Load Balancing

Supported

General Licenses

10 GE I/O

: Disabled; fiber ifcs run at 1 GE

: Enabled; fiber ifcs run at 10 GE

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

4612

Security Contexts

2

Clustering

Disabled

VLANs, Maximum

1024

4.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.

4.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.

ASA 5585-X with SSP-40 and -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.

Table 5-9 ASA 5585-X with SSP-40 and -60 License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

: 4,000,000

: 10,000,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

10,000

Other VPN (sessions)

10,000

VPN Load Balancing

Supported

General Licenses

10 GE I/O

Enabled; fiber ifcs run at 10 GE

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Interfaces of all types, Max.

4612

Security Contexts

2

Clustering

Disabled

VLANs, Maximum

1024

5.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.

5.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.

ASA Services Module

Table 5-10 ASASM License Features

Licenses

Base License

Firewall Licenses

Botnet Traffic Filter

Disabled

Firewall Conns, Concurrent

10,000,000

GTP/GPRS

Disabled

Intercompany Media Eng.

Disabled

UC Phone Proxy Sessions, Total UC Proxy Sessions

2

VPN Licenses

Adv. Endpoint Assessment

Disabled

AnyConnect for Cisco VPN Phone

Disabled

AnyConnect Essentials

Disabled

AnyConnect for Mobile

Disabled

AnyConnect Premium (sessions)

2

Total VPN (sessions), combined all types

10,000

Other VPN (sessions)

10,000

VPN Load Balancing

Supported

General Licenses

Encryption

Base (DES)

Failover

Active/Standby or Active/Active

Security Contexts

2

Clustering

No support

VLANs, Maximum

1000

6.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.

6.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.

ASAv with 1 Virtual CPU

Table 5-11 ASAv with 1 vCPU License Features

Licenses

Standard and Premium Licenses

Firewall Licenses

Botnet Traffic Filter

Supported

Firewall Conns, Concurrent

100,000

GTP/GPRS

Supported

Intercompany Media Eng.

Supported

UC Phone Proxy Sessions, Total UC Proxy Sessions

250

VPN Licenses

Adv. Endpoint Assessment

: No Support

: Supported

AnyConnect Essentials

: No Support

: No Support

AnyConnect for Cisco VPN Phone

: No Support

: Supported

AnyConnect for Mobile

: No Support

: Supported

AnyConnect Premium (sessions)

: 2

: 250

Total VPN (sessions), combined all types

250

Other VPN (sessions)

250

VPN Load Balancing

Supported

General Licenses

Encryption

Strong (3DES/AES)

Failover

Active/Standby

Interfaces of all types, Max.

716

Security Contexts

No support

Clustering

No support

VLANs, Maximum

50

RAM, vCPU Frequency Limit

2 GB, 5000 MHz

ASAv with 4 Virtual CPUs

Table 5-12 ASAv with 4 vCPUs License Features

Licenses

Standard and Premium Licenses

Firewall Licenses

Botnet Traffic Filter

Supported

Firewall Conns, Concurrent

500,000

GTP/GPRS

Supported

Intercompany Media Eng.

Supported

UC Phone Proxy Sessions, Total UC Proxy Sessions

1000

VPN Licenses

Adv. Endpoint Assessment

: No Support

: Supported

AnyConnect Essentials

: No Support

: No Support

AnyConnect for Cisco VPN Phone

: No Support

: Supported

AnyConnect for Mobile

: No Support

: Supported

AnyConnect Premium (sessions)

: 2

: 750

Total VPN (sessions), combined all types

750

Other VPN (sessions)

750

VPN Load Balancing

Supported

General Licenses

Encryption

Strong (3DES/AES)

Failover

Active/Standby

Interfaces of all types, Max.

1316

Security Contexts

No support

Clustering

No support

VLANs, Maximum

200

RAM, vCPU Frequency Limit

8 GB, 20000 MHz

Note If you apply a 4 vCPU license, but choose to deploy 2 or 3 vCPUs, then see the following values:
2 Virtual CPUs—4 GB RAM, vCPU Frequency Limit of 10000 MHz, 250,000 concurrent firewall connections.

3 Virtual CPUs—4 GB RAM, vCPU Frequency Limit of 15000 MHz, 350,000 concurrent firewall connections.

License Notes

includes common footnotes shared by multiple tables in the Licenses Per Model.

Table 5-13 License Notes

License

Notes

AnyConnect Essentials

AnyConnect Essentials sessions include the following VPN types:

- SSL VPN

- IPsec remote access VPN using IKEv2

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.

pane.

See also the VPN License and Feature Compatibility.

AnyConnect for Cisco VPN Phone

In conjunction with an AnyConnect Premium license, this license enables access from hardware IP phones that have built in AnyConnect compatibility.

AnyConnect for Mobile

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.

- AnyConnect Premium License Functionality

– Enforce DAP policies on supported mobile devices based on DAP attributes and any other existing endpoint attributes. This includes allowing or denying remote access from a mobile device.

- AnyConnect Essentials License Functionality

– Enable or disable mobile device access on a per group basis and to configure that feature 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

AnyConnect Premium sessions include the following VPN types:

- SSL VPN

- Clientless SSL VPN

- IPsec remote access VPN using IKEv2

AnyConnect Premium Shared

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

Requires a Strong Encryption (3DES/AES) License to download the dynamic database.

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.

Intercompany Media Engine

command. If you also install the UC license, then the TLS proxy sessions available for UC are also available for IME sessions. For example, if the configured limit is 1000 TLS proxy sessions, and you purchase a 750-session UC license, then the first 250 IME sessions do not affect the sessions available for UC. If you need more than 250 sessions for IME, then the remaining 750 sessions of the platform limit are used on a first-come, first-served basis by UC and IME.

- For a license part number ending in “K8”, TLS proxy sessions are limited to 1000.

- For a license part number ending in “K9”, the TLS proxy limit depends on your configuration and the platform model.

Note K8 and K9 refer to whether the license is restricted for export: K8 is unrestricted, and K9 is restricted.
You might also use SRTP encryption sessions for your connections:

- For a K8 license, SRTP sessions are limited to 250.

- For a K9 license, there is no limit.

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.

Interfaces of all types, Max.

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:

and

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:

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

Other VPN

Other VPN sessions include the following VPN types:

- IPsec remote access VPN using IKEv1

- IPsec site-to-site VPN using IKEv1

- IPsec site-to-site VPN using IKEv2

This license is included in the Base license.

Total VPN (sessions), combined all types

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

UC Phone Proxy sessions, Total UC Proxy Sessions

The following applications use TLS proxy sessions for their connections. Each TLS proxy session used by these applications (and only these applications) is counted against the UC license limit:

- Phone Proxy

- Presence Federation Proxy

- Encrypted Voice Inspection

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) and IME (which requires a separate IME 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.

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.
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:

- For K8 licenses, SRTP sessions are limited to 250.

- For K9 licenses, there is not limit.

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 Virtual CPU license on the ASAv. Until you install a license, throughput is limited to 100 Kbps so that you can perform preliminary connectivity tests. A Virtual CPU 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:

VPN Load Balancing

VPN load balancing requires a Strong Encryption (3DES/AES) License.

VPN License and Feature Compatibility

shows how the VPN licenses and features can combine.

:

- Version 3.1:

http://www.cisco.com/en/US/docs/security/vpn_client/anyconnect/anyconnect31/feature/guide/anyconnect31features.html

- Version 3.0:

http://www.cisco.com/en/US/docs/security/vpn_client/anyconnect/anyconnect30/feature/guide/anyconnect30features.html

- Version 2.5:

http://www.cisco.com/en/US/docs/security/vpn_client/anyconnect/anyconnect25/feature/guide/anyconnect25features.html

Table 5-14 VPN License and Feature Compatibility

Supported with:

Enable one of the following licenses: 7

AnyConnect Essentials

AnyConnect Premium

AnyConnect for Cisco VPN Phone

AnyConnect for Mobile8

Advanced Endpoint Assessment

AnyConnect Premium Shared

Client-based SSL VPN

Browser-based (clientless) SSL VPN

IPsec VPN

VPN Load Balancing

Cisco Secure Desktop

7.You can only have one license type active, either the AnyConnect Essentials license or the AnyConnect Premium license. By default, the ASA includes an AnyConnect Premium license for 2 sessions. If you install the AnyConnect Essentials license, then it is used by default. See the webvpn, and then the no anyconnect-essentials command to enable the Premium license instead.

7.You can only have one license type active, either the AnyConnect Essentials license or the AnyConnect Premium license. By default, the ASA includes an AnyConnect Premium license for 2 sessions. If you install the AnyConnect Essentials license, then it is used by default. See the webvpn, and then the no anyconnect-essentials command to enable the Premium license instead.

8.Mobile Posture support is different for the AnyConnect Essentials vs. the AnyConnect Premium license. See Table 5-13 for details.

8.Mobile Posture support is different for the AnyConnect Essentials vs. the AnyConnect Premium license. See Table 5-13 for details.

Information About Feature Licenses

A license specifies the options that are enabled on a given ASA. It is represented by an activation key that is a 160-bit (5 32-bit words or 20 bytes) value. This value encodes the serial number (an 11 character string) and the enabled features.

This section includes the following topics:

- Preinstalled License

- Permanent License

- Time-Based Licenses

- Shared AnyConnect Premium Licenses

- Failover or ASA Cluster Licenses

- No Payload Encryption Models

- Licenses FAQ

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. See Monitoring Licenses section to determine which licenses you have installed.

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. See How Permanent and Time-Based Licenses Combine for more information about how the ASA combines the licenses.

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 buy a time-based AnyConnect Premium license to handle short-term surges in the number of concurrent SSL VPN users, or you might order a Botnet Traffic Filter time-based license that is valid for 1 year.

This section includes the following topics:

- Time-Based License Activation Guidelines

- How the Time-Based License Timer Works

- How Permanent and Time-Based Licenses Combine

- Stacking Time-Based Licenses

- Time-Based License Expiration

Time-Based License Activation Guidelines

- 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 1000-session AnyConnect Premium license, and a 2500-session AnyConnect Premium 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 AnyConnect Premium license, you cannot also activate a standalone time-based 2500-session AnyConnect Premium license.

How the Time-Based License Timer Works

- 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 continues to count down. If you intend to leave the ASA in a shut down state for an extended period of time, then you should deactivate the time-based license before you shut down.

Note We suggest you do not change the system clock after you install the time-based license. If you set the clock to be a later date, then if you reload, the ASA checks the system clock against the original installation time, and assumes that more time has passed than has actually been used. If you set the clock back, and the actual running time is greater than the time between the original installation time and the system clock, then the license immediately expires after a reload.

How Permanent and Time-Based Licenses Combine

lists the combination rules for each feature license.

Note Even when the permanent license is used, if the time-based license is active, it continues to count down.

Table 5-15 Time-Based License Combination Rules

Time-Based Feature

Combined License Rule

AnyConnect Premium Sessions

The higher value is used, either time-based or permanent. For example, if the permanent license is 1000 sessions, and the time-based license is 2500 sessions, then 2500 sessions are enabled. Typically, you will not install a time-based license that has less capability than the permanent license, but if you do so, then the permanent license is used.

Unified Communications Proxy Sessions

The time-based license sessions are added to the permanent sessions, up to the platform limit. For example, if the permanent license is 2500 sessions, and the time-based license is 1000 sessions, then 3500 sessions are enabled for as long as the time-based license is active.

Security Contexts

The time-based license contexts are added to the permanent contexts, up to the platform limit. For example, if the permanent license is 10 contexts, and the time-based license is 20 contexts, then 30 contexts are enabled for as long as the time-based license is active.

Botnet Traffic Filter

There is no permanent Botnet Traffic Filter license available; the time-based license is used.

All Others

The higher value is used, either time-based or permanent. For licenses that have a status of enabled or disabled, then the license with the enabled status is used. For licenses with numerical tiers, the higher value is used. Typically, you will not install a time-based license that has less capability than the permanent license, but if you do so, then the permanent license is used.

To view the combined license, see Monitoring Licenses.

Stacking Time-Based Licenses

time-based licenses so that you do not have to worry about the license expiring or about losing time on your licenses because you installed the new one early.

When you install an identical time-based license as one already installed, then the licenses are combined, and the duration equals the combined duration.

For example:

1. 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 AnyConnect Premium 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).

combined. Because only one time-based license per feature can be active, only one of the licenses can be active. See Activating or Deactivating Keys for more information about activating licenses.

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. See Time-Based License Expiration for more information.

Time-Based License Expiration

When the current license for a feature expires, the ASA automatically activates an installed license of the same feature if available. If there are no other time-based licenses available for the feature, then the permanent license is used.

If you have more than one additional time-based license installed for a feature, then the ASA uses the first license it finds; which license is used is not user-configurable and depends on internal operations. If you prefer to use a different time-based license than the one the ASA activated, then you must manually activate the license you prefer. See Activating or Deactivating Keys.

For example, you have a time-based 2500-session AnyConnect Premium license (active), a time-based 1000-session AnyConnect Premium license (inactive), and a permanent 500-session AnyConnect Premium license. While the 2500-session license expires, the ASA activates the 1000-session license. After the 1000-session license expires, the ASA uses the 500-session permanent license.

Shared AnyConnect Premium Licenses

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. This section describes how a shared license works and includes the following topics:

- Information About the Shared Licensing Server and Participants

- Communication Issues Between Participant and Server

- Information About the Shared Licensing Backup Server

- Failover and Shared Licenses

- Maximum Number of Participants

Information About the Shared Licensing Server and Participants

The following steps describe how shared licenses operate:

1. 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 The shared licensing backup server only needs a participant license.

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 responds with as many sessions as available.

b. The participant continues to send refresh messages requesting more sessions until the server can adequately fulfill the request.

9. When the load is reduced on a participant, it sends a message to the server to release the shared sessions.

Note The ASA uses SSL between the server and participant to encrypt all communications.

Communication Issues Between Participant and Server

See the following guidelines for communication issues between the participant and server:

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

Information About the Shared Licensing Backup Server

The shared licensing backup server must register successfully with the main shared licensing server before it can take on the backup role. When it registers, the main shared licensing server syncs server settings as well as the shared license information with the backup, including a list of registered participants and the current license usage. The main server and backup server sync the data at 10 second intervals. After the initial sync, the backup server can successfully perform backup duties, even after a reload.

When the main server goes down, the backup server takes over server operation. The backup server can operate for up to 30 continuous days, after which the backup server stops issuing sessions to participants, and existing sessions time out. Be sure to reinstate the main server within that 30-day period. Critical-level syslog messages are sent at 15 days, and again at 30 days.

When the main server comes back up, it syncs with the backup server, and then takes over server operation.

When the backup server is not active, it acts as a regular participant of the main shared licensing server.

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.

Failover and Shared Licenses

This section describes how shared licenses interact with failover and includes the following topics:

- Failover and Shared License Servers

- Failover and Shared License Participants

Failover and Shared License Servers

This section describes how the main server and backup server interact with failover. Because the shared licensing server is also performing normal duties as the ASA, including performing functions such as being a VPN gateway and firewall, then you might need to configure failover for the main and backup shared licensing servers for increased reliability.

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.

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.

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. See Information About the Shared Licensing Backup Server for more information.

Failover and Shared License Participants

For participant pairs, both units register with the shared licensing server using separate participant IDs. The active unit syncs its participant ID with the standby unit. The standby unit uses this ID to generate a transfer request when it switches to the active role. This transfer request is used to move the shared sessions from the previously active unit to the new active unit.

Maximum Number of Participants

The ASA does not limit the number of participants for the shared license; however, a very large shared network could potentially affect the performance on the licensing server. In this case, you can increase the delay between participant refreshes, or you can create two shared networks.

Failover or ASA Cluster Licenses

With some exceptions, failover and cluster units do not require the same license on each unit. For earlier versions, see the licensing document for your version.

This section includes the following topics:

- Failover License Requirements and Exceptions

- ASA Cluster License Requirements and Exceptions

- How Failover or ASA Cluster Licenses Combine

- Loss of Communication Between Failover or ASA Cluster Units

- Upgrading Failover Pairs

Failover License Requirements and Exceptions

Failover units do not require the same license on each unit.

Older versions of ASA software required that the licenses match on each unit. Starting with Version 8.3(1), you no longer need to install identical licenses. Typically, you buy a license only for the primary unit; for Active/Standby failover, the secondary unit inherits the primary license when it becomes active. If you have licenses on both units, they combine into a single running failover cluster license.

The exceptions to this rule include:

- Security Plus license for the ASA 5505 and 5512-X—The Base license does not support failover, so that you cannot enable failover on a standby unit that only has the Base license.

- Encryption license—Both units must have the same encryption license.

- IPS module license for the ASA 5512-X through ASA 5555-X—Both units require the 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 failover, because it is not an ASA license.

– 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.

- ASAv Virtual CPUs—For failover deployments, make sure that the standby unit has the same number of vCPUs assigned to it as the primary unit (along with matching vCPU licenses).

Note A valid permanent key is required; in rare instances, your authentication key can be removed. If your key consists of all 0’s, then you need to reinstall a valid authentication key before failover can be enabled.

ASA Cluster License Requirements and Exceptions

Cluster units do not require the same license on each unit. Typically, you buy a license only for the master unit; slave units inherit the master license. If you have licenses on multiple units, they combine into a single running ASA cluster license.

The exceptions to this rule include:

- Clustering license—Each unit must have a clustering license.

- Encryption license—Each unit must have the same encryption license.

How Failover or ASA Cluster Licenses Combine

For failover pairs or ASA clusters, the licenses on each unit are combined into a single running cluster license. If you buy separate licenses for each unit, then the combined license uses the following rules:

- For licenses that have numerical tiers, such as the number of sessions, the values from each unit’s 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 be combined for a total of 20 AnyConnect Premium sessions.

– You have two ASA 5525-Xs with 500 AnyConnect Premium sessions each; because the 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.

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

To view the combined license, see Monitoring Licenses.

Loss of Communication Between Failover or ASA Cluster Units

If the units lose communication for more than 30 days, then each unit reverts to the license installed locally. During the 30-day grace period, the combined running license continues to be used by all units.

If you restore communication during the 30-day grace period, then for time-based licenses, the time elapsed is subtracted from the primary/master license; if the primary/master license becomes expired, only then does the secondary/slave license start to count down.

If you do not restore communication during the 30-day period, then for time-based licenses, time is subtracted from all unit licenses, if installed. They are treated as separate licenses and do not benefit from the combined license. The time elapsed includes the 30-day grace period.

For example:

1. 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. The time-based license behavior depends on when communication is restored:

- Within 30 days—The 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 days—The 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).

Upgrading Failover Pairs

Because failover pairs do not require the same license on both units, you can apply new licenses to each unit without any downtime. If you apply a permanent license that requires a reload (see Table 5-16), then you can fail over to the other unit while you reload. If both units require reloading, then you can reload them separately so that you have no downtime.

No Payload Encryption Models

You can purchase some models with No Payload Encryption. For export to some countries, payload encryption cannot be enabled on the Cisco ASA series. The ASA software senses a No Payload Encryption model, and disables the following features:

- 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 (see Monitoring Licenses), VPN and Unified Communications licenses will not be listed.

Licenses FAQ

Q. Can I activate multiple time-based licenses, for example, AnyConnect Premium and Botnet Traffic Filter?

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?

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?

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 server as the secondary unit?

No. The secondary unit has the same running license as the primary unit; in the case of the shared 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?

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 AnyConnect Premium license?

: 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.

Guidelines and Limitations

See the following guidelines for activation keys.

Context Mode Guidelines

- In multiple context mode, apply the activation key in the system execution space.

- Shared licenses are not supported in multiple context mode.

Firewall Mode Guidelines

All license types are available in both routed and transparent mode.

Failover Guidelines

- Shared licenses are not supported in Active/Active mode. See Failover and Shared Licenses for more information.

- See Failover or ASA Cluster Licenses.

Upgrade and Downgrade Guidelines

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 earlier—After 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 new activation key compatible with the earlier version.

- Downgrading to Version 8.2 or earlier—Version 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.

Additional Guidelines and Limitations

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

Configuring Licenses

This section includes the following topics:

- Obtaining an Activation Key

- Activating or Deactivating Keys

- Configuring a Shared License

Obtaining an Activation Key

To obtain an activation key, you need a Product Authorization Key, which you can purchase from your Cisco account representative. You need to purchase a separate Product Authorization Key for each feature license. For example, if you have the Base License, you can purchase separate keys for Advanced Endpoint Assessment and for additional AnyConnect Premium sessions.

After obtaining the Product Authorization Keys, register them on Cisco.com by performing the following steps.

Detailed Steps

Step 1 Obtain the serial number for your ASA by entering the following command.

ciscoasa# show version | grep Serial

Step 2 If you are not already registered with Cisco.com, create an account.

Step 3 Go to the following licensing website:

Step 4 Enter the following information, when prompted:

- Product Authorization Key (if you have multiple keys, enter one of the keys first. You have to enter each key as a separate process.)

- The serial number of your ASA

- Your e-mail address

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.

Activating or Deactivating Keys

This section describes how to enter a new activation key, and how to activate and deactivate time-based keys.

Prerequisites

- 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. Table 5-16 lists the licenses that require reloading.

Table 5-16 Permanent License Reloading Requirements

Model

License Action Requiring Reload

All models

Downgrading the Encryption license.

ASAv

Downgrading the vCPU license.

Limitations and Restrictions

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 earlier—After 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 new activation key compatible with the earlier version.

- Downgrading to Version 8.2 or earlier—Version 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, then downgrading will disable failover. Even if the keys are matching, the license used will no longer be a combined license.

Detailed Steps

Command

Purpose

Step 1

]

ciscoasa# activation-key 0xd11b3d48 0xa80a4c0a 0x48e0fd1c 0xb0443480 0x843fc490

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.

, then the key is installed on the ASA in an inactive state. See Time-Based Licenses for more information.

Step 2

(Might be required.)

ciscoasa# reload

Reloads the ASAASA. Some permanent licenses require you to reload the ASAASA after entering the new activation key. See Table 5-16 for a list of licenses that need reloading. 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.

Configuring a Shared License

This section describes how to configure the shared licensing server and participants. For more information about shared licenses, see Shared AnyConnect Premium Licenses.

This section includes the following topics:

- Configuring the Shared Licensing Server

- Configuring the Shared Licensing Backup Server (Optional)

- Configuring the Shared Licensing Participant

Configuring the Shared Licensing Server

This section describes how to configure the ASA to be a shared licensing server.

Prerequisites

The server must have a shared licensing server key.

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config)# license-server secret farscape

Sets the shared secret, a string between 4 and 128 ASCII characters. Any participant with this secret can use the licensing server.

Step 2

(Optional)

ciscoasa(config)# license-server refresh-interval 100

Sets the refresh interval 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)

ciscoasa(config)# license-server port 40000

Sets the port on which the server listens for SSL connections from participants, between 1 and 65535. The default is TCP port 50554.

Step 4

(Optional)

]

ciscoasa(config)# license-server backup 10.1.1.2 backup-id JMX0916L0Z4 ha-backup-id JMX1378N0W3

Identifies the backup server IP address and serial number. 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

ciscoasa(config)# license-server enable inside

Enables this unit to be the shared licensing server. 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)# license-server refresh-interval 100

ciscoasa(config)# license-server port 40000

ciscoasa(config)# license-server backup 10.1.1.2 backup-id JMX0916L0Z4 ha-backup-id JMX1378N0W3

ciscoasa(config)# license-server enable inside

ciscoasa(config)# license-server enable dmz

What to Do Next

See Configuring the Shared Licensing Backup Server (Optional), or the Configuring the Shared Licensing Participant.

Configuring the Shared Licensing Backup Server (Optional)

This section enables a shared license participant to act as the backup server if the main server goes down.

Prerequisites

The backup server must have a shared licensing participant key.

Detailed Steps

Command

Purpose

Step 1

]

ciscoasa(config)# license-server address 10.1.1.1 secret farscape

Identifies the shared licensing server IP address and shared secret. If you changed the default port in the server configuration, set the port for the backup server to match.

Step 2

ciscoasa(config)# license-server backup enable inside

Enables this unit to be the shared licensing backup server. 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 backup enable inside

ciscoasa(config)# license-server backup enable dmz

What to Do Next

See Configuring the Shared Licensing Participant.

Configuring the Shared Licensing Participant

This section configures a shared licensing participant to communicate with the shared licensing server.

Prerequisites

The participant must have a shared licensing participant key.

Detailed Steps

Command

Purpose

Step 1

]

ciscoasa(config)# license-server address 10.1.1.1 secret farscape

Identifies the shared licensing server IP address and shared secret. If you changed the default port in the server configuration, set the port for the participant to match.

Step 2

(Optional)

ciscoasa(config)# license-server backup address 10.1.1.2

If you configured a backup server, enter the backup server address.

Examples

The following example sets the license server IP address and shared secret, as well as the backup license server IP address:

Monitoring Licenses

This section includes the following topics:

- Viewing Your Current License

- Monitoring the Shared License

Viewing Your Current License

This section describes how to view your current license, and for time-based activation keys, how much time the license has left.

Guidelines

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 for more information.

Detailed Steps

Command

Purpose

]

ciscoasa# show activation-key detail

keyword also shows inactive time-based licenses.

For failover or cluster units, this command also shows the “cluster” license, which is the combined keys of all units.

Examples

command

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:

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 perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

Security Contexts : 10 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Enabled perpetual

Shared AnyConnect Premium Peers : 12000 perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 12 62 days

Total UC Proxy Sessions : 12 62 days

Botnet Traffic Filter : Enabled 646 days

Intercompany Media Engine : Disabled perpetual

This platform has a Base license.

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 646 days

0xyadayad2 0xyadayad2 0xyadayad2 0xyadayad2 0xyadayad2

Total UC Proxy Sessions : 10 62 days

Example 5-2 Standalone Unit Output for 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):

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 perpetual

VLANs : 20 DMZ Unrestricted

Dual ISPs : Enabled perpetual

VLAN Trunk Ports : 8 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Standby perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 25 perpetual

Total VPN Peers : 25 perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Enabled 39 days

Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5505 Security Plus license.

Running Permanent Activation Key: 0xce06dc6b 0x8a7b5ab7 0xa1e21dd4 0xd2c4b8b8 0xc4594f9c

Licensed features for this platform:

Maximum Physical Interfaces : 8 perpetual

VLANs : 20 DMZ Unrestricted

Dual ISPs : Enabled perpetual

VLAN Trunk Ports : 8 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Standby perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 25 perpetual

Total VPN Peers : 25 perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Enabled 39 days

Intercompany Media Engine : Disabled 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 39 days

Inactive Timebased Activation Key:

0xyadayada3 0xyadayada3 0xyadayada3 0xyadayada3 0xyadayada3

AnyConnect Premium Peers : 25 7 days

Example 5-3 Primary Unit Output in a Failover Pair for 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.

- The primary unit permanent license.

- The primary unit installed time-based licenses (active and inactive).

Serial Number: P3000000171

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 : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

Security Contexts : 12 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Enabled 33 days

Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5520 VPN Plus license.

Failover cluster licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

Security Contexts : 12 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 4 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 4 perpetual

Total UC Proxy Sessions : 4 perpetual

Botnet Traffic Filter : Enabled 33 days

Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5520 VPN Plus license.

Running Permanent Activation Key: 0xce06dc6b 0x8a7b5ab7 0xa1e21dd4 0xd2c4b8b8 0xc4594f9c

Licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Disabled perpetual

Security Contexts : 2 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Disabled perpetual

Intercompany Media Engine : Disabled 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

0xyadayad4 0xyadayad4 0xyadayad4 0xyadayad4 0xyadayad4

Total UC Proxy Sessions : 100 14 days

Example 5-4 Secondary Unit Output in a Failover Pair for 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.

- The secondary unit permanent license.

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

Serial Number: P3000000011

Running Activation Key: 0xyadayad1 0xyadayad1 0xyadayad1 0xyadayad1 0xyadayad1

Licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Disabled perpetual

Security Contexts : 2 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Disabled perpetual

Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5520 VPN Plus license.

Failover cluster licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Enabled perpetual

Security Contexts : 10 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 4 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 4 perpetual

Total UC Proxy Sessions : 4 perpetual

Botnet Traffic Filter : Enabled 33 days

Intercompany Media Engine : Disabled perpetual

This platform has an ASA 5520 VPN Plus license.

Running Permanent Activation Key: 0xyadayad1 0xyadayad1 0xyadayad1 0xyadayad1 0xyadayad1

Licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 150 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

VPN-DES : Enabled perpetual

VPN-3DES-AES : Disabled perpetual

Security Contexts : 2 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Disabled perpetual

Intercompany Media Engine : Disabled perpetual

The flash permanent activation key is the SAME as the running permanent key.

Example 5-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 perpetual

Maximum Physical Interfaces : 10 perpetual

Maximum VLANs : 50 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Standby perpetual

Encryption-DES : Enabled perpetual

Encryption-3DES-AES : Enabled perpetual

Security Contexts : 0 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 250 perpetual

Total VPN Peers : 250 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Enabled perpetual

Intercompany Media Engine : Disabled perpetual

Cluster : Disabled perpetual

This platform has an ASAv VPN Premium license.

Failed to retrieve flash permanent activation key.

The flash permanent activation key is the SAME as the running permanent key.

Example 5-6 Standalone Unit Output for the ASAv with a 4 vCPU Standard License for show activation-key

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: 9ALQ8W1XCJ7

Running Permanent Activation Key: 0x0013e945 0x685a232c 0x1153fdac 0xeae8b068 0x4413f4ae

ASAv Platform License State: Compliant

Licensed features for this platform:

Virtual CPUs : 4 perpetual

Maximum Physical Interfaces : 10 perpetual

Maximum VLANs : 200 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Standby perpetual

Encryption-DES : Enabled perpetual

Encryption-3DES-AES : Enabled perpetual

Security Contexts : 0 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 1000 perpetual

Total UC Proxy Sessions : 1000 perpetual

Botnet Traffic Filter : Enabled perpetual

Intercompany Media Engine : Enabled perpetual

Cluster : Disabled perpetual

This platform has an ASAv VPN Premium license.

The flash permanent activation key is the SAME as the running permanent key.

Example 5-7 Standalone Unit Output for the ASAv with a 4 vCPU Premium License for show activation-key

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: 9ALQ8W1XCJ7

Running Permanent Activation Key: 0x8224dd7d 0x943ed77c 0x9d71cdd0 0xd90474d0 0xcb04df82

ASAv Platform License State: Compliant

Licensed features for this platform:

Virtual CPUs : 4 perpetual

Maximum Physical Interfaces : 10 perpetual

Maximum VLANs : 200 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Standby perpetual

Encryption-DES : Enabled perpetual

Encryption-3DES-AES : Enabled perpetual

Security Contexts : 0 perpetual

GTP/GPRS : Enabled perpetual

AnyConnect Premium Peers : 750 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 750 perpetual

Total VPN Peers : 750 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Enabled perpetual

AnyConnect for Cisco VPN Phone : Enabled perpetual

Advanced Endpoint Assessment : Enabled perpetual

UC Phone Proxy Sessions : 1000 perpetual

Total UC Proxy Sessions : 1000 perpetual

Botnet Traffic Filter : Enabled perpetual

Intercompany Media Engine : Enabled perpetual

Cluster : Disabled perpetual

This platform has an ASAv VPN Premium license.

The flash permanent activation key is the SAME as the running permanent key.

ciscoasa#

Example 5-8 Primary Unit Output for the ASA Services Module in a Failover Pair for 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.

- The primary unit installed time-based licenses (active and inactive).

erial Number: SAL144705BF

Running Permanent Activation Key: 0x4d1ed752 0xc8cfeb37 0xf4c38198 0x93c04c28 0x4a1c049a

Running Timebased Activation Key: 0xbc07bbd7 0xb15591e0 0xed68c013 0xd79374ff 0x44f87880

Licensed features for this platform:

Maximum Interfaces : 1024 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

DES : Enabled perpetual

3DES-AES : Enabled perpetual

Security Contexts : 25 perpetual

GTP/GPRS : Enabled perpetual

Botnet Traffic Filter : Enabled 330 days

This platform has an WS-SVC-ASA-SM1 No Payload Encryption license.

Failover cluster licensed features for this platform:

Maximum Interfaces : 1024 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

DES : Enabled perpetual

3DES-AES : Enabled perpetual

Security Contexts : 50 perpetual

GTP/GPRS : Enabled perpetual

Botnet Traffic Filter : Enabled 330 days

This platform has an WS-SVC-ASA-SM1 No Payload Encryption license.

The flash permanent activation key is the SAME as the running permanent key.

Active Timebased Activation Key:

0xbc07bbd7 0xb15591e0 0xed68c013 0xd79374ff 0x44f87880

Botnet Traffic Filter : Enabled 330 days

Example 5-9 Secondary Unit Output for the ASA Services Module in a Failover Pair for 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.

Serial Number: SAD143502E3

Running Permanent Activation Key: 0xf404c46a 0xb8e5bd84 0x28c1b900 0x92eca09c 0x4e2a0683

Licensed features for this platform:

Maximum Interfaces : 1024 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

DES : Enabled perpetual

3DES-AES : Enabled perpetual

Security Contexts : 25 perpetual

GTP/GPRS : Disabled perpetual

Botnet Traffic Filter : Disabled perpetual

This platform has an WS-SVC-ASA-SM1 No Payload Encryption license.

Failover cluster licensed features for this platform:

Maximum Interfaces : 1024 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

DES : Enabled perpetual

3DES-AES : Enabled perpetual

Security Contexts : 50 perpetual

GTP/GPRS : Enabled perpetual

Botnet Traffic Filter : Enabled 330 days

This platform has an WS-SVC-ASA-SM1 No Payload Encryption license.

The flash permanent activation key is the SAME as the running permanent key.

Example 5-10 Output in a Cluster for show activation-key

ciscoasa# show activation-key

Serial Number: JMX1504L2TD

Running Permanent Activation Key: 0x4a3eea7b 0x54b9f61a 0x4143a90c 0xe5849088 0x4412d4a9

Licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 100 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

Encryption-DES : Enabled perpetual

Encryption-3DES-AES : Enabled perpetual

Security Contexts : 2 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 2 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 250 perpetual

Total VPN Peers : 250 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 2 perpetual

Total UC Proxy Sessions : 2 perpetual

Botnet Traffic Filter : Disabled perpetual

Intercompany Media Engine : Disabled perpetual

Cluster : Enabled perpetual

This platform has an ASA 5585-X base license.

Failover cluster licensed features for this platform:

Maximum Physical Interfaces : Unlimited perpetual

Maximum VLANs : 100 perpetual

Inside Hosts : Unlimited perpetual

Failover : Active/Active perpetual

Encryption-DES : Enabled perpetual

Encryption-3DES-AES : Enabled perpetual

Security Contexts : 4 perpetual

GTP/GPRS : Disabled perpetual

AnyConnect Premium Peers : 4 perpetual

AnyConnect Essentials : Disabled perpetual

Other VPN Peers : 250 perpetual

Total VPN Peers : 250 perpetual

Shared License : Disabled perpetual

AnyConnect for Mobile : Disabled perpetual

AnyConnect for Cisco VPN Phone : Disabled perpetual

Advanced Endpoint Assessment : Disabled perpetual

UC Phone Proxy Sessions : 4 perpetual

Total UC Proxy Sessions : 4 perpetual

Botnet Traffic Filter : Disabled perpetual

Intercompany Media Engine : Disabled perpetual

Cluster : Enabled perpetual

This platform has an ASA 5585-X base license.

The flash permanent activation key is the SAME as the running permanent key.

Monitoring the Shared License

To monitor the shared license, enter one of the following commands.

Command

Purpose

]

keyword shows information about the backup server.

command.

command also shows license information.

Shows license information about VPN sessions.

Examples

command on the license participant:

ciscoasa> show shared license

Primary License Server : 10.3.32.20

Version : 1

Status : Inactive

Shared license utilization:

SSLVPN:

Total for network : 5000

Available : 5000

Utilized : 0

This device:

Platform limit : 250

Current usage : 0

High usage : 0

Messages Tx/Rx/Error:

Registration : 0 / 0 / 0

Get : 0 / 0 / 0

Release : 0 / 0 / 0

Transfer : 0 / 0 / 0

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

Get : 0 / 0 / 0

Release : 0 / 0 / 0

Transfer : 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

...

Feature History for Licensing

lists each feature change and the platform release in which it was implemented.

Table 5-17 Feature History for Licensing

Feature Name

Platform Releases

Feature Information

Increased Connections and VLANs

7.0(5)

Increased the following limits:

- ASA5510 Base license connections from 32000 to 5000; VLANs from 0 to 10.

- ASA5510 Security Plus license connections from 64000 to 130000; VLANs from 10 to 25.

- ASA5520 connections from 130000 to 280000; VLANs from 25 to 100.

- ASA5540 connections from 280000 to 400000; VLANs from 100 to 200.

SSL VPN Licenses

7.1(1)

SSL VPN licenses were introduced.

Increased SSL VPN Licenses

7.2(1)

A 5000-user SSL VPN license was introduced for the ASA 5550 and above.

Increased interfaces for the Base license on the ASA 5510

7.2(2)

For the Base license on the ASA 5510, the maximum number of interfaces was increased from 3 plus a management interface to unlimited interfaces.

Increased VLANs

7.2(2)

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).

Gigabit Ethernet Support for the ASA 5510 Security Plus License

7.2(3)

The ASA 5510 now supports Gigabit Ethernet (1000 Mbps) for the Ethernet 0/0 and 0/1 ports with the Security Plus license. In the Base license, they continue to be used as Fast Ethernet (100 Mbps) ports. Ethernet 0/2, 0/3, and 0/4 remain as Fast Ethernet ports for both licenses.

Note The interface names remain Ethernet 0/0 and Ethernet 0/1.
command to see what speed is currently configured for each interface.

Advanced Endpoint Assessment License

8.0(2)

The Advanced Endpoint Assessment license was introduced. As a condition for the completion of a Cisco AnyConnect or clientless SSL VPN connections, the remote computer scans for a greatly expanded collection of antivirus and antispyware applications, firewalls, operating systems, and associated updates. It also scans for any registry entries, filenames, and process names that you specify. It sends the scan results to the ASA. The ASA uses both the user login credentials and the computer scan results to assign a Dynamic Access Policy (DAP).

With an Advanced Endpoint Assessment License, you can enhance Host Scan by configuring an attempt to update noncompliant computers to meet version requirements.

Cisco can provide timely updates to the list of applications and versions that Host Scan supports in a package that is separate from Cisco Secure Desktop.

VPN Load Balancing for the ASA 5510

8.0(2)

VPN load balancing is now supported on the ASA 5510 Security Plus license.

AnyConnect for Mobile License

8.0(3)

The AnyConnect for Mobile license was introduced. It lets Windows mobile devices connect to the ASA using the AnyConnect client.

Time-based Licenses

8.0(4)/8.1(2)

Support for time-based licenses was introduced.

Increased VLANs for the ASA 5580

8.1(2)

The number of VLANs supported on the ASA 5580 are increased from 100 to 250.

Unified Communications Proxy Sessions license

8.0(4)

The UC Proxy sessions license was introduced. Phone Proxy, Presence Federation Proxy, and Encrypted Voice Inspection applications use TLS proxy sessions for their connections. Each TLS proxy session is counted against the UC license limit. All of these applications are licensed under the UC Proxy umbrella, and can be mixed and matched.

This feature is not available in Version 8.1.

Botnet Traffic Filter License

8.2(1)

The Botnet Traffic Filter license was introduced. The Botnet Traffic Filter protects against malware network activity by tracking connections to known bad domains and IP addresses.

AnyConnect Essentials License

8.2(1)

The AnyConnect Essentials License was introduced. This license enables AnyConnect VPN client access to the ASA. This license does not support browser-based 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.

command.

SSL VPN license changed to AnyConnect Premium SSL VPN Edition license

8.2(1)

The SSL VPN license name was changed to the AnyConnect Premium SSL VPN Edition license.

Shared Licenses for SSL VPN

8.2(1)

Shared licenses for SSL VPN were introduced. Multiple ASAs can share a pool of SSL VPN sessions on an as-needed basis.

Mobility Proxy application no longer requires Unified Communications Proxy license

8.2(2)

The Mobility Proxy no longer requires the UC Proxy license.

10 GE I/O license for the ASA 5585-X with SSP-20

8.2(3)

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 The ASA 5585-X is not supported in 8.3(x).

10 GE I/O license for the ASA 5585-X with SSP-10

8.2(4)

We introduced the 10 GE I/O license for the ASA 5585-X with SSP-10 to enable 10-Gigabit Ethernet speeds for the fiber ports. The SSP-40 supports 10-Gigabit Ethernet speeds by default.

Note The ASA 5585-X is not supported in 8.3(x).

Non-identical failover licenses

8.3(1)

Failover licenses no longer need to be identical on each unit. The license used for both units is the combined license from the primary and secondary units.

.

Stackable time-based licenses

8.3(1)

time-based licenses so that you do not have to worry about the license expiring or about losing time on your licenses because you installed the new one early.

Intercompany Media Engine License

8.3(1)

The IME license was introduced.

Multiple time-based licenses active at the same time

8.3(1)

You can now install multiple time-based licenses, and have one license per feature active at a time.

.

Discrete activation and deactivation of time-based licenses.

8.3(1)

You can now activate or deactivate time-based licenses using a command.

].

AnyConnect Premium SSL VPN Edition license changed to AnyConnect Premium SSL VPN license

8.3(1)

The AnyConnect Premium SSL VPN Edition license name was changed to the AnyConnect Premium SSL VPN license.

No Payload Encryption image for export

8.3(2)

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 This special image is only supported in 8.3(x); for No Payload Encryption support in 8.4(1) and later, you need to purchase a special hardware version of the ASA.

Increased contexts for the ASA 5550, 5580, and 5585-X

8.4(1)

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.

Increased VLANs for the ASA 5580 and 5585-X

8.4(1)

For the ASA 5580 and 5585-X, the maximum VLANs was increased from 250 to 1024.

Increased connections for the ASA 5580 and 5585-X

8.4(1)

We increased the firewall connection limits:

- ASA 5580-20—1,000,000 to 2,000,000.

- ASA 5580-40—2,000,000 to 4,000,000.

- ASA 5585-X with SSP-10: 750,000 to 1,000,000.

- ASA 5585-X with SSP-20: 1,000,000 to 2,000,000.

- ASA 5585-X with SSP-40: 2,000,000 to 4,000,000.

- ASA 5585-X with SSP-60: 2,000,000 to 10,000,000.

AnyConnect Premium SSL VPN license changed to AnyConnect Premium license

8.4(1)

The AnyConnect Premium SSL VPN license name was changed to the AnyConnect Premium license. The license information display was changed from “SSL VPN Peers” to “AnyConnect Premium Peers.”

Increased AnyConnect VPN sessions for the ASA 5580

8.4(1)

The AnyConnect VPN session limit was increased from 5,000 to 10,000.

Increased Other VPN sessions for the ASA 5580

8.4(1)

The other VPN session limit was increased from 5,000 to 10,000.

IPsec remote access VPN using IKEv2

8.4(1)

IPsec remote access VPN using IKEv2 was added to the AnyConnect Essentials and AnyConnect Premium licenses.
We currently do not support duplicate security associations.
IKEv2 site-to-site sessions were added to the Other VPN license (formerly IPsec VPN). The Other VPN license is included in the Base license.

No Payload Encryption hardware for export

8.4(1)

For models available with No Payload Encryption (for example, the ASA 5585-X), the ASA software disables Unified Communications and VPN features, making the ASA available for export to certain countries.

Dual SSPs for SSP-20 and SSP-40

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.

IPS Module license for the ASA 5512-X through ASA 5555-X

8.6(1)

The IPS SSP software module on the ASA 5512-X, ASA 5515-X, ASA 5525-X, ASA 5545-X, and ASA 5555-X requires the IPS module license.

Clustering license for the ASA 5580 and ASA 5585-X.

9.0(1)

A clustering license was added for the ASA 5580 and ASA 5585-X.

Support for VPN on the ASASM

9.0(1)

The ASASM now supports all VPN features.

Unified communications support on the ASASM

9.0(1)

The ASASM now supports all Unified Communications features.

ASA 5585-X Dual SSP support for the SSP-10 and SSP-20 (in addition to the SSP-40 and SSP-60); VPN support for Dual SSPs

9.0(1)

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.

ASA 5500-X support for clustering

9.1(4)

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.

Support for 16 cluster members for the ASA 5585-X

9.2(1)

The ASA 5585-X now supports 16-unit clusters.

ASAv 1 vCPU and 4 vCPU Standard and Premium licenses introduced

9.2(1)

The ASAv was introduced with a simple licensing scheme: 1 vCPU or 4 vCPU permanent licenses in Standard or Premium levels. No add-on licenses are available.

Getting Started

This chapter describes how to get started with your ASA. This chapter includes the following sections:

- Accessing the Console for Command-Line Interface

- Configuring ASDM Access

- Starting ASDM

- Factory Default Configurations

- Working with the Configuration

- Applying Configuration Changes to Connections

- Reloading the ASA

Accessing the Console for Command-Line Interface

- Accessing the Appliance Console

- Accessing the ASA Services Module Console

- Accessing the ASAv Console

Accessing the Appliance Console

For initial configuration, access the CLI directly from the console port. Later, you can configure remote access using Telnet or SSH according to Chapter43, “Management Access” If your system is already in multiple context mode, then accessing the console port places you in the system execution space. See “Multiple Context Mode,” for more information about multiple context mode.

Detailed Steps

Step 1 Connect a PC 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.

See the hardware guide for your ASA for more information about the console cable.

key to see the following prompt:

ciscoasa>

This prompt indicates that you are in user EXEC mode. Only basic commands are available from user EXEC mode.

Step 3 To access privileged EXEC mode, enter the following command:

ciscoasa> enable

The following prompt appears:

Password:

All non-configuration commands are available in privileged EXEC mode. You can also enter configuration mode from privileged EXEC mode.

Step 4 Enter the enable password at the prompt.

By default, the password is blank, and you can press the Enter key to continue. See Configuring the Hostname, Domain Name, and Passwords to change the enable password.

The prompt changes to:

ciscoasa#

command.

Step 5 To access global configuration mode, enter the following command:

ciscoasa# configure terminal

The prompt changes to the following:

ciscoasa(config)#

command.

Accessing the ASA Services Module Console

For initial configuration, access the command-line interface by connecting to the switch (either to the console port or remotely using Telnet or SSH) and then connecting to the ASASM. This section describes how to access the ASASM CLI.

- Information About Connection Methods

- Logging Into the ASA Services Module

- Logging Out of a Console Session

- Killing an Active Console Connection

- Logging Out of a Telnet Session

Information About Connection Methods

From the switch CLI, you can use two methods to connect to the ASASM:

- Virtual console connection—Using 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.

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. See Logging Out of a Console Session for more information.

- Telnet connection—Using 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.

Logging Into the ASA Services Module

For initial configuration, access the command-line interface by connecting to the switch (either to the switch console port or remotely using Telnet or SSH) and then connecting to the ASASM.

If your system is already in multiple context mode, then accessing the ASASM from the switch places you in the system execution space. See “Multiple Context Mode,” for more information about multiple context mode.

Later, you can configure remote access directly to the ASASM using Telnet or SSH according to Configuring ASA Access for ASDM, Telnet, or SSH.

Detailed Steps

Command

Purpose

Step 1

From the switch, perform one of the following:

(Available for initial access.)

Router# service-module session slot 3

ciscoasa>

From the switch CLI, enter this command to gain console access to the ASASM.

argument.

command at the switch prompt.

You access user EXEC mode.

(Available after you configure a login password.)

session [ switch { 1 | 2 }] slot number processor 1

You are prompted for the login password:

ciscoasa passwd:

Router# session slot 3 processor 1

ciscoasa passwd: cisco

ciscoasa>

From the switch CLI, enter this command to Telnet to the ASASM over the backplane.

argument.
command, which is supported on other services modules, is not supported on the ASASM; the ASASM does not have a processor 0.
command at the switch prompt.

command. There is no default password.

You access user EXEC mode.

Step 2

ciscoasa> enable

Password:

ciscoasa#

Accesses privileged EXEC mode, which is the highest privilege level.

Enter the enable password at the prompt. By default, the password is blank. To change the enable password, see Configuring the Hostname, Domain Name, and Passwords.

command.

Step 3

configure terminal

ciscoasa# configure terminal

ciscoasa(config)#

Accesses global configuration mode.

command.

Logging Out of a Console Session

If you do not log out of the ASASM, the console connection persists; there is no timeout. To end the ASASM console session and access the switch CLI, perform the following steps.

To kill another user’s active connection, which may have been unintentionally left open, see Killing an Active Console Connection.

Detailed Steps

Step 1 To return to the switch CLI, type the following:

You return to the switch prompt:

asasm# [Ctrl-Shift-6, x]

Router#

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.

Killing an Active Console Connection

Because of the persistence of a 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.

Detailed Steps

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

* 0 con 0 127.0.0.20 00:00:02

Step 2 To clear the line with the console connection, enter the following command:

Router# clear line number

For example:

Router# clear line 0

Logging Out of a Telnet Session

To end the Telnet session and access the switch CLI, perform the following steps.

Detailed Steps

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.

Accessing the ASAv Console

By default, you can access the built-in VMware vSphere console. Alternatively, you can configure a network serial console, which has better capabilities, including copy and paste.

- Using the VMware vSphere Console

- Configuring a Network Serial Console Port

Using the VMware vSphere Console

For initial configuration or troubleshooting, access the CLI from the virtual console provided through the VMware vSphere Web Client. You can later configure CLI remote access for Telnet or SSH according to Chapter43, “Management Access”

Prerequisites

For the vSphere Web Client, install the Client Integration Plug-In, which is required for ASAv console access.

Detailed Steps

on the Summary tab.

to release the cursor.

If the ASAv is still starting up, you see bootup messages.

When the ASAv starts up for the first time, it reads parameters provided through the OVA file and adds them to the ASAv system configuration. It then automatically restarts the boot process until it is up and running. This double boot process only occurs when you first deploy the ASAv.

If you have not yet installed a license, you see the following message repeated until you enter the activation key:

After you deploy the ASAv, you must install a CPU license. Until you install a license, throughput is limited to 1 Mbps so that you can perform preliminary connectivity tests. A CPU license is required for regular operation. You also see the following messages repeated on the console until you install a license:

Warning: ASAv platform license state is Unlicensed.

Install ASAv platform license for full functionality.

Step 3 You see the following prompt:

ciscoasa>

This prompt indicates that you are in user EXEC mode. Only basic commands are available from user EXEC mode.

Step 4 To access privileged EXEC mode, enter the following command:

ciscoasa> enable

The following prompt appears:

Password:

Step 5 Press the Enter key to continue. By default, the password is blank. If you previously set an enable password, enter it instead of pressing Enter.

The prompt changes to:

ciscoasa#

All non-configuration commands are available in privileged EXEC mode. You can also enter configuration mode from privileged EXEC mode.

command.

Step 6 To access global configuration mode, enter the following command:

ciscoasa# configure terminal

The prompt changes to the following:

ciscoasa(config)#

command.

Configuring a Network Serial Console Port

For a better console experience, you can configure a network serial port singly or attached to a virtual serial port concentrator (vSPC) for console access. See the VMware vSphere documentation for details about each method. On the ASAv, you must send the console output to a serial port instead of to the virtual console. This section describes how to enable the serial port console.

Detailed Steps

Step 1 Configure a network serial port in VMware vSphere. See the VMware vSphere documentation.

Step 2 On the ASAv, create a file called “use_ttyS0” in the root directory of disk0. This file does not need to have any contents; it just needs to exist at this location:

disk0:/use_ttyS0

- From ASDM, you can upload an empty text file by that name using the Tools > File Management dialog box.

- At the vSphere console, you can copy an existing file (any file) in the file system to the new name. For example:

ciscoasa(config)# cd coredumpinfo

ciscoasa(config)# copy coredump.cfg disk0:/use_ttyS0

Step 3 Reload the ASAv.

- From ASDM, choose Tools > System Reload .

- At the vSphere console, enter reload .

The ASAv stops sending to the vSphere console, and instead sends to the serial console. See Using the VMware vSphere Console for information about privileged EXEC and global configuration modes.

Step 4 Telnet to the vSphere host IP address and the port number you specified when you added the serial port; or Telnet to the vSPC IP address and port.

Configuring ASDM Access

- Configuring ASDM Access for Appliances and the ASAv

- Configuring ASDM Access for the ASA Services Module

Configuring ASDM Access for Appliances and the ASAv

ASDM access requires some minimal configuration so that you can communicate over the network with a management interface. This section includes the following topics:

- ASDM Access and the Factory Default Configuration

- Customizing ASDM Access (ASA 5505)

- Customizing ASDM Access (ASA 5512-X and Higher, ASAv)

ASDM Access and the Factory Default Configuration

With a factory default configuration (see Factory Default Configurations), ASDM connectivity is pre-configured with default network settings. Connect to ASDM using the following interface and network settings:

- The management interface depends on your model:

– ASA 5505—The switch port to which you connect to ASDM can be any port, except for Ethernet 0/0.

– ASA 5512-X and higher—The interface to which you connect to ASDM is Management 0/0.

– ASAv—The interface to which you connect to ASDM is Management 0/0.

- The default management address is:

– ASA 5505 and ASA 5512-X and higher—192.168.1.1.

– ASAv—You set the management interface IP address during deployment.

- The clients allowed to access ASDM:

– ASA 5505 and ASA 5512-X and higher—Clients must be on the 192.168.1.0/24 network. The default configuration enables DHCP so that your management station can be assigned an IP address in this range.

– ASAv—You set the management client IP address during deployment. The ASAv does not act as the DHCP server for connected clients.

To launch ASDM, see Starting ASDM.

Note To change to multiple context mode, see Enabling or Disabling Multiple Context Mode. After changing to multiple context mode, you can access ASDM from the admin context using the network settings above.

Customizing ASDM Access (ASA 5505)

of the following conditions applies:

- You do not have a factory default configuration

- You want to change the management IP address

- You want to change to transparent firewall mode

See also the sample configurations in ASA 5505 Default Configuration.

Note For routed mode, for quick and easy ASDM access, we recommend applying the factory default configuration with the option to set your own management IP address (see Restoring the Factory Default Configuration). Use the procedure in this section only if you have special needs such as setting transparent mode, or if you have other configuration that you need to preserve.

Prerequisites

Access the CLI at the console port according to the Accessing the Appliance Console.

Detailed Steps

Command

Purpose

Step 1

(Optional)

ciscoasa(config)# firewall transparent

Enables transparent firewall mode. This command clears your configuration. See Setting the Firewall Mode for more information.

Step 2

Do one of the following to configure a management interface, depending on your mode:

Routed mode:

]

ciscoasa(config)# interface vlan 1

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0

Configures an interface in routed mode. The security-level is a number between 1 and 100, where 100 is the most secure.

Transparent mode:

]

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

Configures a bridge virtual interface and assigns a management VLAN to the bridge group. The security-level is a number between 1 and 100, where 100 is the most secure.

Step 3

ciscoasa(config)# interface ethernet 0/1

ciscoasa(config-if)# switchport access vlan 1

ciscoasa(config-if)# no shutdown

Enables the management switchport and assigns it to the management VLAN.

Step 4

ciscoasa(config)# dhcpd address 192.168.1.5-192.168.1.254 inside

ciscoasa(config)# dhcpd enable inside

Sets the DHCP pool for the management network. Make sure you do not include the VLAN interface address in the range.

Note By default, the IPS module, if installed, uses 192.168.1.2 for its internal management address, so be sure not to use this address in the DHCP range. You can later change the IPS module management address using the ASA if required.

Step 5

ciscoasa(config)# http server enable

Enables the HTTP server for ASDM.

Step 6

ciscoasa(config)# http 192.168.1.0 255.255.255.0 inside

Allows the management host(s) to access ASDM.

Step 7

ciscoasa(config)# write memory

Saves the configuration.

Step 8

To launch ASDM, see Starting ASDM.

Examples

The following configuration converts the firewall mode to transparent mode, configures the VLAN 1 interface and assigns it to BVI 1, enables a switchport, 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

interface ethernet 0/1

switchport access vlan 1

no shutdown

dhcpd address 192.168.1.5-192.168.1.254 inside

dhcpd enable inside

http server enable

http 192.168.1.0 255.255.255.0 inside

Customizing ASDM Access (ASA 5512-X and Higher, ASAv)

of the following conditions applies:

- You do not have a factory default configuration

- You want to change the management IP address

- You want to change to transparent firewall mode

- You want to change to multiple context mode

Note 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 (see Restoring the Factory Default Configuration). 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.

Prerequisites

Access the CLI at the console port according to the Accessing the Appliance Console or Accessing the ASAv Console.

Detailed Steps

Command

Purpose

Step 1

(Optional)

ciscoasa(config)# firewall transparent

Enables transparent firewall mode. This command clears your configuration. See Setting the Firewall Mode for more information.

Step 2

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

Configures the Management 0/0 interface. The security-level is a number between 1 and 100, where 100 is the most secure.

Step 3

ciscoasa(config)# dhcpd address 192.168.1.2-192.168.1.254 management

ciscoasa(config)# dhcpd enable management

Sets the DHCP pool for the management network. Make sure you do not include the Management 0/0 address in the range.

Step 4

(For remote management hosts)

ciscoasa(config)# route management 10.1.1.0 255.255.255.0 192.168.1.50

Configures a route to the management hosts.

Step 5

ciscoasa(config)# http server enable

Enables the HTTP server for ASDM.

Step 6

ciscoasa(config)# http 192.168.1.0 255.255.255.0 management

Allows the management host(s) to access ASDM.

Step 7

ciscoasa(config)# write memory

Saves the configuration.

Step 8

(Optional, ASA 5512-X and higher only)

mode multiple

ciscoasa(config)# mode multiple

Sets the mode to multiple mode. When prompted, confirm that you want to convert the existing configuration to be the admin context. You are then prompted to reload the ASASM. See “Multiple Context Mode,” for more information.

Step 9

To launch ASDM, see Starting ASDM.

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

Configuring ASDM Access for the ASA Services Module

Because the ASASM does not have physical interfaces, it does not come pre-configured for ASDM access; you must configure ASDM access using the CLI on the ASASM. To configure the ASASM for ASDM access, perform the following steps.

Prerequisites

- Assign a VLAN interface to the ASASM according to the Assigning VLANs to the ASA Services Module.

- Connect to the ASASM and access global configuration mode according to the Accessing the ASA Services Module Console.

Detailed Steps

Command

Purpose

Step 1

(Optional)

ciscoasa(config)# firewall transparent

Enables transparent firewall mode. This command clears your configuration. See Setting the Firewall Mode for more information.

Step 2

Do one of the following to configure a management interface, depending on your mode:

Routed mode:

]

ciscoasa(config)# interface vlan 1

ciscoasa(config-if)# ip address 192.168.1.1 255.255.255.0

ciscoasa(config-if)# nameif inside

ciscoasa(config-if)# security-level 100

is a number between 1 and 100, where 100 is the most secure.

Transparent mode:

]

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

is a number between 1 and 100, where 100 is the most secure.

Step 3

(For directly-connected management hosts)

ciscoasa(config)# dhcpd address 192.168.1.2-192.168.1.254 inside

ciscoasa(config)# dhcpd enable inside

Enables DHCP for the management host on the management interface network. Make sure you do not include the management address in the range.

Step 4

(For remote management hosts)

ciscoasa(config)# route management 10.1.1.0 255.255.255.0 192.168.1.50

Configures a route to the management hosts.

Step 5

ciscoasa(config)# http server enable

Enables the HTTP server for ASDM.

Step 6

ciscoasa(config)# http 192.168.1.0 255.255.255.0 management

Allows the management host to access ASDM.

Step 7

ciscoasa(config)# write memory

Saves the configuration.

Step 8

(Optional)

ciscoasa(config)# mode multiple

Sets the mode to multiple mode. When prompted, confirm that you want to convert the existing configuration to be the admin context. You are then prompted to reload the ASASM. See “Multiple Context Mode,” for more information.

Step 9

To launch ASDM, see Starting ASDM.

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

Starting ASDM

You can start ASDM using two methods:

- ASDM-IDM Launcher—The 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 Start—For 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 PC; 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.

ASDM allows multiple PCs or workstations to each have one browser session open with the same ASA software. A single ASA can support up to five concurrent ASDM sessions in single, routed mode. Only one session per browser per PC or workstation is supported for a specified ASA. In multiple context mode, five concurrent ASDM sessions are supported per context, up to a maximum of 32 total connections for each ASA.

This section describes how to connect to ASDM initially, and then launch ASDM using the Launcher or the Java Web Start.

Detailed Steps

Step 1 On the PC you specified as the ASDM client, enter the following URL:

https://asa_ip_address/admin

The ASDM launch page appears with the following buttons:

- Install ASDM Launcher and Run ASDM

- Run ASDM

- Run Startup Wizard

Step 2 To download the Launcher:

.

password, which is blank by default. Note: If you enabled HTTPS authentication, enter your username and associated password.

c. Save the installer to your PC, and then start the installer. The ASDM-IDM Launcher opens automatically after installation is complete.

. Note: If you enabled HTTPS authentication, enter your username and associated password.

Step 3 To use Java Web Start:

.

b. Save the shortcut to your PC when prompted. You can optionally open it instead of saving it.

c. Start Java Web Start from the shortcut.

d. Accept any certificates according to the dialog boxes that appear. The Cisco ASDM-IDM Launcher appears.

. Note: If you enabled HTTPS authentication, enter your username and associated password.

Factory Default Configurations

The factory default configuration is the configuration applied by Cisco to new ASAs.

- ASA 5505—The factory default configuration configures interfaces and NAT so that the ASA is ready to use in your network immediately.

- ASA 5512-X and higher—The 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.

- ASAv—As part of deployment, the deployment configuration configures an interface for management so that you can connect to it using ASDM, with which you can then complete your configuration. You can also configure failover IP addresses.

- ASASM—No default configuration. See Accessing the ASA Services Module Console to start configuration.

The factory default configuration is available only for routed firewall mode and single context mode. See “Multiple Context Mode,” for more information about multiple context mode. See “Transparent or Routed Firewall Mode,” for more information about routed and transparent firewall mode. For the ASA 5505, a sample transparent mode configuration is provided in this section.

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.

This section includes the following topics:

- Restoring the Factory Default Configuration

- Restoring the ASAv Deployment Configuration

- ASA 5505 Default Configuration

- ASA 5512-X and Higher Default Configuration

- ASAv Deployment Configuration

Restoring the Factory Default Configuration

This section describes how to restore the factory default configuration.

Note On the ASASM, restoring the factory default configuration simply erases the configuration; there is no factory default configuration.

Limitations

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.

Detailed Steps

Command

Purpose

Step 1

]]

ciscoasa(config)# configure factory-default 10.1.1.1 255.255.255.0

Restores the factory default configuration. For the ASAv, this command erases the deployment configuration and applies the same factory default configuration as for the ASA 5512-X and above.

command range consists of addresses within the subnet that you specify.
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.

ASAv Only:

write erase

ciscoasa(config)# configure factory-default 10.1.1.1 255.255.255.0

command

Step 2

write memory

active(config)# write memory

command to set a different location; when the configuration was cleared, this path was also cleared.

What to Do Next

See Working with the Configuration to start configuring the ASA.

Restoring the ASAv Deployment Configuration

This section describes how to restore the ASAv deployment configuration.

Detailed Steps

Command

Purpose

Step 1

For failover: Power off the standby unit.

To prevent the standby unit from becoming active, you must power it off. If you leave it on, when you erase the active unit configuration, then the standby unit becomes active. When the former active unit reloads and reconnects over the failover link, the old configuration will sync from the new active unit, wiping out the deployment configuration you wanted.

Step 2

On the Active unit:

ciscoasa(config)# write erase

command restores the deployment configuration after you reload.
Do not save the configuration.

Step 3

reload

active(config)# reload

Reloads the ASAv and loads the deployment configuration.

Step 4

For failover: Power on the standby unit.

After the active unit reloads, power on the standby unit. The deployment configuration will sync to the standby unit.

ASA 5505 Default Configuration

The default configuration is available for routed mode only. This section describes the default configuration and also provides a sample transparent mode configuration that you can copy and paste as a starting point. This section includes the following topics:

- ASA 5505 Routed Mode Default Configuration

- ASA 5505 Transparent Mode Sample Configuration

ASA 5505 Routed Mode Default Configuration

The default factory configuration for the ASA 5505 configures the following:

- Interfaces—Inside (VLAN 1) and outside (VLAN 2).

- Switchports enabled and assigned—Ethernet 0/1 through 0/7 switch ports assigned to inside. Ethernet 0/0 assigned to outside.

- IP addresses— Outside address from DHCP; inside address set manually to 192.168.1.1/24.

- Network address translation (NAT)—All inside IP addresses are translated when accessing the outside using interface PAT.

- Traffic flow—IPv4 and IPv6 traffic allowed from inside to outside (this behavior is implicit on the ASA). Outside users are prevented from accessing the inside.

- DHCP server—Enabled for inside hosts so that a PC connecting to the inside interface receives an address between 192.168.1.5 and 192.168.1.254. DNS, WINS, and domain information obtained from the DHCP client on the outside interface is passed to the DHCP clients on the inside interface.

- Default route—Derived from DHCP.

- ASDM access—Inside hosts allowed.

Figure 4-1 ASA 5505 Routed Mode

The configuration consists of the following commands:

interface Ethernet 0/0

switchport access vlan 2

no shutdown

interface Ethernet 0/1

switchport access vlan 1

no shutdown

interface Ethernet 0/2

switchport access vlan 1

no shutdown

interface Ethernet 0/3

switchport access vlan 1

no shutdown

interface Ethernet 0/4

switchport access vlan 1

no shutdown

interface Ethernet 0/5

switchport access vlan 1

no shutdown

interface Ethernet 0/6

switchport access vlan 1

no shutdown

interface Ethernet 0/7

switchport access vlan 1

no shutdown

interface vlan2

nameif outside

no shutdown

ip address dhcp setroute

interface vlan1

nameif inside

ip address 192.168.1.1 255.255.255.0

security-level 100

no shutdown

object network obj_any

subnet 0 0

nat (inside,outside) dynamic interface

http server enable

http 192.168.1.0 255.255.255.0 inside

dhcpd address 192.168.1.5-192.168.1.254 inside

dhcpd auto_config outside

dhcpd enable inside

logging asdm informational

Note For testing purposes, you can allow ping from inside to outside by enabling ICMP inspection. Add the following commands to the default configuration:

Note For testing purposes, you can allow ping from inside to outside by enabling ICMP inspection. Add the following commands to the default configuration:

policy-map global_policy

class inspection_default

inspect icmp

ASA 5505 Transparent Mode Sample Configuration

When you change the mode to transparent mode, the configuration is erased. You can copy and paste the following sample configuration at the CLI to get started. This configuration uses the default configuration as a starting point. Note the following areas you may need to modify:

- IP addresses—The IP addresses configured should be changed to match the network to which you are connecting.

- Static routes—For some kinds of traffic, static routes are required. See MAC Address vs. Route Lookups.

Figure 4-2 ASA 5505 Transparent Mode

firewall transparent

interface Ethernet 0/0

switchport access vlan 2

no shutdown

interface Ethernet 0/1

switchport access vlan 1

no shutdown

interface Ethernet 0/2

switchport access vlan 1

no shutdown

interface Ethernet 0/3

switchport access vlan 1

no shutdown

interface Ethernet 0/4

switchport access vlan 1

no shutdown

interface Ethernet 0/5

switchport access vlan 1

no shutdown

interface Ethernet 0/6

switchport access vlan 1

no shutdown

interface Ethernet 0/7

switchport access vlan 1

no shutdown

interface bvi 1

ip address 192.168.1.1 255.255.255.0

interface vlan2

nameif outside

security-level 0

bridge-group 1

no shutdown

interface vlan1

nameif inside

security-level 100

bridge-group 1

no shutdown

http server enable

http 192.168.1.0 255.255.255.0 inside

dhcpd address 192.168.1.5-192.168.1.254 inside

dhcpd enable inside

Note For testing purposes, you can allow ping from inside to outside by enabling ICMP inspection. Add the following commands to the sample configuration:

Note For testing purposes, you can allow ping from inside to outside by enabling ICMP inspection. Add the following commands to the sample configuration:

policy-map global_policy

class inspection_default

inspect icmp

ASA 5512-X and Higher Default Configuration

The default factory configuration for the ASA 5512-X and higher configures the following:

- Management interface—Management 0/0 (management).

- IP address—The management address is 192.168.1.1/24.

- DHCP server—Enabled for management hosts so that a PC connecting to the management interface receives an address between 192.168.1.2 and 192.168.1.254.

- ASDM access—Management hosts allowed.

The configuration consists of the following commands:

interface management 0/0

ip address 192.168.1.1 255.255.255.0

nameif management

security-level 100

no shutdown

asdm logging informational 100

asdm history enable

http server enable

http 192.168.1.0 255.255.255.0 management

dhcpd address 192.168.1.2-192.168.1.254 management

dhcpd lease 3600

dhcpd ping_timeout 750

dhcpd enable management

ASAv Deployment Configuration

When you deploy the ASAv, you can pre-set many parameters that let you connect to the Management 0/0 interface using ASDM. A typical configuration includes the following settings:

- Management 0/0 interface:

– Named “management”

– IP address or DHCP

– Security level 0

– Management-only

- Static route from the management interface to the management host IP address through the default gateway

- ASDM server enabled

- ASDM access for the management host IP address

- (Optional) Failover link IP addresses for GigabitEthernet 0/8, and the Management 0/0 standby IP address.

See the following configuration for a standalone unit:

interface Management0/0

nameif management

security-level 0

ip address ip_address

management-only

route management management_host_IP mask gateway_ip 1

http server enable

http managemment_host_IP mask management

See the following 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

route management management_host_IP mask gateway_ip 1

http server enable

http managemment_host_IP mask management

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

Working with the Configuration

This section describes how to work with the configuration. The ASA loads the configuration from a text file, called the startup configuration. This file resides by default as a hidden file in internal flash memory. You can, however, specify a different path for the startup configuration. (For more information, see Chapter44, “Software and Configurations”)

When you enter a command, the change is made only to the running configuration in memory. You must manually save the running configuration to the startup configuration for your changes to remain after a reboot.

The information in this section applies to both single and multiple security contexts, except where noted. Additional information about contexts is in Chapter7, “Multiple Context Mode”

This section includes the following topics:

- Saving Configuration Changes

- Copying the Startup Configuration to the Running Configuration

- Viewing the Configuration

- Clearing and Removing Configuration Settings

- Creating Text Configuration Files Offline

Saving Configuration Changes

This section describes how to save your configuration and includes the following topics:

- Saving Configuration Changes in Single Context Mode

- Saving Configuration Changes in Multiple Context Mode

Saving Configuration Changes in Single Context Mode

To save the running configuration to the startup configuration, enter the following command:

Command

Purpose

ciscoasa# write memory

Saves the running configuration to the startup configuration.
command.

Saving Configuration Changes in Multiple Context Mode

You can save each context (and system) configuration separately, or you can save all context configurations at the same time. This section includes the following topics:

- Saving Each Context and System Separately

- Saving All Context Configurations at the Same Time

Saving Each Context and System Separately

To save the system or context configuration, enter the following command within the system or context:

Command

Purpose

ciscoasa# write memory

Saves the running configuration to the startup configuration.

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.
command.

Saving All Context Configurations at the Same Time

To save all context configurations at the same time, as well as the system configuration, enter the following command in the system execution space:

Command

Purpose

]

ciscoasa# write memory all /noconfirm

Saves the running configuration to the startup configuration for all contexts and the system configuration.

keyword, you see the following prompt:

Are you sure [Y/N]:

, 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’ .

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

Copying the Startup Configuration to the Running Configuration

Copy a new startup configuration to the running configuration using one of the following options.

Command

Purpose

copy startup-config running-config

Merges the startup 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.

reload

Reloads the ASA, which loads the startup configuration and discards the running configuration.

clear configure all

copy startup-config running-config

Loads the startup configuration and discards the running configuration without requiring a reload.

Viewing the Configuration

The following commands let you view the running and startup configurations.

Command

Purpose

show running-config

Views the running configuration.

show running-config command

Views the running configuration of a specific command.

show startup-config

Views the startup configuration.

Clearing and Removing Configuration Settings

To erase settings, enter one of the following commands.

Command

Purpose

]

ciscoasa(config)# clear configure aaa

.

commands, enter the following command:

ciscoasa(config)# clear configure aaa

commands, enter the following command:

ciscoasa(config)# clear configure aaa authentication

ciscoasa(config)# no nat (inside) 1

.

command, enter enough of the command to identify it uniquely as follows:

ciscoasa(config)# no nat (inside) 1

ciscoasa(config)# write erase

Erases the startup configuration.
command.

ciscoasa(config)# clear configure all

Erases the running configuration.
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.

Creating Text Configuration Files Offline

This guide describes how to use the CLI to configure the ASA; when you save commands, the changes are written to a text file. Instead of using the CLI, however, you can edit a text file directly on your PC and paste a configuration at the configuration mode command-line prompt in its entirety, or line by line. Alternatively, you can download a text file to the ASA internal flash memory. See “Software and Configurations,” for information on downloading the configuration file to the ASA.

In most cases, commands described in this guide are preceded by a CLI prompt. The prompt in the following example is “ciscoasa(config)#”:

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

Applying Configuration Changes to Connections

command output for old connections reflect the old configuration, and in some cases will not include data about the old connections.

command only displays QoS counters associated with new connections that match the new service policy; existing connections on the old policy no longer show in the command output.

To ensure that all connections use the new policy, you need to disconnect the current connections so that they can reconnect using the new policy.

To disconnect connections, enter one of the following commands.

Detailed Steps

Command

Purpose

clear local-host [ ip_address ] [ all ]

ciscoasa(config)# clear local-host all

to view all current connections per host.

argument.

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

ciscoasa(config)# clear conn all

to view all current connections.

keyword. To clear specific connections based on the source IP address, destination IP address, port, and/or protocol, you can specify the desired options.

Reloading the ASA

To reload the ASA, enter the following command:

Command

Purpose

reload

ciscoasa (config)# reload

Reloads the ASA.

Note In multiple context mode, you can only reload from the system execution space.

Switch Configuration for the ASA Services Module

This chapter describes how to configure the Catalyst 6500 series or Cisco 7600 series switch for use with the ASASM. Before completing the procedures in this chapter, configure the basic properties of your switch, including assigning VLANs to switch ports, according to the documentation that came with your switch.

This chapter includes the following sections:

- Information About the Switch

- Guidelines and Limitations

- Verifying the Module Installation

- Assigning VLANs to the ASA Services Module

- Using the MSFC as a Directly Connected Router (SVIs)

- Configuring the Switch for ASA Failover

- Resetting the ASA Services Module

- Monitoring the ASA Services Module

- Feature History for the Switch for Use with the ASA Services Module

Information About the Switch

- Supported Switch Hardware and Software

- Backplane Connection

- ASA and IOS Feature Interaction

Supported Switch Hardware and Software

You can install the ASASM in the Catalyst 6500 series and Cisco 7600 series switches. The switch includes a switch (the supervisor engine) as well as a router (the MSFC).

The switch supports Cisco IOS software on both the switch supervisor engine and the integrated MSFC router.

Note The Catalyst operating system software is not supported.

The ASASM runs its own operating system.

Note Because the ASASM runs its own operating system, upgrading the Cisco IOS software does not affect the operation of the ASASM.

:

Backplane Connection

The connection between the ASASM and the switch is a single 20-GB interface.

ASA and IOS Feature Interaction

Some ASASM features interact with Cisco IOS features. The following features involve Cisco IOS software:

- Virtual Switching System (VSS)—No ASASM configuration is required.

- Autostate—The supervisor informs the ASASM when the last interface on a given VLAN has gone down, which assists in determining whether or not a failover switch is required.

- Clearing entries in the supervisor MAC address table on a failover switch—No ASASM configuration is required.

- Version compatibility—The ASASM will be automatically powered down if the supervisor/ASASM version compatibility matrix check fails.

Information About SVIs

If you want to use the MSFC as a directly connected router (for example, as the default gateway connected to the ASASM outside interface), then add an ASASM VLAN interface to the MSFC as a switched virtual interface (SVI).

For security reasons, by default, you can configure one SVI between the MSFC and the ASASM; you can enable multiple SVIs, but be sure you do not misconfigure your network.

For example, with multiple SVIs, you could accidentally allow traffic to pass around the ASASM by assigning both the inside and outside VLANs to the MSFC.

You might need to bypass the ASASM in some network scenarios. Figure 2-1 shows an IPX host on the same Ethernet segment as IP hosts. Because the ASASM in routed firewall mode only handles IP traffic and drops other protocol traffic like IPX (transparent firewall mode can optionally allow non-IP traffic), you might want to bypass the ASASM for IPX traffic. Make sure that you configure the MSFC with an access list that allows only IPX traffic to pass on VLAN 201.

Figure 2-1 Multiple SVIs for IPX

For transparent firewalls in multiple context mode, you need to use multiple SVIs because each context requires a unique VLAN on its outside interface. You might also choose to use multiple SVIs in routed mode so that you do not have to share a single VLAN for the outside interface.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

VLAN Guidelines and Limitations

- Use VLAN IDs 2 to 1001.

- You can use private VLANs with the ASASM. Assign the primary VLAN to the ASASM; the ASASM automatically handles secondary VLAN traffic. There is no configuration required on the ASASM for this feature; see the switch configuration guide for more information. See also the example in Assigning VLANs to the ASA Services Module, page 2-5 .

- You cannot use reserved VLANs.

- You cannot use VLAN 1.

- If you are using ASASM failover within the same switch chassis, do not assign the VLAN(s) that you are reserving for failover and stateful communications to a switch port. However, if you are using failover between chassis, you must include the VLANs in the trunk port between the chassis.

- If you do not add the VLANs to the switch before you assign them to the ASASM, the VLANs are stored in the supervisor engine database and are sent to the ASASM as soon as they are added to the switch.

- You can configure a VLAN in the ASASM configuration before it has been assigned on the switch. Note that when the switch sends the VLAN to the ASASM, the VLAN defaults to be administratively up on the ASASM, regardless of whether the you shut them down in the ASASM configuration. You need to shut them down again in this case.

SPAN Reflector Guidelines

In Cisco IOS software Version 12.2SXJ1 and earlier, for each ASASM in a switch, the SPAN reflector feature is enabled. This feature allows multicast traffic (and other traffic that requires a central rewrite engine) to be switched when coming from the ASASM. The SPAN reflector feature uses one SPAN session. To disable this feature, enter the following command:

Router(config)# no monitor session servicemodule

Verifying the Module Installation

To verify that the switch acknowledges the ASASM and has brought it online, enter the following command.

Detailed Steps

Command

Purpose

show module [ switch { 1 | 2 }] [ mod-num | all ]

Router# show module 1

keyword.

Ensure that the Status column shows “Ok” for the ASASM.

Examples

The following is sample output from the show module command:

Router# show module

Mod Ports Card Type Model Serial No.

--- ----- -------------------------------------- ------------------ -----------

2 3 ASA Service Module WS-SVC-ASA-SM1 SAD143502E8

4 3 ASA Service Module WS-SVC-ASA-SM1 SAD135101Z9

5 5 Supervisor Engine 720 10GE (Active) VS-S720-10G SAL12426KB1

6 16 CEF720 16 port 10GE WS-X6716-10GE SAL1442WZD1

Mod MAC addresses Hw Fw Sw Status

--- ---------------------------------- ------ ------------ ------------ -------

2 0022.bdd4.016f to 0022.bdd4.017e 0.201 12.2(2010080 12.2(2010121 Ok

4 0022.bdd3.f64e to 0022.bdd3.f655 0.109 12.2(2010080 12.2(2010121 PwrDown

5 0019.e8bb.7b0c to 0019.e8bb.7b13 2.0 8.5(2) 12.2(2010121 Ok

6 f866.f220.5760 to f866.f220.576f 1.0 12.2(18r)S1 12.2(2010121 Ok

Mod Sub-Module Model Serial Hw Status

---- --------------------------- ------------------ ----------- ------- -------

2/0 ASA Application Processor SVC-APP-PROC-1 SAD1436015D 0.202 Other

4/0 ASA Application Processor SVC-APP-INT-1 SAD141002AK 0.106 PwrDown

5 Policy Feature Card 3 VS-F6K-PFC3C SAL12437BM2 1.0 Ok

5 MSFC3 Daughterboard VS-F6K-MSFC3 SAL12426DE3 1.0 Ok

6 Distributed Forwarding Card WS-F6700-DFC3C SAL1443XRDC 1.4 Ok

Base PID:

Mod Model Serial No.

---- ----------- ----------

2 WS-SVC-APP-HW-1 SAD143502E8

4 TRIFECTA SAD135101Z9

Mod Online Diag Status

---- -------------------

2 Pass

2/0 Not Applicable

4 Not Applicable

4/0 Not Applicable

5 Pass

6 Pass

Assigning VLANs to the ASA Services Module

This section describes how to assign VLANs to the ASASM. The ASASM does not include any external physical interfaces. Instead, it uses VLAN interfaces. Assigning VLANs to the ASASM is similar to assigning a VLAN to a switch port; the ASASM includes an internal interface to the Switch Fabric Module (if present) or the shared bus.

Prerequisites

See the switch documentation for information about adding VLANs to the switch and assigning them to switch ports.

Guidelines

- You can assign up to 16 firewall VLAN groups to each ASASM. (You can create more than 16 VLAN groups in Cisco IOS software, but only 16 can be assigned per ASASM.) For example, you can assign all the VLANs to one group; or you can create an inside group and an outside group; or you can create a group for each customer.

- There is no limit on the number of VLANs per group, but the ASASM can only use VLANs up to the ASASM system limit (see the ASASM licensing documentation for more information).

- You cannot assign the same VLAN to multiple firewall groups.

- You can assign a single firewall group to multiple ASASMs. VLANs that you want to assign to multiple ASASMs, for example, can reside in a separate group from VLANs that are unique to each ASASM.

- See VLAN Guidelines and Limitations.

Detailed Steps

Command

Purpose

Step 1

firewall vlan-group firewall_group vlan_range

Router(config)# firewall vlan-group 1 55-57

Assigns VLANs to a firewall group.

argument can be one or more VLANs (2 to 1001) identified in one of the following ways:

- A single number ( n )

- A range ( n-x )

Separate numbers or ranges by commas, as shown in the following example:

5,7-10,13,45-100

Step 2

firewall [ switch { 1 | 2 }] module slot vlan-group firewall_group

Router(config)# firewall module 5 vlan-group 1

Assigns the firewall groups to the ASASM.

argument.

command.

one or more group numbers, which can be one of the following:

- A single number ( n )

- A range ( n-x )

Separate numbers or ranges by commas, as shown in the following example:

5,7-10

Examples

The following example shows how to create three firewall VLAN groups: one for each ASASM, and one that includes VLANs assigned to both ASASMs:

Router(config)# firewall vlan-group 10 55-57

Router(config)# firewall vlan-group 11 70-85

Router(config)# firewall vlan-group 12 100

Router(config)# firewall module 5 vlan-group 10,12

Router(config)# firewall module 8 vlan-group 11,12

The following example shows how to configure private VLANs on the switch by assigning the primary VLAN to the ASASM:

Step 1 Add the primary VLAN 200 to a firewall VLAN group, and assign the group to the ASASM:

Router(config)# firewall vlan-group 10 200

Router(config)# firewall module 5 vlan-group 10

Step 2 Designate VLAN 200 as the primary VLAN:

Router(config)# vlan 200

Router(config-vlan)# private-vlan primary

Step 3 Designate only one secondary isolated VLAN. Designate one or more secondary community VLANs.

Router(config)# vlan 501

Router(config-vlan)# private-vlan isolated

Router(config)# vlan 502

Router(config-vlan)# private-vlan community

Router(config)# vlan 503

Router(config-vlan)# private-vlan community

Step 4 Associate the secondary VLANs to the primary VLAN:

Router(config)# vlan 200

Router(config-vlan)# private-vlan association 501-503

Step 5 Classify the port mode. The mode of interface f1/0/1 is host. The mode of interface f1/0/2 is promiscuous.

Router(config)# interface f1/0/1

Router(config-ifc)# switchport mode private-vlan host

Router(config)# interface f1/0/2

Router(config-ifc)# switchport mode private-vlan promiscuous

Step 6 Assign VLAN membership to the host port. Interface f1/0/1 is a member of primary VLAN 200 and secondary isolated VLAN 501.

Router(config)# interface f1/0/1

Router(config-ifc)# switchport private-vlan host-association 200 501

Step 7 Assign VLAN membership to the promiscuous interface. Interface f1/0/2 is a member of primary VLAN 200. Secondary VLANs 501-503 are mapped to the primary VLAN.

Router(config)# interface f1/0/2

Router(config-ifc)# switchport private-vlan mapping 200 501-503

Step 8 If inter-VLAN routing is desired, configure a primary SVI and then map the secondary VLANs to the primary.

Router(config)# interface vlan 200

Router(config-ifc)# private-vlan mapping 501-503

Using the MSFC as a Directly Connected Router (SVIs)

If you want to use the MSFC as a directly connected router (for example, as the default gateway connected to the ASASM outside interface), then add an ASASM VLAN interface to the MSFC as a switched virtual interface (SVI). See Information About SVIs.

Restrictions

For security reasons, by default, you can configure one SVI between the MSFC and the ASASM; you can enable multiple SVIs, but be sure you do not misconfigure your network.

Detailed Steps

Command

Purpose

Step 1

(Optional)

Router(config)# firewall multiple-vlan-interfaces

Allows you to add more than one SVI to the ASASM.

Step 2

interface vlan vlan_number

Router(config)# interface vlan 55

Adds a VLAN interface to the MSFC.

Step 3

ip address address mask

Router(config-if)# ip address 10.1.1.1 255.255.255.0

Sets the IP address for this interface on the MSFC.

Step 4

no shutdown

Router(config-if)# no shutdown

Enables the interface.

Examples

The following example shows a typical configuration with multiple SVIs:

Router(config)# firewall vlan-group 50 55-57

Router(config)# firewall vlan-group 51 70-85

Router(config)# firewall module 8 vlan-group 50-51

Router(config)# firewall multiple-vlan-interfaces

Router(config)# interface vlan 55

Router(config-if)# ip address 10.1.1.1 255.255.255.0

Router(config-if)# no shutdown

Router(config-if)# interface vlan 56

Router(config-if)# ip address 10.1.2.1 255.255.255.0

Router(config-if)# no shutdown

Router(config-if)# end

Router#

Configuring the Switch for ASA Failover

This section includes the following topics:

- Assigning VLANs to the Secondary ASA Services Module

- Adding a Trunk Between a Primary Switch and Secondary Switch

- Ensuring Compatibility with Transparent Firewall Mode

- Enabling Autostate Messaging for Rapid Link Failure Detection

Assigning VLANs to the Secondary ASA Services Module

Because both units require the same access to the inside and outside networks, you must assign the same VLANs to both ASASMs on the switch(es). See Assigning VLANs to the Secondary ASA Services Module.

Adding a Trunk Between a Primary Switch and Secondary Switch

If you are using inter-switch failover, then you should configure an 802.1Q VLAN trunk between the two switches to carry the failover and state links. The trunk should have QoS enabled so that failover VLAN packets, which have a CoS value of 5 (higher priority), are treated with higher priority in these ports.

To configure the EtherChannel and trunk, see the documentation for your switch.

Ensuring Compatibility with Transparent Firewall Mode

To avoid loops when you use failover in transparent mode, use switch software that supports BPDU forwarding. Do not enable LoopGuard globally on the switch if the ASASM is in transparent mode. LoopGuard is automatically applied to the internal EtherChannel between the switch and the ASASM, so after a failover and a failback, LoopGuard causes the secondary unit to be disconnected because the EtherChannel goes into the err-disable state.

Enabling Autostate Messaging for Rapid Link Failure Detection

The supervisor engine can send autostate messages to the ASASM about the status of physical interfaces associated with ASASM VLANs. For example, when all physical interfaces associated with a VLAN go down, the autostate message tells the ASASM that the VLAN is down. This information lets the ASASM declare the VLAN as down, bypassing the interface monitoring tests normally required for determining which side suffered a link failure. Autostate messaging provides a dramatic improvement in the time the ASASM takes to detect a link failure (a few milliseconds as compared to up to 45 seconds without autostate support).

The switch supervisor sends an autostate message to the ASASM when:

- The last interface belonging to a VLAN goes down.

- The first interface belonging to a VLAN comes up.

Detailed Steps

Command

Purpose

firewall autostate

Enables autostate messaging in Cisco IOS software. Autostate messaging is disabled by default.

Resetting the ASA Services Module

This section describes how to reset the ASASM. You might need to reset the ASASM if you cannot reach it through the CLI or an external Telnet session. The reset process might take several minutes.

Detailed Steps

Command

Purpose

hw-module [ switch { 1 | 2 }] module slot reset

Router# hw-module module 9 reset

Resets the ASASM.

argument.

command.
command.

Examples

command:

Router# hw-module module 9 reset

Proceed with reload of module? [confirm] y

% reset issued for module 9

Router#

00:26:55:%SNMP-5-MODULETRAP:Module 9 [Down] Trap

00:26:55:SP:The PC in slot 8 is shutting down. Please wait ...

Monitoring the ASA Services Module

To monitor the ASA,enter one of the following commands:

Command

Purpose

Verifies the state of the ASA.

Verifies that traffic is flowing through the ASA.

Shows the software version of the ASA.

Indicates the status of multiple VLAN interfaces (enabled or disabled).

Displays all configured VLAN groups.

Displays the status and information about the configured VLAN interface.

Examples

] state command:

Router> show firewall module 11 state

Firewall module 11:

Switchport: Enabled

Administrative Mode: trunk

Operational Mode: trunk

Administrative Trunking Encapsulation: dot1q

Operational Trunking Encapsulation: dot1q

Negotiation of Trunking: Off

Access Mode VLAN: 1 (default)

Trunking Native Mode VLAN: 1 (default)

Trunking VLANs Enabled: 3,6,7,20-24,40,59,85,87-89,99-115,150,188-191,200,250,

501-505,913,972

Pruning VLANs Enabled: 2-1001

Vlans allowed on trunk:

Vlans allowed and active in management domain:

Vlans in spanning tree forwarding state and not pruned:

] traffic command:

Router> show firewall module 11 traffic

Firewall module 11:

Specified interface is up, line protocol is up (connected)

Hardware is EtherChannel, address is 0014.1cd5.bef6 (bia 0014.1cd5.bef6)

MTU 1500 bytes, BW 6000000 Kbit, DLY 10 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation ARPA, loopback not set

Full-duplex, 1000Mb/s, media type is unknown

input flow-control is on, output flow-control is on

Members in this channel: Gi11/1 Gi11/2 Gi11/3 Gi11/4 Gi11/5 Gi11/6

Last input never, output never, output hang never

Last clearing of "show interface" counters never

Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0

Queuing strategy: fifo

Output queue: 0/40 (size/max)

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 10000 bits/sec, 17 packets/sec

8709 packets input, 845553 bytes, 0 no buffer

Received 745 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

0 input packets with dribble condition detected

18652077 packets output, 1480488712 bytes, 0 underruns

0 output errors, 0 collisions, 1 interface resets

0 babbles, 0 late collision, 0 deferred

0 lost carrier, 0 no carrier

0 output buffer failures, 0 output buffers swapped out

command:

Router# show firewall multiple-vlan-interfaces

Multiple firewall vlan interfaces feature is enabled

The following is sample output from the show firewall module command:

Router# show firewall module

Module Vlan-groups

5 50,52

8 51,52

] version command:

Router# show firewall module 2 version

ASA Service Module 2:

Sw Version: 100.7(8)19

The following is sample output from the show firewall vlan-group command:

Router# show firewall vlan-group

Group vlans

----- ------

50 55-57

51 70-85

52 100

The following is sample output from the show interface vlan command:

Router# show interface vlan 55

Vlan55 is up, line protocol is up

Hardware is EtherSVI, address is 0008.20de.45ca (bia 0008.20de.45ca)

Internet address is 10.1.1.1/24

MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation ARPA, loopback not set

ARP type:ARPA, ARP Timeout 04:00:00

Last input never, output 00:00:08, output hang never

Last clearing of “show interface” counters never

Input queue:0/75/0/0 (size/max/drops/flushes); Total output drops:0

Queueing strategy:fifo

Output queue :0/40 (size/max)

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

L2 Switched:ucast:196 pkt, 13328 bytes - mcast:4 pkt, 256 bytes

L3 in Switched:ucast:0 pkt, 0 bytes - mcast:0 pkt, 0 bytes mcast

L3 out Switched:ucast:0 pkt, 0 bytes

0 packets input, 0 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

4 packets output, 256 bytes, 0 underruns

0 output errors, 0 interface resets

0 output buffer failures, 0 output buffers swapped out

Feature History for the Switch for Use with the ASA Services Module

lists each feature change and the platform release in which it was implemented

Table 2-1 Feature History for the Switch for Use with the ASASM

Feature Name

Platform Releases

Feature Information

ASA Services Module support on the Cisco Catalyst 6500 switch

8.5(1)

The ASASM is a high-performance security services module for the Catalyst 6500 series switch, which you configure according to the procedures in this chapter.

.

ASA Services Module support on the Cisco 7600 switch

9.0(1)

The Cisco 7600 series now supports the ASASM.

Support for private VLANs

9.1(2)

You can use private VLANs with the ASASM. Assign the primary VLAN to the ASASM; the ASASM automatically handles secondary VLAN traffic. There is no configuration required on the ASASM for this feature; see the switch configuration guide for more information.

SNMP

This chapter describes how to configure Simple Network Management Protocol (SNMP) to monitor the ASA.

- Information About SNMP

- Licensing Requirements for SNMP

- Prerequisites for SNMP

- Guidelines and Limitations

- Configuring SNMP

- Troubleshooting Tips

- Monitoring SNMP

- Configuration Examples for SNMP

- Where to Go Next

- Additional References

- Feature History for SNMP

Information 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.

- Information About SNMP Terminology

- Information About MIBs and Traps

- SNMP Object Identifiers

- SNMP Physical Vendor Type Values

- Supported Tables in (MIBs

- Supported Traps (Notifications)

- SNMP Version 3

The ASA, ASAv, and ASASM provide support for network monitoring using SNMP Versions 1, 2c, and 3, and supports 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 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.

I nformation About SNMP Terminology

lists the terms that are commonly used when working with SNMP:

Table 47-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.

- Does not allow set operations.

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.

Information About MIBs and Traps

MIBs are either standard or enterprise-specific. Standard MIBs are created by the IETF and documented in various RFCs. A trap reports significant events occurring on a network device, most often errors or failures. SNMP traps are defined in either standard or enterprise-specific MIBs. Standard traps are created by the IETF and documented in various RFCs. SNMP traps are compiled into the ASA, ASAvor ASASM software.

If needed, you can also download RFCs, standard MIBs, and standard traps from the following locations:

Download a complete list of Cisco MIBs, traps, and OIDs from the following location:

In addition, download Cisco OIDs by FTP from the following location:

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.

SNMP Object Identifiers

lists the sysObjectID OIDs for ASA models.

Table 47-2 SNMP Object Identifiers

Product Identifier

sysObjectID

Model Number

ASA 5505

ciscoASA5505 (ciscoProducts 745)

Cisco ASA 5505

ASA5585-SSP10

ciscoASA5585Ssp10 (ciscoProducts 1194)

ASA 5585-X SSP-10

ASA5585-SSP20

ciscoASA5585Ssp20 (ciscoProducts 1195)

ASA 5585-X SSP-20

ASA5585-SSP40

ciscoASA5585Ssp40 (ciscoProducts 1196)

ASA 5585-X SSP-40

ASA5585-SSP60

ciscoASA5585Ssp60 (ciscoProducts 1197)

ASA 5585-X SSP-60

ASA5585-SSP10

ciscoASA5585Ssp10sc (ciscoProducts 1198)

ASA 5585-X SSP-10 security context

ASA5585-SSP20

ciscoASA5585Ssp20sc (ciscoProducts 1199)

ASA 5585-X SSP-20 security context

ASA5585-SSP40

ciscoASA5585Ssp40sc (ciscoProducts 1200)

ASA 5585-X SSP-40 security context

ASA5585-SSP60

ciscoASA5585Ssp60sc (ciscoProducts 1201)

ASA 5585-X SSP-60 security context

ASA5585-SSP10

ciscoASA5585Ssp10sy (ciscoProducts 1202)

ASA 5585-X SSP-10 system context

ASA5585-SSP20

ciscoASA5585Ssp20sy (ciscoProducts 1203)

ASA 5585-X SSP-20 system context

ASA5585-SSP40

ciscoASA5585Ssp40sy (ciscoProducts 1204)

ASA 5585-X SSP-40 system context

ASA5585-SSP60

ciscoASA5585Ssp60sy (ciscoProducts 1205)

ASA 5585-X SSP-60 system context

ASA Services Module for Catalyst switches/7600 routers

ciscoAsaSm1 (ciscoProducts 1277)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers

ASA Services Module for Catalyst switches/7600 routers security context

ciscoAsaSm1sc (ciscoProducts 1275)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers security context

ASA Services Module for Catalyst switches/7600 routers security context with No Payload Encryption

ciscoAsaSm1K7sc (ciscoProducts 1334)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers security context with No Payload Encryption

ASA Services Module for Catalyst switches/7600 routers system context

ciscoAsaSm1sy (ciscoProducts 1276)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers system context

ASA Services Module for Catalyst switches system context/7600 routers with No Payload Encryption

ciscoAsaSm1K7sy (ciscoProducts 1335)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers system context with No Payload Encryption

ASA Services Module for Catalyst switches/7600 routers system context with No Payload Encryption

ciscoAsaSm1K7 (ciscoProducts 1336)

Adaptive Security Appliance (ASA) Services Module for Catalyst switches/7600 routers with No Payload Encryption

ASA 5512

ciscoASA5512 (ciscoProducts 1407)

ASA 5512 Adaptive Security Appliance

ASA 5525

ciscoASA5525 (ciscoProducts 1408)

ASA 5525 Adaptive Security Appliance

ASA 5545

ciscoASA5545 (ciscoProducts 1409)

ASA 5545 Adaptive Security Appliance

ASA 5555

ciscoASA5555 (ciscoProducts 1410)

ASA 5555 Adaptive Security Appliance

ASA 5512 Security Context

ciscoASA5512sc (ciscoProducts 1411)

ASA 5512 Adaptive Security Appliance Security Context

ASA 5525 Security Context

ciscoASA5525sc (ciscoProducts 1412)

ASA 5525 Adaptive Security Appliance Security Context

ASA 5545 Security Context

ciscoASA5545sc (ciscoProducts 1413)

ASA 5545 Adaptive Security Appliance Security Context

ASA 5555 Security Context

ciscoASA5555sc (ciscoProducts 1414)

ASA 5555 Adaptive Security Appliance Security Context

ASA 5512 System Context

ciscoASA5512sy (ciscoProducts 1415)

ASA 5512 Adaptive Security Appliance System Context

ASA 5515 System Context

ciscoASA5515sy (ciscoProducts 1416)

ASA 5515 Adaptive Security Appliance System Context

ASA 5525 System Context

ciscoASA5525sy (ciscoProducts1417)

ASA 5525 Adaptive Security Appliance System Context

ASA 5545 System Context

ciscoASA5545sy (ciscoProducts 1418)

ASA 5545 Adaptive Security Appliance System Context

ASA 5555 System Context

ciscoASA5555sy (ciscoProducts 1419)

ASA 5555 Adaptive Security Appliance System Context

ASA 5515 Security Context

ciscoASA5515sc (ciscoProducts 1420)

ASA 5515 Adaptive Security Appliance System Context

ASA 5515

ciscoASA5515 (ciscoProducts 1421)

ASA 5515 Adaptive Security Appliance

ASAv

ciscoASAv (ciscoProducts 1902)

Cisco Adaptive Security Virtual Appliance (ASAv)

ASAv System Context

ciscoASAvsy (ciscoProducts 1903)

Cisco Adaptive Security Virtual Appliance (ASAv) System Context

ASAv Security Context

ciscoASAvsc (ciscoProducts 1904)

Cisco Adaptive Security Virtual Appliance (ASAv) Security Contex

SNMP Physical Vendor Type Values

lists the physical vendor type values for the ASA and ASASM models.

Table 47-3 SNMP Physical Vendor Type Values

Item

entPhysicalVendorType OID Description

ASA Services Module for Catalyst switches/7600 routers

cevCat6kWsSvcAsaSm1 (cevModuleCat6000Type 169)

ASA Services Module for Catalyst switches/7600 routers with No Payload Encryption

cevCat6kWsSvcAsaSm1K7 (cevModuleCat6000Type 186)

ASA 5505 chassis

cevChassisASA5505 (cevChassis 560)

Cisco Adaptive Security Appliance (ASA) 5512 Adaptive Security Appliance

cevChassisASA5512 (cevChassis 1113)

Cisco Adaptive Security Appliance (ASA) 5512 Adaptive Security Appliance with No Payload Encryption

cevChassisASA5512K7 (cevChassis 1108 )

Cisco Adaptive Security Appliance (ASA) 5515 Adaptive Security Appliance

cevChassisASA5515 (cevChassis 1114)

Cisco Adaptive Security Appliance (ASA) 5515 Adaptive Security Appliance with No Payload Encryption

cevChassisASA5515K7 (cevChassis 1109 )

Cisco Adaptive Security Appliance (ASA) 5525 Adaptive Security Appliance

cevChassisASA5525 (cevChassis 1115)

Cisco Adaptive Security Appliance (ASA) 5525 Adaptive Security Appliance with No Payload Encryption

cevChassisASA5525K7 (cevChassis 1110 )

Cisco Adaptive Security Appliance (ASA) 5545 Adaptive Security Appliance

cevChassisASA5545 (cevChassis 1116)

Cisco Adaptive Security Appliance (ASA) 5545 Adaptive Security Appliance with No Payload Encryption

cevChassisASA5545K7 (cevChassis 1111 )

Cisco Adaptive Security Appliance (ASA) 5555 Adaptive Security Appliance

cevChassisASA5555 (cevChassis 1117)

Cisco Adaptive Security Appliance (ASA) 5555 Adaptive Security Appliance with No Payload Encryption

cevChassisASA5555K7 (cevChassis 1112 )

Central Processing Unit for Cisco Adaptive Security Appliance 5512

cevCpuAsa5512 (cevModuleCpuType 229)

Central Processing Unit for Cisco Adaptive Security Appliance 5512 with no Payload Encryption

cevCpuAsa5512K7 (cevModuleCpuType 224)

Central Processing Unit for Cisco Adaptive Security Appliance 5515

cevCpuAsa5515 (cevModuleCpuType 230)

Central Processing Unit for Cisco Adaptive Security Appliance 5515 with no Payload Encryption

cevCpuAsa5515K7 (cevModuleCpuType 225)

Central Processing Unit for Cisco Adaptive Security Appliance 5525

cevCpuAsa5525 (cevModuleCpuType 231)

Central Processing Unit for Cisco Adaptive Security Appliance 5525 with no Payload Encryption

cevCpuAsa5525K7 (cevModuleCpuType 226)

Central Processing Unit for Cisco Adaptive Security Appliance 5545

cevCpuAsa5545 (cevModuleCpuType 232)

Central Processing Unit for Cisco Adaptive Security Appliance 5545 with no Payload Encryption

cevCpuAsa5545K7 (cevModuleCpuType 227)

Central Processing Unit for Cisco Adaptive Security Appliance 5555

cevCpuAsa5555 (cevModuleCpuType 233)

Central Processing Unit for Cisco Adaptive Security Appliance 5555 with no Payload Encryption

cevCpuAsa5555K7 (cevModuleCpuType 228)

CPU for ASA 5585 SSP-10

cevCpuAsa5585Ssp10 (cevModuleCpuType 204)

CPU for ASA 5585 SSP-10 No Payload Encryption

cevCpuAsa5585Ssp10K7 ( cevModuleCpuType 205)

CPU for ASA 5585 SSP-20

cevCpuAsa5585Ssp20 (cevModuleCpuType 206)

CPU for ASA 5585 SSP-20 No Payload Encryption

cevCpuAsa5585Ssp20K7 (cevModuleCpuType 207)

CPU for ASA 5585 SSP-40

cevCpuAsa5585Ssp40 (cevModuleCpuType 208)

CPU for ASA 5585 SSP-40 No Payload Encryption

cevCpuAsa5585Ssp40K7 (cevModuleCpuType 209)

CPU for ASA 5585 SSP-60

cevCpuAsa5585Ssp60 (cevModuleCpuType 210)

CPU for ASA 5585 SSP-60 No Payload Encryption

cevCpuAsa5585Ssp60K (cevModuleCpuType 211)

CPU for Cisco ASA Services Module for Catalyst switches/7600 routers

cevCpuAsaSm1 (cevModuleCpuType 222)

CPU for Cisco ASA Services Module with No Payload Encryption for Catalyst switches/7600 routers

cevCpuAsaSm1K7 (cevModuleCpuType 223)

Chassis Cooling Fan in Adaptive Security Appliance 5512

cevFanASA5512ChassisFan (cevFan 163)

Chassis Cooling Fan in Adaptive Security Appliance 5512 with No Payload Encryption

cevFanASA5512K7ChassisFan (cevFan 172)

Chassis Cooling Fan in Adaptive Security Appliance 5515

cevFanASA5515ChassisFan (cevFan 164)

Chassis Cooling Fan in Adaptive Security Appliance 5515 with No Payload Encryption

cevFanASA5515K7ChassisFan (cevFan 171)

Chassis Cooling Fan in Adaptive Security Appliance 5525

cevFanASA5525ChassisFan (cevFan 165)

Chassis Cooling Fan in Adaptive Security Appliance 5525 with No Payload Encryption

cevFanASA5525K7ChassisFan (cevFan 170)

Chassis Cooling Fan in Adaptive Security Appliance 5545

cevFanASA5545ChassisFan (cevFan 166)

Chassis Cooling Fan in Adaptive Security Appliance 5545 with No Payload Encryption

cevFanASA5545K7ChassisFan (cevFan 169)

Power Supply Fan in Adaptive Security Appliance 5545 with No Payload Encryption

cevFanASA5545K7PSFan (cevFan 161)

Power Supply Fan in Adapative Security Appliance 5545

cevFanASA5545PSFan (cevFan 159)

Chassis Cooling Fan in Adaptive Security Appliance 5555

cevFanASA5555ChassisFan (cevFan 167)

Chassis Cooling Fan in Adaptive Security Appliance 5555 with No Payload Encryption

cevFanASA5555K7ChassisFan (cevFan 168)

Power Supply Fan in Adaptive Security Appliance 5555

cevFanASA5555PSFan (cevFan 160)

Power Supply Fan in Adaptive Security Appliance 5555 with No Payload Encryption

cevFanASA5555PSFanK7 (cevFan 162)

Power supply fan for ASA 5585-X

cevFanASA5585PSFan (cevFan 146)

10-Gigabit Ethernet interface

cevPort10GigEthernet (cevPort 315)

Gigabit Ethernet port

cevPortGe (cevPort 109)

Power Supply unit in Adaptive Security Appliance 5545

cevPowerSupplyASA5545PSInput (cevPowerSupply 323)

Presence Sensor for Power Supply input in Adaptive Security Appliance 5545

cevPowerSupplyASA5545PSPresence (cevPowerSupply 321)

Power Supply unit in Adaptive Security Appliance 5555

cevPowerSupplyASA5555PSInput (cevPowerSupply 324)

Presence Sensor for Power Supply input in Adaptive Security Appliance 5555

cevPowerSupplyASA5555PSPresence (cevPowerSupply 322)

Power supply input for ASA 5585

cevPowerSupplyASA5585PSInput (cevPowerSupply 304)

Cisco Adaptive Security Appliance (ASA) 5512 Chassis Fan sensor

cevSensorASA5512ChassisFanSensor (cevSensor 120)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5512

cevSensorASA5512ChassisTemp (cevSensor 107)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5512

cevSensorASA5512CPUTemp (cevSensor 96)

Cisco Adaptive Security Appliance (ASA) 5512 with No Payload Encryption Chassis Fan sensor

cevSensorASA5512K7ChassisFanSensor (cevSensor 125)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5512 with No Payload Encryption

cevSensorASA5512K7CPUTemp (cevSensor 102)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5512 with No Payload Encryption

cevSensorASA5512K7PSFanSensor (cevSensor 116)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5512

cevSensorASA5512PSFanSensor (cevSensor 119)

Cisco Adaptive Security Appliance (ASA) 5515 Chassis Fan sensor

cevSensorASA5515ChassisFanSensor (cevSensor 121)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5515

cevSensorASA5515ChassisTemp (cevSensor 98)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5515

cevSensorASA5515CPUTemp (cevSensor 97)

Cisco Adaptive Security Appliance (ASA) 5515 with No Payload Encryption Chassis Fan sensor

cevSensorASA5515K7ChassisFanSensor (cevSensor 126)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5515 with No Payload Encryption

cevSensorASA5515K7CPUTemp (cevSensor 103)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5515 with No Payload Encryption

cevSensorASA5515K7PSFanSensor (cevSensor 115)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5515

cevSensorASA5515PSFanSensor (cevSensor 118)

Cisco Adaptive Security Appliance (ASA) 5525 Chassis Fan sensor

cevSensorASA5525ChassisFanSensor (cevSensor 122)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5525

cevSensorASA5525ChassisTemp (cevSensor 108)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5525

cevSensorASA5525CPUTemp (cevSensor 99)

Cisco Adaptive Security Appliance (ASA) 5525 with No Payload Encryption Chassis Fan sensor

cevSensorASA5525K7ChassisFanSensor (cevSensor 127)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5525 with No Payload Encryption

cevSensorASA5525K7CPUTemp (cevSensor 104)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5525 with No Payload Encryption

cevSensorASA5525K7PSFanSensor (cevSensor 114)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5525

cevSensorASA5525PSFanSensor (cevSensor 117)

Cisco Adaptive Security Appliance (ASA) 5545 Chassis Fan sensor

cevSensorASA5545ChassisFanSensor (cevSensor 123)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5545

cevSensorASA5545ChassisTemp (cevSensor 109)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5545

cevSensorASA5545CPUTemp (cevSensor 100)

Cisco Adaptive Security Appliance (ASA) 5545 with No Payload Encryption Chassis Fan sensor

cevSensorASA5545K7ChassisFanSensor (cevSensor 128)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545K7ChassisTemp (cevSensor 90)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545K7CPUTemp (cevSensor 105)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545K7PSFanSensor (cevSensor 113)

Presence Sensor for Power Supply input in Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545K7PSPresence (cevSensor 87)

Temperature Sensor for Power Supply Fan in Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545K7PSTempSensor (cevSensor 94)

Sensor for Power Supply Fan in Adaptive Security Appliance 5545 with No Payload Encryption

cevSensorASA5545PSFanSensor (cevSensor 89)

Presence Sensor for Power Supply input in Adaptive Security Appliancce 5545

cevSensorASA5545PSPresence (cevSensor 130)

Presence Sensor for Power Supply input in Adaptive Security Appliancce 5555

cevSensorASA5545PSPresence (cevSensor 131)

Temperature Sensor for Power Supply Fan in Adaptive Security Appliance 5545

cevSensorASA5545PSTempSensor (cevSensor 92)

Cisco Adaptive Security Appliance (ASA) 5555 Chassis Fan sensor

cevSensorASA5555ChassisFanSensor (cevSensor 124)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5555

cevSensorASA5555ChassisTemp (cevSensor 110)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5555

cevSensorASA5555CPUTemp (cevSensor 101)

Cisco Adaptive Security Appliance (ASA) 5555 with No Payload Encryption Chassis Fan sensor

cevSensorASA5555K7ChassisFanSensor (cevSensor 129)

Chassis Ambient Temperature Sensor for Cisco Adaptive Security Appliance 5555 with No Payload Encryption

cevSensorASA5555K7ChassisTemp (cevSensor 111)

Central Processing Unit Temperature Sensor for Cisco Adaptive Security Appliance 5555 with No Payload Encryption

cevSensorASA5555K7CPUTemp (cevSensor 106)

Sensor for Chassis Cooling Fan in Adaptive Security Appliance 5555 with No Payload Encryption

cevSensorASA5555K7PSFanSensor (cevSensor 112)

Presence Sensor for Power Supply input in Adaptive Security Appliance 5555 with No Payload Encryption

cevSensorASA5555K7PSPresence (cevSensor 88)

Temperature Sensor for Power Supply Fan in Adaptive Security Appliance 5555 with No Payload Encryption

cevSensorASA5555K7PSTempSensor (cevSensor 95)

Sensor for Power Supply Fan in Adaptive Security Appliance 5555

cevSensorASA5555PSFanSensor (cevSensor 91)

Temperature Sensor for Power Supply Fan in Adaptive Security Appliance 5555

cevSensorASA5555PSTempSensor (cevSensor 93)

Sensor for power supply fan for ASA 5585-X

cevSensorASA5585PSFanSensor (cevSensor 86)

Sensor for power supply input for ASA 5585-X

cevSensorASA5585PSInput (cevSensor 85)

CPU temperature sensor for ASA 5585 SSP-10

cevSensorASA5585SSp10CPUTemp (cevSensor 77)

CPU temperature sensor for ASA 5585 SSP-10 No Payload Encryption

cevSensorASA5585SSp10K7CPUTemp (cevSensor 78)

CPU temperature sensor for ASA 5585 SSP-20

cevSensorASA5585SSp20CPUTemp (cevSensor 79)

CPU temperature sensor for ASA 5585 SSP-20 No Payload Encryption

cevSensorASA5585SSp20K7CPUTemp (cevSensor 80)

CPU temperature sensor for ASA 5585 SSP-40

cevSensorASA5585SSp40CPUTemp (cevSensor 81)

CPU temperature sensor for ASA 5585 SSP-40 No Payload Encryption

cevSensorASA5585SSp40K7CPUTemp (cevSensor 82)

CPU temperature sensor for ASA 5585 SSP-60

cevSensorASA5585SSp60CPUTemp (cevSensor 83)

CPU temperature sensor for ASA 5585 SSP-60 No Payload Encryption

cevSensorASA5585SSp60K7CPUTemp (cevSensor 84)

Adaptive Security Appliance 5555-X Field-Replaceable Solid State Drive

cevModuleASA5555XFRSSD (cevModuleCommonCards 396)

Adaptive Security Appliance 5545-X Field-Replaceable Solid State Drive

cevModuleASA5545XFRSSD (cevModuleCommonCards 397)

Adaptive Security Appliance 5525-X Field-Replaceable Solid State Drive

cevModuleASA5525XFRSSD (cevModuleCommonCards 398)

Adaptive Security Appliance 5515-X Field-Replaceable Solid State Drive

cevModuleASA5515XFRSSD (cevModuleCommonCards 399)

Adaptive Security Appliance 5512-X Field-Replaceable Solid State Drive

cevModuleASA5512XFRSSD (cevModuleCommonCards 400)

Cisco Adaptive Security Virtual Appliance

cevChassisASAv (cevChassis 1451)

Supported Tables in (MIBs

lists the supported tables and objects for the specified MIBs.

Table 47-4 Supported Tables and Objects in MIBs

MIB Name

Supported Tables and Objects

CISCO-ENHANCED-MEMPOOL-MIB

cempMemPoolTable, cempMemPoolIndex, cempMemPoolType, cempMemPoolName, cempMemPoolAlternate, cempMemPoolValid, cempMemPoolUsed, cempMemPoolFree, cempMemPoolUsedOvrflw, cempMemPoolHCUsed, cempMemPoolFreeOvrflw, cempMemPoolHCFree

CISCO-ENTITY-SENSOR-EXT-MIB

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

ceSensorExtThresholdTable

CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB

ciscoL4L7ResourceLimitTable

CISCO-TRUSTSEC-SXP-MIB

Note Not supported on the Cisco Adaptive Security Virtual Appliance (ASAv).

ctsxSxpGlobalObjects, ctsxSxpConnectionObjects, ctsxSxpSgtObjects

DISMAN-EVENT-MIB

mteTriggerTable, mteTriggerThresholdTable, mteObjectsTable, mteEventTable, mteEventNotificationTable

DISMAN-EXPRESSION-MIB

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

expExpressionTable, expObjectTable, expValueTable

ENTITY-SENSOR-MIB

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

entPhySensorTable

NAT-MIB

natAddrMapTable, natAddrMapIndex, natAddrMapName, natAddrMapGlobalAddrType, natAddrMapGlobalAddrFrom, natAddrMapGlobalAddrTo, natAddrMapGlobalPortFrom, natAddrMapGlobalPortTo, natAddrMapProtocol, natAddrMapAddrUsed, natAddrMapRowStatus

Supported Traps (Notifications)

lists the supported traps (notifications) and their associated MIBs.

Table 47-5 Supported Traps (Notifications)

Trap and MIB Name

Varbind List

Description

authenticationFailure

(SNMPv2-MIB)

—

For SNMP Version 1 or 2, the community string provided in the SNMP request is incorrect. For SNMP Version 3, a report PDU is generated instead of a trap if the auth or priv passwords or usernames are incorrect.

command is used to enable and disable transmission of these traps.

cefcFRUInserted

(CISCO-ENTITY-FRU-CONTROL-MIB)

—

command is used to enable this notification.

cefcFRURemoved

(CISCO-ENTITY-FRU-CONTROL-MIB)

—

command is used to enable this notification.

ceSensorExtThresholdNotification

(CISCO-ENTITY-SENSOR-EXT-MIB)

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

ceSensorExtThresholdValue, entPhySensorValue, entPhySensorType, entPhysicalName

] command is used to enable transmission of the entity threshold notifications. This notification is sent for a power supply failure. The objects sent identify the fan and CPU temperature.

command is used to enable transmission of the fan failure trap.

command is used to enable transmission of the power supply failure trap.

command is used to enable transmission of the chassis fan failure trap.

command is used to enable transmission of the high CPU temperature trap.

command is used to enable transmission of the power supply presence failure trap.

command is used to enable transmission of the power supply temperature threshold trap.

command is used to enable transmission of the chassis ambient temperature trap.

cipSecTunnelStart

(CISCO-IPSEC-FLOW-MONITOR-MIB)

cipSecTunLifeTime, cipSecTunLifeSize

command is used to enable transmission of this trap.

cipSecTunnelStop

(CISCO-IPSEC-FLOW-MONITOR-MIB)

cipSecTunActiveTime

command is used to enable transmission of this trap.

ciscoRasTooManySessions

-MIB)

crasNumSessions, crasNumUsers, crasMaxSessionsSupportable, crasMaxUsersSupportable, crasThrMaxSessions

command is used to enable transmission of these traps.

clogMessageGenerated

(CISCO-SYSLOG-MIB)

clogHistFacility, clogHistSeverity, clogHistMsgName, clogHistMsgText, clogHistTimestamp

Syslog messages are generated.

The value of the clogMaxSeverity object is used to decide which syslog messages are sent as traps.

command is used to enable and disable transmission of these traps.

clrResourceLimitReached

-LIMIT-MIB)

crlResourceLimitValueType, crlResourceLimitMax, clogOriginIDType, clogOriginID

The snmp-server enable traps connection-limit-reached command is used to enable transmission of the connection-limit-reached notification. The clogOriginID object includes the context name from which the trap originated.

coldStart

(SNMPv2-MIB)

—

The SNMP agent has started.

command is used to enable and disable transmission of these traps.

cpmCPURisingThreshold

(CISCO-PROCESS-MIB)

cpmCPURisingThresholdValue, cpmCPUTotalMonIntervalValue, cpmCPUInterruptMonIntervalValue,cpmCPURisingThresholdPeriod, cpmProcessTimeCreated, cpmProcExtUtil5SecRev

command is used to enable transmission of the cpu threshold rising notification. The cpmCPURisingThresholdPeriod object is sent with the other objects.

entConfigChange

(ENTITY-MIB)

—

command is used to enable this notification.

Note This notification is only sent in multimode when a security context is created or removed.

linkDown

(IF-MIB)

ifIndex, ifAdminStatus, ifOperStatus

The linkdown trap for interfaces.

command is used to enable and disable transmission of these traps.

linkUp

(IF-MIB)

ifIndex, ifAdminStatus, ifOperStatus

The linkup trap for interfaces.

command is used to enable and disable transmission of these traps.

mteTriggerFired

(DISMAN-EVENT-MIB)

mteHotTrigger, mteHotTargetName, mteHotContextName, mteHotOID, mteHotValue, cempMemPoolName, cempMemPoolHCUsed

The snmp-server enable traps memory-threshold command is used to enable the memory threshold notification. The mteHotOID is set to cempMemPoolHCUsed. The cempMemPoolName and cempMemPoolHCUsed objects are sent with the other objects.

mteTriggerFired

(DISMAN-EVENT-MIB)

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

mteHotTrigger, mteHotTargetName, mteHotContextName, mteHotOID, mteHotValue, ifHCInOctets, ifHCOutOctets, ifHighSpeed, entPhysicalName

The snmp-server enable traps interface-threshold command is used to enable the interface threshold notification. The entPhysicalName objects are sent with the other objects.

natPacketDiscard

(NAT-MIB)

ifIndex

The snmp-server enable traps nat packet-discard command is used to enable the NAT packet discard notification. This notification is rate limited for 5 minutes and is generated when IP packets are discarded by NAT because mapping space is not available. The ifIndex gives the ID of the mapped interface.

warmStart

(SNMPv2-MIB)

—

The snmp-server enable traps snmp warmstart command is used to enable and disable transmission of these traps.

SNMP Version 3

This section describes SNMP Version 3.

- SNMP Version 3 Overview

- Security Models

- SNMP Groups

- SNMP Users

- SNMP Hosts

- Implementation Differences Between the ASA, ASA Services Module, and the Cisco IOS Software

SNMP Version 3 Overview

SNMP Version 3 provides security enhancements that are not available in SNMP Version 1 or SNMP Version 2c. SNMP Versions 1 and 2c transmit data between the SNMP server and SNMP agent in clear text. SNMP Version 3 adds authentication and privacy options to secure protocol operations. In addition, this version controls access to the SNMP agent and MIB objects through the User-based Security Model (USM) and View-based Access Control Model (VACM). The ASA and ASASM also support the creation of SNMP groups and users, as well as hosts, which is required to enable transport authentication and encryption for secure SNMP communications.

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:

- NoAuthPriv—No Authentication and No Privacy, which means that no security is applied to messages.

- AuthNoPriv—Authentication but No Privacy, which means that messages are authenticated.

- AuthPriv—Authentication 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

command, make sure that you configure the user credentials on the NMS to match the credentials for the ASA and ASASM.

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.

Licensing Requirements for SNMP

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for SNMP

SNMP has the following prerequisite:

You must have Cisco Works for Windows or another SNMP MIB-II compliant browser to receive SNMP traps or browse a MIB.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

Failover Guidelines

- Supported in SNMP Version 3.

- 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

Does not support IPv6.

Additional Guidelines

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

- Does not support SNMP debugging.

- Does not support retrieval of ARP information.

- Does not support SNMP SET commands.

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

- The total 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.

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

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

Configuring SNMP

This section describes how to configure SNMP.

- Enabling SNMP

- Configuring SNMP Traps

- Configuring a CPU Usage Threshold

- Configuring a Physical Interface Threshold

- Using SNMP Version 1 or 2c

- Using SNMP Version 3

- Configuring a Group of Users

- Associating Users with a Network Object

Enabling SNMP

The SNMP agent that runs on the ASA performs two functions:

- Replies to SNMP requests from NMSs.

- Sends traps (event notifications) to NMSs.

To enable the SNMP agent and identify an NMS that can connect to the SNMP server, enter the following command:

Command

Purpose

snmp-server enable

Ensures that the SNMP server on the ASA, ASAv, or ASASM is enabled. By default, the SNMP server is enabled.

What to Do Next

See Configuring SNMP Traps.

Configuring SNMP Traps

To designate which traps that the SNMP agent generates and how they are collected and sent to NMSs, enter the following command:

Command

Purpose

snmp-server enable traps [ all | syslog | snmp [ authentication | linkup | linkdown | coldstart | warmstart ] | entity [ config-change | fru-insert | fru-remove | fan-failure | cpu-temperature | chassis-fan- failure | power-supply-failure ] | chassis-temperature | power-supply-presence | power-supply-temperature ] ikev2 [ start | stop ] | ipsec [ start | stop ] | remote-access [ session-threshold-exceeded ]| connection-limit-reached | cpu threshold rising | interface-threshold | memory-threshold | nat [ packet-discard ]

ciscoasa(config)# snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart

command. All other traps are disabled by default.

Keywords 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:

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

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). These traps do not apply to the ASA 5505.

trap is generated.

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.

Note SNMP does not monitor voltage sensors.

What to Do Next

See Configuring a CPU Usage Threshold.

Configuring a CPU Usage Threshold

To configure the CPU usage threshold, enter the following command:

Command

Purpose

snmp cpu threshold rising threshold_value monitoring_period

ciscoasa(config)# snmp cpu threshold rising 75% 30 minutes

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.

What to Do Next

See Configuring a Physical Interface Threshold.

Configuring a Physical Interface Threshold

To configure the physical interface threshold, enter the following command:

Command

Purpose

snmp interface threshold threshold_value

ciscoasa(config)# snmp interface threshold 75%

Note Not supported on the ASA Services Module for Catalyst 6500 switches/7600 routers.

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.

command is available only in the admin context.

Note 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.

What to Do Next

Choose one of the following:

- See Using SNMP Version 1 or 2c.

- See Using SNMP Version 3.

- See Configuring a Group of Users.

- See Associating Users with a Network Object.

Using SNMP Version 1 or 2c

To configure parameters for SNMP Version 1 or 2c, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

snmp-server host { interface hostname | ip_address } [ trap | poll ] [ community community-string ] [ version { 1 | 2c username }] [ udp-port port ]

ciscoasa(config)# snmp-server host mgmt 10.7.14.90 version 2

ciscoasa(config)# snmp-server host corp 172.18.154.159 community public

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.
command, then save the results.
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

snmp-server community community-string

ciscoasa(config)# snmp-server community onceuponatime

with SNMP Version 1 or 2c.

Step 3

snmp-server [ contact | location ] text

ciscoasa(config)# snmp-server location building 42

ciscoasa(config)# snmp-server contact EmployeeA

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

snmp-server listen-port lport

ciscoasa(config)# snmp-server lport 192

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.

What to Do Next

See Monitoring SNMP.

Using SNMP Version 3

To configure parameters for SNMP Version 3, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

snmp-server group group-name v3 [ auth | noauth | priv ]

ciscoasa(config)# snmp-server group testgroup1 v3 auth

keywords.

Step 2

snmp-server user username group-name { v3 [ encrypted ]] [ auth { md5 | sha ]} auth-password [ priv [ des | 3des | aes ] [ 128 | 192 | 256 ] priv-password

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

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.
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:

ERROR: This command cannot be replicated because it contains localized keys.

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

snmp-server host interface { hostname | ip_address } [ trap | poll ] [ community community-string ] [ version { 1 | 2c | 3 username }] [ udp-port port ]

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

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.
command, then save the results.
When SNMP Version 3 hosts are configured on the ASA, ASAv, and ASASM, a user must be associated with that 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. For more information about SNMP hosts, see SNMP Hosts.

Step 4

snmp-server [ contact | location ] text

ciscoasa(config)# snmp-server location building 42

ciscoasa(config)# snmp-server contact EmployeeA

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

snmp-server listen-port lport

ciscoasa(config)# snmp-server lport 192

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.

What to Do Next

See Monitoring SNMP.

Configuring a Group of Users

To configure an SNMP user list with a group of specified users in it, enter the following command:

Command

Purpose

snmp-server user-list list_name username user_name

ciscoasa(config)# snmp-server user-list engineering username user1

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.

What to Do Next

See Associating Users with a Network Object.

Associating Users with a Network Object

To associate a single user or a group of users in a user list with a network object, enter the following command:

Command

Purpose

snmp-server host-group net_obj_name [ trap | poll ] [ community community-string ] [ version { 1 | 2c | 3 { username | user-list list_name }] [ udp-port port ]

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

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.

What to Do Next

See Monitoring SNMP.

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

The output is based on the SNMP group of the SNMPv2-MIB.

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:

hostname (config)# access-list snmp permit udp any eq snmptrap any

hostname (config)# access-list snmp permit udp any any eq snmp

hostname (config)# capture snmp type raw-data access-list snmp interface mgmt

hostname (config)# copy /pcap capture:snmp tftp://192.0.2.5/exampledir/snmp.pcap

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

- Run the following commands:

– show vm

command to Cisco TAC.

command.

Interface Types and Examples

The interface types that produce SNMP traffic statistics include the following:

- Logical—Statistics collected by the software driver, which are a subset of physical statistics.

- Physical—Statistics 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.

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-only—SNMP uses logical statistics for ifInOctets and ifOutOctets.

command.

Table 47-6 SNMP Traffic Statistics for Physical and VLAN Interfaces

Example 1

Example 2

interface GigabitEthernet3/2

description fullt-mgmt

nameif mgmt

security-level 10

ip address 10.7.14.201 255.255.255.0

management-only

ciscoasa# show traffic

(Condensed output)

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

command output but not to the logical statistics output.

ifIndex of the mgmt interface:

IF_MIB::ifDescr.6 = Adaptive Security Appliance ‘mgmt’ interface

ifInOctets that corresponds to the physical interface statistics:

IF-MIB::ifInOctets.6 = Counter32:3246

ciscoasa# show interface GigabitEthernet0/0.100

interface GigabitEthernet0/0.100

vlan 100

nameif inside

security-level 100

ip address 10.7.1.101 255.255.255.0 standby 10.7.1.102

ciscoasa# show traffic

inside

received (in 9921.450 secs)

1977 packets 126528 bytes

0 pkts/sec 12 bytes/sec

transmitted (in 9921.450 secs)

1978 packets 126556 bytes

0 pkts/sec 12 bytes/sec

ifIndex of VLAN inside:

IF-MIB::ifDescr.9 = Adaptive Security Appliance ‘inside’ interface

IF-MIB::ifInOctets.9 = Counter32: 126318

Monitoring SNMP

NMSs are the PCs or workstations that you set up to monitor SNMP events and manage devices, such as the ASA.You can monitor the health of a device from an NMS by polling required information from the SNMP agent that has been set up on the device. Predefined events from the SNMP agent to the NMS generate syslog messages.

- SNMP Syslog Messaging

- SNMP Monitoring

SNMP Syslog Messaging

. Syslog messages indicate the status of SNMP requests, SNMP traps, SNMP channels, and SNMP responses from the ASA or ASASM to a specified host on a specified interface.

For detailed information about syslog messages, see the syslog messages guide.

Note SNMP polling fails if SNMP syslog messages exceed a high rate (approximately 4000 per second).

SNMP Monitoring

To monitor SNMP, enter one of the following commands:

Command

Purpose

Shows all SNMP server configuration information.

Shows SNMP group configuration settings.

Shows configuration settings used by SNMP to control messages and notifications sent to remote hosts.

Shows SNMP host group configurations.

Shows SNMP user-based configuration settings.

Shows SNMP user list configurations.

Shows the ID of the SNMP engine configured.

Shows the names of configured SNMP groups.

Note If the community string has already been configured, two extra groups appear by default in the output. This behavior is normal.

Shows the configured characteristics of the SNMP server.

command.

Shows the configured characteristics of users.

Examples

The following example shows how to display SNMP server statistics:

ciscoasa(config)# show snmp-server statistics

0 SNMP packets input

0 Bad SNMP version errors

0 Unknown community name

0 Illegal operation for community name supplied

0 Encoding errors

0 Number of requested variables

0 Number of altered variables

0 Get-request PDUs

0 Get-next PDUs

0 Get-bulk PDUs

0 Set-request PDUs (Not supported)

0 SNMP packets output

0 Too big errors (Maximum packet size 512)

0 No such name errors

0 Bad values errors

0 General errors

0 Response PDUs

0 Trap PDUs

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

Configuration Examples for SNMP

- Configuration Example for SNMP Versions 1 and 2c

- Configuration Example for SNMP Version 3

Configuration Example for SNMP Versions 1 and 2c

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)# snmp-server host 192.0.2.5

ciscoasa(config)# snmp-server location building 42

ciscoasa(config)# snmp-server contact EmployeeA

ciscoasa(config)# snmp-server community ohwhatakeyisthee

Configuration Example for 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

Where to Go Next

To configure the syslog server, see Chapter46, “Logging”

Additional References

For additional information related to implementing SNMP, see the following sections:

- RFCs for SNMP Version 3

- MIBs

- Application Services and Third-Party Tools

RFCs for SNMP Version 3

RFC

Title

3410

3411

3412

3413

3414

3826

MIBs

For a list of supported MIBs and traps for the ASA, ASAv, and ASASM by release, see the following URL:

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:

hostname(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.

command:

hostname(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

[42] 1.3.6.1.2.1.11.9. snmpInNoSuchNames

[43] 1.3.6.1.2.1.11.10. snmpInBadValues

[44] 1.3.6.1.2.1.11.11. snmpInReadOnlys

[45] 1.3.6.1.2.1.11.12. snmpInGenErrs

[46] 1.3.6.1.2.1.11.13. snmpInTotalReqVars

[47] 1.3.6.1.2.1.11.14. snmpInTotalSetVars

[48] 1.3.6.1.2.1.11.15. snmpInGetRequests

[49] 1.3.6.1.2.1.11.16. snmpInGetNexts

[50] 1.3.6.1.2.1.11.17. snmpInSetRequests

[51] 1.3.6.1.2.1.11.18. snmpInGetResponses

[52] 1.3.6.1.2.1.11.19. snmpInTraps

[53] 1.3.6.1.2.1.11.20. snmpOutTooBigs

[54] 1.3.6.1.2.1.11.21. snmpOutNoSuchNames

[55] 1.3.6.1.2.1.11.22. snmpOutBadValues

[56] 1.3.6.1.2.1.11.24. snmpOutGenErrs

[57] 1.3.6.1.2.1.11.25. snmpOutGetRequests

[58] 1.3.6.1.2.1.11.26. snmpOutGetNexts

[59] 1.3.6.1.2.1.11.27. snmpOutSetRequests

[60] 1.3.6.1.2.1.11.28. snmpOutGetResponses

[61] 1.3.6.1.2.1.11.29. snmpOutTraps

[62] 1.3.6.1.2.1.11.30. snmpEnableAuthenTraps

[63] 1.3.6.1.2.1.11.31. snmpSilentDrops

[64] 1.3.6.1.2.1.11.32. snmpProxyDrops

[65] 1.3.6.1.2.1.31.1.1.1.1. ifName

[66] 1.3.6.1.2.1.31.1.1.1.2. ifInMulticastPkts

[67] 1.3.6.1.2.1.31.1.1.1.3. ifInBroadcastPkts

[68] 1.3.6.1.2.1.31.1.1.1.4. ifOutMulticastPkts

[69] 1.3.6.1.2.1.31.1.1.1.5. ifOutBroadcastPkts

[70] 1.3.6.1.2.1.31.1.1.1.6. ifHCInOctets

--More--

Application Services and Third-Party Tools

For information about SNMP support, see the following URL:

For information about using third-party tools to walk SNMP Version 3 MIBs, see the following URL:

Feature History for SNMP

lists each feature change and the platform release in which it was implemented.

Table 47-7 Feature History for SNMP

Feature Name

Platform Releases

Feature Information

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.

.

Password encryption

8.3(1)

Supports password encryption.

.

SNMP traps and MIBs

8.4(1)

.

The entPhysicalTable reports entries for sensors, fans, power supplies, and related components.

Supports the following additional MIBs: CISCO-ENTITY-SENSOR-EXT-MIB, CISCO-ENTITY-FRU-CONTROL-MIB, CISCO-PROCESS-MIB, CISCO-ENHANCED-MEMPOOL-MIB, CISCO-L4L7MODULE-RESOURCE-LIMIT-MIB, DISMAN-EVENT-MIB, DISMAN-EXPRESSION-MIB, ENTITY-SENSOR-MIB, NAT-MIB.

Supports the following additional traps: ceSensorExtThresholdNotification, clrResourceLimitReached, cpmCPURisingThreshold, mteTriggerFired, natPacketDiscard, warmStart.

.

IF-MIB ifAlias OID support

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.

ASA Services Module (ASASM)

8.5(1)

The ASASM supports all MIBs and traps that are present in 8.4(1), except for the following:

Unsupported MIBs in 8.5(1):

- CISCO-ENTITY-SENSOR-EXT-MIB (Only objects under the entPhySensorTable group are supported).

- ENTITY-SENSOR-MIB (Only objects in the entPhySensorTable group are supported).

- DISMAN-EXPRESSION-MIB (Only objects in the expExpressionTable, expObjectTable, and expValueTable groups are supported).

Unsupported traps in 8.5(1):

- ceSensorExtThresholdNotification (CISCO-ENTITY-SENSOR-EXT-MIB). This trap is only used for power supply failure, fan failure, and high CPU temperature events.

- InterfacesBandwidthUtilization.

SNMP traps

8.6(1)

.

.

VPN-related MIBs

9.0(1)

An updated version of the CISCO-IPSEC-FLOW-MONITOR-MIB.my MIB has been implemented to support the next generation encryption feature.

The following MIBs have been enabled for the ASASM:

- 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

Cisco TrustSec MIB

9.0(1)

Support for the following MIB was added: CISCO-TRUSTSEC-SXP-MIB.

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)

command.

SNMP hosts, host groups, and user lists

9.1(5)

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.

.

SNMP message size

9.2(1)

The limit on the message size that SNMP sends has been increased to 1472 bytes.

SNMP MIB

The CISCO-VPN-LIC-USAGE-MONITOR-MIB, a new SNMP MIB for monitoring VPN shared license usage, has been added. The OID has the following index: 1.3.6.1.4.1.9.9.816.x.x. This new OID polls the number of active and max-session connections.

We did not introduce or modify any commands.

SNMP OIDs and MIBs

The ASA now supports the cpmCPUTotal5minRev OID.

The ASAv has been added as a new product to the SNMP sysObjectID OID and entPhysicalVendorType OID.

The CISCO-PRODUCTS-MIB and CISCO-ENTITY-VENDORTYPE-OID-MIB have been updated to support the new ASAv platform.

Addresses, Protocols, and Ports

This appendix provides a quick reference for IP addresses, protocols, and applications. This appendix includes the following sections:

- IPv4 Addresses and Subnet Masks

- IPv6 Addresses

- Protocols and Applications

- TCP and UDP Ports

- Local Ports and Protocols

- ICMP Types

IPv4 Addresses and Subnet Masks

This section describes how to use IPv4 addresses in the ASA. An IPv4 address is a 32-bit number written in dotted-decimal notation: four 8-bit fields (octets) converted from binary to decimal numbers, separated by dots. The first part of an IP address identifies the network on which the host resides, while the second part identifies the particular host on the given network. The network number field is called the network prefix. All hosts on a given network share the same network prefix but must have a unique host number. In classful IP, the class of the address determines the boundary between the network prefix and the host number.

This section includes the following topics:

- Classes

- Private Networks

- Subnet Masks

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.

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:

- 10.0.0.0 through 10.255.255.255

- 172.16.0.0 through 172.31.255.255

- 192.168.0.0 through 192.168.255.255

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.

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.

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.

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.

This section includes the following topics:

- Determining the Subnet Mask

- Determining the Address to Use with the Subnet Mask

Determining the Subnet Mask

.

Table 52-1 Hosts, Bits, and Dotted-Decimal Masks

Hosts 1

/Bits Mask

Dotted-Decimal Mask

16,777,216

/8

255.0.0.0 Class A Network

65,536

/16

255.255.0.0 Class B Network

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

255.255.255.0 Class C Network

128

/25

255.255.255.128

64

/26

255.255.255.192

32

/27

255.255.255.224

16

/28

255.255.255.240

8

/29

255.255.255.248

4

/30

255.255.255.252

Do not use

/31

255.255.255.254

1

/32

255.255.255.255 Single Host Address

1.The first and last number of a subnet are reserved, except for /32, which identifies a single host.

1.The first and last number of a subnet are reserved, except for /32, which identifies a single host.

Determining the Address to Use with the Subnet Mask

The following sections describe how to determine the network address to use with a subnet mask for a Class C-size and a Class B-size network. This section includes the following topics:

- Class C-Size Network Address

- Class B-Size Network Address

Class C-Size Network Address

shows the 8-host subnets (/29) of 192.168.0.x.

Table 52-2 Class C-Size Network Address

Subnet with Mask /29 (255.255.255.248)

Address Range [2]

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

—

—

192.168.0.248

192.168.0.248 to 192.168.0.255

2.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.

2.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.

Class B-Size Network Address

.0, where the first two octets are fixed because they are used in the extended network prefix, and the fourth octet is 0 because all bits are used for the host number.

To determine the value of the third octet, follow these steps:

Step 1 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 of 16, starting with 0.

shows the 16 subnets of the network 10.1.

Table 52-3 Subnets of Network

Subnet with Mask /20 (255.255.240.0)

Address Range [3]

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

3.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.

3.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.

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 and includes the following topics:

- IPv6 Address Format

- IPv6 Address Types

- IPv6 Address Prefixes

Note This section describes the IPv6 address format, the types, and prefixes. For information about configuring the ASA to use IPv6, see Configuring IPv6 Addressing

IPv6 Address Format

IPv6 addresses are represented as a series of eight 16-bit hexadecimal fields separated by colons (:) in the format: x:x:x:x:x:x:x:x. The following are two examples of IPv6 addresses:

- 2001:0DB8:7654:3210:FEDC:BA98:7654:3210

- 2001:0DB8:0000:0000:0008:0800:200C:417A

Note The hexadecimal letters in IPv6 addresses are not case-sensitive.

You do not need to include the leading zeros in an individual field of the address, but each field must contain at least one digit. So the example address 2001:0DB8:0000:0000:0008:0800:200C:417A can be shortened to 2001:0DB8:0:0:8:800:200C:417A by removing the leading zeros from the third through sixth fields from the left. The fields that contained all zeros (the third and fourth fields from the left) were shortened to a single zero. The fifth field from the left had the three leading zeros removed, leaving a single 8 in that field, and the sixth field from the left had the one leading zero removed, leaving 800 in that field.

shows several examples of address compression for different types of IPv6 address.

Table 52-4 IPv6 Address Compression Examples

Address Type

Standard Form

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

::

Note Two colons (::) can be used only once in an IPv6 address to represent successive fields of zeros.

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.

IPv6 Address Types

The following are the three main types of IPv6 addresses:

- Unicast —A 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.

- Multicast —A 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.

- Anycast —An 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.

Note There are no broadcast addresses in IPv6. Multicast addresses provide the broadcast functionality.

This section includes the following topics:

- Unicast Addresses

- Multicast Address

- Anycast Address

- Required Addresses

Unicast Addresses

This section describes IPv6 unicast addresses. Unicast addresses identify an interface on a network node.

This section includes the following topics:

- Global Address

- Site-Local Address

- Link-Local Address

- IPv4-Compatible IPv6 Addresses

- Unspecified Address

- Loopback Address

- Interface Identifiers

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 (see IPv6 Address Prefixes, for information about the IPv6 address type prefixes).

All global unicast addresses, other than those that start with binary 000, have a 64-bit interface ID in the Modified EUI-64 format. See Interface Identifiers, for more information about the Modified EUI-64 format for interface identifiers.

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 (see IPv4-Compatible IPv6 Addresses).

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.

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.

IPv4-Compatible IPv6 Addresses

There are two types of IPv6 addresses that can contain IPv4 addresses.

The first type is the IPv4-compatibly IPv6 address. The IPv6 transition mechanisms include a technique for hosts and routers to dynamically tunnel IPv6 packets over IPv4 routing infrastructure. IPv6 nodes that use this technique are assigned special IPv6 unicast addresses that carry a global IPv4 address in the low-order 32 bits. This type of address is termed an IPv4-compatible IPv6 address and has the format ::y.y.y.y, where y.y.y.y is an IPv4 unicast address.

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).

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. Figure 52-1 shows the format of the IPv6 multicast address.

Figure 52-1 IPv6 Multicast Address Format

IPv6 nodes (hosts and routers) are required to join the following multicast groups:

- The All Nodes multicast addresses:

– FF01:: (interface-local)

– FF02:: (link-local)

- 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 Solicited-Node addresses are used in Neighbor Solicitation messages.

IPv6 routers are required to join the following multicast groups:

- FF01::2 (interface-local)

- FF02::2 (link-local)

- FF05::2 (site-local)

Multicast address should not be used as source addresses in IPv6 packets.

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:

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

Note Anycast addresses are not supported on the ASA.

Required Addresses

IPv6 hosts must, at a minimum, be configured with the following addresses (either automatically or manually):

- A link-local address for each interface

- The loopback address

- The All-Nodes multicast addresses

- A Solicited-Node multicast address for each unicast or anycast address

IPv6 routers must, at a minimum, be configured with the following addresses (either automatically or manually):

- The required host addresses

- The Subnet-Router anycast addresses for all interfaces for which it is configured to act as a router

- The All-Routers multicast addresses

IPv6 Address Prefixes

An IPv6 address prefix, in the format ipv6-prefix/prefix-length, can be used to represent bit-wise contiguous blocks of the entire address space. The IPv6-prefix must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons. The prefix length is a decimal value that indicates how many of the high-order contiguous bits of the address comprise the prefix (the network portion of the address). For example, 2001:0DB8:8086:6502::/32 is a valid IPv6 prefix.

shows the prefixes for each IPv6 address type.

Table 52-5 IPv6 Address Type Prefixes

Address Type

Binary Prefix

IPv6 Notation

Unspecified

000...0 (128 bits)

::/128

Loopback

000...1 (128 bits)

::1/128

Multicast

11111111

FF00::/8

Link-Local (unicast)

1111111010

FE80::/10

Site-Local (unicast)

1111111111

FEC0::/10

Global (unicast)

All other addresses.

Anycast

Taken from the unicast address space.

Protocols and Applications

lists the protocol literal values and port numbers; either can be entered in ASA commands.

Table 52-6 Protocol Literal Values

Literal

Value

Description

ah

51

Authentication Header for IPv6, RFC 1826.

eigrp

88

Enhanced Interior Gateway Routing Protocol.

esp

50

Encapsulated Security Payload for IPv6, RFC 1827.

gre

47

Generic Routing Encapsulation.

icmp

1

Internet Control Message Protocol, RFC 792.

icmp6

58

Internet Control Message Protocol for IPv6, RFC 2463.

igmp

2

Internet Group Management Protocol, RFC 1112.

igrp

9

Interior Gateway Routing Protocol.

ip

0

Internet Protocol.

ipinip

4

IP-in-IP encapsulation.

ipsec

50

IP Security. Entering the ipsec protocol literal is equivalent to entering the esp protocol literal.

nos

94

Network Operating System (Novell’s NetWare).

ospf

89

Open Shortest Path First routing protocol, RFC 1247.

pcp

108

Payload Compression Protocol.

pim

103

Protocol Independent Multicast.

pptp

47

Point-to-Point Tunneling Protocol. Entering the pptp protocol literal is equivalent to entering the gre protocol literal.

snp

109

Sitara Networks Protocol.

tcp

6

Transmission Control Protocol, RFC 793.

udp

17

User Datagram Protocol, RFC 768.

Protocol numbers can be viewed online at the IANA website:

TCP and UDP Ports

lists the literal values and port numbers; either can be entered in ASA commands. See the following caveats:

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

Port numbers can be viewed online at the IANA website:

Table 52-7 Port Literal Values

Literal

TCP or UDP?

Value

Description

aol

TCP

5190

America Online

bgp

TCP

179

Border Gateway Protocol, RFC 1163

biff

UDP

512

Used by mail system to notify users that new mail is received

bootpc

UDP

68

Bootstrap Protocol Client

bootps

UDP

67

Bootstrap Protocol Server

chargen

TCP

19

Character Generator

citrix-ica

TCP

1494

Citrix Independent Computing Architecture (ICA) protocol

cmd

TCP

514

Similar to exec except that cmd has automatic authentication

ctiqbe

TCP

2748

Computer Telephony Interface Quick Buffer Encoding

daytime

TCP

13

Day time, RFC 867

discard

TCP, UDP

9

Discard

domain

TCP, UDP

53

DNS

dnsix

UDP

195

DNSIX Session Management Module Audit Redirector

echo

TCP, UDP

7

Echo

exec

TCP

512

Remote process execution

finger

TCP

79

Finger

ftp

TCP

21

File Transfer Protocol (control port)

ftp-data

TCP

20

File Transfer Protocol (data port)

gopher

TCP

70

Gopher

https

TCP

443

HTTP over SSL

h323

TCP

1720

H.323 call signalling

hostname

TCP

101

NIC Host Name Server

ident

TCP

113

Ident authentication service

imap4

TCP

143

Internet Message Access Protocol, version 4

irc

TCP

194

Internet Relay Chat protocol

isakmp

UDP

500

Internet Security Association and Key Management Protocol

kerberos

TCP, UDP

750

Kerberos

klogin

TCP

543

KLOGIN

kshell

TCP

544

Korn Shell

ldap

TCP

389

Lightweight Directory Access Protocol

ldaps

TCP

636

Lightweight Directory Access Protocol (SSL)

lpd

TCP

515

Line Printer Daemon - printer spooler

login

TCP

513

Remote login

lotusnotes

TCP

1352

IBM Lotus Notes

mobile-ip

UDP

434

MobileIP-Agent

nameserver

UDP

42

Host Name Server

netbios-ns

UDP

137

NetBIOS Name Service

netbios-dgm

UDP

138

NetBIOS Datagram Service

netbios-ssn

TCP

139

NetBIOS Session Service

nntp

TCP

119

Network News Transfer Protocol

ntp

UDP

123

Network Time Protocol

pcanywhere-status

UDP

5632

pcAnywhere status

pcanywhere-data

TCP

5631

pcAnywhere data

pim-auto-rp

TCP, UDP

496

Protocol Independent Multicast, reverse path flooding, dense mode

pop2

TCP

109

Post Office Protocol - Version 2

pop3

TCP

110

Post Office Protocol - Version 3

pptp

TCP

1723

Point-to-Point Tunneling Protocol

radius

UDP

1645

Remote Authentication Dial-In User Service

radius-acct

UDP

1646

Remote Authentication Dial-In User Service (accounting)

rip

UDP

520

Routing Information Protocol

secureid-udp

UDP

5510

SecureID over UDP

smtp

TCP

25

Simple Mail Transport Protocol

snmp

UDP

161

Simple Network Management Protocol

snmptrap

UDP

162

Simple Network Management Protocol - Trap

sqlnet

TCP

1521

Structured Query Language Network

ssh

TCP

22

Secure Shell

sunrpc (rpc)

TCP, UDP

111

Sun Remote Procedure Call

syslog

UDP

514

System Log

tacacs

TCP, UDP

49

Terminal Access Controller Access Control System Plus

talk

TCP, UDP

517

Talk

telnet

TCP

23

RFC 854 Telnet

tftp

UDP

69

Trivial File Transfer Protocol

time

UDP

37

Time

uucp

TCP

540

UNIX-to-UNIX Copy Program

who

UDP

513

Who

whois

TCP

43

Who Is

www

TCP

80

World Wide Web

xdmcp

UDP

177

X Display Manager Control Protocol

Local Ports and Protocols

open any local protocols or any TCP or UDP ports. You must configure a feature or service for the ASA to open the default listening protocol or port. In many cases you can configure ports other than the default port when you enable a feature or service.

Table 52-8 Protocols and Ports Opened by Features and Services

Feature or Service

Protocol

Port Number

Comments

DHCP

UDP

67,68

—

Failover Control

105

N/A

—

HTTP

TCP

80

—

HTTPS

TCP

443

—

ICMP

1

N/A

—

IGMP

2

N/A

Protocol only open on destination IP address 224.0.0.1

ISAKMP/IKE

UDP

500

Configurable.

IPsec (ESP)

50

N/A

—

IPsec over UDP (NAT-T)

UDP

4500

—

IPsec over UDP (Cisco VPN 3000 Series compatible)

UDP

10000

Configurable.

IPsec over TCP (CTCP)

TCP

—

No default port is used. You must specify the port number when configuring IPsec over TCP.

NTP

UDP

123

—

OSPF

89

N/A

Protocol only open on destination IP address 224.0.0.5 and 224.0.0.6

PIM

103

N/A

Protocol only open on destination IP address 224.0.0.13

RIP

UDP

520

—

RIPv2

UDP

520

Port only open on destination IP address 224.0.0.9

SNMP

UDP

161

Configurable.

SSH

TCP

22

—

Stateful Update

8 (non-secure) 9 (secure)

N/A

—

Telnet

TCP

23

—

VPN Load Balancing

UDP

9023

Configurable.

VPN Individual User Authentication Proxy

UDP

1645, 1646

Port accessible only over VPN tunnel.

ICMP Types

lists the ICMP type numbers and names that you can enter in ASA commands.

Table 52-9 ICMP Types

ICMP Number

ICMP Name

0

echo-reply

3

unreachable

4

source-quench

5

redirect

6

alternate-address

8

echo

9

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

BGP

This chapter describes how to configure the ASA to route data, perform authentication, and redistribute routing information using the Border Gateway Protocol (BGP).

This chapter includes the following sections:

- Information About BGP

- Licensing Requirements for BGP

- Guidelines and Limitations

- Configuring BGP

- Monitoring BGP

- Configuration Example for BGP

- Feature History for BGP

Information 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). This section includes the following topics:

- When to Use BGP

- Routing Table Changes

When to Use BGP

Customer networks, such as universities and corporations, usually employ an Interior Gateway Protocol (IGP) such as OSPF for the exchange of routing information within their networks. 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).

Routing Table Changes

BGP neighbors exchange full routing information when the TCP connection between neighbors is first established. When changes to the routing table are detected, the BGP routers send to their neighbors only those routes that have changed. BGP routers do not send periodic routing updates, and BGP routing updates advertise only the optimal path to a destination network.

Routes learned via BGP have properties that are used to determine the best route to a destination, when multiple paths exist to a particular destination. These properties are referred to as BGP attributes and are used in the route selection process:

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

- Multi-exit discriminator -- The multi-exit discriminator (MED) or metric attribute is used as a suggestion to an external AS regarding the preferred route into the AS that is advertising the metric. It is referred to as a suggestion because the external AS that is receiving the MEDs may also be using other BGP attributes for route selection. The route with the lower MED metric is preferred.

- 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 configuration command is used to inject the route into BGP.

– EGP-The route is learned via the Exterior Border Gateway Protocol (EBGP).

– Incomplete- The origin of the route is unknown or learned in some other way. An origin of incomplete occurs when a route is redistributed into BGP.

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

- Community -- The community attribute provides a way of grouping destinations, called communities, to which routing decisions (such as acceptance, preference, and redistribution) can be applied. Route maps are used to set the community attribute. The predefined community attributes are as follows:

– no-export- Do not advertise this route to EBGP peers.

– no-advertise- Do not advertise this route to any peer.

– internet- Advertise this route to the Internet community; all routers in the network belong to it.

BGP Path Selection

BGP may receive multiple advertisements for the same route from different sources. BGP selects only one path as the best path. When this path is selected, BGP puts the selected path in the IP routing table and propagates the path to its neighbors. BGP uses the following criteria, in the order presented, to select a path for a destination:

- If the path specifies a next hop that is inaccessible, drop the update.

- Prefer the path with the largest weight.

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

Licensing Requirements for BGP

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Does not support transparent firewall mode. BGP is supported only in router mode.

Failover Guidelines

Supports Stateful Failover in single and multiple context mode.

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.

Clustering Guidelines

Does not support clustering.

IPv6 Guidelines

Does not support IPv6.

Graceful Restart Guidelines

Does not support graceful restart.

Configuring BGP

This section describes how to enable the BGP process on your system. After you have enabled BGP, see the following topics to learn how to customize the BGP process on your system.

- Task Flow for Configuring BGP

- Enabling BGP

- Defining the Best Path for a BGP Routing Process

- Configuring Policy Lists

- Configuring AS Path Filters

- Configuring Community Rules

- Configuring IPv4 Address Family Settings

Task Flow for Configuring BGP

To configure BGP, perform the following steps:

Step 1 In the CLI, enable BGP, and configure general BGP parameters.

Step 2 Define the best path for the BGP routing process and configure the best path configuration parameters.

Step 3 Add and configure policy lists.

Step 4 Add and configure AS path filters.

Step 5 Add and configure Community Rules.

Step 6 Configure IPv4 Address Family settings.

Enabling BGP

This section describes the steps required to enable BGP routing, establish a BGP routing process and configure general BGP parameters.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process. Valid values are from 1-4294967295 and 1.0-XX.YY.

Step 2

bgp maxas-limit number

hostname(config-router)# bgp maxas-limit 15

Discards routes that have as-path segments that exceed a specified value.

The number argument specifies the maximum number of autonomous system segments, allowed. Valid values are from 1 to 254.

Step 3

bgp log-neighbor-changes

hostname(config-router)# bgp log-neighbor-changes

Logs BGP neighbor resets.

Step 4

bgp transport path-mtu-discovery

hostname(config-router)# bgp transport path-mtu-discovery

Enables BGP to automatically discover the best TCP path MTU for each BGP session.

Step 5

bgp fast-external-fallover

hostname(config-router)# bgp fast-external-fallover

Enables 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.

Step 6

bgp enforce-first-as

hostname(config-router)# bgp enforce-first-as

Allows 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.

Step 7

bgp asnotation dot

hostname(config-router)# bgp asnotation dot

Changes the default display and regular expression match format of BGP 4-byte autonomous system numbers from asplain (decimal values) to dot notation.

Step 8

timers bgp keepalive holdtime [min-holdtime]

hostname(config-router)# timers bgp 80 120

Adjusts BGP network timers.

The argument keepalive is the frequency (in seconds) with which the ASA sends keepalive messages to its peer. The default value 60 seconds.

The argument holdtime is the interval (in seconds) after not receiving a keepalive message that the ASA declares a peer dead. The default is 180 seconds.

(Optional) The argument min-holdtime is the interval (in seconds) after not receiving a keepalive message from a neighbor, that the ASA declares a neighbor dead.

Defining the Best Path for a BGP Routing Process

This section describes the steps required to configure the BGP best path. For more information on the best path, see BGP Path Selection.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

bgp default local-preference number

ciscoasa(config-router)# bgp default local-preference 500

Changes the default local preference value. The default value is 100.

The number argument is any value between 0 and 4294967295. Higher values indicate higher preference.

Step 3

bgp always-compare-med

ciscoasa(config-router)# bgp always-compare-med

Enables Multi Exit Discriminator (MED) comparison among paths learned from neighbors in different autonomous systems.

Step 4

bgp bestpath compare-routerid

hostname(config-router)# bgp bestpath compare-routerid

Compares between similar routes received from external BGP (eBGP) peers during the best path selection process and switches the best path to the route with the lowest router ID.

Step 5

bgp deterministic-med

hostname(config-router)# bgp deterministic-med

Selects the best MED path advertised from the neighboring AS.

Step 6

bgp bestpath med missing-as-worst

hostname(config-router)# bgp bestpath med missing-as-worst

Sets a path with a missing MED attribute as the least preferred path.

Configuring Policy Lists

When a policy list is referenced within a route map, all of the match statements within the policy list are evaluated and processed. Two or more policy lists can be configured with a route map. A policy list can also coexist with any other preexisting match and set statements that are configured within the same route map but outside of the policy list. This section describes the steps required to configure policy lists.

Detailed Steps

Command

Purpose

Step 1

policy-list policy_list_name {permit | deny}

ciscoasa(config)# policy-list Example-policy-list1 permit

Enables the policy-map configuration mode and allows you to create a BGP policy list.

argument indicates the name of the configured policy.

The permit keyword allows access for matching conditions.

The deny keyword denies access for matching conditions.

Step 2

match interface [...interface_name]

ciscoasa(config-policy-list)# match interface outside

Distributes routes that have their next hop out one of the interfaces specified.

The interface_name argument indicates one or more interfaces.

Step 3

match ip {address | next-hop | route-source}

hostname(config-policy-list)# match ip address

hostname(config-policy-list)# match ip next-hop

hostname(config-policy-list)# match ip route-source

Redistributes routes by matching either or all of the following: the destination address, next hop router address, and router/access server source.

Step 4

match as-path

hostname(config-policy-list)# match as-path

Matches a BGP autonomous system path.

Step 5

match community {community-list_name | exact-match}

hostname(config-policy-list)# match community ExampleCommunity1

Matches a BGP community.

The community-list_name argument indicates one or more community lists.

The exact-match keyword indicates that an exact match is required. All of the communities and only those communities specified must be present.

Step 6

match metric

hostname(config-policy-list)# match metric

Redistributes routes with the metric specified.

Step 7

match tag

hostname(config-policy-list)# match tag

Redistributes routes in the routing table that match the specified tags.

Configuring AS Path Filters

An AS path filter allows you to filter the routing update message by using access lists and look at the individual prefixes within an update message. If a prefix within the update message matches the filter criteria then that individual prefix is filtered out or accepted depending on what action the filter entry has been configured to carry out. This section describes the steps required to configure AS path filters.

Note The as-path access-lists are not the same as the regular firewall ACLs.

Detailed Steps

Command

Purpose

Step 1

as-path access-list acl-number {permit|deny} regexp

ciscoasa(config)# as-path access-list 35 permit testaspath

Configures an autonomous system path filter using a regular expression in the global configuration mode.

argument is a number that specifies the AS-path access-list number. Valid values are from 1 to 500.

The regexp argument represents a regular expression that defines the AS-path filter. The autonomous system number is expressed in the range from 1 to 65535.

Configuring Community Rules

A community is a group of destinations that share some common attribute. You can use community lists to create groups of communities to use in a match clause of a route map. Just like an access list, a series of community lists can be created. Statements are checked until a match is found. As soon as one statement is satisfied, the test is concluded. This section describes the steps required to configure community rules.

Detailed Steps

Command

Purpose

Step 1

community-list {standard| community list-name {deny|permit} [community-number] [AA:NN] [internet] [no-advertise][no-export]}| {expanded|expanded list-name {deny| permit}regexp}

ciscoasa(config)# community-list standard excomm1 permit 100 internet no-advertise no-export

Creates or configures a BGP community list and controls access to it.

- The argument community list-name allows you to define a named standard community list.

- The argument community-number specifies a community as a 32-bit number from 1 to 4294967200. A single community can be entered or multiple communities can be entered, each separated by a space.

- The argument AA:NN specifies 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.

- The argument expanded list-name configures a named expanded community list.

- The regexp argument represents a regular expression that defines the AS-path filter. The autonomous system number is expressed in the range from 1 to 65535.

Note Regular expressions can be used only with expanded community lists.

Configuring IPv4 Address Family Settings

The IPv4 settings for BGP can be set up from the IPv4 family option within the BGP configuration setup. The IPv4 family section includes subsections for General settings, Aggregate address settings, Filtering settings and Neighbor settings. Each of these subsections enable you to customize parameters specific to the IPv4 family.

This section describes how to customize the BGP IPv4 family settings and includes the following topics:

- Configuring IPv4 Family General Settings

- Configuring IPv4 Family Aggregate Address Settings

- Configuring IPv4 Family Filtering Settings

- Configuring IPv4 Family BGP Neighbor Settings

- Configuring IPv4 Network Settings

- Configuring Redistribution Settings

- Configuring Route Injection Settings

Configuring IPv4 Family General Settings

This section describes the steps required to configure the general IPv4 settings.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the router in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

bgp router-id A.B.C.D

hostname(config-router-af)# bgp router-id 10.86.118.3

(Optional) Configures a fixed router ID for the local BGP routing process.

The argument A.B.C.D specifies a router identifier in the form of an IP address.

Note If you do not specify a router ID, it is automatically assigned.

Step 4

distance bgp external-distance internal-distance local-distance

hostname(config-router-af)# distance bgp 80 180 180

Configures the administrative distance for BGP routes.

- The argument external-distance specifies 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.

- The argument internal-distance specifies 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.

- The argument local-distance specifies 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.

Step 5

table-map {WORD|route-map_name}

hostname(config-router-af)# table-map example1

Modifies metric and tag values when the IP routing table is updated with BGP learned routes.

The argument route-map_name specifies the route map name from the route-map command.

Step 6

default-information originate

hostname(config-router-af)# default-information originate

Configures a BGP routing process to distribute a default route (network 0.0.0.0).

Step 7

auto-summary

hostname(config-router-af)# auto-summary

Configures automatic summarization of subnet routes into network-level routes.

Step 8

bgp suppress-inactive

hostname(config-router-af)# bgp suppress-inactive

Suppresses the advertisement of routes that are not installed in the routing information base (RIB).

Step 9

synchronization

hostname(config-router-af)# synchronization

Synchronizes between BGP and your Interior Gateway Protocol (IGP) system.

Step 10

bgp redistribute-internal

hostname(config-router-af)# bgp redistribute-internal

Configures iBGP redistribution into an IGP, such as OSPF.

Step 11

bgp scan-time scanner-interval

hostname(config-router-af)# bgp scan-time 15

Configures scanning intervals of BGP routers for next hop validation.

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 12

bgp nexthop trigger {delay seconds|enable}

hostname(config-router-af)# bgp nexthop trigger delay 15

Enables you to configure BGP next-hop address tracking.

- The trigger keyword 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.

- The delay keyword changes the delay interval between checks on updated next-hop routes installed in the routing table.

- The seconds argument specifies the delay in seconds. Range is from 0 to 100. Default is 5.

- The enable keyword enables BGP next-hop address tracking.

Step 13

maximum-paths {number_of_paths|ibgp number_of_paths}

router(config-router-af)# maximum-paths ibgp 2

Controls the maximum number of parallel iBGP routes that can be installed in a routing table.

The number_of_paths argument specifies the number of routes to install to the routing table. Valid values are between 1 and 3.

Note If the ibgp keyword is not used, then the number_of_paths argument controls the maximum number of parallel EBGP routes.

Configuring IPv4 Family Aggregate Address Settings

This section describes the steps required to define the aggregation of specific routes into one route.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

aggregate-address address mask [as-set][summary-only][suppress-map map-name][advertise-map map-name][attribute-map map-name]

hostname(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

Creates an aggregate entry in a BGP database.

The argument address specifies the aggregate address.

The argument mask specifies the aggregate mask.

The argument map-name specifies the route map.

Configuring IPv4 Family Filtering Settings

This section describes the steps required to filter routes or networks received in incoming BGP updates.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

distribute-list acl-number in|out[]

hostname(config-router-af)# distribute-list ExampleAcl in bgp 2

Filters routes or networks received in incoming or advertised in outgoing BGP updates.

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.

TBD.

Configuring IPv4 Family BGP Neighbor Settings

This section describes the steps required to define BGP neighbors and neighbor settings.

Note You cannot add neighbors that support graceful restart, because ASA 9.2.1 does not support graceful restart.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the router in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

neighbor ip-address remote-as as-number

hostname(config-router-af)# neighbor 10.86.118.12 remote-as 3

Adds an entry to the BGP neighbor table.

The argument ip-address specifies the IP address of the neighbor.

The argument as-number specifies the autonomous system to which the neighbor belongs.

Step 4

neighbor ip-address shutdown

hostname(config-router-af)# neighbor 10.86.118.12 shutdown 3

(Optional) Enables you to disable a neighbor or peer group.

The argument ip-address specifies the IP address of the neighbor.

Step 5

neighbor ip-address activate

hostname(config-router-af)# neighbor 10.86.118.12 activate

Exchanges information with a BGP neighbor.

The argument ip-address specifies the IP address of the neighbor.

Step 6

neighbor {ip-address} distribute-list {access-list-name}{in|out}

hostname(config-router-af)# neighbor 10.86.118.12 distribute-list ExampleAcl in

Distributes BGP neighbor information as specified in an access list.

- The argument ip-address specifies the IP address of the neighbor.

- The argument access-list-number specifies 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.

- The argument expanded-list-number specifies the number of an expanded access list number. The range of an expanded access list is from 1300 to 2699.

- The argument access-list-name specifies the name of a standard or extended access list.

- The argument prefix-list-name specifies the name of a BGP prefix list.

- The keyword in implies that the access list is applied to incoming advertisements to that neighbor.

- The keyword out implies that the access list is applied to outgoing advertisements to that neighbor.

Step 7

neighbor {ip-address} route-map map-name {in|out}

hostname(config-router-af)# neighbor 10.86.118.12 route-map example1 in

Applies a route map to incoming or outgoing routes.

- The argument ip-address specifies the IP address of the neighbor.

- The argument map-name specifies the name of a route map.

- The keyword in applies a route map to incoming routes.

- The keyword out applies a route map to outgoing routes.

Step 8

neighbor {ip-address} prefix-list prefix-list-name {in|out}

hostname(config-router-af)# neighbor 10.86.118.12 prefix-list NewPrefixList in

Distributes BGP neighbor information as specified in a prefix list.

- The argument ip-address specifies the IP address of the neighbor.

- The argument prefix-list-name specifies the name of a prefix list.

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

neighbor {ip-address} filter-list access-list-number {in|out}

hostname(config-router-af)# neighbor 10.86.118.12 filter-list 5 in

Sets up a filter list.

- The argument ip-address specifies the IP address of the neighbor.

- The argument 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.

- The keyword in implies that the access list is applied to incoming advertisements from that neighbor.

- The keyword out implies that the access list is applied to outgoing advertisements to that neighbor.

Step 10

neighbor {ip-address} maximum-prefix maximum [threshold][restart restart interval][warning-only]

hostname(config-router-af)# neighbor 10.86.118.12 maximum-prefix 7 75 restart 12

Controls the number of prefixes that can be received from a neighbor.

- The argument ip-address specifies the IP address of the neighbor.

- The argument maximum specifies the maximum number of prefixes allowed from this neighbor.

- The argument threshold is an 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).

- The restart interval is an integer value (in minutes) that specifies the time interval after which the BGP neighbor restarts.

- The warning-only keyword allows the router to generate a log message when the maximum is exceeded, instead of terminating the peering.

Step 11

neighbor {ip-address} default-originate[route-map map-name]

hostname(config-router-af)# neighbor 10.86.118.12 default-originate route-map example1

Allows a BGP speaker (the local router) to send the default route 0.0.0.0 to a neighbor for use as a default route.

The argument ip-address specifies the IP address of the neighbor.

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 12

neighbor {ip-address} advertisement-interval seconds

hostname(config-router-af)# neighbor 10.86.118.12 advertisement-interval 15

Sets the minimum interval between the sending of BGP routing updates.

The argument ip-address specifies the IP address of the neighbor.

The argument seconds is the time (in seconds). Valid values are from 0 to 600.

Step 13

neighbor {ip-address} remove-private-as

hostname(config-router-af)# neighbor 10.86.118.12 remove-private-as

Removes private autonomous system numbers from outbound routing updates.

The argument ip-address specifies the IP address of the neighbor.

Step 14

neighbor {ip-address}timers keepalive holdtime min holdtime

router(config-router-af)# neighbor 10.86.118.12 timers 15 20 12

Sets the timers for a specific BGP peer or peer group.

- The argument ip-address specifies the IP address of the neighbor.

- The argument keepalive specifies 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.

- The argument holdtime specifies the interval (in seconds) after not receiving a keepalive message that the ASA declares a peer dead. The default is 180 seconds.

- The argument min holdtime specifies the minimum interval (in seconds) after not receiving a keepalive message that the ASA declares a peer dead. Please verify this.

Step 15

neighbor {ip-address} password string

router(config-router-af)# neighbor 10.86.118.12 password test

Enables Message Digest 5 (MD5) authentication on a TCP connection between two BGP peers.

The argument ip-address specifies the IP address of the neighbor.

The argument string is a case-sensitive password of up to 25 characters when the service password-encryption command is enabled and up to 81 characters when the service password-encryption command is not enabled. The first character cannot be a number. The string can contain any alphanumeric characters, including spaces.

Note You cannot specify a password in the format number-space-anything. The space after the number can cause authentication to fail.

Step 16

neighbor {ip-address} send-community[both|standard|extended]

hostname(config-router-af)# neighbor 10.86.118.12 send-community

Specifies that communities attributes should be sent to a BGP neighbor.

The argument ip-address specifies the IP address of the neighbor.

The both keyword specifies that both standard and extended communities will be sent.

The standard keyword specifies that only standard communities will be sent.

The extended keyword specifies that only extended communities will be sent.

Step 17

neighbor {ip-address}next-hop-self

hostname(config-router-af)# neighbor 10.86.118.12 next-hop-self

Configures the router as the next hop for a BGP-speaking neighbor or peer group.

The argument ip-address specifies the IP address of the neighbor.

Step 18

neighbor {ip-address}ebgp-multihop [ttl]

hostname(config-router-af)# neighbor 10.86.118.12 ebgp-multihop 5

Accepts and attempts BGP connections to external peers residing on networks that are not directly connected.

The argument ip-address specifies the IP address of the neighbor.

The argument ttl specifies time-to-live in the range from 1 to 255 hops.

Step 19

neighbor {ip-address} disable-connected-check

hostname(config-router-af)# neighbor 10.86.118.12 disable-connected-check

Disables connection verification to establish an eBGP peering session with a single-hop peer that uses a loopback interface.

The argument ip-address specifies the IP address of the neighbor.

Step 20

neighbor {ip-address} ttl-security hops hop-count

hostname(config-router-af)# neighbor 10.86.118.12 ttl-security hops 15

Secures a BGP peering session and configures the maximum number of hops that separate two external BGP (eBGP) peers.

The argument ip-address specifies the IP address of the neighbor.

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

neighbor {ip-address} weight number

hostname(config-router-af)# neighbor 10.86.118.12 weight 30

Assigns a weight to a neighbor connection.

The argument ip-address specifies the IP address of the neighbor.

The argument number is the weight to assign to a neighbor connection. Valid values are from 0 to 65535.

Step 22

neighbor {ip-address}version number

hostname(config-router-af)# neighbor 10.86.118.12 version 4

Configures the ASA to accept only a particular BGP version.

The argument ip-address specifies the IP address of the neighbor.

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 23

neighbor {ip-address} transport {connection-mode{active|passive}| path-mtu-discovery[disable]}

asa3(config-router-af)# neighbor 10.86.118.12 transport path-mtu-discovery

Enables a TCP transport session option for a BGP session.

- The argument ip-address specifies the IP address of the neighbor.

- The keyword connection-mode specifies the type of connection (active or passive).

- The keyword path-mtu-discovery enables TCP transport path maximum transmission unit (MTU) discovery. TCP path MTU discovery is enabled by default.

- The keyword disable disables TCP path MTU discovery.

Step 24

neighbor {ip-address} local-as [autonomous-system-number[no-prepend]]

hostname(config-router-af)# neighbor 10.86.118.12 local-as 5 no-prepend replace-as

Customizes the AS_PATH attribute for routes received from an external Border Gateway Protocol (eBGP) neighbor.

- The argument ip-address specifies the IP address of the neighbor.

- (Optional) The argument autonomous-system-number specifies the number of an autonomous system to prepend to the AS_PATH attribute. The range of values for this argument is any valid autonomous system number from 1 to 4294967295 or 1.0 to XX.YY.

- Using the keyword no-prepend does not prepend the local autonomous system number to any routes received from the eBGP neighbor.

Configuring IPv4 Network Settings

This section describes the steps required to define the networks to be advertised by the BGP routing process.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

network {network-number [mask network-mask]}[route-map map-tag]

hostname(config-router-af)# network 10.86.118.13 mask 255.255.255.255 route-map example1

Specifies the networks to be advertised by the BGP routing processes.

- The argument network-number specifies the network that BGP will advertise.

- (Optional) The argument network-mask specifies the network or subnetwork mask with mask address.

- (Optional) The argument map-tag specifies 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.

Configuring Redistribution Settings

This section describes the steps required to define the conditions for redistributing routes from another routing domain into BGP.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

redistribute protocol [process-id] [metric] [route-map [map-tag]]

hostname(config-router-af)# redistribute ospf 2 route-map example1 match external

Redistributes routes from another routing domain into a BGP autonomous system.

- The argument protocol specifies the source protocol from which routes are being redistributed. It can be one of the following: Connected, EIGRP, OSPF, RIP or Static.

- The argument process-id specifies a name for the specific routing process.

- The argument metric specifies the metric for the redistributed route.

- The argument map-tag specifies the identifier of a configured route map. The route map should be examined to filter the networks to be redistributed. If not specified, all networks are redistributed.

Configuring Route Injection Settings

This section describes the steps required to define the routes to be conditionally injected into the BGP routing table.

Detailed Steps

Command

Purpose

Step 1

router bgp as-num

ciscoasa(config)# router bgp 2

Enables a BGP routing process, which places the ASA in router configuration mode.

argument is the autonomous system number of the BGP routing process.

Step 2

address-family ipv4 [unicast]

hostname(config-router)# address-family ipv4[unicast]

Enables you to enter address family or router scope address family configuration mode to configure a routing session using standard IP Version 4 (IPv4) address prefixes.

The keyword unicast specifies IPv4 unicast address prefixes. This is the default, even if not specified.

Step 3

bgp inject-map inject-map exist-map exist-map [copy-attributes]

hostname(config-router-af)# bgp inject-map example1 exist-map example2 copy-attributes

Configures conditional route injection to inject more specific routes into a BGP routing table.

The argument inject-map specifies the name of the route map that specifies the prefixes to inject into the local BGP routing table.

The argument exist-map specifies the name of the route map containing the prefixes that the BGP speaker will track.

(Optional) The key word copy-attributes configures the injected route to inherit attributes of the aggregate route.

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 or disable various BGP routing statistics, enter one of the following commands:

Command

Purpose

Monitoring BGP Routing

show bgp [ip-address [mask [longer-prefixes [injected] | shorter-prefixes [length]]]| prefix-list name | route-map name]

Displays the entries in the BGP routing table.

show bgp cidr-only

Displays routes with non-natural network masks (that is, classless interdomain routing, or CIDR).

show bgp community community-number [exact-match][no-advertise][no-export]

Display routes that belong to specified BGP communities.

show bgp community-list community-list-name [exact-match]

Displays routes that are permitted by the BGP community list.

show bgp filter-list access-list-number

Displays routes that conform to a specified filter list.

show bgp injected-paths

Displays all the injected paths in the BGP routing table.

show bgp ipv4 unicast

Displays entries in the IP version 4 (IPv4) BGP routing table for unicast sessions.

show bgp neighbors ip_address

Displays information about BGP and TCP connections to neighbors.

show bgp paths [LINE]

Displays all the BGP paths in the database.

show bgp pending-prefixes

Displays prefixes that are pending deletion.

show bgp prefix-list prefix_list_name [WORD]

Displays routes that match a specified prefix list.

show bgp regexp regexp

Displays routes that match the autonomous system path regular expression.

show bgp replication [index-group | ip-address]

Displays update replication statistics for BGP update groups.

show bgp rib-failure

Displays BGP routes that failed to install in the Routing Information Base (RIB) table.

show bgp route-map map-name

Displays entries in the BGP routing table, based on the route map specified.

show bgp summary

Display the status of all BGP connections.

show bgp system-config

Display the system context specific BGP configuration in multi-context mode.

Note This command is available in all user contexts in multi-context mode.

show bgp update-group

Display information about the BGP update groups.

Disabling BGP Log Messages

no bgp log-neighbor-changes

Disables the logging of neighbor change messages. Enter this command in router configuration mode for the BGP routing process.

Note By default, neighbor changes are logged.

Configuration Example for BGP

This example shows how to enable and configure BGP with various optional processes.

Step 1 To enable BGP, enter the following commands:

ciscoasa(config)# router bgp 2

Step 2 To enable you to discard routes that have a number of as-path segments that exceed the specified value:

ciscoasa(config-router)# bgp maxas-limit 15

Step 3 To enable logging of BGP neighbor resets:

ciscoasa(config-router)# bgp log-neighbor-changes

Step 4 To enable BGP to automatically discover the best TCP path MTU for each BGP session:

ciscoasa(config-router)# bgp transport path-mtu-discovery

Step 5 To 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:

ciscoasa(config-router)# bgp fast-external-fallover

Step 6 To adjust BGP timers:

ciscoasa(config-router)# timers bgp 80 120

Feature History for BGP

lists each feature change and the platform release in which it was implemented.

Table 29-1 Feature History for BGP

Feature Name

Platform Releases

Feature Information

BGP Support

9.2(1)

Support was added for routing data, performing authentication, and redistributing and monitoring routing information using the Border Gateway Protocol.

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.

.

EIGRP

This chapter describes how to configure the ASA to route data, perform authentication, and redistribute routing information using the Enhanced Interior Gateway Routing Protocol (EIGRP).

This chapter includes the following sections:

- Information About EIGRP

- Licensing Requirements for EIGRP

- Guidelines and Limitations

- Configuring EIGRP

- Customizing EIGRP

- Monitoring EIGRP

- Configuration Example for EIGRP

- Feature History for EIGRP

Information 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.

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.

Using Clustering

For information about using clustering with EIGRP, see Dynamic Routing and Clustering.

Licensing Requirements for EIGRP

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported only in routed firewall mode. Transparent firewall mode is not supported.

Failover Guidelines

Supports Stateful Failover in single and multiple context mode.

IPv6 Guidelines

Does not support IPv6.

Clustering 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.

Additional Guidelines

- EIGRP instances cannot form adjacencies with each other across shared interfaces because inter-context exchange of multicast traffic is not supported.

- A maximum of one EIGRP process is supported.

Configuring 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.

- Enabling EIGRP

- Enabling EIGRP Stub Routing

Enabling EIGRP

You can only enable one EIGRP routing process on the ASA.

To enable EIGRP, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

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 Configuring Interfaces for EIGRP.

Enabling EIGRP Stub Routing

You can enable, and configure the ASA as an EIGRP stub router. Stub routing decreases memory and processing requirements on the ASA. As a stub router, the ASA does not need to maintain a complete EIGRP routing table because it forwards all nonlocal traffic to a distribution router. Generally, the distribution router need not send anything more than a default route to the stub router.

Only specified routes are propagated from the stub router to the distribution router. As a stub router, the ASA responds to all queries for summaries, connected routes, redistributed static routes, external routes, and internal routes with the message “inaccessible.” When the ASA is configured as a stub, it sends a special peer information packet to all neighboring routers to report its status as a stub router. Any neighbor that receives a packet informing it of the stub status will not query the stub router for any routes, and a router that has a stub peer will not query that peer. The stub router depends on the distribution router to send the correct updates to all peers.

To enable the ASA as an EIGRP stub routing process, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

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 Configuring Passive Interfaces.

Step 3

eigrp stub { receive-only | [ connected ] [ redistributed ] [ static ] [ summary ]}

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]}

Configures the stub routing process. 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.

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.

Customizing EIGRP

This section describes how to customize the EIGRP routing and includes the following topics:

- Defining a Network for an EIGRP Routing Process

- Configuring Interfaces for EIGRP

- Configuring the Summary Aggregate Addresses on Interfaces

- Changing the Interface Delay Value

- Enabling EIGRP Authentication on an Interface

- Defining an EIGRP Neighbor

- Redistributing Routes Into EIGRP

- Filtering Networks in EIGRP

- Customizing the EIGRP Hello Interval and Hold Time

- Disabling Automatic Route Summarization

- Configuring Default Information in EIGRP

- Disabling EIGRP Split Horizon

- Restarting the EIGRP Process

Defining a Network for an EIGRP Routing Process

The Network table lets you specify the networks used by the EIGRP routing process. For an interface to participate in EIGRP routing, it must fall within the range of addresses defined by the network entries. For directly connected and static networks to be advertised, they must also fall within the range of the network entries.

The Network table displays the networks configured for the EIGRP routing process. Each row of the table displays the network address and associated mask configured for the specified EIGRP routing process.

To add or define a network, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

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 Configuring Passive Interfaces.

Configuring Interfaces for EIGRP

command to prevent that interface from sending or receiving EIGRP updates.

To configure interfaces for EIGRP, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

ciscoasa(config-router)# network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

Configures the interfaces and networks that participate in EIGRP routing. 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 Defining a Network for an EIGRP Routing Process.

Step 3

(Optional) Do one of the following to customize an interface to participate in EIGRP routing:

no default-information { in | out | WORD }

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}

Allows you to control the sending or receiving of candidate default route information.

command disables the setting of the default route bit in advertised routes.

see Configuring Default Information in EIGRP for more information on this particular option.

authentication mode eigrp as-num md5

ciscoasa(config)# authentication mode eigrp 2 md5

Enables MD5 authentication of EIGRP packets.

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

see Enabling EIGRP Authentication on an Interface for more information on this particular option.

delay value

ciscoasa(config-if)# delay 200

of 200.

command.

see Changing the Interface Delay Value for more information on this particular option.

hello-interval eigrp as-num seconds

ciscoasa(config)# hello-interval eigrp 2 60

Allows you to change the hello interval. see Customizing the EIGRP Hello Interval and Hold Time for more information on this particular option.

hold-time eigrp as-num seconds

ciscoasa(config)# hold-time eigrp 2 60

Allows you to change the hold time. see Customizing the EIGRP Hello Interval and Hold Time for more information on this particular option.

Configuring Passive Interfaces

You can configure one or more interfaces as passive interfaces. In EIGRP, a passive interface does not send or receive routing updates.

To configure passive interfaces, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

ciscoasa(config-router)# network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

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 Defining a Network for an EIGRP Routing Process.

Step 3

passive-interface { default | if-name }

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

ciscoasa(config-router)# passive-interface {default}

Prevents an interface from sending or receiving EIGRP routing message.

commands in your EIGRP router configuration.

Configuring the Summary Aggregate Addresses on Interfaces

You can configure a summary addresses on a per-interface basis. You need to manually define summary addresses if you want to create summary addresses that do not occur at a network number boundary or if you want to use summary addresses on an ASA with automatic route summarization disabled. If any more specific routes are in the routing table, EIGRP will advertise the summary address out the interface with a metric equal to the minimum of all more specific routes.

To create a summary address, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

interface phy_if

ciscoasa(config)# interface inside

Enters interface configuration mode for the interface on which you are changing the delay value used by EIGRP.

Step 2

summary-address eigrp as-num address mask [ distance ]

ciscoasa(config-if)# summary-address eigrp 2 address mask [20]

Creates the summary address.

command.

Changing the Interface Delay Value

The interface delay value is used in EIGRP distance calculations. You can modify this value on a per-interface basis.

To change the interface delay value, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

interface phy_if

ciscoasa(config)# interface inside

Enters interface configuration mode for the interface on which you are changing the delay value used by EIGRP.

Step 2

delay value

ciscoasa(config-if)# delay 200

of 200.

command.

Enabling EIGRP Authentication on an Interface

EIGRP route authentication provides MD5 authentication of routing updates from the EIGRP routing protocol. The MD5 keyed digest in each EIGRP packet prevents the introduction of unauthorized or false routing messages from unapproved sources.

EIGRP route authentication is configured on a per-interface basis. All EIGRP neighbors on interfaces configured for EIGRP message authentication must be configured with the same authentication mode and key for adjacencies to be established.

Note Before you can enable EIGRP route authentication, you must enable EIGRP.

To enable EIGRP authentication on an interface, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

hostname(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

The as-num argument is the autonomous system number of the EIGRP routing process.

Step 2

network ip-addr [ mask ]

hostname(config)# router eigrp 2

hostname(config-router)# network 10.0.0.0

255.0.0.0

Configures the interfaces and networks that participate in EIGRP routing. 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 Configuring EIGRP.

Step 3

interface phy_if

hostname(config)# interface inside

Enters interface configuration mode for the interface on which you are configuring EIGRP message authentication.

Step 4

authentication mode eigrp as-num md5

hostname(config)# authentication mode eigrp 2 md5

Enables MD5 authentication of EIGRP packets.

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

authentication key eigrp as-num key key-id key-id

hostname(config)# authentication key eigrp 2 cisco key-id 200

Configures the key used by the MD5 algorithm.

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.

Note White spaces are not allowed, in the key argurment.

The key-id argument is a number that can range from 0 to 255.

Defining an EIGRP Neighbor

EIGRP hello packets are sent as multicast packets. If an EIGRP neighbor is located across a non broadcast network, such as a tunnel, you must manually define that neighbor. When you manually define an EIGRP neighbor, hello packets are sent to that neighbor as unicast messages.

To manually define an EIGRP neighbor, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

neighbor ip-addr interface if_name

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# neighbor 10.0.0.0 interface interface1

Defines the static neighbor.

argument is the IP address of the neighbor.

command, through which that neighbor is available. You can define multiple neighbors for an EIGRP routing process.

Redistributing Routes Into EIGRP

statement in the EIGRP configuration.

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 “Route Maps,” for more information about creating a route map.

To redistribute routes into the EIGRP routing process, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

default-metric bandwidth delay reliability loading mtu

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# default-metric bandwidth delay reliability loading mtu

(Optional) Specifies the default metrics that should be applied to routes redistributed into the EIGRP routing process.

command are used.

Step 3

Do one of the following to redistribute the selected route type into the EIGRP routing process:

redistribute connected [ metric bandwidth delay reliability loading mtu ] [ route-map map_name ]

ciscoasa(config-router): redistribute connected [metric bandwidth delay reliability loading mtu ] [route-map map_name ]

Redistributes connected routes into the EIGRP routing process.

command in the EIGRP router configuration.

redistribute static [ metric bandwidth delay reliability loading mtu ] [ route-map map_name ]

ciscoasa(config-router): redistribute static [metric bandwidth delay reliability loading mtu ] [route-map map_name ]

Redistributes static routes 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 ]

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 ]

Redistributes routes from an OSPF routing process into the EIGRP routing process.

redistribute rip [ metric bandwidth delay reliability load mtu] [ route-map map_name ]

(config-router): redistribute rip [metric bandwidth delay reliability load mtu] [route-map map_name]

Redistributes routes from a RIP routing process into the EIGRP routing process.

Filtering Networks in EIGRP

Note 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:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

ciscoasa(config-router)# network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

Configures the interfaces and networks that participate in EIGRP routing. 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 Configuring Interfaces for EIGRP.

Step 3

Do one of the following to filter networks sent or received in EIGRP routing updates:

distribute-list acl out [ connected | ospf | rip | static | interface if_name ]

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]

Filters networks sent in EIGRP routing updates.

You can specify an interface to apply the filter to only those updates that are sent by that specific interface.

commands in your EIGRP router configuration.

distribute-list acl in [ interface if_name ]

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]

Filters networks received in EIGRP routing updates.

You can specify an interface to apply the filter to only those updates that are received by that interface.

Customizing the EIGRP Hello Interval and Hold Time

The ASA periodically sends hello packets to discover neighbors and to learn when neighbors become unreachable or inoperative. By default, hello packets are sent every 5 seconds.

The hello packet advertises the ASA hold time. The hold time indicates to EIGRP neighbors the length of time the neighbor should consider the ASA reachable. If the neighbor does not receive a hello packet within the advertised hold time, then the ASA is considered unreachable. By default, the advertised hold time is 15 seconds (three times the hello interval).

Both the hello interval and the advertised hold time are configured on a per-interface basis. We recommend setting the hold time to be at minimum three times the hello interval.

To configure the hello interval and advertised hold time, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

interface phy_if

ciscoasa(config)# interface inside

Enters interface configuration mode for the interface on which you are configuring the hello interval or advertised hold time.

Step 2

hello-interval eigrp as-num seconds

ciscoasa(config)# hello-interval eigrp 2 60

Changes the hello interval.

Step 3

hold-time eigrp as-num seconds

ciscoasa(config)# hold-time eigrp 2 60

Changes the hold time.

Disabling Automatic Route Summarization

Automatic route summarization is enabled by default. The EIGRP routing process summarizes on network number boundaries. This can cause routing problems if you have noncontiguous networks.

For example, if you have a router with the networks 192.168.1.0, 192.168.2.0, and 192.168.3.0 connected to it, and those networks all participate in EIGRP, the EIGRP routing process creates the summary address 192.168.0.0 for those routes. If an additional router is added to the network with the networks 192.168.10.0 and 192.168.11.0, and those networks participate in EIGRP, they will also be summarized as 192.168.0.0. To prevent the possibility of traffic being routed to the wrong location, you should disable automatic route summarization on the routers creating the conflicting summary addresses.

To disable automatic route summarization, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

no auto-summary

ciscoasa(config-router)# no auto-summary

You cannot configure this value. Automatic summary addresses have an administrative distance of 5.

Configuring Default Information in EIGRP

You can control the sending and receiving of default route information in EIGRP updates. By default, default routes are sent and accepted. Configuring the ASA to disallow default information to be received causes the candidate default route bit to be blocked on received routes. Configuring the ASA to disallow default information to be sent disables the setting of the default route bit in advertised routes.

To configure default routing information, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router eigrp as-num

ciscoasa(config)# router eigrp 2

Creates an EIGRP routing process and enters router configuration mode for this EIGRP process.

argument is the autonomous system number of the EIGRP routing process.

Step 2

ciscoasa(config-router)# network ip-addr [ mask ]

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

Configures the interfaces and networks that participate in EIGRP routing. 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 Configuring Interfaces for EIGRP.

Step 3

no default-information { in | out | WORD }

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}

Controls the sending or receiving of candidate default route information.

command disables the setting of the default route bit in advertised routes.

Disabling EIGRP Split Horizon

Split horizon controls the sending of EIGRP update and query packets. When split horizon is enabled on an interface, update and query packets are not sent for destinations for which this interface is the next hop. Controlling update and query packets in this manner reduces the possibility of routing loops.

By default, split horizon is enabled on all interfaces.

Split horizon blocks route information from being advertised by a router out of any interface from which that information originated. This behavior usually optimizes communications among multiple routing devices, particularly when links are broken. However, with nonbroadcast networks, there may be situations where this behavior is not desired. For these situations, including networks in which you have EIGRP configured, you may want to disable split horizon.

If you disable split horizon on an interface, you must disable it for all routers and access servers on that interface.

To disable EIGRP split horizon, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

interface phy_if

Enters interface configuration mode for the interface on which you are changing the delay value used by EIGRP.

Step 2

no split-horizon eigrp as-number

ciscoasa(config-if)# no split-horizon eigrp 2

Disables the split horizon.

Restarting the EIGRP Process

To restart an EIGRP process or clear redistribution or counters, enter the following command:

Command

Purpose

clear eigrp pid { 1-65535 | neighbors | topology | events) }

ciscoasa(config)# clear eigrp pid 10 neighbors

Restarts an EIGRP process or clears redistribution or counters.

Monitoring EIGRP

You can use the following commands to monitor the EIGRP 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 or disable various EIGRP routing statistics, enter one of the following commands:

Command

Purpose

Monitoring EIGRP Routing

router-id

Displays the router-id for this EIGRP process.

show eigrp [ as-number ] events [{ start end } | type ]

Displays the EIGRP event log.

show eigrp [ as-number ] interfaces [ if-name ] [ detail ]

Displays the interfaces participating in EIGRP routing.

show eigrp [ as-number ] neighbors [ detail | static ] [ if-name ]

Displays the EIGRP neighbor table.

show eigrp [ as-number ] topology [ ip-addr [ mask ] | active | all-links | pending | summary | zero-successors ]

Displays the EIGRP topology table.

show eigrp [ as-number ] traffic

Displays EIGRP traffic statistics.

show mfib cluster

Displays MFIB information in terms of forwarding entries and interfaces.

show route cluster

Displays additional route synchronization details for clustering.

Disabling EIGRP Logging Messages

no eigrp log-neighbor-changes

Disables the logging of neighbor change messages. Enter this command in router configuration mode for the EIGRP routing process.

no eigrp log-neighbor-warnings

Disables the logging of neighbor warning messages.

Note By default, neighbor change and neighbor warning messages are logged.

Configuration Example for EIGRP

The following example shows how to enable and configure EIGRP with various optional processes:

Step 1 To enable EIGRP, enter the following commands:

ciscoasa(config)# router eigrp 2

ciscoasa(config-router)# network 10.0.0.0 255.0.0.0

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 To define an EIGRP neighbor, enter the following command:

ciscoasa(config-router)# neighbor 10.0.0.0 interface interface1

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 History for EIGRP

lists each feature change and the platform release in which it was implemented.

Table 31-1 Feature History for EIGRP

Feature Name

Platform Releases

Feature Information

EIGRP Support

7.0(1)

Support was added for routing data, performing authentication, and redistributing and monitoring routing information using the Enhanced Interior Gateway Routing Protocol (EIGRP).

.

Dynamic Routing in Multiple Context Mode

9.0(1)

EIGRP routing is supported in multiple context mode.

Clustering

9.0(1)

For EIGRP, bulk synchronization, route synchronization, and layer 2 load balancing are supported in the clustering environment.

.

EIGRP Auto-Summary

9.2(1)

For EIGRP, the Auto-Summary field is now disabled by default.

IPv6 Neighbor Discovery

- Information About IPv6 Neighbor Discovery

- Licensing Requirements for IPv6 Neighbor Discovery

- Prerequisites for IPv6 Neighbor Discovery

- Guidelines and Limitations

- Default Settings for IPv6 Neighbor Discovery

- Configuring IPv6 Neighbor Discovery

- Monitoring IPv6 Neighbor Discovery

- Additional References

- Feature History for IPv6 Neighbor Discovery

Information About IPv6 Neighbor Discovery

The IPv6 neighbor discovery process uses ICMPv6 messages and solicited-node multicast addresses to determine the link-layer address of a neighbor on the same network (local link), verify the readability of a neighbor, and keep track of neighboring routers.

Nodes (hosts) use neighbor discovery to determine the link-layer addresses for neighbors known to reside on attached links and to quickly purge cashed values that become invalid. Hosts also use neighbor discovery to find neighboring routers that are willing to forward packets on their behalf. In addition, nodes use the protocol to actively keep track of which neighbors are reachable and which are not, and to detect changed link-layer addresses. When a router or the path to a router fails, a host actively searches for functioning alternates.

This section includes the following topics:

- Neighbor Solicitation Messages

- Neighbor Reachable Time

- Duplicate Address Detection

- Router Advertisement Messages

- Static IPv6 Neighbors

Neighbor Solicitation Messages

Neighbor solicitation messages (ICMPv6 Type 135) are sent on the local link by nodes attempting to discover the link-layer addresses of other nodes on the local link. The neighbor solicitation message is sent to the solicited-node multicast address. The source address in the neighbor solicitation message is the IPv6 address of the node sending the neighbor solicitation message. The neighbor solicitation message also includes the link-layer address of the source node.

After receiving a neighbor solicitation message, the destination node replies by sending a neighbor advertisement message (ICPMv6 Type 136) on the local link. The source address in the neighbor advertisement message is the IPv6 address of the node sending the neighbor advertisement message; the destination address is the IPv6 address of the node that sent the neighbor solicitation message. The data portion of the neighbor advertisement message includes the link-layer address of the node sending the neighbor advertisement message.

After the source node receives the neighbor advertisement, the source node and destination node can communicate.

Neighbor solicitation messages are also used to verify the reachability of a neighbor after the link-layer address of a neighbor is identified. When a node wants to verifying the reachability of a neighbor, the destination address in a neighbor solicitation message is the unicast address of the neighbor.

Neighbor advertisement messages are also sent when there is a change in the link-layer address of a node on a local link. When there is such a change, the destination address for the neighbor advertisement is the all-nodes multicast address.

Neighbor Reachable Time

The neighbor reachable 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.

Duplicate Address Detection

During the stateless autoconfiguration process, Duplicate Address Detection verifies the uniqueness of new unicast IPv6 addresses before the addresses are assigned to interfaces (the new addresses remain in a tentative state while Duplicate Address Detection is performed). Duplicate Address Detection is performed first on the new link-local address. When the link-local address is verified as unique, then Duplicate Address Detection is performed all the other IPv6 unicast addresses on the interface.

Duplicate Address Detection is suspended on interfaces that are administratively down. While an interface is administratively down, the unicast IPv6 addresses assigned to the interface are set to a pending state. An interface returning to an administratively up state restarts Duplicate Address Detection for all of the unicast IPv6 addresses on the interface.

When a duplicate address is identified, the state of the address is set to DUPLICATE, the address is not used, and the following error message is generated:

%ASA-4-325002: Duplicate address ipv6_address/MAC_address on interface

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.

Router Advertisement Messages

An ASA can participate in router advertisements so that neighboring devices can dynamically learn a default router address. Router advertisement messages (ICMPv6 Type 134) are periodically sent out each IPv6 configured interface of the ASA. The router advertisement messages are sent to the all-nodes multicast address.

Router advertisement messages typically include the following information:

- One or more IPv6 prefix that nodes on the local link can use to automatically configure their IPv6 addresses.

- Lifetime information for each prefix included in the advertisement.

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

- The amount of time a node considers a neighbor reachable.

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 time interval between periodic router advertisement messages.

- The router lifetime value, which indicates the amount of time IPv6 nodes should consider the ASA to be the default router.

- The IPv6 network prefixes in use on the link.

- Whether or not an interface transmits router advertisement messages.

Unless otherwise noted, the router advertisement message settings are specific to an interface and are entered in interface configuration mode.

Static IPv6 Neighbors

You can manually define a neighbor in the IPv6 neighbor cache. If an entry for the specified IPv6 address already exists in the neighbor discovery cache—learned through the IPv6 neighbor discovery process—the entry is automatically converted to a static entry. Static entries in the IPv6 neighbor discovery cache are not modified by the neighbor discovery process.

Licensing Requirements for IPv6 Neighbor Discovery

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Prerequisites for IPv6 Neighbor Discovery

Configure IPv6 addressing according to the Configuring IPv6 Addressing.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed mode only. Transparent mode is not supported.

Additional Guidelines and Limitations

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

- 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 cache—learned through the IPv6 neighbor discovery process—the 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 entries—entries learned from the IPv6 neighbor discovery process—from 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.

Default Settings for IPv6 Neighbor Discovery

lists the default settings for IPv6 Neighbor Discovery.

Table 33-1 Default IPv6 Neighbor Discovery Parameters

Parameters

Default

for the neighbor solicitation transmission message interval

1000 seconds between neighbor solicitation transmissions.

for the neighbor reachable time

The default is 0.

for the router advertisement transmission interval

The default is 200 seconds.

for the router lifetime

The default is 1800 seconds.

for the number of consecutive neighbor solicitation messages sent during DAD

The default is one message.

prefix lifetime

The default lifetime is 2592000 seconds (30 days), and a preferred lifetime is 604800 seconds (7 days).

on-link flag

The flag is on by default, which means that the prefix is used on the advertising interface.

autoconfig flag

The flag is on by default, which means that the prefix is used for autoconfiguration.

static IPv6 neighbor

Static entries are not configured in the IPv6 neighbor discovery cache.

Configuring IPv6 Neighbor Discovery

- Entering Interface Configuration Mode

- Configuring the Neighbor Solicitation Message Interval

- Configuring the Neighbor Reachable Time

- Configuring the Router Advertisement Transmission Interval

- Configuring the Router Lifetime Value

- Configuring DAD Settings

- Suppressing Router Advertisement Messages

- Configuring Address Config Flags for IPv6 DHCP Relay

- Configuring the IPv6 Prefix in Router Advertisements

- Configuring a Static IPv6 Neighbor

Entering Interface Configuration Mode

Configure neighbor discovery settings per interface. To enter interface configuration mode, perform the following steps.

Detailed Steps

Command

Purpose

interface name

hostname(config)# interface gigabitethernet 0/0

hostname(config-if)#

Enters interface configuration mode.

Configuring the Neighbor Solicitation Message Interval

To configure the interval between IPv6 neighbor solicitation retransmissions on an interface, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd ns-interval value

hostname (config-if)# ipv6 nd ns-interval 9000

Sets the interval between IPv6 neighbor solicitation retransmissions on an interface.

Valid values for the value argument range from 1000 to 3600000 milliseconds.

This information is also sent in router advertisement messages.

Examples

The following example configures an IPv6 neighbor solicitation transmission interval of 9000 milliseconds for GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd ns-interval 9000

Configuring the Neighbor Reachable Time

To configure the amount of time that a remote IPv6 node is considered reachable after a reachability confirmation event has occurred, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd reachable-time value

hostname (config-if)# ipv6 nd reachable-time 1700000

Sets the amount of time that a remote IPv6 node is reachable.

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.

Examples

The following example configures an IPv6 reachable time of 1700000 milliseconds for the selected interface, GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd reachable-time 1700000

Configuring the Router Advertisement Transmission Interval

To configure the interval between IPv6 router advertisement transmissions on an interface, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd ra-interval [ msec ] value

hostname (config-if)# ipv6 nd ra-interval 201

Sets the interval between IPv6 router advertisement transmissions.

keyword indicates that the value provided is in milliseconds. If this keyword is not present, the value provided is in seconds.

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 Configuring the Router Lifetime Value. To prevent synchronization with other IPv6 nodes, randomly adjust the actual value used to within 20 percent of the desired value.

Examples

The following example configures an IPv6 router advertisement interval of 201 seconds for the selected interface, GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd ra-interval 201

Configuring the Router Lifetime Value

To configure the router lifetime value in IPv6 router advertisements on an interface, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd ra-lifetime [ msec ] value

hostname (config-if)# ipv6 nd ra-lifetime 2000

Specifies the length of time that nodes on the local link should consider the ASA as the default router on the link.

keyword indicates that the value provided is in milliseconds. If this keyword is not present, the value provided is in seconds.

argument range from 0 to 9000 seconds.

Entering 0 indicates that the ASA should not be considered a default router on the selected interface.

Examples

The following example configures an IPv6 router lifetime value of 2000 seconds for the selected interface, GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd ra-lifetime 2000

Configuring DAD Settings

To specify DAD settings on the interface, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd dad attempts value

hostname (config-if)# ipv6 nd dad attempts 20

Specifies the uniqueness of new unicast IPv6 addresses before they are assigned and ensures that duplicate IPv6 addresses are detected in the network on a link basis.

argument range from 0 to 600. A zero value disables DAD processing on the specified interface.

Examples

The following example configures a DAD attempt value of 20 for the selected interface, GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd dad attempts 20

Suppressing Router Advertisement Messages

Router advertisement messages are automatically sent in response to router solicitation messages. You may want to disable these messages on any interface for which you do not want the ASA to supply the IPv6 prefix (for example, the outside interface).

To suppress the router lifetime value in IPv6 router advertisements on an interface, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd suppress-ra seconds

hostname (config-if)# ipv6 nd suppress-ra 900

Suppresses the router lifetime value.

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.

Entering this command causes the ASA to appear as a regular IPv6 neighbor on the link and not as an IPv6 router.

Examples

The following example suppresses an IPv6 router advertisement transmission for the specified interface, which is GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd suppress-ra 900

Configuring Address Config Flags for IPv6 DHCP Relay

You can add a flag to IPv6 router advertisements to inform IPv6 autoconfiguration clients to use DHCPv6 to obtain an IPv6 address and/or additional information such as the DNS server address.

Detailed Steps

Command

Purpose

ipv6 nd managed-config-flag

hostname (config-if)# ipv6 nd managed-config-flag

Sets the Managed Address Config flag in the IPv6 router advertisement packet. This flag informs IPv6 autoconfiguration clients that they should use DHCPv6 to obtain addresses, in addition to the derived stateless autoconfiguration address.

ipv6 nd other-config-flag

hostname (config-if)# ipv6 nd other-config-flag

Sets the Other Address Config flag in the IPv6 router advertisement packet. This flag informs IPv6 autoconfiguration clients that they should use DHCPv6 to obtain additional information from DHCPv6, such as the DNS server address.

Configuring the IPv6 Prefix in Router Advertisements

To configure the which IPv6 prefixes are included in IPv6 router advertisements, enter the following command.

Detailed Steps

Command

Purpose

ipv6 nd prefix ipv6-prefix / prefix-length | default [[ valid-lifetime preferred-lifetime ] | [ at valid-date preferred-date ] | infinite | no-advertise | off-link | no-autoconfig ]

hostname (config-if)# ipv6 nd prefix 2001:DB8::/32 1000 900

Configures which IPv6 prefixes are included in IPv6 router advertisements. 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.

.

keyword indicates that default values are used.

keyword specifies that the valid lifetime does not expire.

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.

keyword indicates to hosts on the local link that the specified prefix is not to be used for IPv6 autoconfiguration.

keyword indicates to hosts on the local link that the specified prefix cannot be used for IPv6 autoconfiguration.

keyword indicates that the specified prefix is not used for on-link determination.

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).

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.

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).

Examples

The following example includes the IPv6 prefix 2001:DB8::/32, with a valid lifetime of 1000 seconds and a preferred lifetime of 900 seconds, in router advertisements sent out on the specified interface, which is GigabitEthernet 0/0:

hostname (config)# interface gigabitethernet 0/0

hostname (config-if)# ipv6 nd prefix 2001:DB8::/32 1000 900

Configuring a Static IPv6 Neighbor

To configure a static entry in the IPv6 neighbor discovery cache, enter the following command.

Detailed Steps

Command

Purpose

ipv6 neighbor ipv6_address if_name mac_address

hostname(config-if)# ipv6 neighbor 3001:1::45A inside 002.7D1A.9472

Configures a static entry in the IPv6 neighbor discovery cache.

argument is the MAC address of the neighbor interface.

Examples

The following example adds a static entry for an inside host with an IPv6 address of 3001:1::45A and a MAC address of 002.7D1a.9472 to the neighbor discovery cache:

hostname(config-if)# ipv6 neighbor 3001:1::45A inside 002.7D1A.9472

Monitoring IPv6 Neighbor Discovery

To monitor IPv6 neighbor discovery parameters, enter the following command:

Command

Purpose

show ipv6 interface

Displays the usability status of interfaces configured for IPv6. Including the interface name, such as “outside” and displays the settings for the specified interface. Excludes the name from the command and displays the settings for all interfaces that have IPv6 enabled on them. Output for the command shows the following:

- The name and status of the interface.

- The link-local and global unicast addresses.

- The multicast groups to which the interface belongs.

- ICMP redirect and error message settings.

- Neighbor discovery settings.

- The actual time when the command is set to 0.

- The neighbor discovery reachable time that is being used.

Additional References

For additional information related to implementing IPv6 prefixes, see the following topics:

- Related Documents for IPv6 Prefixes

- RFCs for IPv6 Prefixes and Documentation

Related Documents for IPv6 Prefixes

Related Topic

Document Title

commands

RFCs for IPv6 Prefixes and Documentation

RFC

Title

indicates this network number, in which the address must be specified in hexadecimal format using 16-bit values between colons.

IP Version 6 Addressing Architecture

RFC 3849 specifies the requirements for using IPv6 address prefixes in documentation. The IPv6 unicast address prefix that has been reserved for use in documentation is 2001:DB8::/32.

IPv6 Address Prefix Reserved for Documentation

Feature History for IPv6 Neighbor Discovery

lists each feature change and the platform release in which it was implemented.

Table 33-2 Feature History for IPv6 Neighbor Discovery

Feature Name

Releases

Feature Information

IPv6 Neighbor Discovery

7.0(1)

We introduced this feature.

.

Address Config Flags for IPv6 DHCP Relay

9.0(1)

.

Route Maps

- Information About Route Maps

- Licensing Requirements for Route Maps

- Guidelines and Limitations

- Defining a Route Map

- Customizing a Route Map

- Configuration Example for Route Maps

- Feature History for Route Maps

Information About Route Maps

Route maps are used when redistributing routes into an OSPF, RIP, EIGRP or BGP routing process. They are also used when generating a default route into an OSPF routing process. A route map defines which of the routes from the specified routing protocol are allowed to be redistributed into the target routing process.

Route maps have many features in common with widely known ACLs. These are some of the traits common to both:

- 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 mechanisms—Criteria 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:

- Route maps frequently use ACLs as matching criteria.

- The main result from the evaluation of an ACL is a yes or no answer—An 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.

- 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 ASDM, this capability for redistribution can be found when you add or edit a new route map (see Defining a Route Map). 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.

This section includes the following topics:

- Permit and Deny Clauses

- Match and Set Clause Values

- BGP Match and BGP Set Clauses

Permit and Deny Clauses

Route maps can have permit and deny clauses. In the route-map ospf-to-eigrp command, there is one deny clause (with sequence number 10) and two permit clauses. The deny clause rejects route matches from redistribution. Therefore, the following rules apply:

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

Match and Set Clause Values

Each route map clause has two types of values:

- A match value selects routes to which this clause should be applied.

- A set value modifies information that will be redistributed into the target protocol.

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:

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

Note Do not configure a set command in a route map deny clause because the deny clause prohibits route redistribution—there 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).

BGP Match and BGP Set Clauses

In addition to the match and set values described above, BGP provides additional match and set capabilities to route maps.

The following new route-map match clauses are now supported with BGP:

- 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

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.

Licensing Requirements for Route Maps

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single context mode and multiple context mode.

Firewall Mode Guidelines

Supported only in routed firewall mode. Transparent firewall mode is not supported.

IPv6 Guidelines

Supports IPv6.

Note BGP for IPv6 is not supported.

Additional Guidelines

Route maps do not support ACLs that include a user, user group, or fully qualified domain name objects.

Defining a Route Map

You must define a route map when specifying which of the routes from the specified routing protocol are allowed to be redistributed into the target routing process.

To define a route map, enter the following command:

Command

Purpose

route-map name { permit | deny } [ sequence_number ]

ciscoasa(config)# route-map name {permit} [ 12 ]

Creates the route map entry. Enters route-map configuration mode.

argument, or the ASA uses the order in which you add route map entries.

Customizing a Route Map

This section describes how to customize the route map and includes the following topics:

- Defining a Route to Match a Specific Destination Address

- Configuring the Metric Values for a Route Action

Defining a Route to Match a Specific Destination Address

To define a route to match a specified destination address, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

route-map name { permit | deny } [ sequence_number ]

ciscoasa(config)# route-map name {permit} [ 12 ]

Creates the route map entry. Enters route-map configuration mode.

option, or the ASA uses the order in which you add route map entries.

Step 2

commands to match routes to a specified destination address:

match ip address acl_id [ acl_id ] [...] [prefix-list]

ciscoasa(config-route-map)# match ip address acl_id [ acl_id ] [...]

Matches any routes that have a destination network that matches a standard ACL or prefix list.

If you specify more than one ACL, then the route can match any of the ACLs.

match metric metric_value

ciscoasa(config-route-map)# match metric 200

Matches any routes that have a specified metric.

can range from 0 to 4294967295.

match ip next-hop acl_id [ acl_id ] [...]

ciscoasa(config-route-map)# match ip next-hop acl_id [ acl_id ] [...]

Matches any routes that have a next hop router address that matches a standard ACL.

If you specify more than one ACL, then the route can match any of the ACLs.

match interface if_name

ciscoasa(config-route-map)# match interface if_name

Matches any routes with the specified next hop interface.

If you specify more than one interface, then the route can match either interface.

match ip route-source acl_id [ acl_id ] [...]

ciscoasa(config-route-map)# match ip route-source acl_id [ acl_id ] [...]

Matches any routes that have been advertised by routers that match a standard ACL.

If you specify more than one ACL, then the route can match any of the ACLs.

match route-type { internal | external [ type-1 | type-2 ]}

ciscoasa(config-route-map)# match route-type internal type-1

Matches the route type.

Configuring the Metric Values for a Route Action

commands determine the action to perform on the route before redistributing it.

To configure the metric value for a route action, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

route-map name { permit | deny } [ sequence_number ]

ciscoasa(config)# route-map name {permit} [ 12 ]

Creates the route map entry. Enters route-map configuration mode.

argument, or the ASA uses the order in which you add route map entries.

Step 2

commands:

set metric metric_value

ciscoasa(config-route-map)# set metric 200

Sets the metric value.

argument can range from 0 to 294967295.

set metric-type { type-1 | type-2 }

ciscoasa(config-route-map)# set metric-type type-2

Sets the metric type.

argument can be type-1 or type-2.

Configuration Example for Route Maps

The following example shows how to redistribute routes with a hop count equal to 1 into OSPF.

The ASA redistributes these routes as external LSAs with a metric of 5 and a metric type of Type 1.

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

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

ciscoasa(config-route-map)# route-map mymap2 permit 10

ciscoasa(config-route-map)# match ip address mymap2

ciscoasa(config-route-map)# router eigrp 1

ciscoasa(config-router)# redistribute static metric 250 250 1 1 1 route-map mymap2

Feature History for Route Maps

lists each feature change and the platform release in which it was implemented.

Table 28-1 Feature History for Route Maps

Feature Name

Platform Releases

Feature Information

Route maps

7.0(1)

We introduced this feature.

.

Enhanced support for static and dynamic route maps

8.0(2)

Enhanced support for dynamic and static route maps was added.

Support for Stateful Failover of dynamic routing protocols (EIGRP, OSPF, and RIP) and debugging of general routing-related operations

8.4(1)

.

.

Dynamic Routing in Multiple Context Mode

9.0(1)

Route maps are supported in multiple context mode.

Support for BGP

9.2(1)

We introduced this feature.

We introduced the following commands: router bgp

OSPF

This chapter describes how to configure the 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:

- Information About OSPF

- Licensing Requirements for OSPF

- Guidelines and Limitations

- Configuring OSPFv2

- Configuring OSPF Fast Hello Packets

- Customizing OSPFv2

- Configuring OSPFv3

- Removing the OSPF Configuration

- Configuration Example for OSPFv2

- Configuration Examples for OSPFv3

- Monitoring OSPF

- Additional References

- Feature History for OSPF

Information 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.

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

- Intra-area, interarea, and external (Type I and Type II) routes.

- Virtual links.

- LSA flooding.

- Authentication to OSPF packets (both password and MD5 authentication).

- Configuring the ASA as a designated router or a designated backup router. The ASA also can be set up as an ABR.

- Stub areas and not-so-stubby areas.

- Area boundary router Type 3 LSA filtering.

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 processes—one 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.

OSPF Support for Fast Hello Packets

The OSPF Support for Fast Hello Packets feature provides a way to configure the sending of hello packets in intervals less than 1 second. Such a configuration would result in faster convergence in an Open Shortest Path First (OSPF) network.

Prerequisites for OSPF Support for Fast Hello Packets

OSPF must be configured in the network already or configured at the same time as the OSPF Support for Fast Hello Packets feature.

Information About OSPF Support for Fast Hello Packets

The following sections describe concepts related to OSPF support for fast hello packets:

- OSPF Hello Interval and Dead Interval

- OSPF Fast Hello Packets

- Benefits of OSPF Fast Hello Packets

OSPF Hello Interval and Dead Interval

OSPF hello packets are packets that an OSPF process sends to its OSPF neighbors to maintain connectivity with those neighbors. The hello packets are sent at a configurable interval (in seconds). The defaults are 10 seconds for an Ethernet link and 30 seconds for a non broadcast link. Hello packets include a list of all neighbors for which a hello packet has been received within the dead interval. The dead interval is also a configurable interval (in seconds), and defaults to four times the value of the hello interval. The value of all hello intervals must be the same within a network. Likewise, the value of all dead intervals must be the same within a network.

These two intervals work together to maintain connectivity by indicating that the link is operational. If a router does not receive a hello packet from a neighbor within the dead interval, it will declare that neighbor to be down.

OSPF Fast Hello Packets

OSPF fast hello packets refer to hello packets being sent at intervals of less than 1 second. To understand fast hello packets, you should already understand the relationship between OSPF hello packets and the dead interval. See the section OSPF Hello Interval and Dead Interval .

OSPF fast hello packets are achieved by using the ospf dead-interval command. The dead interval is set to 1 second, and the hello-multiplier value is set to the number of hello packets you want sent during that 1 second, thus providing subsecond or "fast" hello packets.

When fast hello packets are configured on the interface, the hello interval advertised in the hello packets that are sent out this interface is set to 0. The hello interval in the hello packets received over this interface is ignored.

The dead interval must be consistent on a segment, whether it is set to 1 second (for fast hello packets) or set to any other value. The hello multiplier need not be the same for the entire segment as long as at least one hello packet is sent within the dead interval.

Benefits of OSPF Fast Hello Packets

The benefit of the OSPF Fast Hello Packets feature is that your OSPF network will experience faster convergence time than it would without fast hello packets. This feature allows you to detect lost neighbors within 1 second. It is especially useful in LAN segments, where neighbor loss might not be detected by the Open System Interconnection (OSI) physical layer and data-link layer.

Implementation Differences Between OSPFv2 and OSPFv3

OSPFv3 is not backward compatible with OSPFv2. To use OSPF to route both IPv4 and IPv6 traffic, you must run both OSPFv2 and OSPFv3 at the same time. They coexist with each other, but do not interact with each other.

The additional features that OSPFv3 provides include the following:

- Protocol processing per link.

- Removal of addressing semantics.

- Addition of flooding scope.

- Support for multiple instances per link.

- Use of the IPv6 link-local address for neighbor discovery and other features.

- LSAs expressed as prefix and prefix length.

- Addition of two LSA types.

- Handling of unknown LSA types.

- Authentication support using the IPsec ESP standard for OSPFv3 routing protocol traffic, as specified by RFC-4552.

Using Clustering

For more information about dynamic routing and clustering, see Dynamic Routing and Clustering.

For more information about using clustering, see Chapter9, “ASA Cluster”

Licensing Requirements for OSPF

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

OSPFv2 supports single and multiple context mode.

OSPFv3 supports single mode only.

Firewall Mode Guidelines

OSPF supports routed firewall mode only. OSPF does not support transparent firewall mode.

Failover Guidelines

OSPFv2 and OSPFv3 support Stateful Failover.

IPv6 Guidelines

- OSPFv2 does not support IPv6.

- OSPFv3 supports IPv6.

- OSPFv3 uses IPv6 for authentication.

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

Clustering Guidelines

- OSPFv2 and OSPFv3 support clustering.

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

Additional Guidelines

- OSPFv2 and OSPFv3 support multiple instances on an interface.

- OSPFv3 supports encryption through ESP headers in a non-clustered environment.

- OSPFv3 supports Non-Payload Encryption.

Configuring 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 Defining a Route Map. Then you generate a default route. For more information, see Configuring Static and Default Routes.

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 Customizing OSPFv2.

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:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

Creates an OSPF routing process and enters router configuration mode for this OSPF process.

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

network ip_address mask area area_id

ciscoasa(config)# router ospf 2

ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

Defines the IP addresses on which OSPF runs and the area ID for that interface.

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.

Configuring OSPF Fast Hello Packets

This section describes how to configure OSPF Fast Hello Packets.

Detailed Steps

Command

Purpose

Step 1

interface port-channel number

ciscoasaciscoasa(config)# interface port-channel 10

Configures an interface and enters the interface configuration mode.

indicates the port-channel interface number.

Step 2

ospf dead-interval minimal hello-multiplier no.of times

ciscoasaciscoasa(config-if)# ospf dead-interval minimal hell0-multiplier 5

ciscoasa

Sets the interval during which at least one hello packet must be received, or else the neighbor is considered down.

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.

Customizing OSPFv2

This section explains how to customize the OSPFv2 processes and includes the following topics:

- Redistributing Routes Into OSPFv2

- Configuring Route Summarization When Redistributing Routes Into OSPFv2

- Configuring Route Summarization Between OSPFv2 Areas

- Configuring OSPFv2 Interface Parameters

- Configuring OSPFv2 Area Parameters

- Configuring an OSPFv2 NSSA

- Configuring an IP Address Pool for Clustering (OSPFv2 and OSPFv3)

- Defining Static OSPFv2 Neighbors

- Configuring Route Calculation Timers

- Logging Neighbors Going Up or Down

Redistributing Routes Into OSPFv2

The ASA can control the redistribution of routes between OSPFv2 routing processes.

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 Configuring Static and Default Routes, and then define a route map according to the Defining a Route Map.

To redistribute static, connected, RIP, or OSPFv2 routes into an OSPFv2 process, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPF routing process and enters router configuration mode for the OSPF process that you want to redistribute.

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

Do one of the following to redistribute the selected route type into the OSPF routing process:

redistribute connected [[ metric metric-value ] [ metric-type { type-1 | type-2 }] [ tag tag_value ] [ subnets ] [ route-map map_name ]

ciscoasa(config)# redistribute connected 5 type-1 route-map-practice

Redistributes connected routes into the OSPF routing process.

redistribute static [ metric metric-value ] [ metric-type { type-1 | type-2 }] [ tag tag_value ] [ subnets ] [ route-map map_name

ciscoasa(config)# redistribute static 5 type-1 route-map-practice

Redistributes static routes into the 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 ]

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

Allows you to redistribute routes from an OSPF routing process into another OSPF routing process.

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.

redistribute rip [ metric metric-value ] [ metric-type { type-1 | type-2 }] [ tag tag_value ] [ subnets ] [ route-map map_name ]

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

Allows you to redistribute routes from a RIP 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 ]

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

Allows you to redistribute routes from an EIGRP routing process into the OSPF routing process.

Configuring Route Summarization When Redistributing Routes Into OSPFv2

When routes from other protocols are redistributed into OSPF, each route is advertised individually in an external LSA. However, you can configure the ASA to advertise a single route for all the redistributed routes that are included for a specified network address and mask. This configuration decreases the size of the OSPF link-state database.

Routes that match the specified IP address mask pair can be suppressed. The tag value can be used as a match value for controlling redistribution through route maps.

To configure the software advertisement on one summary route for all redistributed routes included for a network address and mask, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 1

Creates an OSPF routing process and enters router configuration mode for this OSPF process.

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

summary-address ip_address mask [ not-advertise ] [tag tag ]

ciscoasa(config)# router ospf 1

ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0

Sets the summary address.

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.

Configuring Route Summarization Between OSPFv2 Areas

Route summarization is the consolidation of advertised addresses. This feature causes a single summary route to be advertised to other areas by an area boundary router. In OSPF, an area boundary router advertises networks in one area into another area. If the network numbers in an area are assigned in a way so that they are contiguous, you can configure the area boundary router to advertise a summary route that includes all the individual networks within the area that fall into the specified range.

To define an address range for route summarization, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 1

Creates an OSPF routing process and enters router configuration mode for this OSPF process.

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

area area-id range ip-address mask [ advertise | not-advertise ]

ciscoasa(config)# router ospf 1

ciscoasa(config-rtr)# area 17 range 12.1.0.0 255.255.0.0

Sets the address range.

In this example, the address range is set between OSPF areas.

Configuring OSPFv2 Interface Parameters

. If you configure any of these parameters, be sure that the configurations for all routers on your network have compatible values.

To configure OSPFv2 interface parameters, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPF routing process and enters router configuration mode for the OSPF process that you want to redistribute.

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

network ip_address mask area area_id

ciscoasa(config)# router ospf 2

ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

Defines the IP addresses on which OSPF runs and the area ID for that interface.

Step 3

interface interface_name

Allows you to enter interface configuration mode.

Step 4

Do one of the following to configure optional OSPF interface parameters:

]

ciscoasa(config-interface)# ospf authentication message-digest

Specifies the authentication type for an interface.

ciscoasa(config-interface)# ospf authentication-key cisco

Allows you to assign a password to be used by neighboring OSPF routers on a network segment that is using the OSPF simple password authentication.

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.

ciscoasa(config-interface)# ospf cost 20

is an integer from 1 to 65535.

In this example, the cost is set to 20.

ciscoasa(config-interface)# ospf dead-interval 40

Allows you to 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. The value must be the same for all nodes on the network.

In this example, the dead interval is set to 40.

ciscoasa(config-interface)# ospf hello-interval 10

Allows you to specify the length of time between the hello packets that the ASA sends on an OSPF interface. The value must be the same for all nodes on the network.

In this example, the hello interval is set to 10.

ciscoasa(config-interface)# ospf message-digest-key 1 md5 cisco

Enables OSPF MD5 authentication.

The following argument values can be set:

- key_id —An identifier in the range from 1 to 255.

- key —An alphanumeric password of up to 16 bytes.

Usually, one key per interface is used to generate authentication information when sending packets and to authenticate incoming packets. The same key identifier on the neighbor router must have the same key value.

We recommend that you not keep more than one key per interface. Every time you add a new key, you should remove the old key to prevent the local system from continuing to communicate with a hostile system that knows the old key. Removing the old key also reduces overhead during rollover.

ciscoasa(config-interface)# ospf priority 20

Allows you to set the priority to help determine the OSPF designated router for a network.

ranges from 0 to 255.

In this example, the priority number value is set to 20.

ciscoasa(config-interface)# ospf retransmit-interval seconds

Allows you to specify the number of seconds between LSA retransmissions for adjacencies belonging to an OSPF interface.

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.

In this example, the retransmit-interval value is set to 15.

ciscoasa(config-interface)# ospf transmit-delay 5

value ranges from 1 to 8192 seconds. The default value is 1 second.

In this example, the transmit-delay is 5 seconds.

ospf dead-interval minimal hello-interval multiplier

ciscoasa(config-if)# ospf dead-interval minimal hello-multiplier 6

Sets the number of hello packets sent during 1 second. Valid values are integers between 3 and 20.

In this example the multiplier is 6.

ospf network point-to-point non-broadcast

ciscoasa(config-interface)# ospf network point-to-point non-broadcast

Specifies the interface as a point-to-point, non-broadcast network.

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 Defining Static OSPFv2 Neighbors for more information. Additionally, you can only define one OSPF neighbor on that interface.

Configuring OSPFv2 Area Parameters

You can configure several OSPF area parameters. These area parameters (shown in the following task list) include setting authentication, defining stub areas, and assigning specific costs to the default summary route. Authentication provides password-based protection against unauthorized access to an area.

command on the ABR to prevent it from sending a summary link advertisement (LSA Type 3) into the stub area.

To specify OSPFv2 area parameters for your network, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

Creates an OSPF routing process and enters router configuration mode for the OSPF process that you want to redistribute.

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

Do one of the following to configure optional OSPF area parameters:

area area-id authentication

ciscoasa(config-rtr)# area 0 authentication

Enables authentication for an OSPF area.

authentication message-digest

ciscoasa(config-rtr)# area 0 authentication message-digest

Enables MD5 authentication for an OSPF area.

Configuring an OSPFv2 NSSA

The OSPFv2 implementation of an NSSA is similar to an OSPFv2 stub area. NSSA does not flood Type 5 external LSAs from the core into the area, but it can import autonomous system external routes in a limited way within the area.

NSSA imports Type 7 autonomous system external routes within an NSSA area by redistribution. These Type 7 LSAs are translated into Type 5 LSAs by NSSA ABRs, which are flooded throughout the whole routing domain. Summarization and filtering are supported during the translation.

You can simplify administration if you are an ISP or a network administrator that must connect a central site using OSPFv2 to a remote site that is using a different routing protocol with NSSA.

Before the implementation of NSSA, the connection between the corporate site border router and the remote router could not be run as an OSPFv2 stub area because routes for the remote site could not be redistributed into the stub area, and two routing protocols needed to be maintained. A simple protocol such as RIP was usually run and handled the redistribution. With NSSA, you can extend OSPFv2 to cover the remote connection by defining the area between the corporate router and the remote router as an NSSA.

Before you use this feature, consider these guidelines:

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

To specify area parameters for your network to configure an OSPFv2 NSSA, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPF routing process and enters router configuration mode for the OSPF routing process that you want to redistribute.

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

Do one of the following to configure optional OSPF NSSA parameters:

area area-id nssa [ no-redistribution ] [ default-information-originate ]

ciscoasa(config-rtr)# area 0 nssa

Defines an NSSA area.

summary-address ip_address mask [ not-advertise ] [tag tag ]

ciscoasa(config-rtr)# summary-address 10.1.0.0 255.255.0.0

Sets the summary address and helps reduce the size of the routing table. 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.

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 OSPF does not support summary-address 0.0.0.0 0.0.0.0.

Configuring an IP Address Pool for Clustering (OSPFv2 and OSPFv3)

You can assign a range of IPv4 addresses for the router ID cluster pool if you are using Individual Interface clustering.

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:

Command

Purpose

router-id cluster-pool hostname | A.B.C.D ip_pool

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

Specifies the router ID cluster pool for Individual Interface clustering.

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.

:

Defining Static OSPFv2 Neighbors

You need to define static OSPFv2 neighbors to advertise OSPFv2 routes over a point-to-point, non-broadcast network. This feature lets you broadcast OSPFv2 advertisements across an existing VPN connection without having to encapsulate the advertisements in a GRE tunnel.

for more information about creating static routes.

To define a static OSPFv2 neighbor, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPFv2 routing process and enters router configuration mode for this OSPFv2 process.

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

neighbor addr [ interface if_name ]

ciscoasa(config-rtr)# neighbor 255.255.0.0 [interface my_interface]

Defines the OSPFv2 neighborhood.

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.

Configuring Route Calculation Timers

You can configure the delay time between when OSPFv2 receives a topology change and when it starts an SPF calculation. You also can configure the hold time between two consecutive SPF calculations.

To configure route calculation timers, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPFv2 routing process and enters router configuration mode for this OSPFv2 process.

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

timers throttle spf spf-start spf-hold spf-maximum

ciscoasa(config-router)# timers throttle spf 500 500 600

Configures the route calculation times.

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.

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.

Logging Neighbors Going Up or Down

By default, a syslog message is generated when an OSPFv2 neighbor goes up or down.

if you want to see messages for each state change.

To log OSPFv2 neighbors going up or down, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config)# router ospf 2

Creates an OSPFv2 routing process and enters router configuration mode for this OSPFv2 process.

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

log-adj-changes [ detail ]

ciscoasa(config-rtr)# log-adj-changes [detail]

Configures logging for neighbors going up or down.

Configuring OSPFv3

This section describes how to configure OSPFv3 routing processes and includes the following topics:

- Enabling OSPFv3

- Configuring OSPFv3 Interface Parameters

- Configuring OSPFv3 Router Parameters

- Configuring OSPFv3 Area Parameters

- Configuring OSPFv3 Passive Interfaces

- Configuring OSPFv3 Administrative Distance

- Configuring OSPFv3 Timers

- Defining Static OSPFv3 Neighbors

- Resetting OSPFv3 Default Parameters

- Sending Syslog Messages

- Suppressing Syslog Messages

- Calculating Summary Route Costs

- Generating a Default External Route into an OSPFv3 Routing Domain

- Configuring an IPv6 Summary Prefix

- Redistributing IPv6 Routes

Enabling 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.

To enable OSPFv3,enter the following command or perform the following steps:

Command

Purpose

ciscoasa(config)# ipv6 router ospf 10

Creates an OSPFv3 routing process and enters IPv6 router configuration mode.

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.

Command

Purpose

Step 1

interface interface_name

ciscoasa(config)# interface Gigabitethernet0/0

Enables an interface.

Step 2

ipv6 ospf process-id area area_id

ciscoasa(config)# ipv6 ospf 200 area 100

Creates the OSPFv3 routing process with the specified process ID and an area for OSPFv3 with the specified area ID.

Configuring OSPFv3 Interface Parameters

. If you configure any of these parameters, be sure that the configurations for all routers on your network have compatible values.

To configure OSPFv3 interface parameters for IPv6, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ciscoasa(config-if)# ipv6 router ospf 10

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

ipv6 ospf area [ area-num ] [ instance ]

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

Creates an OSPFv3 area.

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

Do one of the following to configure OSPFv3 interface parameters:

ipv6 ospf cost interface-cost

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

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.

ipv6 ospf database-filter all out

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

Filters outgoing LSAs to an OSPFv3 interface. All outgoing LSAs are flooded to the interface by default.

ipv6 ospf dead-interval seconds

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

command.

ipv6 ospf encryption { ipsec spi spi esp encryption-algorithm [[ key-encryption-type ] key ] authentication-algorithm [[ key-encryption-type ] key | null }

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 encryption ipsec spi 1001 esp null sha1 123456789A123456789B123456789C123456789D

argument specifies the encryption algorithm to be used with ESP. Valid values include the following:

- aes-cdc—Enables AES-CDC encryption.

- 3des—Enables 3DES encryption.

- des—Enables DES encryption.

- null—Specifies ESP with no encryption.

argument can be one of the following two values:

- 0—The key is not encrypted.

- 7—The key is encrypted.

argument specifies the encryption authentication algorithm to be used, which can be one of the following:

- md5—Enables message digest 5 (MD5).

- sha1—Enables SHA-1.

keyword overrides area encryption.

Note If OSPFv3 encryption is enabled on an interface and a neighbor is on different area (for example, area 0), and you want the ASA to form adjacencies with that area, you must change the area on the ASA. After you have changed the area on the ASA to 0, there is a delay of two minutes before the OSPFv3 adjacency comes up.

ipv6 ospf flood-reduction

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

Specifies the flood reduction of LSAs to the interface.

ipv6 ospf hello-interval seconds

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 hello-interval 15

Specifies the interval in seconds between hello packets sent on the interface. 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.

ipv6 ospf mtu-ignore

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

Disables the OSPF MTU mismatch detection when DBD packets are received. OSPF MTU mismatch detection is enabled by default.

ipv6 ospf network { broadcast | point-to-point non-broadcast }

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

keyword sets the network type to broadcast.

ipv6 ospf priority number-value

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 priority 4

Sets the router priority, which helps determine the designated router for a network. Valid values range from 0 to 255.

ipv6 ospf neighbor ipv6-address [ priority number ] [ poll-interval seconds ] [ cost number ] [ database-filter all out ]

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

Configures OSPFv3 router interconnections to non-broadcast networks.

ipv6 ospf retransmit-interval seconds

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

Specifies the time in seconds between LSA retransmissions for adjacencies that belong to the interface. 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.

ipv6 ospf transmit-delay seconds

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-delay 3

Sets the estimated time in seconds to send a link-state update packet on the interface. Valid values range from 1 to 65535 seconds. The default is 1 second.

Configuring OSPFv3 Router Parameters

To configure OSPFv3 router parameters for IPv6, perform the following steps:

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config)# ipv6 router ospf 10

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

Do one of the following to configure optional OSPFv3 router parameters:

area

ciscoasa(config-rtr)# area 10

.

default

ciscoasa(config-rtr)# default originate

parameter distributes the default route.

default-information

ciscoasa(config-rtr)# default-information

Controls distribution of default information.

distance

ciscoasa(config-rtr)# distance 200

for the OSPFv3 distance.

exit

ciscoasa(config-rtr)# exit

Exits from IPv6 router configuration mode.

ignore

ciscoasa(config-rtr)# ignore lsa

parameter when the router receives a link-state advertisement (LSA) for Type 6 Multicast OSPF (MOSPF) packets.

log-adjacency-changes

ciscoasa(config-rtr)# log-adjacency-changes detail

parameter, all state changes are logged.

passive-interface [ interface_name ]

ciscoasa(config-rtr)# passive-interface inside

argument specifies the name of the interface on which the OSPFv3 process is running.

redistribute

ciscoasa(config-rtr)# redistribute ospf

Configures the redistribution of routes from one routing domain into another according to the following parameters:

- connected —Specifies connected routes.

- ospf —Specifies OSPFv3 routes.

- static —Specifies static routes.

router-id

ciscoasa(config-rtr)# router-id 10.1.1.1

Creates a fixed router ID for a specified process with the following parameters:

- A.B.C.D —Specifies the OSPF router ID in IP address format.

- cluster-pool —Configures an IP address pool when Individual Interface clustering is configured. For more information about IP address pools used in clustering, see Configuring an IP Address Pool for Clustering (OSPFv2 and OSPFv3).

summary-prefix

ciscoasa(config-if)# ipv6 router ospf 1

ciscoasa(config-router)# router-id 192.168.3.3

ciscoasa(config-router)# summary-prefix FECO::/24

ciscoasa(config-router)# redistribute static

parameter specifies the IPv6 prefix.

timers

ciscoasa(config)# ipv6 router ospf 10

ciscoasa(config-rtr)# timers throttle spf 6000 12000 14000

Adjusts routing timers. The routing timer parameters are the following:

- lsa —Specifies OSPFv3 LSA timers.

- pacing —Specifies OSPFv3 pacing timers.

- throttle —Specifies OSPFv3 throttle timers.

Configuring OSPFv3 Area Parameters

To configure OSPFv3 area parameters, perform the following steps:

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

Do one of the following to configure optional OSPFv3 area parameters:

area area-id default-cost cost

ciscoasa(config-rtr)# area 1 default-cost nssa

Sets the summary default cost of an NSSA area or a stub area.

area area-id range ipv6-prefix / prefix-length [ advertise | not advertise ] [ cost cost ]

ciscoasa(config-rtr)# area 1 range FE01:1::1/64

Summarizes routes that match the address and mask for border routers only.

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. Valid values range from 0 to 16777215.

area area-id nssa

ciscoasa(config-rtr)# area 1 nssa

Specifies an NSSA area.

area area-id stub

ciscoasa(config-rtr)# area 1 stub

Specifies a stub area.

area area-id virtual-link router-id [ hello-interval seconds ] [ retransmit-interval seconds ] [ transmit-delay seconds ] [ dead-interval seconds ] [ ttl-security hops hop-count ]

ciscoasa(config-rtr)# area 1 virtual-link 192.168.255.1 hello-interval 5

Defines a virtual link and its parameters.

argument value can range from 1 to 254.

Configuring OSPFv3 Passive Interfaces

To configure OSPFv3 passive interfaces, perform the following steps:

Command

Purpose

Step 1

ipv6 router ospf process_id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

passive-interface [ interface_name ]

ciscoasa(config-rtr)# passive-interface inside

are made passive.

Configuring OSPFv3 Administrative Distance

To configure OSPFv3 administrative distance for IPv6 routes, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process_id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

distance [ ospf { external | inter-area | intra-area }] distance

ciscoasa(config-rtr)# distance ospf external 200

Sets the administrative distance for OSPFv3 routes.

argument specifies the administrative distance, which is an integer from 10 to 254.

Configuring OSPFv3 Timers

You can set LSA arrival, LSA pacing, and throttling timers for OSPFv3.

To set the minimum interval at which the ASA accepts the same LSA from OSPFv3 neighbors, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

timers lsa arrival milliseconds

ciscoasa(config-rtr)# timers lsa arrival 2000

Sets the minimum interval at which the ASA accepts the same LSA from OSPF neighbors.

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.

To configure LSA flood packet pacing, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

timers pacing flood milliseconds

ciscoasa(config-rtr)# timers lsa flood 20

Configures LSA flood packet pacing.

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.

To change the interval at which OSPFv3 LSAs are collected into a group and refreshed, check summed, or aged, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

timers pacing lsa-group seconds

ciscoasa(config-rtr)# timers pacing lsa-group 300

Changes the interval at which OSPFv3 LSAs are collected into a group and refreshed, checksummed, or aged.

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.

To configure LSA retransmission packet pacing, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

timers pacing retransmission milliseconds

ciscoasa(config-rtr)# timers pacing retransmission 100

Configures LSA retransmission packet pacing.

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.

LSA and SPF throttling provide a dynamic mechanism to slow down LSA updates in OSPFv3 during times of network instability and allow faster OSPFv3 convergence by providing LSA rate limiting in milliseconds.

To configure LSA and SPF throttling timers, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

Choose one of the following options:

timers throttle lsa milliseconds1 milliseconds2 milliseconds3

ciscoasa(config-rtr)# timers throttle lsa 500 6000 8000

Configures OSPFv3 LSA throttling.

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 default values for LSA throttling are the following:

- For milliseconds1 , the default value is 0 milliseconds.

- For milliseconds2 and milliseconds3 , the default value is 5000 milliseconds.

timers throttle spf milliseconds1 milliseconds2 milliseconds3

ciscoasa(config-rtr)# timers throttle spf 5000 12000 16000

Configures OSPFv3 SPF throttling.

argument specifies the maximum wait time in milliseconds for SPF calculations.

value.

The default values for SPF throttling are the following:

- For milliseconds1 , the default value is 5000 milliseconds.

- For milliseconds2 and milliseconds3 , the default value is 10000 milliseconds.

Defining Static OSPFv3 Neighbors

You need to define static OSPFv3 neighbors to advertise OSPF routes over a point-to-point, non-broadcast network. This feature lets you broadcast OSPFv3 advertisements across an existing VPN connection without having to encapsulate the advertisements in a GRE tunnel.

for more information about creating static routes.

To define a static OSPFv3 neighbor, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

ipv6 ospf neighbor ipv6-address [ priority number ] [ poll-interval seconds ] [ cost number ] [ database-filter all out ]

ciscoasa(config-if)# interface ethernet0/0 ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C01

Configures OSPFv3 router interconnections to non-broadcast networks.

Resetting OSPFv3 Default Parameters

To return an OSPFv3 parameter to its default value, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

default [ area | auto-cost | default-information | default-metric | discard-route | discard-route | distance | distribute-list | ignore | log-adjacency-changes | maximum-paths | passive-interface | redistribute | router-id | summary-prefix | timers ]

ciscoasa(config-rtr)# default metric 5

Returns an optional parameter to its default value.

keyword specifies the OSPFv3 timers.

Sending Syslog Messages

To configure the router to send a syslog message when an OSPFv3 neighbor goes up or down, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

log-adjacency-changes [ detail ]

ciscoasa(config-rtr)# log-adjacency-changes detail

Configures the router to send a syslog message when an OSPFv3 neighbor goes up or down.

keyword sends a syslog message for each state, not only when an OSPFv3 neighbor goes up or down.

Suppressing Syslog Messages

To suppress the sending of syslog messages when the route receives unsupported LSA Type 6 multicast OSPF (MOSPF) packets, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

router ospf process_id

ciscoasa(config-if)# router ospf 1

Enables an OSPFv2 routing process and enters router configuration mode.

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

ignore lsa mospf

ciscoasa(config-rtr)# ignore lsa mospf

Suppresses the sending of syslog messages when the router receives unsupported LSA Type 6 MOSPF packets.

Calculating Summary Route Costs

To calculate summary route costs according to RFC 1583, enter the following command:

Command

Purpose

compatible rfc1583

ciscoasa (config-rtr)# compatible rfc1583

Restores the methods that are used to calculate summary route costs according to RFC 1583.

Generating a Default External Route into an OSPFv3 Routing Domain

To generate a default route into an OSPFv3 routing domain, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

default-information originate [ always ] metric metric-value [ metric-type type-value ] [ route-map map-name ]

ciscoasa(config-rtr)# default-information originate always metric 3 metric-type 2

Generates a default external route into an OSPFv3 routing domain.

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—Type 1 external route

- 2—Type 2 external route

keyword-argument pair specifies the routing process that generates the default route if the route map is satisfied.

Configuring an IPv6 Summary Prefix

To configure an IPv6 summary prefix, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

summary-prefix prefix [ not-advertise | tag tag-value ]

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

Configures an IPv6 summary prefix.

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.

Redistributing IPv6 Routes

To redistribute connected routes into an OSPFv3 process, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 router ospf process-id

ciscoasa(config-if)# ipv6 router ospf 1

Enables an OSPFv3 routing process and enters IPv6 router configuration mode.

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

redistribute source-protocol [ process-id ] [ include-connected {[ level-1 | level-2 }] [ as-number ] [ metric [ metric-value | transparent }] [metric-type type-value ] [ match { external [ 1 | 2 ] | internal | nssa-external [ 1 | 2 ]}] [ tag tag-value ] [ route-map map-tag ]

ciscoasa(config-rtr)# redistribute connected 5 type-1

Redistributes IPv6 routes from one OSPFv3 process into another.

argument identifies a configured route map.

Removing the OSPF Configuration

To remove the entire OSPFv2 configuration that you have already enabled, enter the following command:

Command

Purpose

clear configure router ospf pid

ciscoasa(config)# clear configure router ospf 1000

command.

To remove the entire OSPFv3 configuration that you have already enabled, enter the following command:

Command

Purpose

clear configure ipv6 router ospf process-id

ciscoasa(config)# clear configure ipv6 router ospf 1000

command.

Configuration Example for OSPFv2

The following example shows how to enable and configure OSPFv2 with various optional processes:

Step 1 To enable OSPFv2, enter the following commands:

ciscoasa(config)# router ospf 2

ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

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 (Optional) To configure OSPFv2 interface parameters, enter the following commands:

ciscoasa(config)# router ospf 2

ciscoasa(config-rtr)# network 10.0.0.0 255.0.0.0 area 0

ciscoasa(config-rtr)# interface inside

ciscoasa(config-interface)# ospf cost 20

ciscoasa(config-interface)# ospf retransmit-interval 15

ciscoasa(config-interface)# ospf transmit-delay 10

ciscoasa(config-interface)# ospf priority 20

ciscoasa(config-interface)# ospf hello-interval 10

ciscoasa(config-interface)# ospf dead-interval 40

ciscoasa(config-interface)# ospf authentication-key cisco

ciscoasa(config-interface)# ospf message-digest-key 1 md5 cisco

ciscoasa(config-interface)# ospf authentication message-digest

Step 4 (Optional) To configure OSPFv2 area parameters, enter the following commands:

ciscoasa(config)# router ospf 2

ciscoasa(config-rtr)# area 0 authentication

ciscoasa(config-rtr)# area 0 authentication message-digest

ciscoasa(config-rtr)# area 17 stub

ciscoasa(config-rtr)# area 17 default-cost 20

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]

command.

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

Number of DoNotAge LSA 0

Flood list length 0

Step 7 To clear the OSPFv2 configuration, enter the following command:

ciscoasa(config)# clear configure router ospf pid

Configuration Examples for OSPFv3

The following example shows how to enable and configure OSPFv3 at the interface level:

ciscoasa (config)# interface GigabitEthernet3/1

ciscoasa (config-if)# ipv6 enable

ciscoasa (config-if)# ipv6 ospf 1 area 1

command:

ciscoasa (config)# show running-config ipv6

ipv6 router ospf 1

log-adjacency-changes

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

The following examples show how to configure OSPFv3-specific interfaces:

ciscoasa (config)# interface GigabitEthernet3/1

ciscoasa (config-if)# nameif fda

ciscoasa (config-if)# security-level 100

ciscoasa (config-if)# ip address 10.1.11.1 255.255.255.0 standby 10.1.11.2

ciscoasa (config-if)# ipv6 address 9098::10/64 standby 9098::11

ciscoasa (config-if)# ipv6 enable

ciscoasa (config-if)# ipv6 ospf cost 900

ciscoasa (config-if)# ipv6 ospf hello-interval 20

ciscoasa (config-if)# ipv6 ospf network broadcast

ciscoasa (config-if)# ipv6 ospf database-filter all out

ciscoasa (config-if)# ipv6 ospf flood-reduction

ciscoasa (config-if)# ipv6 ospf mtu-ignore

ciscoasa (config-if)# ipv6 ospf 1 area 1 instance 100

ciscoasa (config-if)# ipv6 ospf encryption ipsec spi 890 esp null md5 12345678901234567890123456789012

ciscoasa (config)# ipv6 router ospf 1

ciscoasa (config)# area 1 nssa

ciscoasa (config)# distance ospf intra-area 190 inter-area 100 external 100

ciscoasa (config)# timers lsa arrival 900

ciscoasa (config)# timers pacing flood 100

ciscoasa (config)# timers throttle lsa 900 900 900

ciscoasa (config)# passive-interface fda

ciscoasa (config)# log-adjacency-changes

ciscoasa (config)# redistribute connected metric 100 metric-type 1 tag 700

For an example of how to configure an OSPFv3 virtual link, see the following URL:

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

show ospf [ process-id [ area-id ]]

Displays general information about OSPFv2 routing processes.

show ospf border-routers

Displays the internal OSPFv2 routing table entries to the ABR and ASBR.

show ospf [ process-id [ area-id ]] database

Displays lists of information related to the OSPFv2 database for a specific router.

show ospf flood-list if-name

Displays a list of LSAs waiting to be flooded over an interface (to observe OSPF v2packet pacing).

OSPFv2 update packets are automatically paced so they are not sent less than 33 milliseconds apart. Without pacing, some update packets could get lost in situations where the link is slow, a neighbor could not receive the updates quickly enough, or the router could run out of buffer space. For example, without pacing, packets might be dropped if either of the following topologies exist:

- A fast router is connected to a slower router over a point-to-point link.

- During flooding, several neighbors send updates to a single router at the same time.

Pacing is also used between resends to increase efficiency and minimize lost retransmissions. You also can display the LSAs waiting to be sent out of an interface. Pacing enables OSPFv2 update and retransmission packets to be sent more efficiently.

There are no configuration tasks for this feature; it occurs automatically.

show ospf interface [ if_name ]

Displays OSPFv2-related interface information.

show ospf neighbor [ interface-name ] [ neighbor-id ] [ detail ]

Displays OSPFv2 neighbor information on a per-interface basis.

show ospf request-list neighbor if_name

Displays a list of all LSAs requested by a router.

show ospf retransmission-list neighbor if_name

Displays a list of all LSAs waiting to be resent.

show ospf [ process-id ] summary-address

Displays a list of all summary address redistribution information configured under an OSPFv2 process.

show ospf [ process-id ] traffic

Displays a list of different types of packets being sent or received by a specific OSPFv2 instance.

show ospf [ process-id ] virtual-links

Displays OSPFv2-related virtual links information.

show route cluster

Displays additional OSPFv2 route synchronization information in clustering.

To monitor or display various OSPFv3 routing statistics, enter one of the following commands:

Command

Purpose

show ipv6 ospf [ process-id [ area-id ]]

Displays general information about OSPFv3 routing processes.

show ipv6 ospf [ process-id ] border-routers

Displays the internal OSPFv3 routing table entries to the ABR and ASBR.

show ipv6 ospf [ process-id [ area-id ]] database [ external | inter-area prefix | inter-area-router | network | nssa-external | router | area | as | ref-lsa | [ destination-router-id ] [ prefix ipv6-prefix ] [ link-state-id ]] [ link [ interface interface-name ] [ adv-router router-id ] | self-originate ] [ internal ] [ database-summary ]

Displays lists of information related to the OSPFv3 database for a specific router.

show ipv6 ospf [ process-id [ area-id ]] events

Displays OSPFv3 event information.

show ipv6 ospf [ process-id ] [ area-id ] flood-list interface-type interface-number

Displays a list of LSAs waiting to be flooded over an interface (to observe OSPFv3 packet pacing).

OSPFv3 update packets are automatically paced so they are not sent less than 33 milliseconds apart. Without pacing, some update packets could get lost in situations where the link is slow, a neighbor could not receive the updates quickly enough, or the router could run out of buffer space. For example, without pacing, packets might be dropped if either of the following topologies exist:

- A fast router is connected to a slower router over a point-to-point link.

- During flooding, several neighbors send updates to a single router at the same time.

Pacing is also used between retransmissions to increase efficiency and minimize lost retransmissions. You also can display the LSAs waiting to be sent out of an interface. Pacing enables OSPFv3 update and retransmission packets to be sent more efficiently.

There are no configuration tasks for this feature; it occurs automatically.

show ipv6 ospf [ process-id ] [ area-id ] interface [ type number ] [ brief ]

Displays OSPFv3-related interface information.

show ipv6 ospf neighbor [ process-id ] [ area-id ] [ interface-type interface-number ] [ neighbor-id ] [ detail ]

Displays OSPFv3 neighbor information on a per-interface basis.

show ipv6 ospf [ process-id ] [ area-id ] request-list [ neighbor ] [ interface ] [ interface-neighbor ]

Displays a list of all LSAs requested by a router.

show ipv6 ospf [ process-id ] [ area-id ] retransmission-list [ neighbor ] [ interface ] [ interface-neighbor ]

Displays a list of all LSAs waiting to be resent.

show ipv6 ospf statistic [ process-id ] [ detail ]

Displays various OSPFv3 statistics.

show ipv6 ospf [ process-id ] summary-prefix

Displays a list of all summary address redistribution information configured under an OSPFv3 process.

show ipv6 ospf [ process-id ] timers [ lsa-group | rate-limit ]

Displays OSPFv3 timers information.

show ipv6 ospf [ process-id ] traffic [ interface_name ]

Displays OSPFv3 traffic-related statistics.

show ipv6 ospf virtual-links

Displays OSPFv3-related virtual links information.

show ipv6 route cluster [ failover ] [ cluster ] [ interface ] [ ospf ] [ summary ]

Displays the IPv6 routing table sequence number, IPv6 reconvergence timer status, and IPv6 routing entries sequence number in a cluster.

Additional References

For additional information related to implementing OSPF, see the following section:

- RFCs

RFCs

RFC

Title

2328

OSPFv2

4552

OSPFv3 Authentication

5340

OSPF for IPv6

Feature History for OSPF

lists each feature change and the platform release in which it was implemented.

Table 30-1 Feature History for OSPF

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.

Dynamic Routing in Multiple Context Mode

9.0(1)

OSPFv2 routing is supported in multiple context mode.

Clustering

For OSPFv2 and OSPFv3, bulk synchronization, route synchronization, and Spanned EtherChannel load balancing are supported in the clustering environment.

.

OSPFv3 Support for IPv6

OSPFv3 routing is supported for IPv6.

.

OSPF support for Fast Hellos

9.2(1)

OSPF supports the Fast Hello Packets feature, resulting in a configuration that results in faster convergence in an OSPF network.

Timers

New OSPF timers were added; old ones were deprecated.

We introduced the following commands: timers lsa arrival, timers pacing, timers throttle

We removed the following commands: Timers spf, timers lsa-grouping-pacing

Route filtering using access-list

Route filtering using ACL is now supported.

We introduced the following command: distribute-list

We introduced the following screen:

OSPF Monitoring enhancements

Additional OSPF monitoring information was added.

We modified the following commands: show ospf events, show ospf rib, show ospf statistics, show ospf border-routers [detail], show ospf interface brief

OSPF redistribute BGP

OSPF redistribution feature was added.

We added the following command: redistribute bgp

Static and Default Routes

This chapter describes how to configure static and default routes on the ASA and includes the following sections:

- Information About Static and Default Routes

- Licensing Requirements for Static and Default Routes

- Guidelines and Limitations

- Configuring Static and Default Routes

- Monitoring a Static or Default Route

- Configuration Examples for Static or Default Routes

- Feature History for Static and Default Routes

Information About Static and Default Routes

To route traffic to a nonconnected host or network, you must define a static route to the host or network or, at a minimum, a default route for any networks to which the ASA is not directly connected; for example, when there is a router between a network and the ASA.

Without a static or default route defined, traffic to nonconnected hosts or networks generates the following syslog message:

%ASA-6-110001: No route to dest_address from source_address

You might want to use static routes in single context mode in the following cases:

- Your networks use a different router discovery protocol from 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.

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. However, in some cases 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.

In transparent firewall mode, for traffic that originates on the ASA and is destined for a nondirectly connected network, you need to configure either a default route or static routes so the ASA knows out of which interface to send traffic. Traffic that originates on the ASA might include communications to a syslog server, Websense or N2H2 server, or AAA server. If you have servers that cannot all be reached through a single default route, then you must configure static routes. Additionally, the ASA supports up to three equal cost routes on the same interface for load balancing.

Licensing Requirements for Static and Default Routes

Model

License Requirement

ASAv

Standard or Premium License.

All other models

Base License.

Guidelines and Limitations

This section includes the guidelines and limitations for this feature.

Context Mode Guidelines

Supported in single and multiple context mode.

Firewall Mode Guidelines

Supported in routed and transparent firewall mode.

IPv6 Guidelines

Supports IPv6.

Failover Guidelines

Supports Stateful Failover of dynamic routing protocols.

Additional Guidelines

- IPv6 static routes are not supported in transparent mode in ASDM.

- In clustering, static route monitoring is only supported on the master unit. For information about clustering, see Chapter9, “ASA Cluster”

Configuring Static and Default Routes

This section explains how to configure a static route and a static default route and includes the following topics:

- Configuring a Static Route

- Configuring a Default Static Route

- Configuring IPv6 Default and Static Routes

Configuring a Static Route

Static routing algorithms are basically table mappings established by the network administrator before the beginning of routing. These mappings do not change unless the network administrator alters them. Algorithms that use static routes are simple to design and work well in environments where network traffic is relatively predictable and where network design is relatively simple. Because of this fact, static routing systems cannot react to network changes.

Static routes remain in the routing table even if the specified gateway becomes unavailable. If the specified gateway becomes unavailable, you need to remove the static route from the routing table manually. However, static routes are removed from the routing table if the specified interface goes down, and are reinstated when the interface comes back up.

Note If you create a static route with an administrative distance greater than the administrative distance of the routing protocol running on the ASA, then a route to the specified destination discovered by the routing protocol takes precedence over the static route. The static route is used only if the dynamically discovered route is removed from the routing table.

You can define up to three equal cost routes to the same destination per interface. Equal-cost multi-path (ECMP) is not supported across multiple interfaces. With ECMP, the traffic is not necessarily divided evenly between the routes; traffic is distributed among the specified gateways based on an algorithm that hashes the source and destination IP addresses.

Static null0 Route Configuration

Typically ACLs are used for traffic filtering and they enable you to filter packets based on the information contained in their headers. In packet filtering, the ASA firewall examines packet headers to make a filtering decision, thus adding some overhead to the processing of the packets and affecting performance.

Static null 0 routing is a complementary solution to filtering. A static null0 route is used to forward unwanted or undesirable traffic into a black hole. The null interface null0, is used to create the black hole. Static routes are created for destinations that are not desirable, and the static route configuration points to the null interface. Any traffic that has a destination address that has a best match of the black hole static route is automatically dropped. Unlike with ACLs static null0 routes do not cause any performance degradation.

The static null0 route configuration is used to prevent routing loops. BGP leverages the static null0 configuration for Remotely Triggered Black Hole routing.

For example:

route null0 192.168.2.0 255.255.255.0

To configure a static route, see the following section:

- Adding or Editing a Static Route

Adding or Editing a Static Route

To add or edit a static route, enter the following command:

Command

Purpose

route if_name dest_ip mask gateway_ip [ distance ]

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.1.1 [1]

Enables you to add a static route.

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.

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 that are equal cost routes that direct traffic to three different gateways on the outside interface. The ASA distributes the traffic among the specified gateways.

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.1.1

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.1.2

Configuring a Default Static Route

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. Routes that identify a specific destination take precedence over the default route.

Note In Versions 7.0(1) and later, 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 up to three equal cost default route entries per device. Defining more than one equal cost default route entry causes the traffic sent to the default route to be distributed among the specified gateways. When defining more than one default route, you must specify the same interface for each entry.

If you attempt to define more than three equal cost default routes or a default route with a different interface than a previously defined default route, you receive the following message:

“ERROR: Cannot add route entry, possible conflict with existing routes.”

Limitations on Configuring a Default Static Route

- 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 inspect 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.

- ECMP for tunneled traffic is not supported.

To add or edit a tunneled default static route, enter the following command:

Command

Purpose

route if_name 0.0.0.0 0.0.0.0 gateway_ip [ distance | tunneled ]

ciscoasa(config)# route outside 0 0 192.168.2.4 tunneled

Enables you to add a static route.

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.

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

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.1 1

Configuring IPv6 Default and Static Routes

The ASA automatically routes IPv6 traffic between directly connected hosts if the interfaces to which the hosts are attached are enabled for IPv6 and the IPv6 ACLs allow the traffic.

To configure an IPv6 default route and static routes, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

ipv6 route if_name ::/0 next_hop_ipv6_addr

ipv6 route inside 7fff::0/32 3FFE:1100:0:CC00::1

Adds a default IPv6 route.

The example routes packets for network 7fff::0/32 to a networking device on the inside interface at 3FFE:1100:0:CC00::1

The address ::/0 is the IPv6 equivalent of any.

Step 2

ipv6 route if_name destination next_hop_ipv6_addr [ admin_distance ]

7fff::0/32 3FFE:1100:0:CC00::1 [110]

Adds an IPv6 static route to the IPv6 routing table.

The example routes packets for network 7fff::0/32 to a networking device on the inside interface at 3FFE:1100:0:CC00::1, and with an administrative distance of 110.

Note The ipv6 route command works the same way as the route command does, which is used to define IPv4 static routes.

Monitoring a Static or Default Route

One of the problems with static routes is that there is no inherent mechanism for determining if the route is up or down. They remain in the routing table even if the next hop gateway becomes unavailable. Static routes are only removed from the routing table if the associated interface on the ASA goes down.

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. For example, you can define a default route to an ISP gateway and a backup default route to a secondary ISP in case the primary ISP becomes unavailable.

The ASA implements this feature by associating a static route with a monitoring target that you define, and monitors the target using ICMP echo requests. If an echo reply is not received within a specified time period, the object is considered down and the associated route is removed from the routing table. A previously configured backup route is used in place of the removed route.

When selecting a monitoring target, you need to make sure that it can respond to ICMP echo requests. The target can be any network object that you choose, but you should consider using the following:

- The ISP gateway (for dual ISP support) address

- 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

- A persistent network object on the destination network

Note A desktop or notebook computer that may be shut down at night is not a good choice.

You can configure static route tracking for statically defined routes or default routes obtained through DHCP or PPPoE. You can only enable PPPoE clients on multiple interfaces with route tracking configured.

To configure static route tracking, perform the following steps:

Detailed Steps

Command

Purpose

Step 1

sla monitor sla_id

ciscoasa(config)# sla monitor sla_id

Configures the tracked object monitoring parameters by defining the monitoring process.

If you are configuring a new monitoring process, you enter sla monitor configuration mode.

If you are changing the monitoring parameters for an unscheduled monitoring process that already has a type defined, you automatically enter sla protocol configuration mode.

Step 2

type echo protocol ipIcmpEcho target_ip interface if_name

ciscoasa(config-sla-monitor)# type echo protocol ipIcmpEcho target_ip interface if_name

Specifies the monitoring protocol.

If you are changing the monitoring parameters for an unscheduled monitoring process that already has a type defined, you automatically enter sla protocol configuration mode and cannot change this setting.

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

sla monitor schedule sla_id [ life { forever | seconds }] [ start-time { hh : mm [: ss ] [ month day | day month ] | pending | now | after hh : mm : ss }] [ ageout seconds ] [ recurring ]

ciscoasa(config)# sla monitor schedule sla_id [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss}] [ageout seconds] [recurring]

Schedules the monitoring process.

command for the monitoring schedule, and allow the monitoring configuration to determine how often the testing occurs.

However, you can schedule this monitoring process to begin in the future and to only occur at specified times.

Step 4

track track_id rtr sla_id reachability

ciscoasa(config)# track track_id rtr sla_id reachability

Associates a tracked static route with the SLA monitoring process.

argument is the ID number of the SLA process.

Step 5

These options allow you to track a static route or a default route obtained through DHCP or PPPOE.

route if_name dest_ip mask gateway_ip [ admin_distance ] track track_id

ciscoasa(config)# route if_name dest_ip mask gateway_ip [admin_distance] track track_id

Tracks a static route.

command in static route tracking.

ciscoasa(config)# interface phy_if

ciscoasa(config-if)# dhcp client route track track_id

ciscoasa(config-if)# ip address dhcp setroute

ciscoasa(config-if)# exit

Tracks a default route obtained through DHCP,

command to obtain the default route using DHCP.

ciscoasa(config)# interface phy_if

ciscoasa(config-if)# pppoe client route track track_id

ciscoasa(config-if)# ip address pppoe setroute

ciscoasa(config-if)# exit

Tracks a default route obtained through PPPoE.

command to obtain the default route using PPPoE.

Configuration Examples for Static or Default Routes

The following example shows how to create a static route that sends all traffic destined for 10.1.1.0/24 to the router 10.1.2.45, which is connected to the inside interface, defines three equal cost static routes that direct traffic to three different gateways on the outside interface, and adds a default route for tunneled traffic. The ASA then distributes the traffic among the specified gateways:

ciscoasa(config)# route inside 10.1.1.0 255.255.255.0 10.1.2.45 1

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.2.1

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.2.2

ciscoasa(config)# route outside 10.10.10.0 255.255.255.0 192.168.2.3

ciscoasa(config)# route outside 0 0 192.168.2.4 tunneled

Unencrypted traffic received by the ASA for which there is no static or learned route is distributed among the gateways with the IP addresses 192.168.2.1, 192.168.2.2, and 192.168.2.3. Encrypted traffic received by the ASA for which there is no static or learned route is passed to the gateway with the IP address 192.168.2.4.

The following example creates a static route that sends all traffic destined for 10.1.1.0/24 to the router (10.1.2.45) connected to the inside interface:

ciscoasa(config)# route inside 10.1.1.0 255.255.255.0 10.1.2.45 1

Feature History for Static and Default Routes

lists each feature change and the platform release in which it was implemented.

Table 27-1 Feature History for Static and Default Routes

Feature Name

Platform Releases

Feature Information

Routing

7.0(1)

Static and default routing were introduced.

command.

Clustering

9.0(1)

Supports static route monitoring on the master unit only.

Static null0 route configuration

9.2(1)

Sending traffic to a Null0 interface results in dropping the packets destined to the specified network. This feature is useful in configuring Remotely Triggered Black Hole (RTBH) for BGP.

.