Here's what happens when you browse a website:
Outbound packet:
- Source: 192.168.1.100:54321
- Destination: 93.184.216.34:80
After NAT:
- Source: 203.0.113.5:54321 (public IP)
- Destination: unchanged
Router records this mapping:
- Internal: 192.168.1.100:54321
- External: 203.0.113.5:54321
Response arrives:
- Destination: 203.0.113.5:54321
- Router translates to: 192.168.1.100:54321
The web server never sees your private IP. It only knows your router's public address.