ARC unable to securely access roon core

I have a unifi network (USG-3P, US-8-60W, U6-LR)

I have had no luck with uPnP or NAT-PMP.

I disabled uPnP and NAT-PMP and manually entered a port forwarding rule and I get the following error:

{
“connectivity”: {“status”:“NetworkError”,“status_code”:502,“error”:“error: Error: connect ECONNREFUSED a.b.c.d:55000, response code: undefined, body: undefined”},
“external_ip”: {“actual_external_ip”:“a.b.c.d”,“router_external_ip”:null},
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“server_ip”:“192.168.1.1”,“found_upnp”:true,“error”:“doaction request return statuscode: UnknownError”}
}

Same here will not connect iPhone 12 to Roon Core NUC i7… Unable to manually port forward either… Roon did not automatically connect to my Roon Core… Very frustrating…Can anyone else identify with me on this?

Same exact error codes for me. ASUS router

Check your ISP are not using CG NAT, if so it won’t work.

ISP is not using CG NAT

Hi. My ISP (hyperoptic in UK) are using CGNAT. Do I need to get a static IP address from them?

Nick

I manually configured via 192.168.X.X and 55000 and after rebooting my Core (Geekcom NUC) and my iPhone 12 it’s working perfectly… While here at home… I have not tried from the car yet but will report back my experience! It did take a bit more work to get ARC up and running but appears to be working great now. Note : I did an A/B comparison between the Roon Remote and the new ARC on my iPhone 12 and I could note hear any difference in the sound quality… THAT is a big deal for me… Great job Roon and ARC…!!!

Yes. You need a public IP, not a CG NAT IP. And best is of course static.

Confirming that getting a fixed IP address with hyperoptic fixed the issue.

Thanks

Nick

I gave the core a fixed IP and figured out how to completely disable uPnP and NAT-PMP. I now get the following error.

{
“connectivity”: {“status”:“NetworkError”,“status_code”:502,“error”:“error: Error: connect ECONNREFUSED a.b.c.d:55000, response code: undefined, body: undefined”},
“external_ip”: {“actual_external_ip”:“a.b.c.d”,“router_external_ip”:null},
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“status”:“NotFound”}
}

both IP addresses are the same and a manual rule for port forwarding has been made

Everything has been working flawlessly for quite a while and continues to do since 2.0, except ARC.

should I try using a dynamic dns service?

I removed the port forwarding rule and enabled uPnP. rebooted everything (servers, clients, networking equipment) and now get the following error message:

{
“connectivity”: {“status”:“NetworkError”,“status_code”:502,“error”:“error: Error: connect ECONNREFUSED 217.180.219.173:55000, response code: undefined, body: undefined”},
“external_ip”: {“actual_external_ip”:“xxxx”,“router_external_ip”:“100.98.204.18”},
“status”: “status”: MultipleNatFound
,
“natpmp_autoconfig”: {“status”:“NotFound”},
“upnp_autoconfig”: {“server_ip”:“192.168.1.1”,“found_upnp”:true}
}

My ISP is MetroNet with 1 gig fiber to the door. I recently had my modem “upgraded” to the Nokia model and it looks like it might be doing CGNAT.

Is roon monitoring these discussions or are we on our own to solve these issues? @Roon_2.0_ARC_Support

A quick search of “metronet port forwarding” confirms from many users that MetroNet have implemented CGNAT. ARC will not work with CGNAT. Common “resolution” is to request static IP from MetroNet which takes you out of the CGNAT infra.

thanks for getting back to me about this. is there no there way to do this such as a dynamic dns service. I believe they want an extra $10 for that, it feels like a subscription for ARC

hmmm… I won’t say “no way” but let’s peel back the curtain a little bit on what happens with CGNAT, or really, double NAT.

Core: 10.1.1.1
Router IP: 198.51.100.100

In a normal port forwarding scenario you tell the router that incoming connection requests to 198.51.100.100 port 55000 should be forwarded to 10.1.1.1 port 55000. Then ARC knocks on the door of 198.51.100.100:55000 that requests lands on Core. Core responds. All is happy.

Core: 10.1.1.1
Router IP: 198.51.100.100
Double / CG NAT: 203.0.113.200

In a CGNAT or double NAT scenario you’re “real” public facing address is mapped from 198.51.100.100 to 203.0.113.200 and these mappings are dynamically built only when .100 makes a request outbound towards the Internet.

If you created the double NAT scenario then the 2nd router can take a forwarding rule 203.0.113.200:55000 → 198.51.100.100:55000 and that may work. You’re just double port forwarding to get that request to the core.

However, in a CGNAT scenario, the CG stands for Carrier Grade and this second address mapping is being done by something outside of your control. Without any control of this CGNAT layer ARC requests to connect to 203.0.13.200 port 55000. That address knows nothing about that port and rejects the request. ARC fails.

The reason a static IP works is not because of the static IP. It’s because that static IP is provisioned within the ISP to not use this CGNAT layer so the whole CGNAT issue goes away as part of obtaining a static IP.

thanks for that very detailed response. I have contacted my ISP to get a static IP provisioned.

Just a thought, with roon 2.0 needing to be connected continuously to the internet in order to operate, it seems like they can include some functionality like dynamic DNS to make ARC compatible with CGNAT. I am not sure how many people are in my situation with respect to CGNAT (is this common, especially for fiber customers, or am I an edge case?).

You might have some success with this approach if your ISP can’t give you a static ip.

https://community.roonlabs.com/t/tailscale-implementation-with-arc-to-circumnavigate-isp-cgnat/215356/12

It’s very common with fibre connections because the world is clinging to ipv4 and there are not enough addresses available given the format of ipv4. Ultimately ipv6 will solve these problems but it requires more investment in coding so guess what, few are bothering.

I think it’s interesting that most of us domestic fibre customers have not noticed what we’re being sold is not what we previously had. It’s like getting veneered instead of solid wood!

I just got a static IP from my ISP as they were using CGNAT. roon remote is working like a charm now. thanks team roon. I wish I didn’t have to pay an extra $10 a month for the ability to use this feature (and if I did, I’d rather give the money to roon than my ISP) but I am thrilled to be able to listen from my roon core while at work. WoooHooo!

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.