INSIGHTS
Networking

Cisco 200-301: NAT and PAT in IOS

In this article
  1. Use the four NAT address terms precisely
  2. Use static NAT when a stable one-to-one mapping is required
  3. Use dynamic NAT when hosts draw from a pool
  4. Use PAT to share addresses by tracking Layer 4 sessions
  5. Mark inside and outside interfaces correctly
  6. Write NAT classification so rules do not overlap unexpectedly
  7. Troubleshoot translations with live state and packet direction
  8. Do not treat NAT as a security boundary or an IPv6 strategy
  9. Operate NAT as stateful shared infrastructure

Network Address Translation (NAT) changes IP addressing information as traffic crosses a translation boundary. Port Address Translation (PAT), also called NAT overload, extends that idea by allowing many inside hosts to share one or a small number of inside-global addresses while transport ports distinguish concurrent sessions. The configuration syntax is short compared with the state the router must maintain, so reliable operation depends on understanding the translation table rather than memorizing a single ip nat inside source command.

Within NAT and PAT in Cisco IOS, the current 200-301 CCNA v1.1 exam includes NAT concepts within IP services. Cisco’s current IOS XE NAT guidance continues to distinguish static mappings, dynamic mappings, and PAT/overload. The most useful learning approach is to follow one packet from its inside-local identity to the outside network, then follow the return packet back through the exact state that NAT created.

Use the four NAT address terms precisely

The inside local address is the address an inside host uses in the inside network, often from RFC 1918 private space. The inside global address is the address that represents that inside host to the outside network after translation. Outside local and outside global describe the outside endpoint as it is known inside and as it exists globally; in many ordinary enterprise NAT designs those two outside values are identical.

These terms describe perspective, not moral categories such as trusted and untrusted. An inside interface is where the inside address space resides relative to the configured translation. An outside interface faces the other side of the translation. Security policy may coincide with that boundary, but NAT by itself is not a firewall.

The NAT translation model becomes much easier to troubleshoot when engineers name the pre-translation and post-translation addresses explicitly.

Packet captures on both sides of the NAT boundary make the terminology concrete. A capture on the inside interface shows the inside-local source; a capture on the outside shows the inside-global source after translation. Comparing timestamps and transport ports can map one flow through the device. This method is especially useful when several translation rules exist and the running configuration alone does not make it obvious which rule actually matched.

Use static NAT when a stable one-to-one mapping is required

Static NAT creates a fixed relationship between an inside-local address and an inside-global address. It is appropriate when an internal system must be reachable through a predictable translated address or when architecture requires a stable mapping in both directions. Because the mapping exists independently of an outbound session, return traffic can be translated according to the configured static entry.

Static translation consumes address space if every internal host receives a dedicated global address. It should therefore be used where predictability is more important than conservation. Published services may also require static port translation when only selected ports need fixed external mappings.

A static mapping does not automatically create an access policy. If outside users should reach only TCP 443, an ACL or firewall must enforce that requirement. Treat translation and authorization as separate controls.

Static NAT also affects DNS and external dependencies. If partners, certificates, or DNS records reference the inside-global address, changing that mapping can have a larger blast radius than changing the internal server address. Treat public mappings as published interfaces with ownership and change control. A replacement firewall or router must recreate them before cutover, and testing should include inbound connections from a network that genuinely traverses the outside path.

Use dynamic NAT when hosts draw from a pool

Dynamic NAT matches inside traffic, commonly with an ACL or route-map condition, and assigns an address from a configured global pool. The mapping is created when traffic matches and remains until it ages out according to platform behavior. Unlike PAT, classic dynamic NAT generally consumes one global address for an active inside mapping.

Pool exhaustion is therefore an operational failure mode. If the pool contains ten addresses and eleven inside hosts need simultaneous translations, the additional host cannot receive a mapping until one becomes available. Monitoring translation usage and pool capacity is part of production design.

