Le panneau de recevoir le trafic de multidiffusion
Nous avons un dockerized application serveur qui est en train de faire l'auto-découverte des appliances physiques sur le réseau par l'écoute des paquets de multidiffusion sur le port 6969. Nous avons donc besoin de notre support de récipient pour être en mesure de recevoir ces paquets à partir de périphériques à l'extérieur de l'hôte, par l'intermédiaire de l'hôte, et dans le conteneur. J'ai vu certains similaire questions et fait un beaucoup de la lecture mais je suis toujours incapable d'obtenir le serveur pour répondre à ces paquets de multidiffusion.
Je suis assis sur Wireshark en regardant le trafic réseau, mais je ne suis pas un spécialiste. Je sais Docker crée un MASQUERADE
adresse à faciliter la circulation de tous les regarder comme elle vient de le Docker de la passerelle, de sorte que lorsque je regarde veth
je vois la plupart des parler entre 172.17.0.1
et 172.17.0.2
bien que mon serveur n'est pas capable de récupérer toutes les informations sur les périphériques sur le réseau. (Si je cours à l'extérieur de docker, je n'ai pas de questions de cours.)
Je ne peux pas utiliser --net=host
que, comme d'autres, nous nous servons de la --link
fonctionnalité. J'ai essayé les variations suivantes...
docker run --name app -p 6969:6969 -d me/app:latest
docker run --name app -p 0.0.0.0:6969:6969 -d me/app:latest
(Ce que j'aurais juré fonctionné une fois, mais maintenant ne l'est pas?)docker run --name app -p 0.0.0.0:6969:6969/udp -d me/app:latest
docker run --name app -p 255.255.255.255:6969:6969 -d me/app:latest
Toute aide ou insight vous pouvez fournir serait grandement apprécié.
OriginalL'auteur DTI-Matt | 2016-05-13
Vous devez vous connecter pour publier un commentaire.
Essayez d'activer multicat sur votre nic:
echo 1 >/proc/sys/net/ipv4/ip_forwarding
pour activer la redirection d'IPVous devez définir explicitement ou au moins vérifier qu'il est activé sur les interfaces.
Permettre le trafic de multidiffusion:
Aussi, vous pourriez avoir besoin d'ajouter de la route pour le trafic de multidiffusion:
Changement de la durée de vie de la multidiffusion de l'expéditeur:
Aussi, vous pouvez commencer à multidiffusion proxy
PS:
Vous devriez essayer (si ci-dessus n'aide pas) pour démarrer le conteneur docker avec --net=aucune option et l'utilisation de la tuyauterie avec un suivi de commande:
qui crée de l'interface eth0 à l'intérieur du contenant avec IFF_MULTICAST le drapeau et l'adresse IP définie.
OriginalL'auteur Valeriy Solovyov