Why am I seeing multiple different IP addresses reported as my public IP? [duplicate]

Could anyone explain why these sites are showing me as having different public IP addresses?

www.whatismyip.com - 46.19.227.251 as my IP

showmyipaddress.com - 46.19.227.253 as my IP

www.ipchicken.com - 46.19.227.252 as my IP

www.myipaddress.com - 46.19.227.250 as my IP


Solution 1:

You don't seem to have a public IPv4 address at all. Your ISP has several public addresses that it uses to NAT outbound connections from its users. In such a situation a user (i.e. you) doesn't get a public address and can therefore not accept any inbound connections for e.g. you camera. Your internet connection is outbound-only.

This is something people will have to get used to. The world is running out of unassigned IPv4 addresses, so sharing IPv4 addresses amongst multiple customers will become the norm. Technologies such as Carrier Grade NAT (NAT at the ISP level) and DS-Lite (NAT at the ISP level where IPv4 traffic is tunnelled over IPv6) will be outbound-only. Running your own service (web, camera, mail) will be impossible on such connections. If MAP is used (no NAT at the ISP level, IPv4 addresses are shared and a user gets a number of UDP and TCP ports) the user can use the given ports for NAT and inbound services.

The only way to keep the internet 'open' so that everybody has full connectivity, for inbound and outbound connections using whatever protocol they want, is to use IPv6. The world is slowly moving in that direction. If you look at Google's IPv6 statistics you can see that IPv6 adoption is growing exponentially.

If you run into problems such as described in this question the best thing you can do is to push for IPv6 adoption everywhere: your home ISP, your mobile provider, your office etc. Otherwise we'll end up in a situation where e.g. having a home camera reachable from the internet will become technically impossible.

Solution 2:

You could be behind a carrier-grade NAT (CGN) with an "IP address pooling" behavior of "Arbitrary", rather than the recommended behavior of "Paired". See https://www.rfc-editor.org/rfc/rfc4787#section-4.1 .

Or you could be behind a transparent HTTP proxy that causes similar problems, but only for HTTP.