OPNsense Forum

English Forums => Development and Code Review => Topic started by: marjohn56 on February 18, 2020, 09:42:34 am

Title: UDP Broadcast Relay beta package
Post by: marjohn56 on February 18, 2020, 09:42:34 am
There are now so many people running this now and I'm sending out a couple of PM links a day, so I'm just going to post it here. One day it will get officially taken up and will appear in the plugins. In the meantime should something change then I will update the pkg accordingly and post here.

You can grab it here. https://www.dropbox.com/s/no60byvyspab9m0/os-os-udpbroadcastrelay-devel-0.5_0.6.txz?dl=0 (https://www.dropbox.com/s/no60byvyspab9m0/os-os-udpbroadcastrelay-devel-0.5_0.6.txz?dl=0)

To install, copy the file to a your opnsense instance /tmp folder. Go to the shell, cd to the /tmp folder and issue the following command.

pkg install os-*.txz

You should then have a new menu item in services.

This is an updated version of udpbroadcastrelay that uses a new method of reflection detection. This can be overridden using the Use TTL for ID option, it then resorts to it's former operation, however the new method appears to work fine, so you should be able to leave that option un-ticked.

It now also supports multiple multicast addresses on the same port.

Add the relay you want, here are the values for some common ones. the --dev items refer to your interfaces, in the UDP Broadcast Relay menu you just select the interfaces from the dropdown box in the menu.

Syncthing discoveryudp_vars="--id 1 --port 21027 --dev igb1 --dev igb2"

mDNS / Multicast DNS (Chromecast Discovery + Bonjour + More)udp_vars="--id 1 --port 5353 --dev eth0 --dev eth1 --multicast 224.0.0.251 -s 1.1.1.1"(Chromecast requires broadcasts to originate from an address on its subnet)

SSDP (Roku Discovery, Sonos + More) --id 1 --port 1900 --dev eth0 --dev eth1 --multicast 239.255.255.250"


Lifx Bulb Discovery --id 1 --port 56700 --dev eth0 --dev eth1

Broadlink IR Emitter Discovery --id 1 --port 80 --dev eth0 --dev eth1


Warcraft 3 Server Discovery --id 1 --port 6112 --dev eth0 --dev eth1"

Once you have created the instance(s) you'll need to start them for the first time from the services widget in the lobby, just click on the start button that will have appeared there. After that you can start and stop them from the UDP Broadcast Relay menu itself.


NB - each instance should have a unique ID, 1 2 3 etc...
Title: Re: UDP Broadcast Relay beta package
Post by: jhenderson0107 on May 02, 2020, 02:30:07 am
I'd like to try using the package, but the dropbox link appears broken.  Thank you in advance for your assistance. 
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on May 02, 2020, 08:12:28 am
Just checked it and its working fine.


I did notice that dropbox now opens the txz file, but just click the download button and you get the full txz file to install.


(https://i.ibb.co/KsXb2JC/Capture.png) (https://ibb.co/dprjPRn)
Title: Re: UDP Broadcast Relay beta package
Post by: mimugmail on May 02, 2020, 10:25:57 am
I'd like to try using the package, but the dropbox link appears broken.  Thank you in advance for your assistance.

pkg install os-udpbroadcastrelay-devel
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on May 02, 2020, 10:58:24 am
is he running on dev? I did not see that.
Title: Re: UDP Broadcast Relay beta package
Post by: mimugmail on May 02, 2020, 11:59:21 am
This also works in production :)
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on May 02, 2020, 12:41:17 pm
OK, never knew that. So although you cannot see it in production plugins you can install it from the shell, you learn something new every day - currently I'm learning to do brain surgery...
Title: Re: UDP Broadcast Relay beta package
Post by: Gauss23 on May 05, 2020, 11:21:31 am
Hi,

I just tested the current devel version of the plugin.

I was searching for a replacement for mDNS-repeater because I had timeouts after 5 minutes. The device is not reachable anymore from other networks after that period.

