Has anybody succeeded in tunnelling multicast packets through OpenWrt routers running ZeroTier client packages to LAN devices behind the routers?
If so, please can they advise how to set up OpenWrt?
I’m using the following simple ‘point-to-point’ network topology.
(LAN A 192.168.9.0/24) [Host A]—eth0.1[Router1 + LTE Modem]
{ZeroTier managed routes}
[Router2 + LTE Modem]eth0.1—[Host B] ( LAN B 192.168.10.0/24)
I plan to use this topology in two scenarios.
- Testing/first step for learning about multicasting, hosts are Windows machines running Python scripts. One machine periodically emits a single UDP packet with simple message payload to a valid multicast group address (224.1.1.10/427, with TTL =24) which the other receives and prints.
Messaging was successful in a local network, so (I guess) that proves the code will work over the WAN, once I get OpenWrt correctly configured.
Almost identical code, differing only in socket definitions for multicast and unicast addresses, was used to send/receive UDP packets via the WAN ZeroTier link, and I have used the link to communicate with one of my embedded host devices using custom code that forges TCP/IP packets, so I am certain LANs behind OpenWrt routers are visible to one another.
- In the operational use case, hosts are embedded (inaccessible) Linux devices (hence the need to hide behind OpenWrt routers running ZeroTier client apps).
These devices normally collaborate in LAN architecture: one host acts as controller, one or more others provide various flavors of data via unicast links. Devices employ IGMP and SRVLOC protocols to advertise their services and share unicast addresses before establishing TCP or UDP data streams.
I have studied guidance on multicast in OpenWrt, but found only material covering IPTV and igmpproxy, which does not help me learn how to route through ZeroTier.
Furthermore, the one piece of advise that stood out as being helpful - that a ‘pure bridge solution’ that could be used making igmpproxy and udpxy redundant - was found in an archived version of the IPTV/UDP multicast wiki but has since been redacted.
Before I understood anything about multicasting, I installed igmpproxy and have experimented with obvious parameters (config igmpproxy upstream and downstream network options) to no avail (so, no point in prolonging this post by adding details - and for this point-to-point architecture, igmpproxy is probably unnecessary).
Can anybody help?
Thanks in advance.