Andockfenster Empfang von multicast-Verkehr
Haben wir eine dockerized-server-Anwendung macht die automatische Erkennung von physischen Geräten auf das Netzwerk durch das hören für multicast-Pakete auf port 6969. Also müssen wir unsere docker-container zu können, erhalten diese Pakete von Geräten außerhalb des Hosts, über den host, und in dem container. Ich habe gesehen, einige ähnlich Fragen und getan ein viel der Lesen aber ich bin immer noch nicht in der Lage, um den server zu reagieren, die an diese multicast-Pakete.
Sitze ich auf Wireshark beobachten den Datenverkehr im Netzwerk, aber ich bin kein Spezialist. Ich weiß Docker schafft eine MASQUERADE
- Adresse, um den Verkehr so Aussehen, wie es aus der Docker-gateway, also wenn ich mir veth
ich sehe vor allem sprechen zwischen 172.17.0.1
und 172.17.0.2
obwohl mein server nicht in der Lage ist das abrufen von Informationen über die Geräte im Netzwerk. (Wenn ich außerhalb von docker, habe ich keine Probleme natürlich.)
Kann ich nicht verwenden --net=host
wie, wie andere auch, machen wir Gebrauch von den --link
Funktion. Ich habe versucht, die folgenden Variationen...
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
(Diese könnte ich geschworen haben einmal geklappt aber jetzt nicht?)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
Jede Hilfe oder Einsicht, die Sie zur Verfügung stellen könnte wäre sehr dankbar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen zu aktivieren multicat auf Ihre nics:
echo 1 >/proc/sys/net/ipv4/ip_forwarding
zu IP-forwarding aktivierenMüssen Sie explizit festlegen, oder zumindest überprüfen, ob es aktiviert ist, die auf relevanten Schnittstellen.
Ermöglichen, die multicast-Datenverkehr:
Außerdem müssen Sie möglicherweise die route für multicast-Verkehr:
Ändern Sie die TTL der multicast-sender:
Ebenfalls können Sie beginnen, multicast-proxy
PS:
Sollten Sie versuchen, (wenn oben nicht helfen) zu starten docker-container mit --Netto=keine option und verwenden Sie Rohrleitungen mit Folgen Befehl ein:
schafft eth0-Schnittstelle in container mit IFF_MULTICAST Flagge und definierte IP-Adresse.