Server Version#: 1.29.1.6276
I did a completely new system build for my home server which houses Plex. Part of my upgrade process was the purchase of a Realtek Dual GbE PCIe x1 NIC to complement my motherboard’s single built-in port. My plan was to dedicate an interface to Plex in the hopes that this would help alleviate some bandwidth issues on my LAN in the event I would be doing a large file download while someone is trying to watch something. This, in addition to adding a dedicated nVidia GPU for transcoding, has made a world of difference and made Plex overall such a better experience for my family.
In the process of doing all of this I ran into some trouble getting Plex to send data down the desired ethernet adapter even though I specified which interface to use in the Settings → General → Network section. The problem was particularly troublesome with Remote Access which simply would not work unless I changed my firewall NAT/Port Forwarding rule for Plex back to the main interface’s IP which is .100 and Plex is supposed to use .99. I found through troubleshooting that I could get Plex’s data to flow through the right interface if I altered the Interface metric in the TCP/IP settings in Windows for both the Plex (.99) and general LAN (.100) interfaces to give Plex the lower value and thereby giving it priority. The problem with this solution is now ALL of my traffic was going down the interface that was supposed to be solely for Plex so that was no solution.
Additionally there seemed to be no way to convince Plex that the .99 address was the correct IP / interface to use in the Settings → Remote Access section. As can be seen in the attached picture which was generated today Plex still shows the Private IP as the .100 address despite that not being the Preferred network interface selected under the Network section or what is configured in my firewall rules in my router (also pictured). As a sidenote UPnP in my router is disabled for a multitude of reasons. I only mention this because I seem to recall somewhere reading that UPnP had some part to play in getting Remote Access to function properly. I also read in these forums somewhere that it could take a day or two for that Private IP in Remote Access to update, but this has been a couple of months ago now and I have never seen it shift to the .99 address except briefly after I changed the interface metrics mentioned in the previous paragraph.
So, now to my solution, that I have had work consistently for me these last couple of months and slowed my posting of this here because when something works … well you know, but it has its problems.
So through further Googling and persistence of wanting to accomplish what I set out to do I discovered that if I edited the five Windows firewall rules (pictured as well) that Plex creates for itself during install and forced the Local IP Address under Scope to be 192.168.88.99 then everything works exactly the way I want it to. However, every single time Plex has an update it wipes my custom entries and re-applies the defaults so I have to go back in and re-enter the IP address 5 times each time. I will make a script to make that easier on myself as it is getting a little annoying, but I wanted to post my experience on here in the hopes that Plex might find a way to make this better for those of us trying to implement such a configuration with multiple NICs and wanting to dedicate one solely to Plex. In addition, I hope my posting this information helps others and I welcome any comments or suggestions that would make this configuration work more smoothly.
Update: Here is the simple PowerShell script for updating Plex’s 5 firewall rules with a forced Local IP Address
Set-NetFirewallRule -DisplayName "Plex DLNA Server" -LocalAddress "xxx.xxx.xxx.xxx"
Set-NetFirewallRule -DisplayName "Plex Game Transcoder" -LocalAddress "xxx.xxx.xxx.xxx"
Set-NetFirewallRule -DisplayName "Plex Media Server" -LocalAddress "xxx.xxx.xxx.xxx"
Set-NetFirewallRule -DisplayName "Plex Scripting Host" -LocalAddress "xxx.xxx.xxx.xxx"
Set-NetFirewallRule -DisplayName "Plex Tuner Service" -LocalAddress "xxx.xxx.xxx.xxx"