I tested the udp broadcast relay plugin with mDNS and it was working. Altough I needed to leave away the 1.1.1.1 or 1.1.1.2 as source address. With 1.1.1.1 it had the same timeouts like mDNS-repeater and with 1.1.1.2 the devices (HP with Bonjour service) didn´t show up on other networks.
With empty source address it´s working without timeouts.

As I don´t have a Chromecast I can´t test if this would fail in my setup.

Thank you very much for this plugin. Good work so far!
Title: Re: UDP Broadcast Relay beta package
Post by: GreenMatter on June 22, 2020, 11:33:16 am
I've installed the package and all (almost all) works well, except onkyo broadcast.
I know onkyo sends broadcast using port 10102. I wasn't sure of broadcast address and with use of tcpdump I managed to observe that once broadcast address is set to 239.255.255.250 mobile devices in other subnets are able to send packets over respective subnet's broadcast address to onkyo receiver. Unfortunately, it doesn't allow for onkyo app to find and login to receiver.
I did try to set source address, use TTL for ID and nothing helps. Required ports in firewall are open between subnets. What am I missing?
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on June 22, 2020, 12:31:39 pm
Some manufacturers do weird things. Onkyo was not on the list of systems known to work with the original daemon. I'm afraid you might have to contact Onkyo and find out from them how they communicate with their apps if you can find nothing on the www.
Title: Re: UDP Broadcast Relay beta package
Post by: GreenMatter on June 22, 2020, 01:32:31 pm
I'm afraid you might have to contact Onkyo and find out from them how they communicate with their apps if you can find nothing on the www.
Thanks for a prompt reply. I've contacted them but the only thing I got was the answer from guy who used typical FAQ sheet and told me that all devices must be in one subnet. No technical info at all. I'll try one more time to contact Onkyo, maybe this time I'll be more lucky...
Title: Re: UDP Broadcast Relay beta package
Post by: namnnumbr on July 02, 2020, 01:59:32 am
Thanks for providing this package!

I have followed the instructions to install and set up, but I cannot find my Sonos speakers over Airplay across VLANs.  I actually believe this to be an issue with my switch (TP-Link T1700G-28TQ).  Are there L2 and/or L3 settings I should consider while trying to configure the switch?

My network is a router-on-a-stick topology, with OPNsense trunked to the T1700 with Home and IoT VLANs.  The T1700 switch is trunked to another switch with equivalent native vlan and vlan setup to which the WAP is connected.
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on July 02, 2020, 09:16:10 am
Good question to which i do not have an answer. The way to prove or disprove is to use the port mirroring feature and see if the packets are being relayed across the VLANs. I use DLink switches and using port mirroring I am able to see the UDP packets being relayed. If you have set it UDPBroadcastRelay correctly, and it's pretty difficult not to, then you should be able to use Wireshark to see them. I would not have thought you needed to do any extra settings on the switches, mine are just set to basic settings with the VLANs set up and it works.
Title: Re: UDP Broadcast Relay beta package
Post by: franco on July 02, 2020, 04:09:14 pm
Shall we release this plugin as stable 1.0 version?


Cheers,
Franco
Title: Re: UDP Broadcast Relay beta package
Post by: samsonmcnulty on July 13, 2020, 01:22:59 am
I'd love to step in and say "Hell yes" lol
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on July 13, 2020, 05:29:51 pm
@Franco - Yes, sorry, didn't see your post..  for some reason I appear not to be getting email notifications.
Title: Re: UDP Broadcast Relay beta package
Post by: guest25283 on July 31, 2020, 08:25:39 am
Shall we release this plugin as stable 1.0 version?

Cheers,
Franco

I just joined this forum, and am planning to switch from pfSense to OPNsense.
I currently have SONOS on a VLAN using PIMD, and this is one of the key requirements for me before switching to OPNsense. Happy to see this being released to a stable version :)
Title: Re: UDP Broadcast Relay beta package
Post by: franco on July 31, 2020, 08:43:14 am
Forgot about this... will be officially released in 20.7.1.


Cheers,
Franco
Title: Re: UDP Broadcast Relay beta package
Post by: guest25283 on July 31, 2020, 10:15:02 am
Forgot about this... will be officially released in 20.7.1.


