Full syllabusWeek 8Day 40

Network Services and Observability

NAT and PAT from inside local to outside global

Build one isolated IOS XE translation path, compare static, pool and overload configurations in separate phases, read all four address roles and repair a deliberate selector error without claiming Internet or firewall testing.

Exam map
Current v1.1
4.1
Announced v2.0
4.3
Domain
IP services and network operations

First, the essential ideas

NAT
Network Address Translation changes address information as packets cross a configured boundary. This lesson uses traditional inside-source IPv4 NAT, not NAT64 or a firewall.
Inside and outside
These are administrator-selected sides of a NAT boundary. Inside identifies our client LAN; outside identifies the other lab network, not necessarily the public Internet.
Inside local and inside global
Inside local is the inside host's address in its own network. Inside global represents that same host toward the outside. Global describes the NAT role; it does not guarantee a publicly routed address.
Outside local and outside global
Outside global identifies the outside host in its own network. Outside local is how that host appears inside. They are identical in this lab because outside addresses are not translated.
Static NAT and pool NAT
Static NAT configures a fixed address mapping. Dynamic pool NAT selects an available global address for an eligible inside host; without overload, separate simultaneous hosts require separate addresses.
PAT and overload
Port Address Translation lets flows share a global address using protocol-specific identifiers, such as TCP/UDP ports. ICMP echo uses an identifier rather than a TCP port. IOS overload enables this sharing.
ACL and wildcard
An access control list used by NAT selects traffic for translation. A host entry matches exactly one address. This selection is not an interface packet-filter policy unless separately attached as one.
Console and verification
Right-click the named GNS3 node and choose Console. IOS > is user EXEC, # is privileged EXEC and (config)# is configuration. VPCS has different commands. Predicted output is not a measured result.

Follow the same client and remote destination through three separate translation policies. Do not leave all policies enabled and guess which one handled the packet. Each phase must remove the preceding mapping and preserve the same cables, routes and endpoint addresses.

See the idea

Static, pool and PAT change different things

Keep the client fixed; compare how its outside representation is chosen.

Three records compare static NAT's fixed mapping, dynamic NAT's pool allocation and PAT's shared address with flow identifiers.Static NATFixed addressmappingDynamic poolAvailable addressPAT overloadAddress + flow state
Three records compare static NAT's fixed mapping, dynamic NAT's pool allocation and PAT's shared address with flow identifiers.Static NATFixed addressmappingDynamic poolAvailable addressPAT overloadAddress + flow state
Step 1 of 3

Fix one mapping

Static NAT maps PC1 10.40.0.10 to 198.18.0.100. The basic mapping exists even before traffic proves a successful exchange.

What this model leaves out: Conceptual policy comparison, not physical wiring or measured scale. The full lab path ends at Outside1, and only one client is exercised.

Full visual explanation and references

Three records compare static NAT's fixed mapping, dynamic NAT's pool allocation and PAT's shared address with flow identifiers.

Conceptual policy comparison, not physical wiring or measured scale. The full lab path ends at Outside1, and only one client is exercised.

  1. Fix one mapping

    Static NAT maps PC1 10.40.0.10 to 198.18.0.100. The basic mapping exists even before traffic proves a successful exchange.

    www.cisco.com
  2. Allocate from a pool

    Dynamic NAT chooses an available pool address for eligible traffic. Without overload, address capacity limits simultaneous host mappings.

    www.cisco.comwww.rfc-editor.org
  3. Share with flow state

    PAT uses 198.51.100.1 plus protocol-specific state. TCP/UDP ports or ICMP identifiers help associate replies with the inside flow.

    www.cisco.comwww.rfc-editor.org

One idea at a time

Start with something familiar.

Write two labels for the same inside host: its original 10.40.0.10 address and the address representing it outside. NAT does not create a second computer. Then write the unchanged destination 203.0.113.10 beside Outside1.

Why learn this?

Translation troubleshooting often fails when an operator treats routing, NAT selection and security policy as one thing. Keeping them separate lets a learner explain why a configured mapping may still produce no reply.

An everyday comparison

A receptionist can use one published contact number while maintaining a list of internal extensions. The published number and an extension identify different views of a contact.

What happens in a network

