NAT: inside source translation
Static NAT and dynamic pools for inside source translation, PAT overload behavior, and how to verify translations.
NAT terminology
| Term | Meaning | Example |
|---|---|---|
| Inside local | Private address of the inside host | 192.168.10.5 |
| Inside global | Public address representing that host | 203.0.113.10 |
| Outside local | Outside host's address as seen inside | Usually same as outside global |
| Outside global | The outside host's real address | 198.51.100.25 |
Inside/outside describe location; local/global describe viewpoint.
Inside source NAT forms
| Type | Mapping | Use |
|---|---|---|
| Static NAT | One inside local ↔ one inside global, permanent | A server that must be reachable from outside |
| Dynamic NAT | Pool of inside globals, assigned on demand | Multiple hosts, limited public IPs |
| PAT (overload) | Many locals → one global, distinguished by port | The everyday case — one public IP for the LAN |
Dynamic NAT using a public pool without PAT — Privileged EXEC → Global configuration
Cisco IOS / IOS XE
- Inside/outside interface roles already configured; pool addresses reserved and routed for the lab; ACL 1 reviewed intentionally.
configure terminal ip nat pool BRANCH 203.0.113.16 203.0.113.31 netmask 255.255.255.0 access-list 1 permit 192.168.10.0 0.0.0.255 ip nat inside source list 1 pool BRANCH end
show ip nat translations show ip nat statistics
- Translations map inside locals to pool addresses one-to-one — generate test traffic first.
- An empty translation table has several possible causes — check ACL match (show access-lists counters), inside/outside roles, whether traffic actually crossed, and pool availability.
- Without
overload, the pool supports 16 simultaneous inside-address mappings; entries are freed for reuse after translation timeout. PAT (... pool BRANCH overload) is the common variant.
Changes device configuration.
Translate the LAN to the outside interface address — Privileged EXEC → Global configuration
Cisco IOS / IOS XE
configure terminal access-list 1 permit 192.168.10.0 0.0.0.255 ip nat inside source list 1 interface gigabitethernet0/1 overload end
show ip nat translations show ip nat statistics
- Entries show inside local addresses sharing one inside global with different ports.
- Hits increment per new translated flow.
- A named pool needs its own definition:
ip nat pool BRANCH-PAT 203.0.113.10 203.0.113.10 netmask 255.255.255.0beforeip nat inside source list 1 pool BRANCH-PAT overload. Non-overload pool NAT (... pool BRANCHwithoutoverload) maps hosts one-to-one from the pool.
Changes device configuration.
PAT multiplexes many inside locals over one inside global by rewriting the source port as well — the router tracks each flow in the translation table. This is why thousands of hosts share one public IP, and why inbound connections to 'the public IP' fail without a static mapping or port forwarding.
Related resources
Sources
- Cisco CCNA 200-301 v1.1 Exam Topics (official PDF) — reviewed 2026-11-02
- RFC 2663 — IP Network Address Translator (NAT) Terminology and Considerations — reviewed 2026-11-02
- Cisco — IP Addressing Services Command Reference — reviewed 2026-11-02
Targets CCNA 200-301 v1.1 objectives. Supplemental blocks are labeled beyond exam scope.