Cheers,
Franco

Great news Franco, looking forward :)
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on July 31, 2020, 05:12:02 pm
Forgot about this... will be officially released in 20.7.1.



Maybe.... 🤞
Title: Re: UDP Broadcast Relay beta package
Post by: franco on July 31, 2020, 05:13:59 pm
Looks like a "definitively maybe" to me.  8)

https://github.com/opnsense/plugins/commit/34ce960535
Title: Re: UDP Broadcast Relay beta package
Post by: guest25283 on July 31, 2020, 06:10:49 pm
Now this is devotion! You guys rock 8).
Title: Re: UDP Broadcast Relay beta package
Post by: abraxxa on October 13, 2020, 10:33:03 pm
Just migrated my printer to its own vlan and started to use this package successfully to forward MDNS for Bonjour/AirPrint discovery.  :)

There seems to be only IPv4 support, do you plan adding IPv6 support?
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on October 13, 2020, 11:20:46 pm
I doubt it.
Title: Re: UDP Broadcast Relay beta package
Post by: chelming on December 06, 2020, 06:38:33 pm
Do I need to add firewall rules to make this work? I added the SSDP and mDNS to UDP Broadcast Relay and I can see my three Roku devices for casting and can select them in the Roku app after about a 7 second delay.

I cannot see any of my chromecast devices.

All of my IOT devices are on the 40_IOT net and my phone is on the 10_Trusted net.

UDP Broadcast Relay setup:
(https://cwhits.s3.amazonaws.com/fugaciousness-rowdier-semianatomically-retaliation.png)

my firewall rules are pretty non-existant and the same on both interfaces:
(https://cwhits.s3.amazonaws.com/scampering-unhinging-captainess-severian.png)

mDNS Repeater is currently disabled. I tried adding an allow in rule on the 10_Trusted net for all traffic whose source is 40_IOT and that didn't work either.

I can see all the chromecasts, google devices and speaker groups in wireshark from 10_Trusted:
11   11.823222   192.168.10.1   224.0.0.251   MDNS   419   Standard query response 0x0000 PTR Google-Home-Mini-6b0461727bacfded14f5c854c4d4437f._googlecast._tcp.local TXT, cache flush SRV, cache flush 0 0 8009 6b046172-7bac-fded-14f5-c854c4d4437f.local A, cache flush 192.168.40.27

Any ideas?
Title: Re: UDP Broadcast Relay beta package
Post by: TheLinuxGuy on January 07, 2021, 07:45:08 am
Do I need to add firewall rules to make this work?

did you figure this out and if FW rules were needed?
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on January 07, 2021, 10:53:27 am
Yes, you will need rules. There is no way of knowing the address of the server responding an another LAN/VLAN OR the port it will respond on. Therefore you need ideally to have the server at a static address. For example, I use it for Sky, same ports as Sonos, so I have one rule on my IOT VLAN which allows the server to send traffic back to my primary VLAN. As I don't know what port it will use to send back to the client I have to allow all ports from that server, which I have also given a static address.
Title: Re: UDP Broadcast Relay beta package
Post by: dlasher on June 01, 2021, 06:40:41 am
What's the current status of this package? I'm running 20.7, and I've installed the 0.5_0.6 beta, but it fails to run.

/usr/local/sbin/udpbroadcastrelay: Exec format error. Binary file not executable.

I see hints of it being installed in 21, but is there a version of those of us on 20.x stable?
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on June 01, 2021, 08:34:12 am
Just install the package from the plugins. v1.01 is current.
Title: Re: UDP Broadcast Relay beta package
Post by: dlasher on June 01, 2021, 09:08:43 am

Turns out I'm running 20.1.9.i386 - hence the binary not running.

Any chance there's a version for those of us still on the i386 version?
Title: Re: UDP Broadcast Relay beta package
Post by: marjohn56 on June 01, 2021, 09:56:32 am
Not in the short term, up to my eyeballs with my real job. The source is available if you want to try and compile it yourself.