The two address views resemble inside global and inside local. Additional flow identifiers let replies be associated with the correct internal exchange when an address is shared.

Where the comparison stops

NAT is not a human screening service or an encryption method. Protocol state and routing rules, not the analogy, determine which packets can be translated and delivered.

Follow one worked example

  1. Prove the two local links first.

    PC1 reaches NAT1 at 10.40.0.1, and NAT1 reaches Outside1. Outside1 has a return route for the translated pool, not for 10.40.0.0/24.

    Why: The setup makes a translated reply path explicit without claiming translation itself installs every route.

  2. Read one static mapping in both directions.

    10.40.0.10 is represented by 198.18.0.100. The remote destination remains 203.0.113.10 before and after the inside-source translation.

    Why: The four table headings are relative roles, not four necessarily different numerical addresses.

  3. Change only the translation policy.

    Remove static NAT, test dynamic pool allocation, then replace it with interface overload using 198.51.100.1.

    Why: Separate phases keep the observed entry attributable to one known policy.

  4. Break the selector, not the destination.

    Change the NAT ACL to select .99 instead of PC1's .10, clear only this disposable router's dynamic state, then test and restore.

    Why: A wrong selector can leave routing and interfaces correct while preventing the intended translation.

Your first small task

On paper, fill four table columns for PC1 reaching Outside1 under static NAT: inside local, inside global, outside local and outside global. Use the exact address plan and explain why the last two are equal.

Show a hint

First ask which host a column describes, then which side's representation it names.

Check the expected result

The values are 10.40.0.10, 198.18.0.100, 203.0.113.10 and 203.0.113.10. This lab changes only the inside source.

Pause and explain it in your own words

Does a permit in the NAT selector authorize all traffic through a firewall?

Show a hint

Identify whether the ACL is referenced by a NAT rule or attached as an interface filter.

Show the explanation

No. The NAT rule uses this ACL to select translation candidates. Firewall policy and any separately attached interface ACL are separate controls; a NAT permit is not their approval.

Short answer

What should you understand today?

Static NAT fixes an address mapping, dynamic NAT allocates from a pool, and PAT lets flows share an address using protocol identifiers. All require the intended inside/outside boundary and working routes. A translation entry is evidence of a mapping, not proof of application success. A NAT selection ACL chooses traffic to translate; it is not automatically a firewall.

Before you begin

Learning targets

Prerequisites
  • Recall Day 31 static routes and Day 15 IOS configuration modes; a route chooses the next hop.
  • Use GNS3 2.2.55 with two independently entitled C8000v IOS XE 17.12.1a routers and one VPCS 0.8 node.
  • Read the address table before connecting anything; all outside addresses remain inside this disconnected lab.
By the end
  • Identify inside local, inside global, outside local and outside global in one exchange.
  • Configure and verify static inside-source NAT and a non-overloaded dynamic pool.
  • Replace the pool rule with IOS XE interface overload and inspect protocol-specific state.
  • Separate translation selection from routing and packet filtering.
  • Repair one known selector fault and repeat the original traffic and table checks.

Words you will meet

Open a word when you need its meaning. You do not need to memorize the whole list before reading.

NAT

Network Address Translation changes address information as packets cross a configured boundary. This lesson uses traditional inside-source IPv4 NAT, not NAT64 or a firewall.

Inside and outside

These are administrator-selected sides of a NAT boundary. Inside identifies our client LAN; outside identifies the other lab network, not necessarily the public Internet.

Inside local and inside global

Inside local is the inside host's address in its own network. Inside global represents that same host toward the outside. Global describes the NAT role; it does not guarantee a publicly routed address.

Outside local and outside global

Outside global identifies the outside host in its own network. Outside local is how that host appears inside. They are identical in this lab because outside addresses are not translated.

Static NAT and pool NAT

Static NAT configures a fixed address mapping. Dynamic pool NAT selects an available global address for an eligible inside host; without overload, separate simultaneous hosts require separate addresses.

PAT and overload

Port Address Translation lets flows share a global address using protocol-specific identifiers, such as TCP/UDP ports. ICMP echo uses an identifier rather than a TCP port. IOS overload enables this sharing.

ACL and wildcard

