I almost paid my ISP for a static IP, but a free Tailscale account did the job better

I almost paid my ISP for a static IP, but a free Tailscale account did the job better

Published Jul 19, 2026, 8:00 AM EDT Shekhar Vaidya is a veteran technology journalist and computer science engineer. He is the founder of TechLatest, where he has spent years providing technical analysis on hardware and Windows ecosystems. Now a Computing Writer at XDA, Shekhar leverages his deep background in NAS, storage solutions, and PC internals to help readers master their tech. When I needed external access to my homelab, both my ISPs backed out because they were behind CGNAT. And at that time, a public IP seemed like the only way out. When I talked to my ISP, the only solution was getting a paid IP address. But before I called them back to confirm, something made me pause. I remembered a free alternative that I’d seen mentioned before but had never tried. That one decision ended up saving me from paying for something I could have avoided. I was one phone call away from paying for a static IP The quote made me stop and check something first When I first signed up with my ISP, I wasn't into self-hosting or home labs yet. So, at that time, I only needed an internet connection, and a static IP didn’t matter to me. And living in the countryside also narrowed my options; not many ISPs were available, so I took the best one. Fast-forward to a year ago, I started to take a dive into the self-hosting world by repurposing an old Dell laptop into a bare-metal Debian server. Somewhere between signing up with my first ISP and building the homelab, I'd also added a second ISP as backup. I hit the wall almost immediately. Jellyfin was the first service I deployed on the server. And it turned out I couldn’t access Jellyfin or even the server itself when I was outside my home network. So, when I needed external access — SSHing into the server, using Portainer, accessing files, and using admin panels — none of it worked. Why? After doing research, and I mean a lot of research, I found out that I didn’t have a unique IP address from either of the ISPs. Both of them were behind CGNAT, and traditional port forwarding wasn’t an option for me. I called both ISPs to ask about getting a static IP. ISP 1 said they could provide a static IP for an additional cost, but ISP 2 didn’t even bother offering one. Then I asked ISP 1 for pricing; they shared it, and I was shocked when I looked at it. It was half of the bill I was paying for a 300Mbps connection. But I needed the static IP for my home lab, so I was almost ready to go ahead with it. Before hitting the trigger, I was looking for a way around the static IP altogether. That was when I came across an XDA article breaking down CGNAT and the handful of ways around it. The article mentioned Tailscale, and it immediately clicked; I had already read about it in a few Reddit threads. I decided to try it first before making that call. Tailscale was already doing the job I was about to pay for I gave it a shot before calling my ISP back Setting up Tailscale for the first time literally took five minutes. I created the account, installed the client on all my devices, and logged in. That was all. Whenever I needed to reach any of my internal services outside the home, I just connected to my tailnet. I logged in to my server via SSH and opened Portainer. Everything loaded as if I were on the same local network. No opening a hole on my router, no port forwarding, nothing. Just a Tailscale client, and I was set. Every task I expected a static IP to unlock, like SSH sessions, accessing SMB shares, deploying Docker containers, and opening self-hosted admin dashboards, simply worked through Tailscale instead. When I dug deeper, I learned that Tailscale created a secure private network between my devices. And it worked through my CGNAT connections because it used NAT traversal and relay servers when needed. When I installed Tailscale on my server and then on my other devices, I wasn’t expecting it to completely replace the static IP. I just wanted to test it out before making the final call to the ISP for making the purchase. But it was working way better than I expected. And at this point, the static IP no longer felt necessary. So, instead of calling the ISP back for a static IP, I decided to keep Tailscale running for a week before making a final call. I eventually realized that there was nothing left that a static IP would solve that Tailscale couldn’t in my case. The free plan covered everything I actually needed The static IP never came up again One week in, then another, and then I finally forgot about even getting a static IP. I never got a valid reason to call the ISP back. The longer I used Tailscale, the clearer it became that my remote access needs were already covered. The free tier, it turned out, covered every use case I had. It accommodated all my personal devices and homelab. I had a stable connection whether I was on public Wi-Fi or mobile data. I could access files, SSH into my server, and handle management tasks reliably without thinking about my router settings, DDNS, or firewall anymore. Tailscale handled everything under the hood reliably. But I also knew Tailscale wasn't a nonprofit — it wouldn't give away its service for free forever. Someday, it could just retire the free plan and force everyone to opt for a paid subscription. At that point, a paid static IP from the ISP would make more sense. There were a few scenarios where a static IP address would do better than Tailscale. For example, if I were to host a service intended for the public internet, Tailscale would fail because installing the client on each device isn’t feasible. Tailscale does have a Funnel feature meant to address exactly this, but I hadn't looked into it at the time. Or in workflows where a VPN or mesh network isn't practical, I'd still need a static IP or a tunnel service like Cloudflare for direct inbound access without requiring a private network. For my homelab, my family and I were the sole users. Every device that needed access belonged to my family, so the limitation no longer applied to me. The biggest result wasn’t that Tailscale saved me a few bucks every month, but it was discovering that a free tool could solve what I was thinking of paying for. A public IP was never the answer I needed It started as a test that saved me the money I never needed to spend in the first place, at least for my use case. Initially, a static IP address felt like an inevitable next step for remote access, but a free Tailscale account proved otherwise. By trying Tailscale first, I realized that all the day-to-day workflows worked perfectly without a public IP address. Today, I still don’t have a public IP address from my ISP, just a list of devices on my tailnet that can communicate with each other. That has turned out to be the more reliable setup than making a hole in my router. Tailscale Tailscale is a tool that allows you to create specific network connections so you can remotely access resources within a private network.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.