Port forwarding is the process of taking traffic heading for a public IP address, and redirecting it to another IP address or port. This process happens behind the scenes, and isn’t visible to the user. For that reason, network administrators use port forwarding as a security tool to control outside access to internal networks.
Port forwarding isn’t just useful for businesses. Home users might need it to run a game server, web server, or to access things like security cameras. Starlink doesn’t support port forwarding with the included router, but there are several workarounds. In this article, I will explain a few of the common methods that people use to forward ports using Starlink satellite internet.
How Starlink Assigns IP Addresses
There are two types of IP address protocols, IPv4 and IPv6. IPv4 is widely used by ISP’s like Starlink, while IPv6 is the newer, less utilized future of IP addressing. The internet has rapidly expanded around the world in the last few decades, and there simply aren’t enough unique IPv4 addresses to go around. As a workaround, ISP’s like Starlink use a system called CGNAT to dynamically assign IPv4 addresses.
Since Starlink uses CGNAT to assign you an IPv4 address, it is dynamic, and can change from time to time. This makes port forwarding a challenge. You can’t set up port forwarding when your IP address changes often.
Starlink also supports IPv6 addresses, but rollout has been slow and inconsistent. Unlike IPv4, there are plenty of IPv6 addresses to go around. Starlink is able to assign each customer a static IPv6 address. With a static IP address, you can set up port forwarding. Unfortunately, even if you are assigned a static IPv6 address from Starlink, the default router that comes with Starlink doesn’t support port forwarding. Luckily, you can simply bypass the Starlink router and use a 3rd party router that supports port forwarding.
If you have been assigned an IPV6 address from Starlink, you can use a 3rd party router that supports port forwarding. To check to see if you have an IPv6 address on Starlink, use an online IPv6 checker.
An aftermarket router will be required to take advantage of a static IPv6 address if you are lucky enough to get one from Starlink. You can set up your port forwarding on the 3rd party router, and then use your IPv6 address to access your services from outside the local network.
I have complied a list of the best aftermarket routers for Starlink if you need recommendations. Once an aftermarket router is installed, you’ll need to bypass the Starlink router.
Stuck with an CGNAT and IPv4? No problem, there are a couple of workarounds that you can try to use in place of proper port forwarding. The first option is to use a VPN that supports port forwarding. The idea here is to install the VPN client on your devices, and then set up the forwarding in the VPN settings. Your VPN provider will issue you a static IP address that you can use for external connections.
I consider this a workaround because using a VPN can cause some issues. First, some additional latency is involved. Traffic has to be routed from the device, to the VPN server, and then back to your local network. This isn’t ideal for all situations, such as hosting a game server. Second, some VPN providers limit bandwidth, limit open ports, or randomly assign ports.
The VPN service that I recommend is Private Internet Access, which supports forwarding one random port for all subscription tiers, on VPN servers around the world. I provide more recommendations in my article on Starlink and VPN’s.
If you don’t want to rely on a VPN, there is a similar method that you can use to create a secure tunnel from outside devices, to inside your local network. Services like ngrok can be deployed as a workaround for port forwarding with Starlink. The basic process looks like this:
- Install ngrok on your device
- Run the command to start a tunnel and define the port
- Use the provided unique address to access the device from outside the network
I’m not experienced with products like ngrok, but I did find a great tutorial on using ngrok to get around CGNAT issues. There is also this Reddit post that shows how one Starlink customer used ngrok to access a Plex server remotely.
Getting A Static IP With Starlink Business
Finally, one method to consider would be to upgrade to Starlink Business. With the Business plan, you can request a static IPv4 address. Combine the static IP with an aftermarket router to set up port forwarding. This option really only applies to business users, as the cost is significantly higher than the Residential plan.