This is more of a note to myself than a real post…
If you have different subnets and want to use a DLNA-based media server it will not work. This is correct by design! DNLA is a local network, broadcast protocol! But, if you have the need it can be done by using an IGMP proxy to pass the network broadcasts across subnets; effectively “routing” it.
Unfortunately, it is broken on pfSense since, it seems, 2.2.x. I even downloaded the most recent version and it still did not work. There is an alternative, pimd.
pimd has to be manually installed and configured on the command line (i.e., ssh into your pfSense box). It is not hard to install or configure. My pimd.conf is simple:
phyint igb0 disable phyint igb1 disable phyint igb2 disable phyint igb3 disable phyint igb4 disable phyint igb5 disable phyint igb3.30 enable phyint igb3.100 disable phyint igb3.25 enable phyint igb3.20 enable phyint igb3.201 disable phyint ovpns1 disable phyint ovpns2 disable #bsr-candidate igb3.20 bsr-candidate priority 5 rp-candidate time 30 priority 20 group-prefix 22.214.171.124 masklen 4 spt-threshold packets 0 interval 100
You only need to disable any physical interfaces or VLANs where you don’t want DLNA broadcasts and enable the physical interfaces and VLANs where you do want DNLA broadcasts. I keep a backup copy in a directory since it is not an official package your configuration may be removed by an upgrade.
Also, since this is not an official package you need use shellcmd to enable automatic startup:
/usr/local/sbin/pimd -c /usr/local/etc/pimd.conf
I put in feature request in pfSense’s redmine site to include pimd as a native package.