My home’s internet connection is Starlink. It’s my understanding that Starlink’s router doesn’t support port forwarding. Am I out of luck for using Roon ARC?
If I were to switch the Starlink box into passthrough mode and use a separate router, could I make that work? I’ve been reading that Starlink passthrough has some limitations of its own (including loss of access to Starlink diagnostics), so I really only want to do that if absolutely necessary.
@John_Elsbree - I am in a very similar position to you, running Roon ROCK on a NUC (with a fixed LAN IP), and using Starlink. But I do have a Unifi USG “router” immediately downstream of the Starlink box, so will see if I can set up some form of VPN on that. But this is right at the edge of my pay grade, so will struggle a bit. Hey Ho!
My ISP is Starlink - I’m no network guy, but I did get ARC to work - I have my core running on a Windows 10 NUC - I use Mullvad VPN service. I installed the ’ Mullvad VPN for Windows’ app on that NUC, and added a port to be forwarded to the NUC devise on the Mullvad website that was now listed on my account after installing the app - next I restarted the app on the NUC and started ROON - I updated the port number to the one Mullvad provided under the ARC settings. At this point ROON really did the rest - I too don’t use the Starlink router and have an ASUS router with port forwarding turned off - so maybe something like this may work with just the Starlink router? don’t know…
I choice Mullvad because they offer port forwarding. I see NordVPN has been mentioned. They are big and there could be some way to configure it with them, but I do know they don’t offer port forwarding at this time.
I’m sure there’s other ways to do this, and hopefully in the future this can be addressed without the use of a VPN. Starlink seems to be slowly rolling out some IPv6 - so it could work once that is implemented. The good folks at ROON too are fully aware of the situation and I’m sure will try to address it once the dust settles a bit.
I’m a little fuzzy on what will happen without having a static IP from the VPN service. I’ve been connected now for a couple of days and it seems to be holding up. I don’t know if they’ll assign a new IP while connected to the VPN? If not, that seems good… On the other hand, if you get a new IP assigned after disconnecting and reconnecting to the VPN, with ROON then reconfiguring itself, that seems ok as well, as ARC wouldn’t work anyway without the VPN connection. The thing that would bust it (I think) is if they assign a new IP while connected and ROON can’t figure that out.
Like I mentioned at this point, this is all sort of new to me and just an experiment. I’m sure there will be good , solid solutions popping up over the next several weeks for the folks with outstanding issues.
I got it working pretty easily on Starlink with Tailscale. Didn’t even need port forwarding. The key was running the ARC app’s initial setup while connected to my local network. Then I could turn wifi off on my phone, connect to Tailscale, and ARC worked. How well it works will depend on what kind of mood Starlink’s in. When I first tried it this afternoon, it worked really well. When I tested it a little just now, there were a decent number of pauses while playing a test track. So YMMV but it’s definitely possible.
I’m not 100% sure, but I suspect what allows it to work in my setup is that I’m running Tailscale on a Raspberry Pi 4 configured to route my local subnet over Tailscale. So any device that connects to my Tailscale can access any device on my local network even if it’s not running Tailscale itself. My theory is that ARC is actually seeing my core as being on the local network, and that’s allowing it to work even though the ARC settings in the main Roon app says “not ready.”
I’m not a networking engineer, nor do I want to become one. I just want to listen to music. Roon on ROCK had been a blissfully turnkey experience for me, up until Tuesday with the introduction of ARC. (Sure, I could keep using what I have and just ignore the ARC feature, but I don’t want to pass it up just because Starlink happens to be my only viable ISP option.)
Given my current setup (Starlink, ROCK), what additional hardware/software/services will I need to buy and configure to make all of this work? I’m looking for something that explains it at the same level as the build-your-own ROCK instructions. Am I asking too much?
Reading back over your first post, you would need the ethernet adapter, the Starlink router in bypass mode*, and have a 3rd party router. You’d also need a Raspberry Pi 3 or 4, and an account with Tailscale which is free for personal use. I wouldn’t say any of this is particularly difficult to do especially since there are lots of great guides out there that I used myself. I’m definitely not a network engineer either. But it is pretty involved. It is not turnkey. It is very DIY, and there’s a lot of Linux commandline stuff involved. It’s not going to be as simple as the ROCK instructions. I don’t know how comfortable you’d be with all that. If this all sounds daunting and unfamiliar to you, I’d recommend going another direction. You can use Soundiiz to sync your Roon library to a lot of streaming services you can use away from home for example. That’s what I was doing before. Or if you want to try to tackle this I’d be happy to try to dig up some guides to help you out.
*I really haven’t found any downsides to bypass mode in using it for a couple of months now. And it’s not difficult to reenable access for the app and the web portal. It just takes one router setting. Or some routers may even take care of it for you.
I have just achieved the Tailscale solution to get around a CGNAT with Roon ROCK. I took an hour to do after watching the video I’m linking. However, I did use my Synology NAS to host the Tailscape APP and I had to learn how to SSH into the synology to execute 1 command. I would describe this process as simple overall. It does need more hardware than you have described but leaves you with a system that functions as if you were on your home network even when you are elsewhere so port forwarding is not required.
I would highly recommend it, you can run the Tailscale app on different hardware. It functions as a ‘subnet router’ for your Roon setup if you run ROCK. I think there will be other more simple solutions if you are not using ROCK. Don’t be dissuaded by the learning curve, it’s a free way to avoid CGNAT which is well regarded in the wider internet community.
I didn’t realize that the Windows and Mac versions of Tailscale now support being subnet routers. This was a LInux only thing not that long ago. So if you have a PC or Mac around that you can leave on and connected to the internet 24/7, this actually turns out to be a lot more simple than I thought it would be for you. I don’t think you’d even need the ethernet adapter and bypass mode. So if you already have a computer you can use:
follow the Tailscale quickstart guide and install it on the computer you’re going to use. Skip step 3. You’ll do this later.
follow steps 1-4 in their subnet router guide.
2b. to find your subnet for advertise-routes in step 2 of the guide, first find your local ip address on any device on your home network. Then replace the number after the last dot with 0/24. For example if your devices IP address is 192.168.0.42 then your subnet will be 192.168.0.0/24. And the command for enabling it would be sudo tailscale up --advertise-routes=192.168.0.0/24 Their example puts in 2 subnets separated by a comma, but you’ll only have one.
if you haven’t already do the initial setup of the ARC app while connected to your home wifi.
Install the Tailscale app on your iOS or Android device and login to your account. You should see the device you setup as your subnet router in the list of connected devices.
test it out by turning wifi off on your phone/tablet and turn the switch on in the Tailscale app. Give it a sec to connect.
Go back to the ARC app. Depending on your internet speed on both ends, it may take a few seconds for it to connect to your core. Try playing some tracks. If ARC says it can’t connect to your core try forcing it closed and reopen it.