An access control list used by NAT selects traffic for translation. A host entry matches exactly one address. This selection is not an interface packet-filter policy unless separately attached as one.

Console and verification

Right-click the named GNS3 node and choose Console. IOS > is user EXEC, # is privileged EXEC and (config)# is configuration. VPCS has different commands. Predicted output is not a measured result.

01

Names describe viewpoints, not public versus private

Inside local and inside global describe two representations of the inside host. Outside local and outside global describe the outside host. In a simple inside-source design the outside address remains unchanged, so two columns legitimately contain the same address. Do not label every private address local and every public-looking address global without checking its role.

  • Read each column as host identity plus representation.
  • The outside node is the final recipient, not an omitted Internet cloud.
02

Static mapping fixes an address relationship

Static inside-source NAT configures a stable mapping between one inside-local address and one inside-global address. Its basic entry can appear without traffic, unlike an on-demand dynamic allocation. Static mapping does not create the internal host, guarantee a route or specify all security policy. Inbound reachability also depends on routing and filtering.

  • An entry that exists before traffic is not proof of a successful exchange.
  • Use a reachable translation range and a known return path.
03

Dynamic pool NAT allocates a scarce resource

A pool defines candidate inside-global addresses. The NAT selection ACL identifies eligible inside sources. Without overload, ordinary dynamic address mapping does not allow unlimited inside hosts to share one pool address simultaneously. Pool exhaustion can therefore affect new allocations while existing translations continue. A pool name is not a route, and a NAT ACL deny means no match for that translation policy, not automatically a packet drop.

  • Traffic is needed to create an on-demand mapping.
  • Compare pool utilization and selection before changing unrelated routes.
04

PAT shares an address, not an unlimited resource

Overload permits flows to share an inside-global address using protocol-specific state. TCP and UDP use ports; ICMP echo can use identifiers. A protocol identifier is not a device's physical interface number. Capacity is finite and platform-dependent. A single ping verifies only a narrow flow, not a realistic NAT scale, throughput or application mix.

  • A shared global address still needs per-flow state and correct return handling.
  • PAT is not encryption and is not a substitute for an explicit security policy.
05

Evidence must separate mapping from successful delivery

Inspect interfaces and routes, the configured selection, translation entries and actual endpoint tests. A router-originated ping may not traverse the same inside-to-outside path as traffic from PC1, so it cannot replace the endpoint test. NAT counters can rise for traffic that later fails elsewhere. Existing state can also hide the impact of a changed policy.

  • Never clear a shared production translation table for this lesson.
  • Restore the exact host selector, then retest from PC1 rather than NAT1.
06

Treat phases and cleanup as part of the change

Stop test traffic before removing a dynamic mapping. In this disposable project only, clearing dynamic translations makes policy replacement unambiguous; the command can disrupt sessions elsewhere. If IOS says a mapping is in use, do not force an unfamiliar production procedure. Confirm the isolated boundary, stop traffic and inspect state before continuing.

  • Keep one active translation policy for this client during each phase.
  • v1.1 remains current through 2 February 2027; v2.0 begins 3 February 2027.

Real-world walkthrough

The NAT rule exists, but the client does not match

A fictional operator replaces an address group and accidentally selects a host ending in .99 instead of .10. Interface-overload syntax remains correct, both links are up and the destination route is present. The user still cannot reach the remote endpoint. A useful investigation must follow the actual source through the selector and compare new translation state.

  1. Record PC1's actual source and gateway and prove its local gateway still replies before changing the NAT policy.
  2. Compare the source with the NAT ACL and inspect whether a fresh endpoint test creates a matching translation.
  3. Check the remote return path independently. An untranslated private source may fail because no route back exists, not because the NAT selector is a firewall.
  4. Restore the approved host match and repeat the same endpoint destination while inspecting translation state immediately.
  5. Document the observed mapping and replies. Do not claim browser, DNS, Internet or multiuser capacity testing from one ICMP exchange.
A translation policy is a set of dependencies, not a magic connectivity switch. Match the actual source, inspect its resulting mapping and verify the return exchange from the same endpoint.

Guided GNS3 lab

Three translation phases on one complete path

Compare static NAT, dynamic pool NAT and interface PAT on the same isolated IOS XE topology, then repair one selection fault. No runtime was performed by the author; preserve actual results and stop on unsupported syntax.

