How can I get this UDP relay package for casting across VLANs?
-
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 .
-
@shremi said in How can I get this UDP relay package for casting across VLANs?:
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 .
Hi @shremi - have you checked to see whether no other program / service in Ubuntu might already be using the multicast address? Beyond that though, is there any particular reason you are trying to use this tool on Linux vs. directly on pfSense? Hope this helps.
-
Thanks @tman222 i was just trying to see if that works and then move it to the pfsense machine.
I made it work it was the avahi daemon runing on the linux VM .... but as soon as i killed that service and opened 5353 for mdns everything on the network went bezerk ...
I mostly run home assistant to get everything centralized and it threw a lot of errors stating that there was another instance of home assistant running with the same name ..... so back to square one i can either create another VM on the server with a freebsd OS or move it directly to the firewall itself.
What made me hesitant to install it on the firewall is :
- that i really don't know how to access the /root/ folder or how can i copy the file to it.
- and how do i make the package to autostart on boot-up
- i also don't know if should delete the avahi package
I have a couple of free days since a relative tested positive for Covid and we are just being careful our test came back negative .
-
@shremi said in How can I get this UDP relay package for casting across VLANs?:
-
- that i really don't know how to access the /root/ folder or how can i*
@shremi I guess you are a Windows man ;) Install WinSCP and use de scp protocol on port 22 and login to pfSense
make a directory in /root named udpbroadcastrelay
copy the udpbroadcastrelay file to this directory
Now you have to make udpbroadcastrelay executable
use properties on the file in WinSCP to change it to 0755 or use telnet to do this manually withchmod 755 udpbroadcastrelay
You picked the wrong startup command for Sonos devices you do not need --multicast 224.0.0.251 but --multicast 239.255.255.250 see below
-
- i and how do i make the package to autostart on boot*
Install the Shellcmd package from the package manager in pfSense
use this command in Shellcmd with of course your vlans/usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 1900 --dev igb1.10 --dev igb1.20 --multicast 239.255.255.250 -f > /dev/null
-
- i also don't know if should delete the avahi package*
You can leave it installed
-
-
@Qinn said in How can I get this UDP relay package for casting across VLANs?:
/usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 1900 --dev igb1.10 --dev igb1.20 --multicast 239.255.255.250 -f > /dev/null
Thanks a lot fo this @QINN i really appreciate it. Yeah i am lost when it comes to linux-freebsd :(
So here is where i am at :
I followed the instructions correctly as you stated. how can i verify that it is working. ???
Im guessing i need to open some sort of connection to a command line to input the cmd commands in the firewall?
Heres what i did :
I went to services and then to shellcmd and created this command.
/usr/bin/nohup /root/udpbroadcastrelay/./udpbroadcastrelay --id 1 --port 1900 --dev igb0 --dev igb0.40 --multicast 239.255.255.250 -f > /dev/null
I am using LAN and VLAN 40 on the same igb0 port i think that should work right?
i created an alias for the sonos stuff and then created a rule on the IoT vlan to for the sonos alias to talk to the private network.
But still no connection via the app.
I am sure i am missing something.
-
@shremi 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?:
I am sure i am missing something.
Yeah quoting myself hahahaha !!
Thanks a lot i think i just needed to reboot the pfsense machine i can discover and talk to sonos devices from my private network.
I am going to tight down the aliases instead of giving the sonos players full access to the main trusted network. i will give it to the phones and home assistant VM.
The only thing that it seems that stopped working is the UPnP Service for pfsense i used to have it for the consoles but i dont think that they are in use .
Next up i would like to use this for mDNS and get rid of avahi since i read that using this option has a little bit of more advantages over the avahi package.
-
@shremi You can see it running from the command line, best is to login using putty with SSH or when you have installed WinSCP press Control T and a terminal will open. Here you enter the ps command (processes status)
ps
You will get something like
/root/udpbroadcastrelay$ ps PID TT STAT TIME COMMAND 28327 u0- SN 14:19.50 /bin/sh /var/db/rrd/updaterrd.sh 73155 u0 Is 0:00.02 login [pam] (login) 73672 u0 I 0:00.02 -sh (sh) 90155 u0 I+ 0:00.01 /bin/sh /etc/rc.initial 71121 v0 Is 0:00.02 login [pam] (login) 73887 v0 I 0:00.02 -sh (sh) 75937 v0 I+ 0:00.01 /bin/sh /etc/rc.initial 71448 v1 Is+ 0:00.01 /usr/libexec/getty Pc ttyv1 71544 v2 Is+ 0:00.01 /usr/libexec/getty Pc ttyv2 71638 v3 Is+ 0:00.01 /usr/libexec/getty Pc ttyv3 71836 v4 Is+ 0:00.01 /usr/libexec/getty Pc ttyv4 72169 v5 Is+ 0:00.01 /usr/libexec/getty Pc ttyv5 72465 v6 Is+ 0:00.01 /usr/libexec/getty Pc ttyv6 72832 v7 Is+ 0:00.01 /usr/libexec/getty Pc ttyv7 50749 0 S 0:00.00 ./udpbroadcastrelay --id 1 --port 1900 --dev igb1.1005 82781 0 Is 0:00.01 -sh (sh) 83059 0 I 0:00.01 /bin/sh /etc/rc.initial 85940 0 S+ 0:00.07 /bin/tcsh
Btw Using the commandline I would always advise to install putty https://www.putty.org/
-
first enable SSH in pfSense -> System /Advanced/Admin Access
-
Then install putty https://www.putty.org/ and enable SSH in pfSense and login with SSH
-
-
Thanks, this help me to get working control of my devices between VLANs.
-
@burntoc Thanks for all the hard work on this. I can't wait for this to get a proper pfsense package, and updates when pfsense 2.5 gets released.
This software got the following apps to work across segmented networks:
- Denon HEOS
- Onkyo Remote3
- FiOS TV Remote (plus some FW rules)
-
I have found this tool really handy for me so I want to help to make it happen, unfortunately I don't have the programming skills to do any of the behind the scenes nuts and bolts stuff, but what I can do is front-end stuff and help develop the logic so that a programmer can simply follow that.
To show my genuine interest I have made a package panel and am wondering if it is worth perusing any further, i.e. developing the underlying logic etc? Here is what it looks like:
-
In case this helps anyone, I built this on freeBSD 12.2 for pfsense 2.5.0:
udpbroadcastrelay-pfsense2.5.0.zip -
@sfxdude Thank you! I was just sitting down to spin up a VM to build this for 12.2. You saved me the time.
-
@sfxdude said in How can I get this UDP relay package for casting across VLANs?:
In case this helps anyone, I built this on freeBSD 12.2 for pfsense 2.5.0:
udpbroadcastrelay-pfsense2.5.0.zipThanks @sfxdude - I will go ahead and update my post above as well to point to yours with the new 2.5 file.
I upgraded to 2.5 yesterday and it looks like the udpbroadcastrelay binary I compiled under FreeBSD 11.3 still works fine under FreeBSD 12.2. Is there a need to upgrade to the latest binary if the old one works fine?
Thanks in advance.
-
@tman222 I'd say if it works it's probably fine, but no harm in rebuilding for the new one.
-
Anyone has the binary avaliable for the sg-1100?
-
Obviously it would need to be compiled for aarch64. It might be simple enough a compile against FreeBSD 12.2 will work. You would need to be setup for cross-compiling or have am aarch64 build box.
Adding your comments to the feature request night be best.Steve
-
@tman222 said in How can I get this UDP relay package for casting across VLANs?:
udpbroadcastrelay
I think it is here https://freebsd.pkgs.org/12/freebsd-aarch64/udpbroadcastrelay-0.3.b.txz.html
I can't test it for aarch64, as I don't own one, but downloaded the am64 version copied it to pfSense 2.5.0 and did a
chmod 755 udpbroadcastrelay
Then excuted it and it performed nicely.
-
Oh that's interesting, I didn't realise it had been included upstream. Makes things a lot easier.
Though I had to upload it rather than fetch it directly:
[21.02-RELEASE][admin@2100-2.stevew.lan]/tmp: pkg add udpbroadcastrelay-0.3.b.txz Installing udpbroadcastrelay-0.3.b... Extracting udpbroadcastrelay-0.3.b: 100% [21.02-RELEASE][admin@2100-2.stevew.lan]/tmp: rehash [21.02-RELEASE][admin@2100-2.stevew.lan]/tmp: udpbroadcastrelay usage: udpbroadcastrelay [--id ID] [--port udp-port] [--dev dev1] [--dev dev2] [--dev devX] [-s IP] [--multicast ip1] [--multicast ipX] [-t|--ttl-id] [-d] [-f] [-h|--help]
Edit: Looks like it was only added last week.
Steve
-
Cool, this is great news! I assume this link is for the amd64 version of the package?
https://pkgs.org/download/udpbroadcastrelay
https://freebsd.pkgs.org/12/freebsd-amd64/udpbroadcastrelay-0.3.b.txz.htmlI actually just recently recompiled the udpbroadcastrelay source for pfSense 2.5.0 (FreeBSD 12.2 Stable) but will keep this link in mind for future versions. I'll also update my initial post in the thread above.
-
@stephenw10 - when installing the
udpbroadcastrelay
as a FreeBSD package, where on the file system is the binary located (will be needed for ShellCmd)? Thanks in advance.