How to Get Roon ARC Working with CG-NAT & IPv6

Roon Server Machine

NUC8i3

Networking Gear & Setup Details

  1. Who is your internet service provider?
    Altibox / Bergen Fiber

  2. Please list the make and model of your modem and router?

  3. Do you have any additional network hardware, like additional routers or managed switches?

  4. Does your network have any VPNs, proxy servers, or enterprise-grade security?

Connected Audio Devices

Description of Issue -

What is the exact port forwarding error message you see in the Roon Settings → ARC tab?

I’m using RoonOS on a NUC (OS v1.0, build 259), and my ISP (Bergen Fiber) uses CG-NAT, so I don’t have a public IPv4 address. As a result, Roon ARC does not connect to the Roon server, returning the following diagnostic output:

{
“ipv6_connectivity”: {“status”:“NetworkError”,“status_code”:504,“error”:“error: Error: ETIMEDOUT, response code: undefined, body: undefined connected? undefined”},
“ipv4_connectivity”: {“status”:“NetworkError”,“status_code”:504,“error”:“error: Error: ETIMEDOUT, response code: undefined, body: undefined connected? undefined”},
“external_ip”: {“actual_external_ip”:“81.hhh.iii.jjj”,“actual_external_ipv6”:“fde5:aaa:bbb:ccc:ddd:eee:fff:ggg”,“router_external_ip”:“100.66.216.252”},
“status”: “status”: MultipleNatFound
,
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“server_ip”:“192.168.0.1”,“found_upnp”:true}
}

If I understand correctly, Bergen Fiber supports IPv6. Is there any simple, plug-and-play way to get ARC working in my case?

Ipv6 may work if your mobile provider supports it as well. You need ipv6 end to end for it to work.

As far as ipv4 is concerned, the ‘MultipleNatFound’ and the 100.66.216.252 router external ip address suggest that your ISP is using CG-NAT.

If this is the case, then you will have two options:

  1. Contact you ISP and ask if they can supply a public ip address that supports port forwarding.
  2. Use Tailscale to avoid the need to use port forwarding.

If you use Tailscale, then the Roon ARC settings page will continue to indicate ‘Not Ready’ but you can ignore this.

Thank you for your helpful response!

I’m considering using Tailscale to avoid the need for port forwarding. Could you please advise on the best way to set up Tailscale on RoonOS? I would appreciate any guidance on getting it working properly.

If you click on the Tailscale link @Wade_Oram provided and scroll down you will see the various options for installation guide depending on your OS.

Hmm. It looks like you are using a bios boot device - either an older ROCK installation, a Nucleus or a Nucleus Plus.

Unfortunately, the version of RoonOS that these devices support does not have a Tailscale configuration option.

If you are running a ROCK installation, you may be able to change the BIOS to use UEFI boot and then reinstall ROCK. This should enable you to update RoonOS to build 271 which does include Tailscale.

Failing that, the only option is to install Tailscale on a separate computer that is left on all the time and configure it as a subnet router. To do this see the instructions at:

2 Likes

I really appreciate the help I’m getting here on the forum!

My NUC is an Intel NUC8i3BEH. I bought it with RoonOS/ROCK preinstalled. I’m not sure if it can boot in UEFI. After reading on the user forum, it seems like it should be possible, but the setup has been running flawlessly for six years, so I’m a bit hesitant to mess with it.

But getting ARC to work again would be great!

This model supports UEFI, but may need a firmware update.

I have this model, but haven’t got around to switching from legacy to UEFI boot. If I find the time later, I’ll take a few screenshots and share the steps.

Your ISP may be able to help. Often they can supply a public ip address - often at a small additional cost and often a static ip address.

In any event it would be worth talking to them.

Thanks, that would be great – much appreciated!

Hey @Henning_Oppedal,

Good to see you on the community again! I see you’re working with some of the best here on the Roon Community :slightly_smiling_face:

We don’t have much to add that hasn’t already been stated above - but here is a list of potential next steps for you to look into further:

  1. Determine if your Internet Service Provider (ISP) employs Carrier-Grade Network Address Translation (CG-NAT) or provides native IPv6 support.
  2. Look into updating the firmware on your NUC8i3BEH so you can further investigate using Tailscale.

A few other areas to investigate that may be helpful:

  • Verify that your router’s firmware is up-to-date to support the latest network protocols and configurations, enhancing compatibility with Roon ARC.​
  • For users with native IPv6 support, ensure that your router’s firewall permits inbound traffic on the port designated for Roon ARC. This typically involves creating a rule to allow TCP connections on the specific port to your Roon Core’s IPv6 address. ​