Networks and addresses

CGNAT (carrier-grade NAT)

When an ISP puts many customers behind one shared public IPv4 address. Outbound works, inbound does not, and port forwarding stops working.


IPv4 addresses ran out, so ISPs put many customers behind one shared public address and translate in the middle. The customer's router gets an address from the range 100.64.0.0/10 or a private one, and the ISP's translator maps everyone's outbound connections onto the shared address.

Outbound connections work normally. Inbound ones have nowhere to go: a packet arriving at the shared address could belong to any of hundreds of customers. So port forwarding, dynamic DNS, a VPN or media server at home, and remote access to a camera or NAS all fail behind CGNAT. Mobile and fixed-wireless connections are almost always behind it; fibre and cable depend on the ISP and the tariff.

Ways out, in order: ask the ISP for a public address, use IPv6 for the services that can, move the service to a server with a public address, or route a public address to your router over a WireGuard tunnel from a provider that has them.

IP Tunnel