Octet

NAT is configured but inside users cannot reach the internet. What do you check?

Show the answer

Say this first

In order: the interfaces are marked ip nat inside and ip nat outside on the right sides; the NAT access list matches the users' real source addresses; there is a default route out the outside interface; translations appear in show ip nat translations when a user tries; and the ISP routes the global address back to me. show ip nat statistics and a filtered debug ip nat usually point at the broken piece within minutes.

Go deeper

Symptom to cause

SymptomLikely cause
No translations created at allinterface roles missing or swapped, ACL does not match, traffic not routed out the outside interface
Translations created, no repliesISP not routing the pool addresses back, upstream filtering
Some users work, others do notACL covers only part of the range, or a dynamic pool without overload is full
VPN broke when NAT was addedno NAT exemption for VPN traffic
Inbound to a server failsACL written with the private address, wrong static entry, server gateway

Read the statistics

Output
R1# show ip nat statistics
Total active translations: 3 (1 static, 2 dynamic; 2 extended)
Outside interfaces:
  GigabitEthernet0/0/0
Inside interfaces:
  GigabitEthernet0/0/1, GigabitEthernet0/0/2
Hits: 1520  Misses: 4
Expired translations: 2
Dynamic mappings:
-- Inside Source
[Id: 1] access-list NAT-USERS interface GigabitEthernet0/0/0 refcount 2

The interface lists catch swapped roles. The dynamic mapping shows which ACL and target are in use.

Watch it happen

Filter the debug with a numbered ACL that matches one test host:

Cisco IOS
R1(config)# access-list 99 permit 192.168.10.10
R1# debug ip nat 99

Lines like NAT*: s=192.168.10.10->203.0.113.2, d=198.51.100.80 prove the translation. Outbound lines with no return lines put the problem upstream.

Classic ACL mistakes

  • A subnet mask where a wildcard belongs: permit 192.168.10.0 255.255.255.0 matches the wrong addresses.
  • permit any: the router starts translating traffic it should not, such as VPN and its own management traffic.

Traps

  • Running an unfiltered debug ip nat on a busy router.
How did you do?Book 3.3 Internet (IP)