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