I have a scenario where I need to both receive and send multicast across a VPN.
As I understand IgmpProxy only allows for one upstream. My network appear to be set up correctly as if I state an Upstream and Downstream I can either send, or if I switch them around I can receive multicast.
Do I have any options within OpenWRT to send and receive?
You might make this work with smcroute. There are OpenWrt packages I think, and there's this description:
Suppose you have two networks 192.168.1.0/24 and 192.168.2.0/24 and there are two radios one is 192.168.1.10 and the other is 192.168.2.10....
now you want anything sent by either radio to be broadcast across to the other network. Topology is: A ----- eth0 router eth1 ----- B
Then a config like:
mgroup from eth0 group 225.0.0.1 source 192.168.1.10
mroute from eth0 group 225.0.0.1 source 192.168.1.10 to eth1
mgroup from eth1 group 225.0.0.1 source 192.168.2.10
mroute from eth1 group 225.0.0.1 source 192.168.2.10 to eth0
Redirect using DNAT doesn't seem to work. Is there any way to change the destination IP from multicast 225.0.0.1 straight to my device at 192.168.50.5 for example. Can iptables mangle do it?
No, in order for multicast to be routed, there must be a multicast routing daemon running. THat's what smcroute does, it essentially shoves a couple of static routes into the kernel multicast routing table, and keeps them there by running and passing packets back and forth.
You need to increase the TTL of the multicast packets.
See here:
If you use a restricted firewall setup, you also need to create proper firewall rules.
I don't know if the openwrt smcroute package comes with smcroutectl but you can try: smcroutectl show [groups|routes]
Using -d with the routes option gives detailed info about each multicast route.
Thanks, I got send and receive working with Smcroute. I had to compile a custom build of OpenWrt which had Multicast routing enabled within the kernel config. Smcroute was advising in the log it was disabled with the official build
What a journey, I still need to tidy up.
Getting a 4G USB modem, flashing crazy firmware onto it to work, then using Strongswan to get an IPsec VPN working to a Vigor router, and now multicast and compiling custom Openwrt build argh it has been a nightmare.
Ill probably do a tutorial on it all as I've had to gleam bits from everywhere. Thanks for the help !