ACLs used to classify NAT traffic are not acting as security filters in that context; they identify which source addresses are eligible for translation. Confusing the classification role with packet filtering can lead to incorrect troubleshooting.

Dynamic pool design should account for address reuse and session duration. Long-lived sessions can hold translations while other users wait for a pool address, and sudden reconnect storms can exhaust capacity quickly. Telemetry should record current and peak allocations. If the business really expects thousands of concurrent inside hosts but the pool has only a few dozen addresses, PAT may be a better architecture than classic dynamic one-to-one translation.

Use PAT to share addresses by tracking Layer 4 sessions

PAT, or overload, allows many inside-local addresses to share one inside-global address. The router differentiates connections using transport protocol information and ports, maintaining per-flow state so return traffic can be delivered to the correct inside host. This is the common enterprise edge pattern for large numbers of users accessing external IPv4 services.

Cisco’s current NAT documentation notes that overload depends on protocols for which suitable identifiers are available, particularly TCP, UDP, and ICMP handling. Engineers should not assume every IP protocol can be multiplexed through PAT in the same way. The translation table is the authoritative view of what state actually exists.

PAT conserves public addresses, but it also creates a shared egress identity. Logging may need source ports and timestamps so security teams can map an external connection back to the internal host that owned the translation at that moment.

PAT troubleshooting should include port exhaustion and destination behavior. Even when a platform supports a very large translation table, a single global address has finite transport-port space and implementation limits. High-volume proxies, scanners, or microservice clients can create far more concurrent sessions than user counts suggest. Distributing translations across multiple global addresses or reducing unnecessary connection churn can be more effective than repeatedly clearing state.

Mark inside and outside interfaces correctly

Traditional Cisco NAT configuration identifies interfaces as ip nat inside or ip nat outside. The translation rule is then evaluated as packets cross the intended direction. If the roles are missing or reversed, the ACL and pool can look correct while no translations are created.

Complex networks may have multiple paths, VRFs, VPNs, or asymmetric routing. NAT is stateful enough that return traffic generally needs to traverse the appropriate translation function. If outbound traffic leaves through one edge and return traffic arrives through another edge that does not share the state, sessions can fail even though basic routing exists.

Document the translation boundary on the topology diagram. That is more useful than treating NAT as a mysterious router feature hidden in the configuration.

Redundant NAT edges require explicit state design. If two routers provide first-hop or WAN redundancy but maintain independent NAT tables, asymmetric return traffic can land on the peer that never created the translation. Stateful firewall clusters may synchronize some session information, while simple routers may not. Route preference, FHRP tracking, and external routing should be designed so active flows return through the device that owns their translation state.

Write NAT classification so rules do not overlap unexpectedly

Dynamic NAT and PAT frequently use ACLs or route maps to select traffic. Overlapping rules can make it unclear which translation should apply, especially when static entries, pools, and policy NAT coexist. Cisco guidance warns that overlapping match logic can prevent NAT from mapping traffic as intended.

Keep classification narrow and ordered by architecture. If one application requires a special pool while ordinary users use interface overload, make the exception explicit and test it before the general rule. Avoid broad ACLs that capture traffic meant for VPN exemption, internal routing, or a different translation policy.

The Cisco ASA NAT model differs in syntax and policy processing from IOS/IOS XE router NAT, so do not copy one platform’s mental model into the other without checking current documentation.

NAT exemption deserves the same precision as translation. VPN traffic, internal private WAN destinations, or partner networks may need to preserve original addresses rather than match the general Internet PAT rule. A broad classification ACL can accidentally translate that traffic and break security associations or remote routing. Test each exception before the general overload path and document why it bypasses translation.

Troubleshoot translations with live state and packet direction

Start with routing and interface roles. Confirm the inside host can reach the NAT device, the NAT device has a route toward the outside destination, and return routing leads back through the same translation boundary. Then verify the match condition and watch whether a translation appears as the host generates traffic.

Commands such as show ip nat translations and show ip nat statistics reveal active mappings and counters. If no entry appears, the packet may not match the rule or may not cross the marked interfaces. If an entry appears but the session fails, inspect upstream routing, ACL/firewall policy, return traffic, or application behavior.

