alsmith / multicast-relay

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

One to one communication #63

Open xynn6 opened 2 years ago

xynn6 commented 2 years ago

Hi @alsmith Nice work. However, I was wondering if there is any option to make it work in a way that only one client from one VLAN can see mDNS traffic only from one device from second VLAN? What I've manage to do right now is that any client from one VLAN can see only one of many device from second VLAN (Chromecast). So, I was wondering if there is option to limit this even more, so we can define that only one device (IP or MAC address) can see exacly one device from second network? Feel free to contact me on astb6677@gmail.com also.

alsmith commented 2 years ago

That is indeed quite tricky, especially when AirPlay is involved, since to reduce the amount of discovery traffic on the network a device will build it's own passive cache of what it thinks is available, based on what it sees when other devices do discovery. Theoretically one could forge ethernet packets look like multicast IP but are actually unicast ethernet, that only go to the device that you want to be able to see things, but that is also fraught since other devices will still see the request, and if they themselves don't see a response then they'll delete what they no longer believe is available from their own cache.

The upshot is that you end up with all sorts of issues where devices come and go, seemingly at random.

xynn6 commented 2 years ago

Hi @alsmith . Thank you for your response. I'm kindly ask you if you can contact me by email, I have more questions that require detailed explanation that I cannot disclose publicly. Thank you in advance.

xynn6 commented 2 years ago

Hi again. One thing that I've noticed durig my setup is that I don't see SSDP packets in replication. My setup is Ubuntu 20.04 server on esxi with two physical interfaces, but mDNS works as it should. Is tehre anything extra to setup it? Thank you in advance.