PC1 Ethernet0 -- NAT1 GigabitEthernet1; NAT1 GigabitEthernet2 -- Outside1 GigabitEthernet1. Outside1 Loopback0 (203.0.113.10/32) is the final ping destination. No switch or external bridge exists.
PC1: GNS3 VPCS 0.8.NAT1 and Outside1: independently entitled C8000v IOS XE 17.12.1a in GNS3 2.2.55.

Addressing plan

DeviceInterfaceAddressPurpose
PC1Ethernet010.40.0.10/24; gateway 10.40.0.1Inside client.
NAT1GigabitEthernet110.40.0.1/24Inside gateway.
NAT1GigabitEthernet2198.51.100.1/30Outside port and PAT address.
Outside1GigabitEthernet1198.51.100.2/30Adjacent outside router.
Outside1Loopback0203.0.113.10/32Final destination, not an Internet host.
NAT policyStatic / pool198.18.0.100 / 198.18.0.101-102Routed lab translation addresses; not extra nodes.

Set up the lab

  1. Start fresh nodes with the two exact links. Record releases and interfaces; stop if the image or names do not match the reference platform.
  2. Keep NAT1 and Outside1 Consoles open throughout. Capture prelab snapshots and do not save an intentional fault into startup configuration.
  3. Only this disconnected lab may use clear ip nat translation *. It clears dynamic sessions on NAT1 and would disrupt users on a shared router.
  4. Paper alternative: compute each table row and diagnose selector/pool/return-route faults without running IOS. Do not claim measured allocation, throughput or session sharing.
01

Build the inside and outside boundary

In GNS3, right-click NAT1 and choose Console before typing. Start at > or # on the fresh router. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

enable
configure terminal
interface GigabitEthernet1
ip address 10.40.0.1 255.255.255.0
ip nat inside
no shutdown
exit
interface GigabitEthernet2
ip address 198.51.100.1 255.255.255.252
ip nat outside
no shutdown
end

What each command means

