alsmith / multicast-relay

Relay multicast and broadcast packets between interfaces.
GNU General Public License v3.0
316 stars 48 forks source link

DOCS: How (should / can?) I use this as broader multicast relay? #19

Closed scyto closed 4 years ago

scyto commented 4 years ago

Hi love this, got it working in docker container on a ubiquiti router and i can see mDNS and SSDP on both sides of my two networks.

Do you intend this to be a broader IGMP Proxy (asking because of the name change). For example are there ways for me to say all ports on all 224.0.0.0/4. Or should i look at the IGMP proxy github project for that sort of thing? (i like yours as you have recent updates)

alsmith commented 4 years ago

Hey - well done with getting it working on that router. If you could post the Dockerfile (or make a pull request with it in a subdir and README) I'm sure it'd be well appreciated!

The name change came about when I realised that I had the need to not just relay SSDP traffic but mDNS traffic so generalised it to multicast-relay. At least they're both UDP-based (i.e. IP protocol# 17) and you can relay arbitrary UDP traffic using --relay 224.A.B.C:D as command line parameters. IGMP has its own IP protocol# - I've used the IGMP proxy's code before and it definitely did the job for me.

scyto commented 4 years ago

@alsmith this is the link, it works on mine, have a few folks testing to see if it solves their issue (sonos connectivity) - the native mDNS in the UDM line works ok, just missing SSDP. https://hub.docker.com/r/scyto/multicast-relay

I tried a few other 'true' igmp proxies (improxy, pimd, mcproxy, igmpproxy) seems the current kernel on the UDM line has the IP_MROUTE flag disabled so those solutions can't work - that explains why UDM didn;t bring over igmp proxy from their old unifi USG line!.

I did this mostly to learn, and shut up the community always bitching about sonos not working, lol :-) I don't actually run vlans at home - except for testing and learning like this :-)

scyto commented 4 years ago

i guess i answered my own question too, this can't easily be a general purpose multicast relay - but can do some message passing. If you changed to make it work i would hit the same kernel issue. so will close, thanks for the repsonse. Would love to get your thoughts / feedback on the container. I made it for other architectures too as it would work on most docker hosts that are multihomed / multivlan'd/