Running Two Instances of Plex on the Same Network

By Joe Patti

Unfortunately, in my household, my computing ability just wasn’t strong enough to support the level of trans-codes it was receiving. To alleviate this stress I sought out a way to have two servers running on my network. One being my existing Linux server and the second being my Gaming PC/Plex hybrid build. So I began the installation and configuration of Plex Media Server for Windows. However, after the installation of Plex I ran into a slight speed bump; although I had created the proper port forwarding rules on my router my secondary plex server was not accessible externally. In my case, I had forwarded port 32401 TCP/UDP externally from my router to my secondary machines IP and set it to resolve at 32400 TCP/UDP. Additionally, as a test, I also forwarded the port range 32400-32401 to both Plex servers local IP addresses this didn’t work either. I then attempted creating the same firewall rules within windows and this still did not resolve my problem. I rebooted and tried a myriad of methods including recreating all forwarding rules on both my router and PC to make sure I didn’t make a mistake. After being frustrated a while I searched Reddit to hopefully find a solution or perhaps discover a similarity between my issue and others. With some luck, I discovered this post

https://www.reddit.com/r/PleX/comments/8hghsm/running_two_plex_servers_on_the_same_network/ which stated similar symptoms occurring.

The following was quoted from the post linked above.

 “The router cannot route an internal port to more than one device even if the external port is different. This meant that one of the plex servers could have a port forward for 32400 but not the other one. To solve this I created a port proxy on the second server to forward the traffic from my external port to the Plex port locally. ” 

After reading this I decided to copy and paste the following script into a fresh instance of Notepad++. (You can also use standard Notepad if you don’t care to install an advanced text editor)

[CmdletBinding()] Param(

[Parameter(Mandatory=$True,Position=1)]

[string]

$Plexhostip,

[Parameter(Mandatory=$True,Position=2)]

[string]

$Plexnewport

)

netsh advfirewall firewall add rule name=”Plex inbound on port $Plexnewport” dir=in localport=$Plexnewport protocol=tcp action=allow

netsh advfirewall firewall add rule name=”Plex inbound on defult plex port” dir=in localport=32400 protocol=tcp action=allow

netsh interface portproxy add v4tov4 listenport=$Plexnewport listenaddress=$Plexhostip connectaddress=$Plexhostip connectport=32400

Write-host “Verifying changes”

netsh interface portproxy show all

Get-NetFirewallRule | Where { $_.Enabled –eq ‘True’ –and $_.Direction –eq ‘Inbound’ -and $_.displayname -like “Plex“}

I then saved the document as a PlexReverseProxy.ps1 in my Documents folder (for those of you who don’t know what the .ps1 is it is the format of a Windows PowerShell script. PowerShell is an extremely powerful system admin tool built into Windows which is driven by command line based utilities.

I then headed to the start menu and, searched for PowerShell x64.  I right clicked its Icon ran PowerShell x64 as an Administrator.

Afterward, I navigated to the directory that I saved the script to by typing “cd C:\Users\Username\Documents\” inside the PowerShell window.

Once inside the directory, I typed PlexReverseProxy.ps1 which executed the script.

The script then asked a series of questions which included the servers IP followed by the new port I wished plex to listen on which in my case was 32401. (Just to be clear All these changes are being done on the secondary windows PC)

I then restarted Plex by closing it from the icon in the taskbar and reopening it from the shortcut located on the desktop. (This method ensured that Plex had a clean chance to forward the port. )Following that, I headed to a fresh browser instance and entered plex.tv in the URL bar. Once I was logged into plex I launched the web-client and headed to the settings tab which is located in the top right-hand corner. From there I selected the remote access tab located under settings on the left-hand side. I enabled the advanced options selected the manually specify port checkbox and typed 32401 and clicked apply. Upon this fix to my surprise….. Plex was available outside my network! I then tested this from my mobile device which I purposefully disconnected from my WIFI to ensure the settings stuck and I was able to access both of my plex servers remotely. I hope this helps you as it has helped me. If you have any questions or issues feel free to leave a comment below and I’ll try to assist. I’d also like to give a special shoutout to kingofthesofas from the /r/PleX subreddit.