August 10, 2026•4 min read

Understanding CGNAT: How It Disrupted My Home Lab Experience

A recent issue with CGNAT caused a disruption in home lab access, leading to creative solutions for maintaining connectivity. Here's the story of how one user managed it.

A home networking setup featuring a router and connected devices, illustrating issues related to CGNAT.

Unexpected Changes to External Access

The homelab community operates on an unspoken rule: when something unexpectedly stops functioning, the first instinct is to check the internal setup. Recently, this rule was put to the test when something changed without warning, leading to a complete breakdown of external access to resources. Despite having everything configured properly, the external services like Jellyfin failed to load, and every attempt to rectify the situation led to more confusion than clarity.

Initial Diagnosis: A Network Issue?

On a weekend morning, a user experienced a service breakdown while trying to access their media server from a MacBook Pro. Initially connected to an iPhone hotspot, the user faced an ERR_CONNECTION_TIMED_OUT error when attempting to load the Jellyfin interface. However, switching back to home Wi-Fi quickly resolved the issue, prompting an investigation into the network setup. The user immediately suspected a failure on their end, leading to a detailed check of the router settings, firewall configurations, and port forwarding rules.

Diving Deeper into the Setup

Upon logging into the TP-Link ER605 router, the network administrator diligently checked the Virtual Servers section under Transmission/NAT to confirm that port forwarding settings had remained intact. After confirming correct configurations there, attention turned to the firewall settings, which also appeared normal. Despite these checks, there remained a nagging annoyance that everything seemed fine yet failure persisted in accessing external services.

Identification of the True Issue

Given that the internal setup was verified as functional, the next logical step was to investigate the router’s WAN IP address. The shift was glaring: the router had lost its public IPv4 address and instead displayed a private address. This new development suggested that something had changed at the ISP level, leading the user to suspect being placed behind Carrier-Grade NAT (CGNAT).

Understanding CGNAT

CGNAT is a technology that allows ISPs to optimize their network and conserve public IPv4 addresses. By placing multiple customers behind a single public IP address, ISPs can cut costs and address the growing shortage of IPv4 addresses. In this scenario, the user’s suspicion was confirmed upon running a traceroute, which revealed a response from the 100.64.0.0/10 subnet — a significant identifier of CGNAT.

ISP Response: The Price of Static IPs

Faced with this unexpected challenge, the user contacted the ISP for clarification. The automated response from the ISP revealed a harsh reality: the current service contract did not include a public static IP address. For an additional charge that amounted to half the monthly fee for a 300 Mbps connection, a static IP could be obtained. In light of this steep charge, the user set out to find alternative solutions to manage home accessibility without incurring additional costs for a static IP.

A user on a call with their ISP, looking frustrated over the static IP charges.

Creative Workarounds: Tailscale and Cloudflare

A pivotal part of the resolution came from existing technology in use. Tailscale provided seamless access to internal services such as Portainer and Pulse, proving robust against the restrictions imposed by CGNAT. This mesh VPN service allows outbound connections to its servers while enabling private peer-to-peer connections, hence retaining access to necessary services without relying on traditional port forwarding.

Further adjustments were necessary for services that required public accessibility, such as Jellyfin and Nextcloud. The solution lay with Cloudflare Tunnel, which is designed to create secure, outbound-only connections from the user's network to Cloudflare’s global network. This innovative solution eliminates the need for port opening on the router, allowing public reachability without compromising security.

Implementation and Outcome of the New Setup

After implementing the Cloudflare Tunnel, the user found all services accessible publicly without further router modifications. The combination of Cloudflare Tunnel for public access to essential services and Tailscale for private device connectivity allowed for an effective workaround against the restrictions imposed by CGNAT.

Lessons Learned

Ultimately, this experience highlighted the need for adaptability in response to changing network environments. Rather than causing a breakdown of the home lab, CGNAT merely necessitated a change in strategy for external accessibility. In ensuring secure connections without traditional methods like port forwarding, services like Tailscale and Cloudflare Tunnel emerged as reliable alternatives. The key takeaway for any self-hosting enthusiast is the importance of understanding the internet infrastructure involved and recognizing how changes by an ISP can impact personal setups.

Key Takeaways

  • CGNAT optimizes public IP address usage by placing multiple customers behind a single address.
  • User discovered CGNAT after abnormal changes to WAN IP addresses and traceroute checks.
  • ISP refused to provide a static IP without additional fees, prompting the search for workarounds.
  • Tailscale and Cloudflare Tunnel allowed seamless access to home lab services despite CGNAT limitations.
  • Adapting to network changes can lead to safer and more efficient home lab setups.

Frequently Asked Questions

Carrier-Grade NAT (CGNAT) is a technology used by ISPs to manage IPv4 address shortages by placing multiple users behind a single public IP address.
#CGNAT#Networking#Home Lab#ISP#Tailscale