I want to see what PMS is building for topology.
1 layer of NAT is known OK.
2 layers of NAT is where I question.
I want to see what PMS is building for topology.
1 layer of NAT is known OK.
2 layers of NAT is where I question.
The first pastebin log should have all this.
I can make a new one tomorrow. In Germany we have 23:32 o’clock and I must go to bed now. Work tomorrow.
Yeah raw logs are always good!
I don’t think there’s any NAT between these subnets, but that’s part of why I’m curious about the client’s perspective. Perhaps there is something different about the 10.2.x.x router & network.
(Agreed about many layers of NAT. It’s never helpful. I’m SO GLAD IPv6 will save us all lololol.)
Yes I think same.
How get the logs from the client? I know only how I get the logs from the server.
I hope tomorrow is okay for you
Tomorrow is OK.
Server logs (DEBUG) will always give you a ZIP file.
Player logs are enabled a bit differently from each but always a URL call.
https://support.plex.tv/articles/?s=player+logs&search=support_articles
(Plex/web has logging built in to the Player part (upper left) which you can enable then pull in the browser)
1 BIG wide subnet (all devices on same subnet IP range)
Multiple VLANs (implemented by the switch) is how to carve up all the stuff.
IMHO ![]()
It’s easy to introduce a ton of complexity in the name of control.
I used to make (or maybe “save” is the better word) money by ripping out complicated distributed systems, replacing them instead with just a few known-reliable components and repeatable processes.
But I also have to confess that I built some of those over-complicated systems in the first place.
I used to do the same.
(Not a commercial –
)
When I went 10G on my lan, I ripped it all out and did it right.
The 10G switch (Layer 3) makes it really nice for me to implement switched L2 VLANs.
I keep everything which only needs internet (TV, etc) on its own “IoT” VLAN to the pfsense.
I extend that concept to my Plex test equipment. They see Plex HQ, Plex sees them, and my stuff is personal / not part of the equation.
@Baschtel14 There’s a PMS network setting named “Treat WAN IP As LAN Bandwidth.” Does it make any difference if you enable that setting and apply it? My concern is that Plex may be mis-reporting the stream as local in the client when in fact is it being treated as remote due to the multiple routing boundaries it’s crossing. Specifically, I wonder if there’s NAT hairpinning involved in the route (10.2.1.0/24 → 172.160.0.0/30 → 192.168.1.0/24).
Also, what is the connection between router 1 and router 2? Is it a direct, physical connection (copper, fiber, etc…) or is there are site-to-site VPN (or something else)?
Apologies if these questions/suggestions have been addressed in earlier comments. I know you say you tried adding 172.16.0.0/30 to your LAN Networks configuration, but I didn’t see Treat WAN IP as LAN Bandwidth mentioned.
Yes I have already tried that too. But that does not bring any changes.
I have tried many combinations of subnets and settings. The result is always the same. If I add the IP range the stream is recognized as local but behind the second router direct play does not work.
No NAT is set up except to the outside (WAN).
I have created Static Routes in both routers.
Router 1:
Network: 10.2.0.0/16 Next Hop: 172.16.0.2
Router 2:
Network: 192.168.0.0/16 Next Hop: 172.16.0.1
Network: 10.2.0.0/16 Next Hop: 172.16.0.1
Router 1 is responsible for the network segments 10.1.x.x and 192.168.x.x.
Router 2 is responsible for the network segment 10.2.x.x.
The connection between the routers is established by a radio bridge in PtP mode. The radio bridge provides a bandwidth of 1.92 GBits. A limmitation is therefore also excluded.
This also allows me to get the networks via VLAN from the other router back over the radio bridge for testing.
I have also already tested how it behaves when I send a VLAN from router 1 over the wireless bridge.
Answer: Direct Play works there too. Only with networks behind the second router not.
If you now ask yourself why I do not make a VLAN from router 1 directly available at the location of router 2, the answer is quite simple. This is not my network so I do not want to do this for security reasons and it is not practical that my friend always has to change the cable when he wants to watch Plex.
I do not quite understand what you mean
Thanks for the additional detail.
Have you tried a traceroute/tracert from the router 2 client network (10.2.0.0) to the server’s network (192.168.1.0)? Does the traffic take the path you expect?
You could try checking the output of navigating to the the api/resources endpoint:
https://plex.tv/api/resources?includeIPv6=1&includeHttps=1&X-Plex-Token=your_token
You can find your Plex online token using the info here:
https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/
The resources XML will show your logged in devices and the connectivity information published by them to Plex’s server’s. Of interest would be the connections published for your server; specifically, the IP addresses and whether they’re published as local=0 or local=1.
The values returned from these URLs may also be of interest:
https://v4.plex.tv/pms/:/ip
https://v6.plex.tv/pms/:/ip
These will show what PMS should see as your IPv4 and IPv6 (if applicable) IP addresses, respectively.
If you post any information from these URLs be sure to redact any identifiers and public IP addresses (obvious, but should be stated).
It’s not important. I was concerned that I may have asked questions already addressed in other comments.
Have you tried a traceroute/tracert from the router 2 client network (10.2.0.0) to the server’s network (192.168.1.0)? Does the traffic take the path you expect?
Yes

