Bug with remote bandwidth limiting in local area networks

Server Version#: 1.32.5.7349
Player Version#: 1.76.2.3951-15712eae

I think I found a bug with the remote bandwidth limitation.

To explain the problem in a more understandable way, I will first explain my network a bit.

I have a network with two routers and multiple networks. Relevant are the networks
172.16.0.0/30 (TransferNet)
192.168.1.0/24 (DMZNet)
10.1.1.0/24 (HomeNetH1)
10.2.1.0/24 (HomeNetH2)
and others.

Router1 manages all networks in the 192.168.0.0/16 and 10.1.0.0/16 ranges. Router2 manages all networks in the 10.2.0.0/16 range. The two routers are connected to each other via network 172.16.0.0/30 and have static routes set up.

The Plex Media Server is located in the network 192.168.1.0/24. In the server I added the network 10.0.0.0/8 in the settings → network → LAN networks.
Settings → Remote access → Upload speed is set to 100 MBit/s and limitation of stream bitrate over the Internet is set to 30 MBit/s (4k).

(The settings were translated from german)

Accordingly, all networks in 10.0.0.0/8 should be treated as local and should not have any bandwidth limitation.

Problem:
If I now start a 4k movie from the network 10.1.1.0/24 (1 hop / router) Direct Play works. So far so good. But if I start a 4k movie from the network 10.2.1.0/24 (2 hops / router), it is immediately transcoded to 28 MBit/s 4k.
If I now set the setting under Settings → Remote Access → Limit Stream Bitrate via Internet to Unlimited, the 4k movie on network 10.2.1.0/24 is not transcoded and Direct Play works.
In the Plax dashboard both networks are displayed as Local on Playback. Therefore, I wonder why the WAN limmit is applied to LAN networks.

I have also checked DNS rebinding protection. There is no problem.
So I suspect a bug in the Plex Media Server. Is unfortunately not the first time that with the bandwidth limitation problems occur in the LAN, which are fixed with updates after months.

Can anyone determine the same behavior or reproduce?

I have attached the server logs. (I first played two 4k movies over the network 10.2.1.0/24 and then two 4k movies over the network 10.1.1.0/24)
Logs part 1
Logs part 2
Logs part 3

1 Like

Did you define those networks as local ?

Settings - Server - Network - Show Advanced:

LAN Networks

Comma separated list of IP addresses or IP/netmask entries for networks that will be considered to be on the local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to external network bandwidth restrictions. If left blank, only the server’s subnet is considered to be on the local network.

Be careful of embedded spaces in your specification. Such spaces will cause failure. Your server DEBUG logs will show these errors

Thank you for your reply.

As described above, I have the LAN Networks setting set to 10.0.0.0/8. Which means for me that all requests with IP addresses from 10.x.x.x should be treated as Local. Correct?

What you describe with the server logs is correct. There the requests from both networks (10.1.1.0/24 and 10.2.1.0/24) are deffined as (Allowed Network (WAN)). But what irritates me is that in the dashboard both networks are recognized as Local again (see pictures). And with the network 10.1.1.0/24 I have also no limitation. Only with the network that is forwarded via two routers (10.2.1.0/24).


If I remove the IP-Range from the settings it looks like this:

Edit:
I found the support article that gives an example like 192.168.1.100/255.255.255.0. Unfortunately this does not bring any change. The problem is the same with 10.0.0.0/255.0.0.0 and 10.0.0.0/8.

If you apply a list of:

10.0.0.0/16,10.1.0.0/16,10.2.0.0/16

is the result the same ?

I think there is something else going on here.

Screenshot from 2023-08-27 13-07-14

Showing Local and transcoding looks like a player setting / limitation than a local/remote limitation. Have you confirmed this ? (30 Mbps limit is too convenient)

I just tried your list of IP ranges. The result is the same. Direct Play works on the 10.1.1.0/24 network and not on the 10.2.1.0/24 network.

To your second question:
I use the same PC with the same software and settings in both networks. Therefore, a difference in the settings / software … excluded. I only change the network cable.

If I set the limit in the Plex server for remote access to Unlimited Direct Play also works in the network 10.2.1.0/24.

I have made more tests.
For this purpose, I created two more networks on router 1 and another one on router 2. For all networks I created a any any rule for testing.

Router1:
10.1.7.0/24
10.2.7.0/24

Router2:
10.2.8.0/24

PC → 10.1.7.0/24 → Router1 → 192.168.1.0/24 → Plex Server (Direct Play works)

PC → 10.2.7.0/24 → Router1 → 192.168.1.0/24 → Plex Server (Direct Play works)

PC → 10.2.8.0/24 → Router2 → 172.16.0.0/30 → Router1 → 192.168.1.0/24 → Plex Server (Direct Play does not work. Transcoding)

To me it looks like Plex has a problem with the forwarding through two routers and occupies the networks behind the second router with the remote limmit, although it is recognized as local.

Edit:
And yes, i tryed to added 172.16.0.0/30 also to LAN Networks in Plex Media Server, but it makes no differrences.

That is, by definition, remote. Intermediate hops don’t constitute “Local”.
The fact it’s reporting as local is the problem.

