Complete network requirements? Diagrams?

I have an interesting situation where I am looking to deploy a Plex server into a small network environment. For a few different reasons I will have to deploy the server into one network (say 10.1.1.0/24) and the clients (Web based or Plex Player) will be in another network (192.168.1.0/24) and a firewall will be between then.

I have been looking though all the support documentation and none of it covers what the network requirement are. What I am really looking to find out is

  • What connectivity is required for the player to stream from the server? Does it have to be in the same L2 domain, or does it work over L3 and multicast?
  • What’s required for the phone app to discover a Player for it to be remote controlled?

Both server and clients need internet connectivity, so they can communicate with plex.tv.
Both networks need reliable DNS resolution of the domain plex.direct
(Some ISP-supplied DNS servers mess this up. You might wanna consider using alternative DNS servers like 8.8.8.8 or 1.1.1.1 )

You might need to grant an exception from ‘DNS rebinding protection’ for the server machine and the domain plex.direct
(see https://support.plex.tv/articles/206225077-how-to-use-secure-server-connections/ )

You need to establish a direct network route from the “client” network to the private IP address of the server. This needs to be a fully usable, direct TCP connection.
Otherwise, traffic will go through the default gateway.

In order for the server to not apply bandwidth restrictions for ‘remote’ networks, you might have to add the client network range to the ‘LAN Networks’ input field.
(this input field is only available for Plex Pass holders https://support.plex.tv/articles/200430283-network/ )


The requirements for clients to use ‘companion play’ can differ, depending on the type of client. In general, both the ‘controller’ and the ‘receiver’ app need to be on the same network segment.
Not all Plex client types can server both roles.
For some client types, the ‘receiver’ role needs to be unlocked in the settings of this app. This applies to the mobile apps too (Settings - Sharing - ‘offer as playback device’).

For some types of clients, there needs to be a Plex server present in the same network segment as well. (This server doesn’t need to have any content on it. It just needs to be running and serve as ‘companion proxy’.)
more details: https://support.plex.tv/articles/categories/features/casting-flinging-remote-control/

Thanks, but you haven’t really helped answer the question here.

What do you mean by this? Surly there has to be specific TCP/UDP ports that are used for the client(Windows PC with plex player installed) → server connections? Discovery has to be achieved by some mechanism, broadcast on the local lan segment? multicast? at a stretch API call out to a Plex web service?

Maybe, I needed to be a bit clearer in my original questions. When I said with a firewall between the networks I wasn’t referring to a home grade setup you get from your ISP when you sign up for a internet connection, i’m well down the path of an enterprise grade firewall(PaloAlto 820). The requirement where clients will be in a different network, is that I am planning to host my plex server on some hardware the exists in my home office network and access it from home network.

Also, “a direct network route”? would like to know what you mean by this too?

In regard to the bandwidth restrictions, I would hope that they were smart enough to include all RFC 1918 addressing as Lan Networks.

I’m a network/security engineer, let’s get down in the weeds with details! It would be really awesome if this information was readily available and we don’t have to go and figure it out on the fly ourselfs. I can’t be the only one looking for this detail?

Hi there, fellow network/telecoms engineer here, so hopefully I can help out with what I’ve found using Plex on some networks that are not your average home broadband user’s. This going to be a bit of brain-dump, so feel free to ask any specific questions:

  • the Plex FAQ has a reasonable list of ports that are required to be accessible on the server here: What network ports do I need to allow through my firewall? | Plex Support
  • tcp:32400 is the most important one as this is what the web server listens on
  • PMS uses it’s own custom multicast protocol called GDM to discover local servers and clients. NB. local in this respect means on the subnet
  • PMS also uses SSDP to find gateways on your network and query their capabilities and network address to both help set up remote access and also ensure it’s working properly if you configure your port forwarding manually by testing for double NAT, amongst other things. SSDP is also used to discover network DVRs
  • this use of multicast will obviously break on your network unless you’ve got multicast helpers set up on your router to forward to your other local subnets
  • regarding RFC1918 addressing, PMS lets you add multiple networks you consider to be “local” for the sake of managing bandwidth, but this is buggy in my experience and does not respect IPv6 networks
  • speaking of which, IPv6 “support” in Plex is a mess. You can turn it on in the advanced network settings but the above mentioned local networks thing doesn’t work (IPv6 clients will always show up as remote and, as a consequence, may be bandwidth throttled). You’ll also need to open up tcp6:32400 on your firewall for remote clients to connect. Although the Plex internet hosts have AAAA addresses in DNS, and if your clients can resolve them they’ll try to use them, they’re shaky in my experience. Most requests for support involving IPv6 on the forums tend to be answered with “we don’t support IPv6, turn it off, it’s no use anyway” :unamused:

FWIW I run a server at work that’s behind a Palo with native IPv6. Don’t use the built-in traffic type of “Plex” to allow access to your server as it doesn’t correctly classify everything. Manually poke a hole for tcp:32400 and/or tcp6:32400 in for your server and you’ll be sorted for external access.

At home I run a PMS instance behind an Openwrt router/firewall with a Hurrican Electric IPv6 tunnel. My home LAN is fully dual-stacked, as is the LAN at work (including clients spread across multiple IPv4 networks with routing and internal firewalling).

1 Like

There is only one port required for remote connections: 32400

There is broadcast used in the local network segment, but this doesn’t apply, since your server will be in a different segment from the clients.

Therefore all server discovery will go through plex.tv.
The server will report its private and public IP to plex.tv
the clients will query plex.tv to get the server’s IPs and will try all to get a connection to the server. The ‘local’/‘private’ IPs will be tried first, ofc.

I was under the impression that you have server and client networks in the same location and have the separation between the two network purely for security reasons.
But now I understand you are hosting your server in your workplace and like to use ‘remote access’.

Therefore: there is only one port required for remote server access. Number 32400 is hard coded. You can use a different port number at the WAN side of your business router by adapting the portforwarding. Only TCP is needed for the portforwarding.

My recommendation from above related to DNS servers and ‘DNS rebinding protection’ is still valid.
Read this if you want an in-depth explanation how secure remote access works in Plex https://support.plex.tv/articles/206225077-how-to-use-secure-server-connections/

Thanks for the info and your time to get back to me. I’m sure this will give me enough to get things up and going.

Thanks for the info abot the API calls. I thought there might be something like that going on.

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