Escape CGNAT with your own public IPv4

If your ISP uses CGNAT, port forwarding can't work. GetAStatic gives you a dedicated public IPv4 over WireGuard. Pro ($4/mo) fits most game servers, media servers and remote desktops: 100 Mbps, 1 TB a month. Plus ($2/mo) is 20 Mbps, for light use.

Not affiliated with Cloudflare, Tailscale, playit.gg, ngrok, Comcast or any other ISP. Prices as listed on their sites, checked 2026-10-06.

Instant setup US-based IP

Updated

Compare

Every way around CGNAT, compared

The usual fixes, side by side. A dedicated IP over WireGuard is the one that gives you a real public address without a new ISP plan or a server to run.

FeatureGetAStaticISP static IPCloudflare / Tailscaleplayit / ngrokVPS + WireGuard
PriceFrom $2/mo~$20/mo (reported)FreeFree tiersVPS rent
Your own public IPv4Yes, dedicatedIf the ISP sellsNo, shared hostnameNo, shared addressYes, the VPS IP
Any port, TCP and UDPYes, ports you openYesWeb ports, no UDPAssigned portsYes, your own rules
Software your visitors needNoneNoneNone for websitesNoneNone
Setup timeAbout 5 minutesDays, if allowedMinutes per hostnameMinutes, agent always onAn hour, then upkeep

An ISP static IP usually needs a business plan; the figure is Comcast Business static IP, from third-party reports. Plus opens 5 ports, Pro and Ultra unlimited. Checked 2026-10-06.

The problem

What CGNAT is and why port forwarding fails

Carrier-grade NAT (CGNAT) means your ISP shares one public IPv4 address among many homes. Your router gets an address from the shared range 100.64.0.0/10 (RFC 6598), not a public one. A NAT system inside the ISP's network turns it into the shared public address.

ISPs do this because IPv4 addresses ran out. New addresses cost money to buy or lease, and 5G home internet, satellite and many fiber and cable networks have far more customers than addresses.

Outbound traffic works as normal, so browsing and streaming feel fine. Inbound traffic does not. A connection to the shared IP stops at the ISP's NAT, which does not know which home it is for, so it drops it. A port forward on your router never sees the packet. Dynamic DNS does not help either: the name points to an address you do not own. Port forwarding not working? walks through every cause.

Pricing

Choose your plan

Plus for light use, Pro for most people, Ultra for full gigabit.

Plus
$2/mo

 

  • 1 dedicated IP address
  • 10 devices
  • 5 open ports
  • 100 GBbandwidth
  • 20 Mbpsspeed
Ultra
$10/mo

 

  • 2 dedicated IP addresses
  • Unlimited devices
  • Unlimited open ports
  • 5 TBbandwidth
  • 1 Gbpsspeed
Unlimited
Need unlimited data?
  • 100 Mbpsspeed
  • Unlimitedbandwidth
  • 1 dedicated IP address
$15/mo
  • Inbound + outbound access
  • Instant activation
  • 7-day money-back guarantee
  • Cancel anytime
Add-ons, per IP addressCustom hostname $5·Addtl. IP $2/mo (Ultra $7/mo, Unlimited $15/mo)·Gigabit Speed (Plus & Pro) $5/mo·SMTP $25

Pricing based on crypto.

Check

How to check if you are behind CGNAT

Use the Free CGNAT check, or check by hand. It takes two minutes and needs no tools.

  1. Open your router's admin page and find its WAN (Internet) IP address.
  2. If it is from 100.64.0.0 to 100.127.255.255 (100.64.0.0/10), you are behind CGNAT. For double NAT and other causes, see port forwarding not working?.

If the WAN IP is a public address, CGNAT is not the cause. Check your router, a firewall or a blocked port.

Why use GetAStatic?

Why people behind CGNAT pick GetAStatic

  • A dedicated public IPv4 that is yours alone, not a shared tunnel hostname
  • TCP and UDP on the ports you choose: 5 open ports on Plus, unlimited open ports on Pro
  • Nothing for your visitors to install: any game, app or browser connects to the IP
  • No VPS to rent or patch, no business internet plan, no router port forwards
