Dynamic NAT & PAT

Conserving Public IPv4 Address Space on Cisco IOS Edge Routers

Network Address Translation (NAT) is a critical technology used to translate private IP addresses (defined in RFC 1918) into public routable IPs. Without NAT, the global IPv4 address pool would have run out decades ago. On edge routers, engineers deploy either **Dynamic NAT** or **Port Address Translation (PAT)** to manage outgoing connections.

NAT Address Terminology

1. Dynamic NAT

Dynamic NAT maps private inside local addresses to public inside global addresses from a defined pool. It establishes a **1-to-1 dynamic mapping**:

2. Port Address Translation (PAT)

Also known as NAT Overload, PAT maps multiple inside local private addresses to a **single public IP address** by utilizing TCP and UDP source ports:

3. Configuring PAT (Overload) on Cisco IOS

To configure PAT with a single exit interface IP, follow these steps:

Step 1: Define Interface Boundaries

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# exit

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip address 203.0.113.1 255.255.255.252
Router(config-if)# ip nat outside
Router(config-if)# exit

Step 2: Match Inside Private Addresses (Access List)

Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255

Step 3: Bind ACL to Exit Interface with Overload Keyword

Router(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload

The Overload Keyword

If you omit the keyword overload at the end of the ip nat inside source command, the router will configure standard Dynamic NAT. This will lock up the public IP for the first host that connects and block all other hosts from accessing the internet.

4. Verification Commands

Confirm translation status using diagnostic show commands:

Related Lab: Lab 30: Dynamic NAT & PAT Configuration Next Blog: Basic CLI & Security