How to Configure High Availability on Cisco ASA Firewalls: Active/Standby Failover Setup

How to Configure High Availability on Cisco ASA Firewalls

How to Configure High Availability on Cisco ASA Firewalls

A firewall sitting in the middle of every session between your network and the outside world is, by definition, a single point of failure — unless you build redundancy into the design from day one. Cisco ASA Active/Standby failover is the classic, battle-tested way to do exactly that: two identical ASAs, one actively passing traffic, one silently mirroring state and ready to take over in seconds if the active unit dies. This guide covers the concept, the configuration, and the operational discipline needed to keep it reliable.

How Active/Standby Failover Works

In an Active/Standby pair, only one unit — the Active unit — forwards traffic, processes NAT, terminates VPNs, and enforces the ACL at any given moment. The Standby unit stays synchronized (configuration and, with stateful failover, connection state) but does not pass traffic. If the Active unit fails, the Standby detects it and promotes itself to Active, ideally with minimal to zero session loss for TCP connections that were already tracked.

The Two Critical Links

Failover Detection

Units exchange hello packets over the failover link (and optionally over each monitored data interface) on a configurable interval. If hellos are missed beyond the configured hold time, the Standby considers the Active unit dead and takes over. ASA also monitors individual interfaces — if an interface on the Active unit goes down while the same interface stays up on the Standby, that alone can trigger failover, since a firewall with a dead interface isn’t fully functional even if the box itself is alive.

Requirements Before You Start

Step-by-Step Configuration

Step 1: Physically Cable the Units

Connect a dedicated interface (or use a spare physical interface) between the two ASAs for the failover link, and optionally a second dedicated interface for the stateful link if you’re separating them. Also ensure every data interface that will be monitored is connected identically on both units.

Step 2: Configure the Primary Unit

enable
configure terminal

! Designate the failover interface
interface GigabitEthernet0/3
 description LAN Failover Interface
 no shutdown

! Configure failover link
failover lan unit primary
failover lan interface FAILOVER GigabitEthernet0/3
failover interface ip FAILOVER 10.0.0.1 255.255.255.252 standby 10.0.0.2

! Configure stateful failover (can reuse the same interface or a dedicated one)
failover link STATE GigabitEthernet0/3
failover key MyStrongFailoverKey123

! Enable failover
failover

Step 3: Assign Standby IP Addresses to Each Data Interface

Every routed data interface needs both an active IP and a standby IP so the Standby unit has its own address on each segment for monitoring purposes:

interface GigabitEthernet0/0
 nameif outside
 security-level 0
 ip address 203.0.113.1 255.255.255.0 standby 203.0.113.2

interface GigabitEthernet0/1
 nameif inside
 security-level 100
 ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2

Step 4: Configure the Secondary Unit

On the second, physically identical ASA, the configuration is minimal — it will pull the rest from the primary once failover syncs:

enable
configure terminal

interface GigabitEthernet0/3
 description LAN Failover Interface
 no shutdown

failover lan unit secondary
failover lan interface FAILOVER GigabitEthernet0/3
failover interface ip FAILOVER 10.0.0.1 255.255.255.252 standby 10.0.0.2
failover link STATE GigabitEthernet0/3
failover key MyStrongFailoverKey123

failover

Once both sides are enabled, the secondary unit synchronizes its full configuration from the primary automatically — you do not manually replicate ACLs, NAT, or other config to the secondary.

Step 5: Enable Interface Monitoring (Optional but Recommended)

By default ASA monitors interfaces for failover triggers; you can explicitly tune which interfaces matter and set thresholds:

monitor-interface outside
monitor-interface inside

Step 6: Verify Failover Status

show failover

Expected healthy output on the primary:

Failover On
Failover unit Primary
Failover LAN Interface: FAILOVER GigabitEthernet0/3 (up)
Reconnect timeout 0:00:00
Unit Poll frequency 1 seconds, holdtime 15 seconds
Interface Poll frequency 5 seconds, holdtime 25 seconds
...
This host: Primary - Active
             Active time: 3600 (sec)
Other host: Secondary - Standby Ready
             Active time: 0 (sec)

Also check:

show failover state
show failover interface
show monitor-interface

Real-World Deployment Scenario

Scenario: A retail company’s data center edge needs zero-downtime firewall maintenance windows and protection against a single hardware failure taking the entire site offline.

Design:

! Force a manual failover to the standby for planned maintenance
failover active
! ...and to force it back
no failover active

Verifying Stateful Failover Is Actually Working

Configuration syncing is necessary but not sufficient — confirm connection state is actually replicating:

show failover statistics
show conn count

Pull up a live long-lived connection (e.g., an established VPN or a large file transfer), then force a failover in a lab/maintenance window, and confirm the connection survives (no re-authentication or restart needed) rather than just checking that the failover event itself completed.

Common Configuration Mistakes

Troubleshooting Failover Issues

SymptomLikely CauseDiagnostic Commands
Failover stuck in “Negotiation”Failover link down, key mismatch, or cabling issueshow failover, check physical link status, verify failover key matches on both units
Both units claim Active (“split-brain”)Failover link failure while both units are otherwise healthyshow failover history, check failover link integrity urgently — this is a critical state requiring immediate manual intervention
Failover triggers unexpectedly under loadFailover link congestion causing missed hellosMove to a dedicated, non-shared link; check show failover statistics for hello miss counts
Standby never becomes “Standby Ready”Config sync failure, often due to a config element unsupported/rejected on standbyshow failover state, review any error logged during sync; check for platform/license mismatch
Sessions drop during failover despite stateful configStateful link not actually passing state traffic (misconfigured), or connection type not supported for state replication (some UDP/multicast edge cases)show failover statistics, confirm failover link is correctly bound and up, check ASA release notes for stateful replication support scope

Best Practices

Performance and Tuning Notes

failover polltime unit msec 200 holdtime msec 800
failover polltime interface 5 holdtime 25

Frequently Asked Questions

Can Active/Standby failover use two different ASA models? No — Cisco requires identical hardware models for a supported failover pair. Mixed models are not a supported configuration.

Does Active/Standby failover increase total throughput? No — only one unit passes traffic at a time. If you need both redundancy and combined throughput, that’s a clustering (FTD) or Active/Active (ASA multiple-context) design instead, not Active/Standby.

How fast is failover? Detection and switchover is typically on the order of a few seconds depending on configured poll/hold timers, with stateful sessions preserved for supported connection types — but always validate actual switchover time in your own environment rather than assuming a spec-sheet number.

Do I need to configure ACLs and NAT on both units? No — configuration is synchronized automatically from the Active (or Primary during setup) unit to the Standby. Manual duplication is unnecessary and can actually cause sync conflicts if attempted.

What happens to VPN sessions during failover? Site-to-site VPN and, in supported scenarios, remote-access VPN sessions can be preserved via stateful failover, though there are historically some limitations/version-dependent nuances for RA VPN state — always check current ASA release notes for the specific VPN state-replication scope of your software version.

Summary

Active/Standby failover remains one of the most reliable, well-understood HA patterns in networking precisely because it’s simple: one unit works, one unit watches, and a dedicated failover link keeps them honest about each other’s health. The engineering that actually matters is in the details — identical hardware and software, a properly isolated failover and stateful link, complete standby IP addressing on every data interface, and a tested (not assumed) failover procedure. Get those right and a hardware failure becomes a non-event instead of an outage.

References

Exit mobile version