How it works

Where a dedicated IP over WireGuard fits

A dedicated IP over WireGuard is its own kind of fix. You rent a static public IPv4 that lives on a server outside your ISP. Your device or router keeps a WireGuard tunnel open to that server. The tunnel starts from your side, so CGNAT lets it through like any other outgoing connection.

With GetAStatic, the server side is ours. Your IP sits in Kansas City, Missouri or San Jose, California. Every new IP starts with all inbound ports closed. You open the TCP or UDP ports you need in the dashboard, and connections to those ports come down the tunnel to your device. Outbound traffic leaves from the same IP, so it also works as a fixed address for allowlists.

You get the result of a VPS running WireGuard without the VPS: no server to rent, secure or update, and no forwarding rules to write.

Setup

Get a public IP behind CGNAT

Run WireGuard on the machine that hosts the service, or on your router to cover the whole network.

  1. Choose a plan and sign up. Your static IP shows in the dashboard.
  2. In the dashboard, open the ports your service uses, for example 25565 TCP for Minecraft Java or 32400 TCP for Plex.
  3. Download the WireGuard config and import it into the WireGuard app on the host. On a phone, scan the QR code.
  4. Turn the tunnel on. Search "what is my IP" on that machine. It should show your new address.
  5. Test from outside your network, for example from a phone on mobile data, with your IP and the port.

The tunnel connects out on UDP 1194 or 443, so it works on almost any network. If a network blocks WireGuard, switch the IP to AmneziaWG in the dashboard. It is on every plan.

Good to know

Good to know

  • We fix reachability, not your ISP. Your line, its speed and its CGNAT stay the same; traffic for your IP rides over it.
  • Speed is capped per IP by plan: 20 Mbps on Plus, 100 Mbps on Pro, 1 Gbps on Ultra. A monthly data allowance applies too.
  • All traffic for the IP passes through Kansas City, Missouri or San Jose, California. Users far from the IP's city see some extra delay.
  • One config runs on one device or router at a time; on a router, every device behind it shares the IP. Or add an IP for $2/mo.
  • It is a datacenter IP, not a residential one. That is fine for hosting, but a few sites treat hosting ranges more strictly.
FAQ

Questions, answered.

01What is the 100.64.0.0/10 range?

It is the shared address space set aside for CGNAT in RFC 6598: 100.64.0.0 to 100.127.255.255. If your router's WAN IP is in it, your ISP runs CGNAT, and nothing on the internet can reach your router directly.

02Can I ask my ISP to take me off CGNAT?

Sometimes. Some ISPs move you to a public IP on request or sell a static IP add-on. Many 5G and satellite plans do not, and others sell it only with a business plan. Starlink and T-Mobile Home Internet have their own guides. If the answer is no, a tunneled IP gives you the same result.

03Does IPv6 get around CGNAT?

Partly. If your ISP gives you IPv6, your device may be reachable over IPv6. But each visitor needs IPv6 too, and many networks, games and apps still connect over IPv4. A public IPv4 reaches everyone.

04Is Cloudflare Tunnel or playit good enough?

A tunnel can serve a simple website, but it stops there. Cloudflare Tunnel carries web traffic and gives you no public UDP. Tailscale Funnel only uses ports 443, 8443 and 10000. playit and ngrok give you shared addresses and assigned ports, and their agent must keep running. A dedicated IP serves websites and every other TCP or UDP port at one fixed address, so it is the simpler, complete fix. See the Cloudflare Tunnel alternative and playit.gg alternative pages.

05Do I need a VPS?

No. A VPS running WireGuard gives the same result, but you rent it, secure it and keep it updated. GetAStatic runs the server side for you. Compare the two.

06Can every device on my network use the IP?

Yes, through your router. Put the config on a router that runs WireGuard, such as GL.iNet, OpenWrt, pfSense, OPNsense or MikroTik, and point each open port at the right device. Router setup.

Have more questions? See the full FAQ →

Related

More ways to use a fixed IPv4.

All use cases →