Die OS X-Firewall blockiert externe Verbindungen zum NGinx-Docker-Container

Ich habe einen Docker-Container, auf dem NGinx auf einem MacOS High Sierra-Computer hinter einer Unternehmens-Firewall ausgeführt wird, die nicht deaktiviert werden kann. Auf den Container kann nicht extern von anderen Computern im Unternehmensnetzwerk über die Host-IP zugegriffen werden. Ich habe versucht, den Container auf einem Computer auszuführen, der nicht der Firewall unterliegt, und alles funktioniert einwandfrei, sodass das Problem wahrscheinlich in der Firewall liegt.

Dinge, die ich versucht habe:

Betrieb

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/Docker.app/Contents/MacOS/*
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/Docker.app/Contents/MacOS/*

Und

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/Docker.app/Contents/MacOS/Docker
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/Docker.app/Contents/MacOS/Docker

Beide Befehle fügen Docker zur Liste der Apps unter Security & Privacy > Firewall Options hinzu, aber der Container ist immer noch nicht remote über die Host-IP erreichbar.

@danielAzuelos Vielen Dank für das Feedback - macht es Ihnen etwas aus, Anweisungen zu geben, wie Sie das tun, was Sie vorgeschlagen haben, da ich keine Erfahrung mit tcpdump habe?
Ja. Darüber hinaus habe ich auch bestätigt, dass das Deaktivieren der Firewall den Zugriff auf den dockerisierten NGinx-Server durch andere Computer im LAN ermöglicht.
Ich nehme die Anwendungs-Firewall von macOS, auf die unter Systemeinstellungen > Sicherheit & Datenschutz > Firewall zugegriffen wird.
Wie nennen Sie "Unternehmens-Firewall" in Ihrer OQ?

Antworten (1)

Dieses Problem hat wahrscheinlich nichts mit Ihrem lokalen Computer zu tun.

Wenn Sie sich hinter einer Unternehmens-Firewall befinden, ist diese Firewall (unter anderem) speziell dafür ausgelegt, genau das zu verhindern, was Sie versuchen zu tun: einen von außen zugänglichen Server im internen (geschützten, unternehmenseigenen) LAN einzurichten

Die einzige Möglichkeit, bei der Arbeit auf Ihren Mac zuzugreifen (egal, was darauf läuft), besteht darin, zu fragen, ob Ihre IT-Abteilung dies zulässt.

Wenn jemand dort, wo ich arbeite, nach etwas Ähnlichem fragt, würde ich ihm persönlich ins Gesicht lachen. Ein Unternehmens-Intranet (je nachdem, was Ihr Unternehmen tut ...) ist kein Ort für einen persönlichen Server jeglicher Art.

Sie haben (wahrscheinlich) bereits eine Reihe von extern zugänglichen Servern (z. B. E-Mail, Fernzugriff usw.), auf die sie viel Zeit verwenden, um sicherzustellen, dass sie sicher und geschützt sind. Es ist unwahrscheinlich, dass sie dich das machen lassen.

Außerdem können sie die Einrichtung solcher Server auf Netzwerkebene blockieren. Wenden Sie sich erneut an Ihre IT-Abteilung und teilen Sie ihr mit, was Sie zu tun versuchen.

Klarstellung: Mit „extern“ meine ich den Zugriff durch andere Maschinen im Unternehmensnetzwerk. Ich kann dies mit anderen Servern an Port 80 und nicht mit Docker tun.
Ich habe dieses Problem auch mit macOS 10.13, wenn ich Dienste wie nginx, node ausführe - mit Anwendungen, die der Firewall hinzugefügt wurden und den Zugriff erlaubten, kann ich beispielsweise nicht auf http im lokalen Netzwerk zugreifen, es sei denn, ich deaktiviere die Firewall (überwache alle Schnittstellen usw ) Das Ausschalten der Firewall ist das einzige, was eine Änderung bewirkt