Exercise 1: Why a Mismatched IP Might Not Mean Anything Is Wrong — Possible Solution ==================================================================== WHY THE TWO ADDRESSES ARE EXPECTED TO DIFFER ------------------------------ Per this chapter, "the router performing Network Address Translation (NAT) rewrites that private address to its own public one before traffic leaves the local network." The address in ipconfig is the user's private, local-network-only address; the address a server records is the public address the router substituted in its place. These are two different addresses by design, not by error. WHY COMPARING THEM DIRECTLY IS THE ACTUAL MISTAKE ------------------------------ Per this chapter, "a quick 'what's my public IP' check... is worth running before comparing a user's own reported address against anything in server logs or a firewall rule - otherwise you're comparing two genuinely different addresses and drawing conclusions from a mismatch that was never meaningful in the first place." The private and public addresses were never supposed to match - expecting them to is the actual error, not the mismatch itself. WHAT TO DO INSTEAD ------------------------------ Check the user's actual public-facing IP (e.g. via a "what's my IP" check like curl ifconfig.me) and compare that address - not the private one from ipconfig - against the server's log entry, since that's the address NAT actually presents to the outside world. WHY THIS WORKS AS AN ANSWER ------------------------------ It explains specifically why NAT causes the two addresses to differ by design, and correctly identifies that comparing a private address against a public-facing log entry is a category error rather than evidence of an actual problem.