enable
Enter privileged EXEC (#) from user EXEC (>); use only your authorized lab credentials.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
interface GigabitEthernet1
Select the port cabled to PC1.
ip address 10.40.0.1 255.255.255.0
Set the inside gateway with the /24 mask.
ip nat inside
Mark this interface as the inside side of traditional NAT.
no shutdown
Enable the selected inside port.
exit
Return to global mode before selecting the other interface.
interface GigabitEthernet2
Select the cable toward Outside1.
ip address 198.51.100.1 255.255.255.252
Set the /30 outside transit address.
ip nat outside
Mark this as the outside boundary.
no shutdown
Enable the outside port.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
What you should see
Both ports have the intended roles and addresses.
Why this step matters
The boundary determines which traversing traffic is eligible for this style of NAT.
02

Add the destination route

In GNS3, right-click NAT1 and choose Console before typing. Start at # and inspect the initial state before any translation. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

configure terminal
ip route 203.0.113.10 255.255.255.255 198.51.100.2
end
show ip route
show ip nat translations
show ip nat statistics

What each command means

configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
ip route 203.0.113.10 255.255.255.255 198.51.100.2
Route the exact /32 destination through the adjacent outside router.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
show ip route
Record connected and static routes for the baseline.
show ip nat translations
Record the initially empty translation state.
show ip nat statistics
Check inside/outside interface identification and current statistics.
What you should see
The destination route exists; no client translation has yet been configured.
Why this step matters
A route and a translation are different objects and must be verified independently.
03

Build the destination and return route

In GNS3, right-click Outside1 and choose Console before typing. Start at > or #. Do not add a route to the untranslated client LAN. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

enable
configure terminal
interface GigabitEthernet1
ip address 198.51.100.2 255.255.255.252
no shutdown
exit
interface Loopback0
ip address 203.0.113.10 255.255.255.255
exit
ip route 198.18.0.0 255.255.255.0 198.51.100.1
end

What each command means

enable
Enter privileged EXEC (#) from user EXEC (>); use only your authorized lab credentials.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
interface GigabitEthernet1
Select the port cabled to NAT1's outside port.
ip address 198.51.100.2 255.255.255.252
Assign the adjacent transit address.
no shutdown
Enable the transit interface.
exit
Return to global configuration.
interface Loopback0
Create the logical interface serving as the final test destination.
ip address 203.0.113.10 255.255.255.255
Assign the final destination as a /32 host address.
exit
Return to global configuration before adding the return route.
ip route 198.18.0.0 255.255.255.0 198.51.100.1
Route the static/pool global range back to NAT1.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
What you should see
Outside1 reaches the translation range through NAT1 and owns the loopback target.
Why this step matters
Explicit routing makes the reply path reproducible without depending on proxy ARP.
04

Address PC1 and establish local baseline

In GNS3, right-click PC1 and choose Console before typing. Use the VPCS prompt, not IOS configuration mode. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

ip 10.40.0.10/24 10.40.0.1
show ip
ping 10.40.0.1
ping 203.0.113.10

What each command means

ip 10.40.0.10/24 10.40.0.1
Assign PC1's source, /24 mask and NAT1 gateway.
show ip
Inspect PC1's actual settings before testing.
ping 10.40.0.1
Test the inside cable and gateway.
ping 203.0.113.10
Record the untranslated attempt; Outside1 has no route back to the client LAN.
What you should see
The gateway should reply; the remote test should fail before NAT is configured.
Why this step matters
This records a limited path baseline and distinguishes local connectivity from translated return reachability.
05

Configure static inside-source NAT

In GNS3, right-click NAT1 and choose Console before typing. Start at #; this is the only active translation policy for PC1. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

configure terminal
ip nat inside source static 10.40.0.10 198.18.0.100
end
show ip nat translations

What each command means

configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
ip nat inside source static 10.40.0.10 198.18.0.100
Fix the inside-local client to the inside-global lab address.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
show ip nat translations
Inspect the static address relationship even before test traffic.
What you should see
The static relationship should appear; it does not itself prove a received reply.
Why this step matters
A fixed mapping can be configured without a flow, which differs from dynamic pool allocation.
06

Test the static mapping from the client

In GNS3, right-click PC1 and choose Console before typing. Use the VPCS prompt and the identical remote destination. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

ping 203.0.113.10

What each command means

ping 203.0.113.10
Generate inside-to-outside traffic and look for replies after initial discovery.
What you should see
Replies should arrive through the static translated return path.
Why this step matters
Immediately inspect show ip nat translations in NAT1's Console at # and record actual roles; no sample output is fabricated.
07

Replace static mapping with a pool

In GNS3, right-click NAT1 and choose Console before typing. Start at # only after PC1's finite ping has returned to its VPCS prompt and no other node is generating traffic. Clear transient NAT state only on this exclusively owned, disconnected disposable NAT1. Check after clearing, then remove the exact static rule. Before the second configure terminal, require its absence from running-config and no remaining .100/.10 mapping. Stop on an in-use error or unexpected entry; do not answer a broad deletion prompt or continue installing the pool. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

clear ip nat translation *
show ip nat translations
configure terminal
no ip nat inside source static 10.40.0.10 198.18.0.100
end
show running-config | include ip nat inside source
show ip nat translations
configure terminal
access-list 10 permit host 10.40.0.10
ip nat pool TWO 198.18.0.101 198.18.0.102 netmask 255.255.255.0
ip nat inside source list 10 pool TWO
end

What each command means

clear ip nat translation *
Clear transient translations only on this fully in-scope lab router; this disrupts active sessions and is not permission to clear a shared router.
show ip nat translations
Verify that transient ICMP child entries are gone. The configured static base relationship may remain at this point; stop if traffic recreates child entries.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
no ip nat inside source static 10.40.0.10 198.18.0.100
Remove this exact static relationship after clearing its active children; stop if IOS reports it remains in use.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
show running-config | include ip nat inside source
Require the old static .10-to-.100 rule to be absent before proceeding.
show ip nat translations
Require the removed mapping and its transient children to be absent. This is the mandatory checkpoint before installing a different policy.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
access-list 10 permit host 10.40.0.10
Select only PC1 as eligible for dynamic translation; this is not an attached filter.
ip nat pool TWO 198.18.0.101 198.18.0.102 netmask 255.255.255.0
Define two routed global addresses in the /24 translation range.
ip nat inside source list 10 pool TWO
Use ACL 10 to allocate non-overloaded addresses from pool TWO only after the static-removal checkpoint passes.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
What you should see
The old static policy and mapping must be absent before the pool and rule are installed. New PC1 traffic is still required to demonstrate dynamic allocation.
Why this step matters
Separate phases and explicit state checks prevent a lingering static translation from blocking removal or masking the new pool behavior.
08

Generate and read dynamic allocation

In GNS3, right-click PC1 and choose Console before typing. At the VPCS prompt, send the same traffic; then inspect NAT1 promptly as described. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

ping 203.0.113.10

What each command means

ping 203.0.113.10
Cause the eligible inside host to request an on-demand pool mapping.
What you should see
Replies should arrive. In NAT1's Console at #, show ip nat translations and show ip nat statistics should identify .101 or .102, not an invented fixed choice.
Why this step matters
One client demonstrates allocation only; two-address exhaustion and multiuser behavior remain paper predictions.
09

Replace the pool rule with PAT

In GNS3, right-click NAT1 and choose Console before typing. Start at # with PC1's test stopped. Clear dynamic state only because this router is disposable and exclusively in scope. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

clear ip nat translation *
configure terminal
no ip nat inside source list 10 pool TWO
no ip nat pool TWO
ip nat inside source list 10 interface GigabitEthernet2 overload
end

What each command means

clear ip nat translation *
Remove dynamic translation state for this isolated phase change; never run this indiscriminately on shared devices.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
no ip nat inside source list 10 pool TWO
Remove the non-overloaded pool rule before installing overload.
no ip nat pool TWO
Delete the now-unused pool definition.
ip nat inside source list 10 interface GigabitEthernet2 overload
Translate eligible flows using the outside interface address with protocol-specific sharing.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
What you should see
New flows use 198.51.100.1 under overload instead of the removed pool.
Why this step matters
Stopping traffic and clearing old state makes the new policy's effect observable.
10

Test and inspect PAT baseline

In GNS3, right-click PC1 and choose Console before typing. At the VPCS prompt, repeat the same destination; inspect NAT1 immediately afterward. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

ping 203.0.113.10

What each command means

ping 203.0.113.10
Generate an ICMP flow through interface overload.
What you should see
Replies should arrive; NAT1's show ip nat translations should show the interface global address and ICMP-specific state while present.
Why this step matters
ICMP uses identifiers, not TCP ports; a one-client test does not measure simultaneous multiuser sharing.
11

Introduce the wrong selector

In GNS3, right-click NAT1 and choose Console before typing. Start at # after the test stops. Keep interfaces, routes and PAT rule unchanged. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

clear ip nat translation *
configure terminal
no access-list 10
access-list 10 permit host 10.40.0.99
end

What each command means

clear ip nat translation *
Remove this isolated router's dynamic state so an old translation cannot hide the selector change.
configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
no access-list 10
Remove only this lab's dedicated NAT selection list.
access-list 10 permit host 10.40.0.99
Deliberately select a nonexistent host instead of PC1's .10 address.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
What you should see
PC1 no longer matches the translation selection.
Why this step matters
The experiment changes one policy decision; it does not install an interface deny rule.
12

Observe the failed translated exchange

In GNS3, right-click PC1 and choose Console before typing. At the VPCS prompt, compare local and remote tests without changing PC1. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

ping 10.40.0.1
ping 203.0.113.10

What each command means

ping 10.40.0.1
Confirm the unchanged inside gateway still responds.
ping 203.0.113.10
Retry the same remote path while PC1 is not selected for translation.
What you should see
Gateway replies should persist; remote replies should fail because untranslated PC1 has no return route. Inspect NAT1 for the missing new translation.
Why this step matters
The result is not evidence of a NAT ACL firewall drop; combine selector, table and route observations.
13

Restore the selector and verify state

In GNS3, right-click NAT1 and choose Console before typing. Start at #. Restore the exact approved source rather than widening the match to any. Type each line without the prompt and press Enter. Stop on a syntax error; retain the console for recovery.

configure terminal
no access-list 10
access-list 10 permit host 10.40.0.10
end
show access-lists 10
show ip nat statistics

What each command means

configure terminal
Enter global configuration mode from privileged EXEC (#); accepted changes affect the running device.
no access-list 10
Remove the deliberate wrong host selector.
access-list 10 permit host 10.40.0.10
Restore PC1's exact source selection.
end
Return to privileged EXEC (#). This neither saves the configuration nor reverses accepted changes.
show access-lists 10
Check the corrected host match in the dedicated selector.
show ip nat statistics
Confirm the intended NAT roles and overload policy remain configured.
What you should see
The approved source match is restored without changing routing or the outside address.
Why this step matters
A narrow repair preserves the reason the experiment is interpretable.
14

Repeat the client test and close

In PC1's Console, repeat ping 203.0.113.10. In NAT1's Console at #, immediately run show ip nat translations and show ip nat statistics. Retain the baseline, fault and restored observations, then stop all nodes.

What you should see
The same client flow should again receive replies and create the intended overload mapping.
Why this step matters
A completed repair needs both endpoint behavior and mapping evidence; neither result establishes DNS or application performance.

Verify

  • Record the four address roles for static, pool and PAT phases; never invent selected ports or identifiers.
  • Confirm the static rule is absent before the pool phase and the pool rule is absent before PAT.
  • Match each observed entry to a PC1 test, not a router-originated ping.
  • Compare the wrong-selector failure with the restored exact host match and repeat the same remote destination.

Troubleshoot

  • No entry: verify PC1's source, inside/outside roles and NAT selector; a router-originated test may bypass the intended ingress path.
  • Entry exists but no replies: inspect destination and return routes and outside host behavior before changing the translation rule.
  • Dynamic rule reports in use: stop the disposable client's traffic and inspect state; never clear unrelated production translations to continue this exercise.
  • Pool allocation absent: confirm the pool is referenced, the client matches and capacity is available. Static entries left from an earlier phase can mask the intended test.
Licensing and cleanup

GNS3 does not provide Cisco software images. Use Cisco images only when the applicable license or entitlement permits this environment. Do not share or redistribute image files. Cisco Modeling Labs is an official alternative; its supplied reference images are licensed for CML, not automatically for export to GNS3. Use the labeled paper alternative when authorized software is unavailable. No emulator execution is claimed by this lesson.

  • Stop traffic and all three nodes after restoring the correct selector; preserve the observed table values privately.
  • Revert the clean-project snapshots to remove every lab change. Do not export the configuration into a real edge router.

Practice set

Answer before you reveal

01What is PC1's inside-local address?
10.40.0.10 in all three phases.

The client's configured address does not change merely because the router selects a different outside representation.

02Why do the outside columns match?
The outside destination is not translated here.

Both columns describe 203.0.113.10 from different viewpoints. Equal values are expected, not a broken table.

03Does ACL 10 deny nonmatching packets as a filter?
Not merely because the NAT rule references it.

It selects translation candidates. A packet-filter role requires a separate attachment and policy; an unmatched NAT candidate may be forwarded untranslated.

04How does PAT distinguish ICMP echo flows?
It can use ICMP identifiers and other protocol state.

ICMP does not contain TCP or UDP source ports. Read the actual protocol column before interpreting colon-separated output.

05Why clear translations only in this isolated lab?
Clearing dynamic state can disrupt active sessions.

The whole disposable router is in scope here. On a shared router the same command could affect many unrelated users and hide useful evidence.

06What does one-client pool testing not establish?
It does not measure pool exhaustion or multiuser capacity.

Two addresses exist in the configured pool, but one client cannot demonstrate all simultaneous allocation and failure behavior.

Knowledge check

Quiz: prove the reasoning

0/5 answered
01Which address represents PC1 under static NAT?
02What changes when interface overload replaces the pool?
03An entry exists but no replies arrive. What remains necessary?
04A non-overloaded pool has two addresses. Which claim is sound?
05Which test best exercises this client's NAT path?

Keep these

Technical takeaways

  • NAT roles describe viewpoint, not merely public versus private addressing.
  • Static, pool and overload policies have different allocation behavior.
  • A NAT selector is not automatically a packet filter.
  • Translation tables and endpoint replies answer different questions.
  • Routes and the reverse path remain necessary after translation.