And yes

If you post any information from these URLs be sure to redact any identifiers and public IP addresses (obvious, but should be stated).
Can i PM this to you?
Can i PM this to you?
Yes, no problem at all.
I was actually curious about that trace route too; nothing private, needing redaction, should be showing there. I’m still going over the connection information sent privately (with which I’ve found no issues, yet).
my concern is simple:
If the route is a hairpin in the modem router,
AND
the modem router reports a WAN IP in ANY way,
THEN
PMS is going to declare it WAN. Hairpinning through a modem.router at the edge of the LAN is , frankly, poor design unless that’s where the ethernet adapter for the other subnet is.
Nonetheless, I have asked Engineering to tell me how PMS will behave in this exact scenario
Agreed, that’s my concern as well.
This is the route from Router 1 who works.
Below the bars is the dns name that corresponds to my domain. Not everyone should know i
This is the route from Router 1 who works.
Below the bars is the dns name that corresponds to my domain. Not everyone should know i
Yeah, I had a bit of a brain-burp there and forgot about the DNS.
I’m still looking at the info you sent, but I’ve not found anything yet. The client logs show that it’s finding the correct (local address) server to connect to (192.168.1.15) via it’s *.plex.direct address.
The only thing I noticed in the client logs is that the client in network 10.2.1.0 has the following log entry:
Aug 28, 2023 19:38:59.810 [18488] INFO - [Web] [MDE] Augmented profile: {
"directPlay": {
"3gpp": {
"video": {
"maxBitrate": 30000
}
},
"asf": {
"video": {
"maxBitrate": 30000
}
},
"avi": {
"video": {
"maxBitrate": 30000
}
},
"mkv": {
"video": {
"maxBitrate": 30000
}
},
"mov": {
"video": {
"maxBitrate": 30000
}
},
"mp4": {
"video": {
"maxBitrate": 30000
}
},
"mpeg": {
"video": {
"maxBitrate": 30000
}
},
"mpegts": {
"video": {
"maxBitrate": 30000
}
},
"rm": {
"video": {
"maxBitrate": 30000
}
},
"wtv": {
"video": {
"maxBitrate": 30000
}
}
},
"directStream": {
"video": {
"maxBitrate": 30000
}
}
}
That the bitrate is fixed at 30MBits and then the client can’t Direct Play.
Aug 28, 2023 19:38:59.812 [18488] INFO - [Web] [MDE] Finished analysis of: 4k (mkv, hevc, truehd, 153, main 10) {
"canPlay": true,
"canDirectPlay": false,
"canDirectStreamVideo": false,
"canDirectStreamAudio": true,
"useSoftSubtitles": false,
"bitrate": 30000,
"videoResolution": 2560
}