Can you show me a screenshot please where it shows the 172.16.x.x as local ?
I’ll use that in my writeup

Can you also show me where you’ve also added the 192.168.1.x/24 and it either working or failing?

(This gives me a complete picture of how PMS is handling the hops for part 2 of my writeup)

So “local” for me is everything that happens within the own network no matter if there are several routers or not. Everything that leaves the home network (WAN / Internet) is remote for me.
LAN = Local Area Network
WAN = Wide Area Network
Therefore I assumed that with the setting “LAN networks” internal networks can be specified, no matter whether there are more routers or not. In addition, several routers or L3 switches in a larger network are nothing unusual.

I can’t make a screenshot of the 172.16.0.0/30 network, because the network has only two host addresses, which are occupied by routers 1 and 2. I do not have any other networks in this range.

The 192.168.1.0/24 network is the one where the Plex server is. Direct Play works there too. (It should, otherwise your statement makes no sense).

Router 1:
192.168.1.254/24
10.1.1.254/24
10.1.7.254/24
10.2.7.254/24
172.16.0.1/30

Router 2:
10.2.1.254/24
10.2.8.254/24
172.16.0.2/30

Plex Server:
192.168.1.15/24

PC (Plex Media Player):
192.168.1.116/24 (Direct Play)
10.1.1.147/24 (Direct Play)
10.1.7.100/24 (Direct Play)
10.2.7.100/24 (Direct Play)
10.2.1.166/24 (Transcode)
10.2.8.100/24 (Transcode)

Router 2 → 172.16.0.0/30 → Router 1

All networks are displayed as “Local” as soon as I enter them in “LAN Networks”.

So in my opinion all networks which are entered in “LAN Networks” should always be treated as “Local”, no matter if they are 1, 2 or 3 hops away. It can still be a LAN!

Otherwise I would like to have a separate setting to allow multiple hops, which does not have such a confusing description like:

“Comma separated list of IP addresses or IP/netmask entries for networks that will be considered to be on the local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to external network bandwidth restrictions. If left blank, only the server’s subnet is considered to be on the local network.”

@Baschtel14

What are you using for router 1 & 2? A “commercial” router such as Cisco, HP, etc. Routing software on a PC/appliance, something else?

Also, why the 172.16 segment between the two routers, instead of a contiguous net 10?

Are you physically moving a single PC between the 10.1.1.0/24 and 10.2.1.0/24 subnets, or testing with two different client computers? Just trying to understand the variables.

Do you have anything configured in List of IP addresses and networks that are allowed without auth? I see this funny entry I don’t quite understand.

Request: [10.1.1.109:43078 (Allowed Network (Subnet))]

@FordGuy61 why do you ask?

A discontiguous net should not matter. However, if it causing issues (not saying it is), trying to think of a workaround.

1 Like

Ahh, I wondered if you had a hunch! I’m with you, just trying to understand.

I’d like to understand if there’s anything different for the clients in 10.1.x.x vs. 10.2.x.x.

Or from the perspective of the server. Since the server is in 192.168.x.x, I can’t immediately guess why it would treat 10.1.x.x and 10.2.x.x differently.

@FordGuy61
Not a commercial. I’m using OpnSense.

Makes that a difference? It’s in the private range.

@Volts
It’s the same PC. I change the VLAN Tag on the Switch interface.

In the LAN Networks I have 10.0.0.0/8,192.168.0.0/24,172.16.0.0/12

In networks that are allowed without auth is nothing.

Thanks. That should all be OK. Just trying to figure out why things are not working for you.

Restarting the PC and the Plex App after making the VLAN change?

You said that changing the server-side Limit Stream Bitrate via Internet setting makes a difference, but I don’t see any reason the Plex server should think of 10.1.x.x and 10.2.x.x differently.

Hrm.

The difference is the 10.2.1.0/24 has 2 hops and the 10.1.1.0/24 has 1 hop.

On both routers? I’m wondering if this could be involved.

Plex clients request a list of Plex servers and their hostnames/IP addresses from the Plex cloud/discovery server. The client checks to see which of those hostnames & IP addresses are reachable, and makes some decisions about which are local.

So it would be helpful to share the logs from the client, when on each VLAN.

I disable/enable the interface on the pc and restart the plex app.

Yes, that’s the question.

@Baschtel14

Do you have the part of the logs (first 3 minutes) where PMS:

  1. Starts
  2. Does initial adapter & MyPlex configuration
  3. First SSDP poll to determine topology ?

If you wish, you can PM it to me.

As for 10.1.x.x and 10.2.x.x , that’s why I’m asking for the logs. (Hop Count)

I don’t think this matters within Plex.

I think Plex looks at the server’s IP address and subnet, and considers clients that are also in that same subnet to be local/LAN.

Beyond that I don’t think it knows about the number of hops. I think it just looks at the client’s address for any requests, and compares that IP address with the IP addresses or subnets configured in the settings.

There are some restrictions on what can be configured as ... allowed without auth (RFC1918 only), but even then - I don’t think it’s about hops.


So I’m curious if you can share client logs. It would show the client’s perspective about DNS resolution and server reachability, and would answer the question about any differences.