Config igmpproxy to allow multicast udp from WAN to LAN

root@OpenWrt:~# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen                                                                                         1000
    link/ether e4:95:6e:44:14:0e brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.100/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e695:6eff:fe44:140e/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen                                                                                         1000
    link/ether e4:95:6e:44:14:0f brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e695:6eff:fe44:140f/64 scope link
       valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether e4:95:6e:44:14:0f brd ff:ff:ff:ff:ff:ff
5: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether e4:95:6e:44:14:0e brd ff:ff:ff:ff:ff:ff
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qle                                                                                        n 1000
    link/ether e4:95:6e:44:14:0f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd98:b7f9:36ad::1/60 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::e695:6eff:fe44:140f/64 scope link
       valid_lft forever preferred_lft forever
7: eth1.1@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master                                                                                         br-lan state UP qlen 1000
    link/ether e4:95:6e:44:14:0f brd ff:ff:ff:ff:ff:ff
root@OpenWrt:~#

That looks ok. I see you have two separate ethernet ports, eth0 is WAN and eth1.1 is bridged into br-lan.

Is igmpproxy actually running on the router? you could do:

/etc/init.d/igmpproxy restart

and then ps w | grep igmp

to see that it is.

root@OpenWrt:~# /etc/init.d/igmpproxy restart
root@OpenWrt:~# ps w | grep igmp
 3635 root       944 S    /usr/sbin/igmpproxy -n /var/etc/igmpproxy.conf
 3680 root      1200 S    grep igmp
root@OpenWrt:~#

I restarted igmpproxy several times via the GUI. didn't help

I think I'm out of suggestions at the moment. The way igmpproxy works is its supposed to listen on the lan and then when it hears igmp requests forward them over to the wan and put some firewall rules in place to forward the packets from wan to lan...

Since I don't use it and don't have a testbed it's hard for me to know what's next. @lleachii, or @Mushoz I think I've confirmed that the setup is externally correct, in the sense that the devices involved have appropriate addresses, send the packets, they are received by the router, and the router has appropriate IP addresses etc. Do you have any suggestions?

I'm desperate. Need it for my study. I really don't understand why its so difficult for the traffic to flow from WAN to LAN. I did everything you guys told me. Maybe its really the wrong multicast address ?
I mean in the default settings it says that traffic from WAN to LAN is rejected etc.
But I was told not to change any of these settings. No IGMP, no static routes, no opening ports, no firewall settings although it says that traffic is rejected.
igmpproxy will handle everything but I find it strange that no other setting are needed. So its normal that the firewall rejects traffic in the default settings ?

thanks a lot guys really. but what is wrong why can't i get it to work ? seems so easy, just install igmpproxy and put a few lines in there. why doesn't it work ?
and what about that broadcast address lleachii was talking about ?

What about client side firewall?

I went into the windows 10 firewall settings and checked evertyhing on VLC Public and private.

Yes, that's the default behavior when no specific rules apply, which is exactly what you want: You want all packets from WAN (The big bad internet) to be rejected/dropped, unless explicitly specified. That's what igmpproxy does: It creates specific rules that allow multicast packets to be forwarded from WAN to LAN.

That's exactly what igmpproxy plus it's init script does, so your understanding is correct.

Things to try:

  1. Increase the verbosity of igmpproxy and see if you can find anything relevant. Add option verbose 2 just below your quickleave option.
  2. When the multicast device is streaming a video, and a client tries to subscribe, see if the routes have been correctly setup by running the ip mroute command on the router.
  3. Use tcpdump on the router to see if igmp subscribe request can be seen on LAN.
  4. Use tcpdump on the router to see if this same igmp subscribe request is forwarded on WAN.
  5. Use tcpdump on the router to see if multicast traffic is coming in on WAN.
  6. Use tcpdump on the router to see if this same multicast traffic is flowing to LAN.

I get lots of UDP multicast traffic on WAN
But it won't be forwarded to LAN. I tried all of that

I also see that LAN send IGMP all the time but nothing happens
which address should I use ? currently I try 230.1.1.1:5004

What does ip mroute on the router show when you try to stream?

tcpdump -i br-lan udp while trying to view, does it show packets leaving the router?

I stream rtp://230.1.1.1:5004
opening onother VLC on the LAN PC rtp://@230.1.1.1:5004
getting this:

