-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
igmpproxy with udpxy on localhost #67
Comments
You do not need igmpproxy if you want udpxy (or any other software which receive multicast stream) on your router. Even more if igmpproxy is running, your application on router would ignore it, it does not interact with igmpproxy. So igmpproxy is in this setup irrelevant. To receive multicast stream in your application, you have to tell your application from which interface it want to receive that multicast stream. Of course it should be from upstream interface. If you do not say it to your application, then interface would be chosen from (classic) routing table. To check what is default interface you can use ip route command:
To configure it call: ip route add 224.0.0.0/4 dev . To change, first delete it via |
udpxy cannot work without opening the firewall for multicast adresses incoming from WAN, which I don't have to do with igmpproxy : I think it's more secure. By the way even if I configure the multicast routes to my LAN, it doesn't work the way I want... Thanks for your answer |
igmpproxy is listening for requests on your downstream interfaces. Therefore if you want to use it (for whatever reason) you need to run your udpxy on (different) machine which is connected to downstream interface on your router.
So you need to debug it what, this is just plain firewall / system / multicast configuration and has nothing to do with igmpproxy.
Sorry I do not understand this sentense. Any application which wants to listen on multicast address (including igmpproxy and udpxy) need to use kernel multicast functions (setsockopt IP_ADD_MEMBERSHIP). Kernel then generates IGMP packets sent to configured interface. Packets are always subject to iptables/firewall. igmpproxy is also listening on downstream interfaces for clients IGMP packets and on Linux this part is insecure as it ignores iptables/firewall and receive all packets (even those explicitly marked as REJECT/DROP). But this part is needed for multicast routing, to route packets from upstream interface to downstream interface to the different network. When you run udpxy on your router, you are NOT doing any multicast routing therefore igmpproxy is not involved. You just have to properly configure this application to receive multicast stream. Sending unicast UDP packets has nothing with igmpproxy nor with multicast routing. |
ok, thanks for the clear and detail answer |
Hello,
I have a problem running igmpproxy with localhost programme using multicast :
My ISP provides TV streams over multicast. So I used igmpproxy on my OpenWrt router to be able to stream those on my LAN from my WAN (I have managed switch with IGMP snooping, also enabled on my router) : this config works and I can join the multicast streams on my LAN (using VLC).
Here is my igmpproxy config.
But I also want to be able to convert those multicast streams to unicast, using udpxy.
While running udpxy on another machine than my router on my LAN works (it is able to do the conversion and I can access the unicast stream), I cannot make it work direclty on my routeur.
If I configure udpxy to join the multicast group on my router LAN IP, it receive the multicast stream from igmpproxy only if this stream is joined on another machine on my LAN. And as soon as I stop the multicast stream on the other machine, udpxy cannot receive it anymore.
I also tried to configure udpxy to connect the multicast source from localhost, adding localhost as downstream in igmpproxy config :
config phyint
option network loopback
option direction downstream
or
config phyint
option network lo
option direction downstream
but this doesn't work.
How can i configure igmpproxy to catch the ask to join the multicast stream from a localhost application, or from the LAN IP of the router it is running on ?
thanks
The text was updated successfully, but these errors were encountered: