during some local changes on my home lan and server hardware+OS i found i couldn’t play Plex content through my Sonos system. i decided to dig in and see what was happening.
current PMS server is on fedora (42) server with the firewall pretty well locked down. after enabling the stock fedora firewalld plex rules i still couldn’t play local music on my sonos. when i turned off the firewall i could play music just fine so obviously suspected a port was getting blocked.
after some trial and error it turns out UDP/54099 is the culprit.
if you’re having a similar issue and need/want to keep the firewall enabled on your PMS host you can grab the protocol/ports from below and add them to your firewall config. the ssdp service below just adds UDP/1900 and destination destination ipv4=“239.255.255.250” ipv6=“ff02::c” rules.
here is a custom-plex.xml file to use for fedora but it can be adapted to most modern linux flavors as needed.
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>PLEX</short>
<description>Plex Media Server (PMS) is the back-end media server component of Plex. It organizes content from personal media libraries and streams it to the network.</description>
<include service="ssdp"/> <!-- Plex DLNA -->
<port protocol="tcp" port="32400"/>
<port protocol="udp" port="32400"/> <!-- Plex media server access (required)> -->
<port protocol="tcp" port="32469"/>
<port protocol="tcp" port="3005"/> <!-- plex home theater control (plex companion) -->
<port protocol="tcp" port="8324"/> <!-- Roku control (plex companion) -->
<port protocol="udp" port="32410"/> <!-- gdm discovery -->
<port protocol="udp" port="32412"/> <!-- gdm discovery -->
<port protocol="udp" port="32413"/> <!-- gdm discovery -->
<port protocol="udp" port="32414"/> <!-- gdm discovery -->
<port protocol="udp" port="54099"/> <!-- missing port that makes local sonos playback work -->
</service>