CGNAT: What It Is and Why VPN Users Should Care
If you've ever tried to set up port forwarding and had it simply not work — no matter what you did — CGNAT might be the reason why. It's one of those behind-the-scenes networking decisions made by your ISP that has very real consequences for how you use the internet.
What Is CGNAT?
Carrier-Grade NAT (also called Large-Scale NAT or CGN) is a method Internet Service Providers use to stretch the dwindling supply of IPv4 addresses. Instead of giving each customer their own unique public IP address, the ISP assigns one public IP to a large group of customers simultaneously. From the outside world's perspective, dozens or even hundreds of households appear to share the same IP address.
Think of it like an apartment building with one street address. The building itself has that one public address, but dozens of individual units exist inside. Mail (internet traffic) comes to the building, and a system inside routes it to the right apartment. CGNAT is that routing system — just at a much larger, ISP-level scale.
How CGNAT Works
Standard NAT, which most home routers already perform, translates your private local IP (like 192.168.x.x) into your router's public IP. CGNAT adds another layer on top of this. Your router gets assigned a private IP in the 100.64.0.0/10 range (reserved specifically for CGNAT), and the ISP's own system then translates that into a single shared public IP address.
So the path looks like this:
Your device → Home router NAT → ISP's CGNAT system → Public internet
This double-NAT setup is what causes so many headaches. Any request you send out can get a response routed back to you, because the system tracks outgoing connections. But incoming connections — ones initiated from outside — have nowhere to land. The CGNAT system doesn't know which of its many customers should receive an unsolicited incoming request.
Why CGNAT Matters for VPN Users
CGNAT creates several practical problems that directly affect VPN performance and functionality:
Port forwarding becomes nearly impossible. Running a home server, game server, or any service that requires outside devices to connect to you is blocked by CGNAT. Port forwarding rules set on your home router have no effect because the ISP's CGNAT layer sits in front of it.
Peer-to-peer connections are degraded. Torrenting, gaming with direct peer connections, and WebRTC-based applications all struggle under CGNAT. These technologies rely on being reachable from outside your network, which CGNAT prevents.
Shared IP reputation issues. Because hundreds of users share one public IP, if any of them engage in spammy or abusive behavior, that IP can get blacklisted. Everyone sharing it then suffers the consequences — blocked websites, CAPTCHAs, or flagged accounts.
VPN hosting at home is blocked. If you want to self-host a WireGuard or OpenVPN server at home so you can connect back to your home network while traveling, CGNAT will stop incoming VPN connections dead.
How a VPN Helps (and Its Limits)
Using a commercial VPN service bypasses many CGNAT headaches. When you connect to a VPN, your traffic exits through the VPN provider's server, which has a real, publicly routable IP address. This sidesteps the shared IP problem and restores a more direct internet connection.
Some VPN providers also offer port forwarding as a feature, which allows incoming connections to reach you through the VPN tunnel — solving the problem CGNAT created in the first place. A dedicated IP address from a VPN provider is another solution if shared IP reputation issues are affecting you.
However, a VPN won't automatically fix CGNAT for incoming connections unless that specific port forwarding feature is enabled and configured.
The Bigger Picture
CGNAT exists because IPv4 addresses ran out. The long-term fix is IPv6, which provides enough unique addresses for every device on earth. Many ISPs are slowly rolling out IPv6, but until adoption is universal, CGNAT remains a common workaround — and a common source of frustration for technically minded users.