目前我正试图通过我的主机的eth2主机接口从我的码头的应用程序发送一些多播数据。我确实在docker中使用了--net=host
选项,这是完美的工作,不幸的是,因为我需要打开多个使用相同端口的实例,所以我不可能再使用net = host。我必须要经过我的泊坞窗的界面bridged
模式的docker0
从码头到主机eth的组播
我有eth0
链接到我的docker0
为 10.101.131.60。
因此我做了:route add -net 225.1.1.0/28 dev eth0
将我的应用发送给225.1.1.0/28的所有多播数据包传递给我的eth0,eth0连接到主机作为docker0
。
因此,我用wireshark来监听我的应用程序是否真的把消息包扔进我的容器内的eth0
,并且当我在容器内使用wireshark时它确实发送多播。
现在我还用wireshark听我的docker0
和数据包在那里。现在,我如何将docker0中的所有多播数据包转发给我的eth2?我使用了几种iptables方法,但它们都没有用,也许它被忽略了?
任何帮助将不胜感激......谢谢!