Actuellement, j'essaie d'envoyer des données de multidiffusion depuis l'application de mon docker à travers l'interface hôte eth2 de mon hôte. J'ai utilisé l'option --net=host
dans docker et cela fonctionnait parfaitement, et malheureusement puisque j'ai besoin d'ouvrir plusieurs instances utilisant le même port, il est impossible pour moi d'utiliser net = host. je dois passer par le mode bridged
de docker0
Multicast du docker à l'hôte eth
j'ai eth0
dans l'interface de mon docker qui est lié à mon docker0
comme 10.101.131.60.
donc j'ai fait: route add -net 225.1.1.0/28 dev eth0
pour passer tous les paquets de multidiffusion que mon application envoie à 225.1.1.0/28 à mon eth0, qui est connecté à l'hôte comme docker0
.
par conséquent, j'ai utilisé wireshark pour écouter si mon application jette vraiment le paquet de message à mon conteneur intérieur eth0
, et il envoie vraiment des multidiffusions quand j'utilise wireshark dans le conteneur.
maintenant tout au long j'ai aussi utilisé wireshark pour écouter mon docker0
et les paquets étaient là. Maintenant, comment puis-je "Transférer tous mes paquets de multidiffusion" à travers docker0 à mon eth2? J'ai utilisé plusieurs approches iptables, mais aucune d'elles ne semblait être utile, peut-être que c'était ignoré?
toute aide serait appréciée ... merci!