Remote access settings for IPv6 on Synology NAS and Router

Haha, well if those instructions are incorrect, then I don’t know what am I doing. That’s the whole premise of the attempt to try to get this working and from what I read, there have been others who have successfully used it.

Also, just want to say I really appreciate your help.

HAHAHAHAHA

There is ALWAYS the possibility that I’m the incorrect one here!!! :slight_smile:

I admit that I’m new to all this IPv6.

What I do find interesting is that now, with ISP-provided V4/V6, I don’t need do anything for remote access to work.

Not one special thing whatsoever.

That begs the question: Does the modem/router support V4/V6 forwarding as stated earlier?

Hello there, I’m the guy that came up with those instructions :slight_smile:

For me my PMS still says “Not available outside your network” but it is indeed accessible from the outside. My mobile using LTE or family and friends can access and Transcode / Direct Play content.

The problem is that Plex Remote Access only knows IPv4 but not IPv6. That is why my PMS tells me remote access is not available (it checks the IPv4) even though it is accessible (because I manually told Plex.tv where my PMS is accessible.

hey @an3k

Thank you for chiming in.

That makes sense now.

Would you drive while I sit back and learn? :slight_smile:

Yeah, absolutely. Just let me get comfy, there are more postings than the two emails I got told me :slight_smile:

1 Like

Must be a ray of light in all these troubles that the original author of that thread from 2 years ago is actually around and is going to respond. Looking forward to any insights!

Chuck, as far as I can tell, Synology RT2600ac does not seem to support IPv6 to IPv4 routing. Now I did find some obscure threads that involve entering code through SSH/PuTTY, but I’d rather not touch that. But I will if I have to and will also likely have to open a support ticket with Synology. This would be jumping from the IPv6 rabbit hole into the Synology router abyss. Luckily I’ve learned my lesson and have backed up the router configuration so in case something goes horribly wrong again like it did this morning when I had no internet for 5 hours, I can just restore the settings. But again, I’d rather not go this path. Maybe an3k has some insights (no pressure :grin:)

@Excel

I would urge opening a support ticket with them first.

IPv6-v4 mapping should be included – Especially after what they put me/us through with DSM 7

Oh wow, thank you forum software for deleting all the text I wrote just because I tried to mention someone :frowning:

@Excel Your Gateway most likely implements DNS Rebind protection. Keep it enabled but add plex.direct as an exclusion (so that these hostnames are allowed).

IPv6 is a !?#(-%= or maybe just because of what providers do with it.

In IPv4 you have Port Forwarding because NAT is a universal thing and you want your internal devices be accessible from the internet. In IPv6 every of your internal devices should get a public IP address, thus there is no such thing as Port Forwarding (because there is no NAT in IPv6).

However, some Gateways incorrectly use that term for IPv6 but actually mean “opening the port in the Firewall”. Forwarding the port in IPv4 often allows accessing the port using IPv6.

The plex.direct URL is created by Plex itself so that https://plex.tv/web as well as the various apps do work. @ChuckPa The problem is that Plex checks IPv4 instead of IPv6 - maybe that is just a Dual-Stack Lite issue (where you do have a public IPv4 which is not accessible from the internet). That’s why we create the correct IPv6 plex.direct url ourselves.

You definitely want IPv6 in your local network, at least for the device that runs the Plex Media Server because only then that device is assigned a public IPv6 address.

Converting your shortened IPv6 to a full one is quite easy.
A full IPv6 consists of eight blocks, eg. 1c42:724f:0000:0000:0000:jack:ab13:c123
If a block contains just zeros you can shorten it to a single 0 or just drop that zero all together.
So a first step shortened version is 1c42:724f:0:0:0:jack:ab13:c123 and a second step shortened version would be 1c42:724f::jack:ab13:c123.
Important is that you only can shorten connected blocks, so 1c42:724f:0000:abcd:0000:jack:ab13:c123 can ONLY be 1c42:724f::abcd:0:jack:ab13:c123 or 1c42:724f:0:abcd::jack:ab13:c123

Making a server accessible over IPv6 isn’t any more difficult than over IPv4 in principle, it’s the way Plex does it. There’s no “feature parity”: the things that Plex does automatically behind the scenes with IPv4 to make remote access work (tell the router to map the incoming port, and push the synthesized DNS record to the clients), you need to do manually with IPv6, without any official documentation (!) how to do it:

  • open TCP 32400 in the router firewall
  • add the https://{static public ipv6 address-with-dashes}.{serverid}.plex.direct:32400 URL to Custom Server URL field in the PMS advanced settings.

This makes IPv6 a hassle for (novice) users, and it’s all the more annoying since more and more ISPs put residential users behind CG-NAT for IPv4, so IPv6 is the only way for remote access. We’re steadily moving towards a world where nobody has their own public IPv4 address anymore, except for people who specifically pay for it or rent a VPS to put their Plex server on.

If I could advise the Plex devs: if you still insist keeping IPv6 optional, then at least put a button in the Network settings “add public IPv6 address to custom domains”, which would auto-populate that field, so people don’t have to dive into the logs, find the server ID and their static IPv6 address, and type this all out themselves. I mean, I’m willing to bet that 99.9% of the Plex users don’t even know the difference between a link-local and a globally routable IPv6 address.

Also, at the moment, Plex also only uses UPnP for IPv4 port mapping. I’d expect, when enabled in the settings, PMS should also use UPnP-IGD2 (or PCP) to request incoming TCP port 32400 be opened in the firewall. There’s a fairly simple AddPinhole() function for it in the UPnP specs. Then of course it’s up to the router to support this or not, but that’s no different with IPv4.

1 Like

Wait, how do secure (https) connections work remotely then, if not for these synthesized plex.direct domains and wildcard certificates?

When I look at the logs, this appears to be the whole basis of remote (WAN) https access.

1 Like

:+1: I think the cleverness of plex.direct is that it works well for both LAN & WAN.

Yeah, it’s really a clever trick. Which makes all the more disappointing that Plex doesn’t use it for IPv6 by default.

I’ve never understood why, and the Plex devs have never really shed any light on it - is it because PMS can’t reliably pick up it’s own IPv6 address? Or that client apps get confused by being presented with both A and AAAA DNS records? Afraid of confusing users? Too many routers that support UPnP port mapping for IPv4, but not UPnP firewall pinholing for IPv6? Or the developers simply are not behind CG-NAT themselves so they never see why IPv6 would ever be needed?

Just a quick update that I will go through all the explanations this week and see if I can get this working. Harder to carve out Plex-repair time during the workweek.

Thanks for the tip. After researching DNS Rebinding online, I am not sure exactly where we are supposed to add the plex.direct exclusion. For example, my router firewall has no way to add a domain. So far, I cannot even confirm if RT2600ac router implements DNS rebinding, much less a way to add an exception.

I’m also not sure I understand the value of IPv6 to IPv4 forwarding. If Plex cannot use IPv6 anyway, would it really matter even if a router could forward an IPv6 to an internal IPv4 LAN?

Plex can use IPv6 just fine, both the clients and the server, this mostly would be a solution to overcome problems on the networks between them.

Hello I have a CGNAT network since today and i cant use ipv6 in Plex client. A solution must develop for us please

Hi there,

I am also having trouble with CGN IPv4 with no public address, but full IPv6-Access to my Plex Server.

But I don´t even see a possibility to get my Plex-serverID. When I locally open my plex media server web interface via the local ipv4: 192.168.10.15:32400, 4 addresses ending with plex.direct appear. But none of those begins with my public IPv4-address. Is there another solution to find out my server id?

I scanned the port 32400 with my IPv6 address and it is shown as open.

(I am running the plex media server on a raspberry pi 4 not on a synology NAS, but the problem seems to be the same)

Edit: I also tried a portmapper, which also is not working.

@Knifte

May I have the DEBUG log files (DEBUG on, VERBOSE off),

With Remote Access enabled

Downloaded about 3 minutes after PMS restarts,

I’d very much like to see what PMS is doing as it makes the attempt for connectivity.

Given you have CGNAT, PMS should be able to reach you on the IPv6.
This is what i’m hoping to see in your logs

1 Like

Could you please explain, where I can activate and find these logs?