root@OpenWrt:~# tcpdump -i br-lan udp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-lan, link-type EN10MB (Ethernet), capture size 262144 bytes
22:49:09.681564 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.56863 > OpenWrt.lan.53: 2543+ A? wpad.lan. (26)
22:49:09.682019 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.56863: 2543 NXDomain 0/0/0 (26)
22:49:09.682376 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.64435 > OpenWrt.lan.53: 48594+ AAAA? wpad.lan. (26)
22:49:09.684101 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.64435: 48594 NXDomain 0/0/0 (26)
22:49:09.792242 IP6 fe80::5038:454b:f220:8ce.64985 > ff02::c.3702: UDP, length 656
22:49:10.010804 IP LAPTOP-SA059KEM.lan.64984 > 239.255.255.250.3702: UDP, length 656
22:49:14.242934 IP6 fe80::5038:454b:f220:8ce.64985 > ff02::c.3702: UDP, length 656
22:49:14.243138 IP LAPTOP-SA059KEM.lan.64984 > 239.255.255.250.3702: UDP, length 656
22:49:14.391298 IP6 fe80::5038:454b:f220:8ce.64985 > ff02::c.3702: UDP, length 656
22:49:14.466132 IP LAPTOP-SA059KEM.lan.64984 > 239.255.255.250.3702: UDP, length 656
22:49:14.691523 IP6 fe80::5038:454b:f220:8ce.64985 > ff02::c.3702: UDP, length 656
22:49:14.915084 IP LAPTOP-SA059KEM.lan.64984 > 239.255.255.250.3702: UDP, length 656
22:49:20.471907 IP6 fe80::5038:454b:f220:8ce.64985 > ff02::c.3702: UDP, length 656
22:49:21.609747 IP LAPTOP-SA059KEM.lan.64984 > 239.255.255.250.3702: UDP, length 656
22:49:24.885197 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.54190 > OpenWrt.lan.53: 15932+ A? dns.msftncsi.com. (34)
22:49:24.885963 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.54190: 15932 Refused 0/0/0 (34)
22:49:24.889466 IP LAPTOP-SA059KEM.lan.54190 > OpenWrt.lan.53: 15932+ A? dns.msftncsi.com. (34)
22:49:24.889894 IP OpenWrt.lan.53 > LAPTOP-SA059KEM.lan.54190: 15932 Refused 0/0/0 (34)
22:49:31.121424 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.62364 > OpenWrt.lan.53: 39444+ A? forum.openwrt.org. (35)
22:49:31.121718 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.49440 > OpenWrt.lan.53: 28437+ AAAA? forum.openwrt.org. (35)
22:49:31.122497 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.62364: 39444 Refused 0/0/0 (35)
22:49:31.122884 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.49440: 28437 Refused 0/0/0 (35)
22:49:31.126316 IP LAPTOP-SA059KEM.lan.49440 > OpenWrt.lan.53: 28437+ AAAA? forum.openwrt.org. (35)
22:49:31.126444 IP LAPTOP-SA059KEM.lan.62364 > OpenWrt.lan.53: 39444+ A? forum.openwrt.org. (35)
22:49:31.126894 IP OpenWrt.lan.53 > LAPTOP-SA059KEM.lan.49440: 28437 Refused 0/0/0 (35)
22:49:31.127234 IP OpenWrt.lan.53 > LAPTOP-SA059KEM.lan.62364: 39444 Refused 0/0/0 (35)
22:49:39.147089 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.59343 > OpenWrt.lan.53: 6847+ A? forum.openwrt.org. (35)
22:49:39.147551 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.59343: 6847 Refused 0/0/0 (35)
22:49:39.147918 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.62181 > OpenWrt.lan.53: 12385+ AAAA? forum.openwrt.org. (35)
22:49:39.148217 IP LAPTOP-SA059KEM.lan.59343 > OpenWrt.lan.53: 6847+ A? forum.openwrt.org. (35)
22:49:39.149691 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.62181: 12385 Refused 0/0/0 (35)
22:49:39.149978 IP OpenWrt.lan.53 > LAPTOP-SA059KEM.lan.59343: 6847 Refused 0/0/0 (35)
22:49:39.150368 IP LAPTOP-SA059KEM.lan.62181 > OpenWrt.lan.53: 12385+ AAAA? forum.openwrt.org. (35)
22:49:39.150997 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.56695 > OpenWrt.lan.53: 39142+ A? wpad.lan. (26)
22:49:39.151501 IP OpenWrt.lan.53 > LAPTOP-SA059KEM.lan.62181: 12385 Refused 0/0/0 (35)
22:49:39.151834 IP6 fd98:b7f9:36ad::905e:7257:8347:bb89.64192 > OpenWrt.lan.53: 13434+ AAAA? wpad.lan. (26)
22:49:39.151999 IP6 OpenWrt.lan.53 > fd98:b7f9:36ad::905e:7257:8347:bb89.56695: 39142 NXDomain 0/0/0 (26)
22:49:39.153328 IP LAPTOP-SA059KEM.lan.137 > 192.168.1.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
22:49:39.154234 IP6 fe80::5038:454b:f220:8ce.54721 > ff02::1:3.5355: UDP, length 22
^C22:49:39.154460 IP LAPTOP-SA059KEM.lan.54721 > 224.0.0.252.5355: UDP, length 22

40 packets captured
111 packets received by filter
65 packets dropped by kernel
root@OpenWrt:~#

wireshark also shows lots of IGMP requests but thats it

Are you running OpenWrt or the stock firmware based on OpenWrt?

in installed this on my router
openwrt-18.06.1-ar71xx-generic-gl-ar750-squashfs-sysupgrade

and this is what wireshark says while trying to open the stream via VLC:
5

also found this at a different post.

config igmpproxy
        option quickleave 1
#       option verbose 0

config phyint IPTV_WAN
        option network IPTV_WAN
        option direction upstream
        list altnet 192.168.1.0/24
        list altnet 213.75.0.0/16

config phyint lan
        option network lan
        option direction downstream

why does this guy have different igmpproxy settings ?

OK, I've tested the setup using my OpenWrt and igmpproxy:

  • Do you have a PIM server to arrange the multicast in another network (basically, who is handling subscriptions to data sources on WAN)? VLC Media Player does not do this for you.
  • Verify that you have working LAN multicast first, your issue is that you may not have an upstream server that handles these connections. Given you never mentioned one, it's likely the case.

Because in his case, that's his network name. He had a separate IPTV network and VLAN issued from the ISP.