Users experience access issues for FTD traffic when the NAT pool is not sufficient to translate all necessary user connections. Configuration modification is required to ensure sufficient NAT resources for handling a large number of connections.
Cisco Secure Firewall Firepower - applicable to all FTD and ASA models and versions
High-volume connections (100,000+)
To resolve and ensure reliable translation for large volumes of connections, expand the NAT pool for dynamic translation on the Cisco FTD. This is necessary to cover connection counts exceeding to 100,000 concurrent TCP or UDP translations.
1. Determine the current NAT pool configuration and usage to identify the need for expansion.
Example output:
device# show run nat
nat (inside,outside) source dynamic PROXY-OUT-10.X.X.2-5 pat-pool PROXY-PAT-203.X.X.1-4
nat (inside,outside) source static BlueCoat3Inside-10.X.X.X BlueCoat1Outside-203.X.X.5
nat (inside,outside) source static BluecoatInside-10.X.X.X BlueCoat2Outside-203.X.X.6
nat (inside,outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.7 description VMProxy01 NAT
nat (inside,outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.8 description VMProxy02 NAT
!
nat (inside,outside) after-auto source dynamic any interface
2.Estimate the number of IP address/port translations required to support the desired number of concurrent TCP/UDP connections seen on the device.
Example output:
device# show conn count
device# show xlate count
103388 in use, 106915 most used
...
device# show nat
Manual NAT Policies (Section 1)
1 (inside) to (outside) source dynamic PROXY-OUT-10.X.X.2-5 pat-pool PROXY-PAT-203.X.X.1-4
translate_hits = 1668081470, untranslate_hits = 207827918
2 (inside) to (outside) source static BlueCoat3Inside-10.X.X.X BlueCoat1Outside-203.X.X.5
translate_hits = 0, untranslate_hits = 0
3 (inside) to (outside) source static BluecoatInside-10.X.X.X BlueCoat2Outside-203.X.X.6
translate_hits = 0, untranslate_hits = 0
4 (inside) to (outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.7 description VMProxy01 NAT
translate_hits = 212, untranslate_hits = 903609
5 (inside) to (outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.8 description VMProxy02 NAT
translate_hits = 221, untranslate_hits = 900629
...
Manual NAT Policies (Section 3)
1 (inside) to (outside) source dynamic any interface
translate_hits = 1655085476, untranslate_hits = 65319288
3.Determine if packets drops with reason "nat-xlate-pool-exhausted" are incrementing on the device. Each IP address in a PAT pool can typically support up to 128,000 (TCP and UDP ports combined) translations. However, for excessive translations on a certain protocol, more IP addresses are required. For example, if the device shows over 100,000 unique TCP port translations, at least two IP addresses are required as only 64,000 unique TCP translations would be possible on one IP address.
Example output:
firepower# show asp drop
Frame drop:
Flow is denied by configured rule (acl-drop) 22233
First TCP packet not SYN (tcp-not-syn) 645
TCP failed 3 way handshake (tcp-3whs-failed) 122
TCP RST/FIN out of order (tcp-rstfin-ooo) 2835
TCP SEQ in SYN/SYNACK invalid (tcp-seq-syn-diff) 2
TCP SYNACK on established conn (tcp-synack-ooo) 4
TCP packet SEQ past window (tcp-seq-past-win) 169
TCP invalid ACK (tcp-invalid-ack) 5
TCP RST/SYN in window (tcp-rst-syn-in-win) 4
NAT failed due to pool exhaustion (nat-xlate-pool-exhausted) 26448
Connection to PAT address without pre-existing xlate (nat-no-xlate-to-pat-pool) 168
Blocked or blacklisted by the firewall preprocessor (firewall) 1780
Blocked or blacklisted by the reputation preprocessor (reputation) 3
Packet is blacklisted by snort (snort-blacklist) 17848
Modifies fixed length of data (snort-replace-data-pkt) 51
4.Determine how many translations are being utilized for each NAT and if they are mainly for TCP or UDP translations. Use either an automated parser or syslog/snmp software to parse through the "show xlate detail" output and gather top talkers.
device# show xlate detail | redirect disk0:/show.xlate.detail.txt
Example output after AI analysis:
Top Protocols
+-------------------------+---------+---------+
| (Dynamic NAT and PAT) | Count | % |
+=========================+=========+=========+
| TCP | 96047 | 92.941% |
+-------------------------+---------+---------+
| UDP | 7286 | 7.05% |
+-------------------------+---------+---------+
| ICMP | 9 | 0.009% |
+-------------------------+---------+---------+
Top Translated (Mapped) Source IPs
+-----------------------------------------+---------+---------+
| (Dynamic NAT and PAT) | Count | % |
+=========================================+=========+=========+
| 203.X.X.9 | 71585 | 69.27% |
+-----------------------------------------+---------+---------+
| 203.X.X.6 | 31434 | 30.417% |
+-----------------------------------------+---------+---------+
| 203.X.X.10 | 323 | 0.313% |
+-----------------------------------------+---------+---------+
5. Expand the NAT pool by adding one or more IP address pools for the FTD interface traffic. Refer to official documentation as needed: Configure and Verify NAT on FTD
Confirm the new address was added.
Example output after addition:
device# show run nat
nat (inside,outside) source dynamic PROXY-OUT-10.X.X.2-5 pat-pool PROXY-PAT-203.X.X.1-4
nat (inside,outside) source static BlueCoat3Inside-10.X.X.X BlueCoat1Outside-203.X.X.5
nat (inside,outside) source static BluecoatInside-10.X.X.X BlueCoat2Outside-203.X.X.6
nat (inside,outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.7 description VMProxy01 NAT
nat (inside,outside) source static BluecoatOutside_10.X.X.X BlueCoatNATOutside_203.X.X.8 description VMProxy02 NAT
nat (inside,outside) source dynamic 10-Network pat-pool 203.X.X.10 destination static Cloud-1 Cloud-1
!
nat (inside,outside) after-auto source dynamic any interface
6.Monitor the NAT pool usage after expanding the pool to ensure sufficient translation resources are available. Check for traffic errors and validate successful user translations
Example output:
device# show conn
device# show nat
...
Manual NAT Policies (Section 1)
...
6 (inside) to (outside) source dynamic 10-Network pat-pool 203.X.X.10 destination static Cloud-1 Cloud-1
translate_hits = 134315, untranslate_hits = 136136
If errors persist or connection limits are approached, add more addresses to the NAT pool as necessary.
7.For step-by-step instructions and validation procedures, consult the official Cisco Secure Firewall NAT configuration guide: Configure PAT Pool on FTD
If for any reason you need to review specific local-to-NAT translations, use show conn to locate the specified address either by its local or NAT IP address. The show nat commands are not able to do this. The show conn detail output can be redirected to disk0 (/mnt/disk0) for analysis also. This is especially useful for matching VPN NAT pools to local real source IPs.
> show conn | include 10.239.27.176
TCP management_static_vti_1 10.238.x.176(10.239.x.176):55140 CH01FTD02-inside 10.x.x.161:22, idle 0:00:06, bytes 27909386, flags UIO N1N7
TCP management_static_vti_1 10.238.x.176(10.239.x.176):9125 CH01FTD02-inside 10.x.x.162:22, idle 0:00:00, bytes 37594, flags UIO N1N7
TCP management_static_vti_1 10.238.x.176(10.239.x.176):51681 CH01FTD02-inside 10.x.x.17:7000, idle 0:00:01, bytes 13759133, flags UIO N1N7
Source NAT IP(Source Local IP) (Destination IP)
---
show conn detail | redirect disk0:/show.conn.detail.txt
This issue is caused by an insufficient NAT pool for dynamic translations, resulting in exhaustion of available port translations and IP resources. This limits the number of concurrent TCP/UDP connections that can be supported, causing traffic access and connectivity issues for high-volume scenarios.
| Revision | Publish Date | Comments |
|---|---|---|
1.0 |
02-Jun-2026
|
Initial Release |