Search code examples
network-programmingdockeriptablesmulticastforwarding

Multicast from docker to host's eth


currently i am trying to send some multicast data from my docker's application throughout my host's eth2 host interface. i did use --net=host option in docker and this was working perfectly, and unfortunately since i need to open multiple instances that uses same port, its impossible for me to use net=host anymore. i have to go through the bridged mode of docker0

in my docker's interface i have eth0 which is linked to my docker0 as 10.101.131.60.

therefore i did : route add -net 225.1.1.0/28 dev eth0 to pass all multicast packets that my app send to 225.1.1.0/28 to my eth0, which is connected to host as docker0.

therefore, i used wireshark to listen whether my application really throws the message packet to my eth0 inside container, and it really does sending multicasts when i use wireshark inside container.

now throughout i also used wireshark to listen to my docker0 and the packets were there. Now how do i "Forward all my multicast packets" throughout docker0 to my eth2? i used several iptables approach, but none of them seemed to be useful, perhaps that its being ignored?

any help would be appreciated... thanks!


Solution

  • You can use an IGMP proxy like this: https://sourceforge.net/projects/igmpproxy/

    Good luck