Clear translations carefully in production. Removing state can interrupt active sessions. Use targeted testing and understand whether the problem is stale state or a configuration error before clearing the entire table.

Translation tables can reveal whether a failure is before or after NAT. If the inside host generates traffic and no entry appears, investigate classification, interface roles, and routing to the boundary. If an entry appears and packet counters increment outbound but no return packets arrive, investigate upstream routing, provider filters, destination service, or return-path policy. This evidence narrows troubleshooting far more effectively than changing pool addresses at random.

Do not treat NAT as a security boundary or an IPv6 strategy

Private IPv4 addresses are not reachable directly from the public Internet through ordinary routing, but NAT’s address hiding is not a substitute for firewall policy. A misconfigured static mapping can publish a service, and outbound PAT allows inside systems to initiate connections unless separate policy restricts them.

IPv6 reduces the architectural need for address conservation through many-to-one PAT. Security still requires stateful filtering and segmentation, but IPv6 design should not automatically reproduce IPv4 NAT assumptions. The IPv4-to-IPv6 transition may use translation mechanisms in specific cases, yet native IPv6 addressing and policy should be understood on their own terms.

Use NAT because the address architecture requires translation, not because it is assumed to make a network secure.

IPv4 NAT can also complicate application protocols that embed IP addresses or ports in payloads. Application-layer gateways or protocol-aware behavior may be required for some legacy protocols, while encrypted application payloads prevent the translator from inspecting embedded addressing. Modern application design increasingly avoids assumptions that a transport-visible address is the true endpoint identity, reducing dependence on special NAT handling.

Operate NAT as stateful shared infrastructure

Capacity should also be considered during failover. If two Internet edges normally split users but a failure moves all PAT sessions to one router, the surviving device needs enough translation and forwarding capacity for the combined load. Test this during resilience exercises and watch translation creation rate, CPU, memory, and interface utilization rather than assuming a standby that accepts routes can also absorb the session scale.

For partner allowlists, document which inside-global addresses represent each application or user population. If a pool changes during a carrier migration, external systems may reject otherwise healthy sessions. Network changes should therefore include a dependency review for SaaS providers, payment gateways, B2B peers, and security services that authorize traffic by public source address.

Monitor translation counts, pool utilization, errors, and platform resource limits. PAT can support many sessions, but one external address or device still has finite port and state capacity. High-connection applications, scanning, or compromised hosts can consume translation resources and affect unrelated users.

Changes to NAT should include rollback and connection-impact planning. A new ACL or pool may alter which inside-global address applications present to partners, allowlists, payment systems, or APIs. External dependencies often care about that source identity even when internal users do not.

The enterprise-routing context in 350-401 ENCOR reinforces that NAT must coexist with routing, redundancy, policy, and observability. A reliable design can answer four questions at any moment: which traffic should translate, what address or port should it become, where is the state stored, and how will the return packet find that same state.

High availability testing should include long-lived TCP sessions, short web transactions, DNS, and any application that opens many parallel connections. Different traffic patterns stress NAT state differently. If sessions break during edge failover, determine whether the cause is unsynchronized translation state, upstream route convergence, firewall behavior, or the application itself before concluding that the NAT rule is incorrect.

Translation design should be reviewed whenever the Internet provider, WAN topology, or firewall path changes. NAT often depends on interface roles and route symmetry that are implicit in the old topology. A carrier cutover can therefore leave perfectly valid NAT statements attached to the wrong path. Include translation verification in every edge migration checklist.

Operational runbooks should record clear commands and expectations for normal translation volume, top inside users, pool utilization, and failure conditions. During an incident, the team should know whether 50,000 translations is ordinary or a sign of a runaway process. Baselines turn NAT from a hidden state table into measurable infrastructure. Capacity alarms should fire before new sessions are rejected, not after users report that random websites stopped opening.

Filed under Networking