Ein Port kann auf dem Host nicht freigegeben werden, aber die Freigabe auf Docker funktioniert

Ein Port kann auf dem Host nicht freigegeben werden, aber die Freigabe auf Docker funktioniert

Ich habe eine AWS-Instanz. Der gesamte ein- und ausgehende Datenverkehr ist auf allen Ports zulässig.

Ich führe es auf dem Host aus, kann dann aber von außerhalb der Hostmaschine python3 -m http.server 8000 nicht darauf zugreifen .<hostIP>:8000

Jetzt, wenn ich den Docker-Container docker run -di -p 8000:8000 ubuntuauf demselben Host ausführe.

und innerhalb des von mir ausgeführten Docker-Containers python3 -m http.server 8000kann ich <hostIP>:8000von außerhalb des Hostcomputers auf GET zugreifen.

ich komme nicht dahinter. Irgendwelche Ideen, was passiert sein könnte?

PS: Ich habe einen TCPdump ausgeführt und festgestellt, dass der Host das TCP-SYN-Paket empfängt, aber nicht mit einem SYNACK antwortet.

PPS:lsof -Pi :8000

python3 13376 root 3u IPv4 71025 0t0 TCP *:8000 (LISTEN)

Antwort1

ufwDer Dienst blockierte alles im System. Docker wurde ufwordnungsgemäß konfiguriert und funktionierte daher sofort. Ich habe angehalten ufwund alles funktioniert. Facepalm-Moment.

verwandte Informationen