What is CGNAT, and why can't I port-forward?
You set up port forwarding for a game server, a camera or a home server, exactly as the guide said. From outside, nothing connects. The router isn't broken. Your connection may simply not have a public address of its own.
What CGNAT is
There aren't enough IPv4 addresses for every home and phone. Your router already solves this inside your home: all your devices share one public address, and the router (with NAT, network address translation) keeps track of which device each conversation belongs to.
CGNAT does the same one level up. Your provider's equipment shares one public address among many customers, and your router gets a private address from the provider instead. Outgoing connections work normally: browsing, streaming and calls are fine. Incoming connections are the problem. When someone outside connects to the shared public address, the provider's NAT has no idea which of its customers they want, so it drops the connection. Port forwarding on your router can't change that, because the connection never reaches your router.
Mobile networks use CGNAT almost everywhere. Many fibre and cable providers use it too, particularly newer ones and those that give customers native IPv6 with IPv4 tunnelled through a shared gateway (a set-up called DS-Lite).
A worked example: the address range that gives it away
Providers usually number the customer side of CGNAT from a block reserved for exactly this purpose, 100.64.0.0/10. We put it into iplover's subnet calculator:
| Block | 100.64.0.0/10 |
|---|---|
| Range | 100.64.0.0 to 100.127.255.255 |
| Addresses | 4,194,304 (4,194,302 usable) |
| Netmask | 255.192.0.0 |
| Type | Carrier-grade NAT (shared) |
So the rule of thumb: if your router's internet address starts with 100. and the second number is between 64 and 127, you're almost certainly behind CGNAT. Addresses from 100.0 to 100.63 and from 100.128 upwards are ordinary public ones; only that middle block is shared space.
Check your own connection in two minutes
- Find your router's internet address. Open the router's admin page (often
192.168.1.1,192.168.0.1orfritz.box; our router guide shows how to find it) and look for “WAN”, “Internet” or “Online status”. - Find your public address. Open iplover's homepage; the big address at the top is what the internet sees.
- Compare them.
| Router's internet address | What it means | Port forwarding |
|---|---|---|
| The same as iplover's homepage | You have your own public IPv4 address | Works. If it doesn't, check the router rule and the device's firewall. |
In 100.64.0.0–100.127.255.255 | CGNAT | Won't work over IPv4. |
In 10.x, 172.16–31.x or 192.168.x | Another router or NAT in front of yours (double NAT), or the provider's own NAT | Forward on the first router too, or put one in bridge mode. If the provider runs it, as CGNAT. |
| Only an IPv6 address shown | Native IPv6, with IPv4 shared (often DS-Lite) | Use IPv6, or one of the options below. |
A second clue is the route out. On Windows run tracert -d 8.8.8.8, on macOS or Linux traceroute -n 8.8.8.8. If the hop right after your router has a 100.64–100.127 address, that's typically the provider's NAT. (Some providers use that range inside their network for other reasons, so treat this as a hint, not proof.)
Ways around it
| Option | Good for | Catch |
|---|---|---|
| Ask your provider for a public IPv4 address | Everything that needs incoming IPv4 | Some providers do it free on request, some charge, some (especially mobile) can't. |
| Use IPv6 | Home servers, cameras, remote access, if the other side has IPv6 too | Open the port for the device's IPv6 address in the router's IPv6 firewall. Visitors without IPv6 can't connect. |
| A tunnel that connects outwards (Cloudflare Tunnel, Tailscale, ZeroTier, WireGuard to a rented server) | Websites, remote desktop, private access for yourself | Depends on a third party or a server you pay for. |
| Game consoles and multiplayer | Most games still work behind CGNAT | “Strict” or “type 3” NAT can limit hosting and voice chat; a public IPv4 address fixes it. |
UPnP and similar automatic port-opening features only talk to your own router, so they can't punch through your provider's NAT either.
What CGNAT means for your address
Behind CGNAT, the public address websites see is shared with other customers at the same moment. That has side effects: one customer's misbehaviour can get the shared address blocked or flagged, sites may show you more captchas, and the address on iplover's homepage isn't “yours” in any lasting sense. It also means an address in someone's log can't be tied to a single household without the provider's records of which customer used which port at which second.
Sources
Official documents we used to check the facts in this guide.