Check my connection

Guides · Networking basics

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:

Block100.64.0.0/10
Range100.64.0.0 to 100.127.255.255
Addresses4,194,304 (4,194,302 usable)
Netmask255.192.0.0
TypeCarrier-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

  1. Find your router's internet address. Open the router's admin page (often 192.168.1.1, 192.168.0.1 or fritz.box; our router guide shows how to find it) and look for “WAN”, “Internet” or “Online status”.
  2. Find your public address. Open iplover's homepage; the big address at the top is what the internet sees.
  3. Compare them.
Router's internet addressWhat it meansPort forwarding
The same as iplover's homepageYou have your own public IPv4 addressWorks. If it doesn't, check the router rule and the device's firewall.
In 100.64.0.0–100.127.255.255CGNATWon't work over IPv4.
In 10.x, 172.16–31.x or 192.168.xAnother router or NAT in front of yours (double NAT), or the provider's own NATForward on the first router too, or put one in bridge mode. If the provider runs it, as CGNAT.
Only an IPv6 address shownNative 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

OptionGood forCatch
Ask your provider for a public IPv4 addressEverything that needs incoming IPv4Some providers do it free on request, some charge, some (especially mobile) can't.
Use IPv6Home servers, cameras, remote access, if the other side has IPv6 tooOpen 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 yourselfDepends on a third party or a server you pay for.
Game consoles and multiplayerMost 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.