Good morning everyone.
I have a problem that I think is related to pfSense. The version I use is CE 2.7.2 installed on a physical Dell R210 II server.
I have a Windows Server 2022 on the “LAN” VLAN, IP 192.168.168.40, on which a share containing series and movies is exposed.
I have an Ubuntu Server 24 on the “IoT” VLAN, IP 192.168.20.1, on which Plex Server runs and on which the Windows share is mounted. The Plex libraries point to the share mounted via fstab.
On pfSense I created a rule that allows Plex to access the share on the Windows server.
The problem occurs when playing 4K/2160P/HDR content that freezes every few minutes. At that point if I try to restart playback it restarts only after many attempts and a few minutes of time.
No problem with FHD/1080p content.
As a test I prepared a second temporary Ubuntu machine on the IoT VLAN, IP 192.168. 20.5, created a share with some files that actually play on Plex without any interruption.
As a second test I moved this same temporary Ubuntu machine to the “LAN” VLAN, IP 192.168. 168.23, and the problem recurred as with Windows Server.
Given the above I would point the finger at pfSense.
In its logs I do not find any information relating to blocks or anything else.
Is it possible that there is some problem that limits its performance? The strange thing is that when I copy files the transfer rate performance is excellent.
Are you virtualizing pfSense or is it installed bare metal on the R210? If its virtualized it might need more resources assigned to it.
There are also a bunch of content out there from Youtubers, Netgate, etc., on how to tweak pfSense for better performance. You might want to look at disabling harware offloading for example. Things like hardware checksum offloading, hardware TCP segmentation offloading and hardware large receive offloading can actually slow down your performance and in some cases are better off left disabled.There are also system tunables that you can adjust for better performance. This would be a really good video idea for Tom actually, on how to get the best performance out of pfSense.
Also what is the networking backbone connecting all of this together? Is it a 1 gbe network or wifi? You might be reaching the bandwidth limits of your network.
The server’s network cards are 1Gbps, one used for the WAN and the other for the various VLANs of the internal network.
The connections are all wired, no wifi in use for Plex servers.
The Windows and Ubuntu servers are all virtual and run on a host connected to a physical TrueNas via 10G network cards.
If it was a performance issue how could it handle full gigabit traffic while copying and not handle a few megabits while playing.
This is one of the things that drives me crazy.
Re-reading your original post, it seems to be an issue only on the LAN VLAN (the 192.168.168.XX network)? If so go into the interfaces tab on pfSense, select the LAN andterface and check to see what speed the adapter is using. Set it to be the same as on your IOT LAN.
I have some updates.
In addition to Plex I have done some other tests with Jellyfin to try to eliminate the software part from the equation. The problem is practically identical with Jellyfin too, so I would exclude it could be a problem related to the software used for streaming.
I have enabled the log in the rule that allows Plex and/or jellyfin to reach the server and I see that only very few packets are logged despite the traffic being high.
Furthermore there is no indication that pfSense is blocking the traffic in any way.
To clarify, you put the Ubuntu and win2022 on the same lan, how are they physically connected?
If these are on a switch the pfsense would not be involved with the traffic
Any packet filtering going on between your subnets? Have you setup wide traffic open rules to both subnets at the top just for testing purposes to bypass any other rules
Both Plex and Jellyfin stream in direct play mode. No local transcoding.
Transcoding happens on the “final” client which is an nVidia Shield Pro on the IoT VLAN.
They can stream in direct play mode, but they don’t always. Go to edit your user, then under Profile → Media Playback uncheck the options that allow the user to do server side transcoding. Like this:
If your movies are able to play now, then you need to adjust your server side transcoding settings (Server Settings → Playback → Transcoding) rather than trying to diagnose your network connection.
Thanks for the suggestion.
I can also try with those settings but the fact remains that if Plex or Jellyfin are in the same VLAN as the server, there is no streaming problem, with or without transcoding.
The problem only occurs when there is routing between the two VLANs.
Note: It may only be necessary to add the networks where the clients are located. However, I added all the networks — both server and client — and it works.
Of course, transcoding may still be happening in certain situations, e.g. if a client isn’t capable of playing certain audio or video codecs or subtitle formats.