Skip to content
InstagramYouTubeFacebook

Case Study

Starlink IP Changes: The NATCloud Fix

Starlink's CGNAT and dynamic IP behavior breaks classic inbound access. NATCloud restores reachability through an outbound tunnel, no public IP.

Summary When Starlink customers complain that “my IP changed again,” the visible problem is rotation but the deeper problem is CGNAT. Starlink’s default network places customers behind shared NAT, so inbound IPv4 reachability is not actually available unless you pay for the public-IP add-on. Classic remote-access patterns — port forwarding, DDNS, IP whitelists — degrade or stop working entirely. NATCloud solves this by replacing inbound dependence with an authenticated outbound tunnel, restoring management access without needing a public IP.

Starlink customers see what looks like rapid IP rotation because the default service places subscribers behind CGNAT (Carrier-Grade NAT, RFC 6598 shared address space at 100.64.0.0/10). Under CGNAT, the public address visible to external services is shared across many subscribers and can change on egress-pool reassignments without the customer router’s WAN actually renumbering. Add Starlink’s dynamic capacity, resilience, and expansion decisions on top, and the result is an address that appears to drift on a timescale much shorter than a typical broadband WAN.

The distinction matters because it changes the solution. If the only problem were “my IP is dynamic,” DDNS would be enough — keep the hostname mapped to the current IP and you’re done. But under CGNAT, there is no globally routable IPv4 on the customer WAN at all. DDNS resolves the hostname to whatever the customer thinks is “their” IP, but inbound connections to that address either fail outright or land on someone else’s session. The shared address space breaks the “one customer, one public IP” assumption that the classic remote-access toolkit depends on.

Why this hurts access more than people expect

Traditional remote access depends on a brittle chain: public IPv4 on the WAN, inbound reachability through the ISP, a port-forwarding rule on the customer router, a firewall pinhole to a specific device, and often an IP-based trust model on the destination side. That chain has security weaknesses even on a normal broadband link. On Starlink CGNAT, it becomes operationally unstable.

Inbound access turns into a lottery: sometimes the address routes back to your subscriber, sometimes it routes to another customer on the same egress pool, sometimes inbound publishing never existed at all. Logs, geolocation, audit assumptions, and IP whitelists all degrade. This is particularly painful for technicians managing cameras, routers, DVRs, web interfaces, and branch devices that were never designed for identity-based access models — they assumed a stable public IP they could whitelist.

NATCloud isn’t just another way to reach a device from the internet — it inverts the model. Instead of asking the public internet to find a device by its current public IPv4, NATCloud keeps the relationship anchored in an authenticated outbound tunnel established from the customer site to the cloud. The practical dependency shifts from “what is my public IP right now?” to “does the site have outbound connectivity?” — and outbound connectivity is almost always available on Starlink, even when inbound publishing isn’t.

The architecture has a second-order benefit. Once access no longer depends on the WAN IP staying put, the rest of the operating model gets cleaner: monitoring, alerts, availability reporting, team-based permissions, and inventory become part of the same control plane instead of being improvised around changing addresses, ad-hoc firewall exceptions, and spreadsheet lists. Centralized permissions, automatic inventory, reporting, and support for CGNAT, double NAT, and triple NAT scenarios are first-class features instead of workarounds.

What this means for the rest of the architecture

A NATCloud-centered access design reshapes how three adjacent decisions get made.

DDNS becomes secondary, not primary. DDNS is useful when a real inbound address exists and changes occasionally. Under CGNAT, DDNS cannot create inbound reachability by itself. A Starlink + NATCloud architecture is operationally stronger than Starlink + DDNS for most deployments. DDNS still has a role for non-CGNAT sites in the same fleet, but it stops being the default answer. For the DDNS-only baseline, see our Intelbras DDNS guide and the VPS-based MikroTik management guide.

The public IPv4 add-on becomes a business choice, not a fix. If a specific workload genuinely needs classic inbound IPv4 and Starlink supports public IPv4 on that plan, take it for that workload. Treat it as an exception for a known requirement — not as the baseline architecture for every device. Most of those devices only need secure management access, not public-internet publication.

IPv6 helps but isn’t a magic wand. Starlink supports IPv6 with mechanisms like SLAAC and delegated prefixes. IPv6 can restore end-to-end reachability when the prefix is properly delegated and filtered, but it still requires disciplined firewall policy. For many operations teams, NATCloud is simpler than retooling every workflow around direct IPv6 exposure — particularly when the device fleet includes older equipment with weak or absent IPv6 support.

Documentation and references

Two technical fundamentals underlie the Starlink case: RFC 1918 defines private IPv4 ranges for internal networks, while RFC 6598 reserves 100.64.0.0/10 as the shared address space used by CGNAT. RFC 4862 covers IPv6 SLAAC. Together these documents explain why “the internet works” is not the same thing as “I have stable inbound public reachability.”

Starlink’s own support materials confirm that public IPv4 is an optional configuration tied to certain service plans, while the default behavior uses CGNAT, and that the network is dynamic with addresses subject to change as part of capacity, resilience, and expansion decisions. The combination of these two facts — CGNAT-by-default plus dynamic addressing — is what makes inbound IP-based access patterns unreliable.

Take the next step

If your access design still depends on “my current public IP,” Starlink will keep feeling unstable. The deeper problem isn’t emotional, and isn’t even purely Starlink-specific — it’s architectural. In the default Starlink model, public IPv4 stability and inbound reachability are not safe assumptions. NATCloud solves this by removing the public-IP dependency from the management path and replacing it with a controlled outbound tunnel that behaves much better under CGNAT and dynamic addressing.

The best response to Starlink IP changes is not to fight harder for the same old access method. It is to stop making stable public IPv4 the cornerstone of your access strategy.

Start your free MKController trial