Hairpin NAT (NAT loopback) allows internal devices to access internal servers using the public IP.
The problem:
- You host a web server at 192.168.1.50
- Port forwarding maps public IP port 80 to this server
- External users access via public IP
- Internal users try same public IP and it fails
Why it fails:
- Packet goes to router with public destination
- Router forwards to internal server
- Server responds directly to internal client (same subnet)
- Client rejects response (came from wrong IP)
Hairpin NAT solution: Router performs full translation even for internal traffic.
Alternative: split-horizon DNS.