Многоадресная рассылка от докера к eth хоста

в настоящее время я пытаюсь отправить некоторые многоадресные данные из моего приложения докера через интерфейс хоста eth2 моего хоста. я использовал опцию --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.

поэтому я использовал wirehark, чтобы прослушать, действительно ли мое приложение отправляет пакет сообщений в мой внутренний контейнер eth0, и действительно ли оно отправляет многоадресные рассылки, когда я использую wireshark внутри контейнера.

теперь я также использовал wireshark для прослушивания моего docker0, и пакеты были там. Теперь, как мне «перенаправить все мои многоадресные пакеты» через docker0 на мой eth2? Я использовал несколько подходов iptables, но ни один из них не оказался полезным, возможно, из-за того, что его игнорировали?

любая помощь будет оценена... спасибо!


person Kevin Yan    schedule 14.06.2017    source источник


Ответы (1)


Вы можете использовать прокси-сервер IGMP следующим образом: https://sourceforge.net/projects/igmpproxy/

Удачи

person OscarAkaElvis    schedule 16.06.2017