Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    How can I get this UDP relay package for casting across VLANs?

    Scheduled Pinned Locked Moved pfSense Packages
    123 Posts 21 Posters 57.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      burntoc
      last edited by burntoc

      Actually that must be part of the issue. I just looked and the groups are still showing on my iPad, just not on my Android phone at the moment. Grrrr.....

      UPDATE - Nah, they show up but can't cast to those groups any longer unless I connect to that VLAN.

      1 Reply Last reply Reply Quote 0
      • T
        tman222
        last edited by

        Hi @burntoc - everything is still working fine here. I just checked on an iPhone and it does have the latest version of the Google Home app installed. What changes did you make to DNS? Also have you tried resetting your firewall states to see if that helps (i.e. forcing all the connections to be reestablished)? Come to think of it, I did have a bit of trouble the other night after I created a new group and then couldn't cast to it. However, after a few more attempts it did eventually start working and has worked fine since.

        T 1 Reply Last reply Reply Quote 0
        • T
          tman222 @tman222
          last edited by

          @tman222 said in How can I get this UDP relay package for casting across VLANs?:

          Hi @burntoc - everything is still working fine here. I just checked on an iPhone and it does have the latest version of the Google Home app installed. What changes did you make to DNS? Also have you tried resetting your firewall states to see if that helps (i.e. forcing all the connections to be reestablished)? Come to think of it, I did have a bit of trouble the other night after I created a new group and then couldn't cast to it. However, after a few more attempts it did eventually start working and has worked fine since.

          Just wanted to follow up on my last post real quick to confirm that everything is working is still working fine on Android based device as well for me (using latest version of Google Home app).

          @burntoc - were you ever able to resolve the issues you were seeing?

          B 1 Reply Last reply Reply Quote 0
          • B
            burntoc @tman222
            last edited by

            @tman222 Thanks for following up - and confirming that your Android GH app is working okay. Mine is still not working well, though I've noticed that Home isn't working great in general atm (e.g. I ask it to play streams and they time out more often than not). I have one Google Home Hub in the IOT VLAN with my Chromecast audios, Google Home speakers, etc. and I wonder if something about the multicast address registration is not working properly. I've rebooted the firewall and the Google Home Hub but still no joy here. I'm pretty certain here weren't any other changes to my network. I have a couple of other things I probably have to prioritize above further troubleshooting, but worst case I'm planning on some troubleshooting no later than this weekend.

            T 1 Reply Last reply Reply Quote 0
            • T
              tman222 @burntoc
              last edited by

              @burntoc said in How can I get this UDP relay package for casting across VLANs?:

              @tman222 Thanks for following up - and confirming that your Android GH app is working okay. Mine is still not working well, though I've noticed that Home isn't working great in general atm (e.g. I ask it to play streams and they time out more often than not). I have one Google Home Hub in the IOT VLAN with my Chromecast audios, Google Home speakers, etc. and I wonder if something about the multicast address registration is not working properly. I've rebooted the firewall and the Google Home Hub but still no joy here. I'm pretty certain here weren't any other changes to my network. I have a couple of other things I probably have to prioritize above further troubleshooting, but worst case I'm planning on some troubleshooting no later than this weekend.

              @burntoc - did you change any settings on your wireless access points or network switches?

              B 1 Reply Last reply Reply Quote 0
              • B
                burntoc @tman222
                last edited by

                @tman222 That's what I'm going to check, but I'm 99% sure I did not change any of that. I have 2 APs that trunk to the main switch, and I didn't mess with those APs, the trunks to the switch, or the trunk from the switch to the fireawall. No other mDNS or other changes, either.

                1 Reply Last reply Reply Quote 0
                • T
                  tman222
                  last edited by

                  Just wanted to follow up on this thread quick and mention that this is still tool is working great for me without any issues (despite several reboots of the firewall since the initial install and configuration). A great alternative to Avahi if one is looking to get Google Home speaker groups to work. Even though I have not been able to try this out yet, it may also be a suitable alternative for pimd to get Sonos speakers to work.

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tman222 @tman222
                    last edited by tman222

                    UPDATE 5/25/2023:

                    As of pfSense Plus 23.05, udpbroadcastrelay is now a formal pfSense package that can be added via the Package Manager.

                    =====================

                    Just thought I would provide a quick set of instructions to get this package up and going (questions were asked in another thread).

                    README FIRST:

                    1. Instructions on how to configure the package can be found on the creator's page on GitHub:

                    https://github.com/marjohn56/udpbroadcastrelay

                    1. Before proceeding always make a backup of your firewall configuration first in case a mistake/misconfiguration renders your system inoperable.

                    INSTRUCTIONS - Please Read Updates Below As Well:

                    1. Compile the updbroadcastrelay code from GitHub (see @stephenw10's post above for reference: https://forum.netgate.com/topic/155698/how-can-i-get-this-udp-relay-package-for-casting-across-vlans/9) on a FreeBSD system or virtual machine (For pfSense 2.4.5p1 this should be FreeBSD 11.3). If you are not able to compile the code on your own, you can also download the attached archive file which contains a precompiled udpbroadcastrelay binary. Please note that this binary has been compiled under FreeBSD 11.3 and thus only tested to work with the current version of pfSense (at the time of this writing this is 2.4.5-p1).

                    udpbroadcastrelay_pfSense245p1.zip

                    UPDATE 2/18/2021:

                    With pfSense 2.5.0 now being available, @sfxdude has compiled the udpbroadcastrelay code to binary under FreeBSD 12.2 for pfSense 2.5.0. Please see this post:

                    https://forum.netgate.com/topic/155698/how-can-i-get-this-udp-relay-package-for-casting-across-vlans/59

                    UPDATE 3/14/2021:
                    It looks like this package has now been included upstream in FreeBSD, so no longer a need to compile on your own from source:

                    https://www.freshports.org/net/udpbroadcastrelay/
                    https://forum.netgate.com/topic/155698/how-can-i-get-this-udp-relay-package-for-casting-across-vlans/66

                    1. Next, drop the compiled udpbroadcastrelay binary file into the /root/udpbroadcastrelay directory on your firewall.

                    2. Install the ShellCmd package on pfSense.

                    3. Configure the updbroadcastrelay based on your use case and configure the ShellCmd package to start it automatically on startup. Please see:

                    https://github.com/marjohn56/udpbroadcastrelay#usage

                    Below are two example commands to illustrate using the package to enable mDNS relaying between two network interfaces, igb0 and igb1:

                    /usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 5353 --dev igb0 --dev igb1 --multicast 224.0.0.251 -s 1.1.1.1 -f > /dev/null
                    

                    If using two VLAN's, e.g. 10 and 20:

                    /usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 5353 --dev igb0.10 --dev igb1.20 --multicast 224.0.0.251 -s 1.1.1.1 -f > /dev/null
                    

                    Additional details are also available further up on this thread.

                    1. Although I have not tried this out, I assume it would be ok to run multiple instances of the udpbroadcastrelay (with different --id defined) in case you want to enable mDNS and SSDP at the same time, for example.

                    2. This only sets up the udp relaying between subnets. The necessary firewall rules are still required for devices on different subnets to actually talk to each other (once they have been discovered).

                    ======================

                    I hope these instructions are useful for those looking to try this out. Please note that I'm not the creator and maintainer of this code base so will be limited with the amount of help I can provide.

                    S 1 Reply Last reply Reply Quote 8
                    • S
                      sinbox_pfs @tman222
                      last edited by

                      @tman222 x-posting my reply from the other thread with some observations from my end.

                      “@tman222 thank you.

                      I ended up spinning a VM on a old Windows laptop and was able to get the binary working. It works like a charm! Great thing is that it doesn’t need any other packages like Avahi or PIMD ( I never had any 100% success with previously) nor does it require fiddling around with firewall rules. For the first time in 2 years, I have my Sonos working as I intend in my pfSense + Unifi ecosystem.

                      So far, I have the following tested and working correctly:

                      Controlling and playing to Sonos speakers across VLANs via the Sonos App v2
                      Airplay 2 (incl multi-room) works perfectly across VLANS.
                      LIFX app to manage bulbs across VLAN’s works great
                      Side effect - HomeKit also works across VLANs although I have only tested with anything else other than the LIFX bulbs. Now that I have my IoT network in working order, I feel like investing in more devices.
                      I just need to figure out a reliable way to keep the package running if/when pfSense reboots (eg via shellcmd).

                      @tman222 Do you use Cloudflare DNS? Not sure I understand what the hard coded 1.1.1.1 source address in the package does? So far I’m not seeing any conflicts with their DNS, but will keep an eye out if anything breaks.”

                      Re:#5: Yes, I can confirm multiple instances of the process with a unique ID works. That’s how I have it running,

                      #6: Agree - this will be unique to everyone’s case based on their VLAN configuration, but in my instance, I only have one rule alllowing all traffic from My LAN to any. Does this open up any security risks?

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        From the man page:

                        A special source ip of -s 1.1.1.1 can be used to set the source ip to the address of the outgoing interface and the source UDP port to the same as the destination port. '-s 1.1.1.2' does the same but leaves the UDP ports unchanged. These values are notably required to cater for the Chromecast system.
                        

                        Steve

                        QinnQ 1 Reply Last reply Reply Quote 0
                        • QinnQ
                          Qinn
                          last edited by

                          @stephenw10 said in How can I get this UDP relay package for casting across VLANs?:

                          ./udpbroadcastrelay

                          Maybe I missed it, but what is the command to quit/stop/kill it?

                          Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                          Firmware: Latest-stable-pfSense CE (amd64)
                          Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            tman222 @Qinn
                            last edited by tman222

                            @Qinn said in How can I get this UDP relay package for casting across VLANs?:

                            @stephenw10 said in How can I get this UDP relay package for casting across VLANs?:

                            ./udpbroadcastrelay

                            Maybe I missed it, but what is the command to quit/stop/kill it?

                            Hi @Qinn - I've had no trouble terminating / stopping the udpbroadcastrelay process just using the kill command, i.e. if process id (PID) is 12345, then I would issue the following from the shell: kill 12345

                            https://www.freebsd.org/cgi/man.cgi?query=kill&apropos=0&sektion=1&manpath=FreeBSD+11.3-RELEASE

                            Hope this helps.

                            QinnQ 1 Reply Last reply Reply Quote 1
                            • QinnQ
                              Qinn @tman222
                              last edited by Qinn

                              @tman222 said in How can I get this UDP relay package for casting across VLANs?:

                              @Qinn said in How can I get this UDP relay package for casting across VLANs?:

                              @stephenw10 said in How can I get this UDP relay package for casting across VLANs?:

                              ./udpbroadcastrelay

                              Maybe I missed it, but what is the command to quit/stop/kill it?

                              Hi @Qinn - I've had no trouble terminating / stopping the udpbroadcastrelay process just using the kill command, i.e. if process id (PID) is 12345, then I would issue the following from the shell: kill 12345

                              https://www.freebsd.org/cgi/man.cgi?query=kill&apropos=0&sektion=1&manpath=FreeBSD+11.3-RELEASE

                              Hope this helps.

                              Thanks for your quick reply! I know of the kill command, just don't understand that the developer did not add a quit/stop option for it's users for this service. So I hoped I missed it in the syntax, but apparently it's not there.

                              It's seems to be an OPNsense package/Plugin with a GUI which has the start and stop https://forum.opnsense.org/index.php?topic=15910.0

                              For anyone who needs it:

                              How to kill the udpbroadcastrelay service

                              PS
                              

                              this will give you the process ID (PID)

                              PID     TT  STAT    TIME     COMMAND
                              
                              38231  0-     S      0:00.36 ./udpbroadcastrelay --id 2 --port 1900 --dev 
                              

                              then use the kill command

                              kill 38231
                              

                              Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                              Firmware: Latest-stable-pfSense CE (amd64)
                              Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                              1 Reply Last reply Reply Quote 0
                              • QinnQ
                                Qinn @stephenw10
                                last edited by Qinn

                                @stephenw10 said in How can I get this UDP relay package for casting across VLANs?:

                                From the man page:

                                A special source ip of -s 1.1.1.1 can be used to set the source ip to the address of the outgoing interface and the source UDP port to the same as the destination port. '-s 1.1.1.2' does the same but leaves the UDP ports unchanged. These values are notably required to cater for the Chromecast system.
                                

                                Steve

                                Could udpbroadcastrelay be implemented as a GUI, must say it's rather a simple and elegant tool compared to PIMD

                                Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                                Firmware: Latest-stable-pfSense CE (amd64)
                                Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                                1 Reply Last reply Reply Quote 0
                                • stephenw10S
                                  stephenw10 Netgate Administrator
                                  last edited by

                                  The feature request is open, add your comments there:
                                  https://redmine.pfsense.org/issues/10818

                                  It's certainly relatively simple. There is a fine line between elegant and crude. 😉

                                  Hard to argue with what works though.

                                  Steve

                                  QinnQ 1 Reply Last reply Reply Quote 3
                                  • QinnQ
                                    Qinn @stephenw10
                                    last edited by

                                    @stephenw10 Nice

                                    Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                                    Firmware: Latest-stable-pfSense CE (amd64)
                                    Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                                    1 Reply Last reply Reply Quote 0
                                    • QinnQ
                                      Qinn
                                      last edited by Qinn

                                      @tman222 said in How can I get this UDP relay package for casting across VLANs?:

                                      /usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 5353 --dev igb0 --dev igb1 --multicast 224.0.0.251 -s 1.1.1.1 -f > /dev/null
                                      
                                      

                                      I know what the nohup is for, just don't understand why the nohup in needed as nohup implies that the executed command can/may survive past logout. I tested

                                      /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 5353 --dev igb0 --dev igb1 --multicast 224.0.0.251 -s 1.1.1.1 -f > /dev/null
                                      

                                      and updbroadcastrelay stayed up after I logged out as root.

                                      Or has it something to with Shellcmd or did I miss something 🤔 else ?

                                      Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                                      Firmware: Latest-stable-pfSense CE (amd64)
                                      Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                                      1 Reply Last reply Reply Quote 0
                                      • stephenw10S
                                        stephenw10 Netgate Administrator
                                        last edited by

                                        I would normally use it with a shellcmd. I have seen commands run there fail at the end of boot otherwise.

                                        Though since that's expected to run as a service it may not be required.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • QinnQ
                                          Qinn
                                          last edited by

                                          Aha so it's shellcmd related

                                          Hardeware: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz 102 GB mSATA SSD (ZFS)
                                          Firmware: Latest-stable-pfSense CE (amd64)
                                          Packages: pfBlockerNG devel-beta (beta tester) - Avahi - Notes - Ntopng - PIMD/udpbroadcastrelay - Service Watchdog - System Patches

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            shremi
                                            last edited by

                                            So in my journey to make sonos work from across Vlans i came to this thread .

                                            I have made some progress :

                                            i created an Ubuntu VM on my server and gave it 2 interfaces one with a trusted network and the other one with the Vlan network.

                                            I think i compiled the program correctly here is the command i ran :

                                            sudo ./udpbroadcastrelay --id 1 --port 5353 --dev enp1s0 --dev enp3s0 --multicast 224.0.0.251 -s 1.1.1.1 -f > /dev/null
                                            

                                            But it threw an error.

                                            bind: Address already in use 
                                            

                                            I have no experience at all when it comes to linux.

                                            I hope someone can guide me .

                                            T 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.