Problem beim Ausschalten der Firewall unter OS X El Capitan 10.11.2

Ich versuche, einen einfachen Webserver auf meinem Computer für einen Peer im selben Netzwerk zugänglich zu machen, aber ohne großen Erfolg. Ich habe ein Problem, bei dem sich meine Firewall ständig wieder einschaltet oder nicht ausschaltet (ich bin mir nicht sicher, welche).

Ich gehe zu Systemeinstellungen -> Sicherheit & Datenschutz -> Firewall, entsperre die Einstellungen und klicke auf „Firewall ausschalten“. Es scheint zu funktionieren. Ich klicke auf das Schloss unten links, um meine Einstellungen zu speichern, und verlasse dann die Systemeinstellungen. Aber ein Port-Scan zeigt, dass keiner meiner Ports für eingehende Verbindungen zugänglich ist. Dann gehe ich zurück zu den Firewall-Einstellungen und es zeigt meine Firewall wieder als eingeschaltet an, obwohl ich sie gerade ausgeschaltet habe.


Was ich bisher probiert habe:

  • Ich habe nach anderen gesucht, die dieses Problem haben, aber ich kann nichts finden.
  • Ich habe meinen Rechner auch neu gestartet, aber das Problem besteht weiterhin.
  • Nach einigen Google-Ergebnissen habe ich sudo defaults write /Library/Preferences/com.apple.alf globalstate -int 0im Terminal ausgeführt, aber defaults read /Library/Preferences/com.apple.alf globalstateimmer noch 1 (ein) zurückgegeben.

Wie kann ich meine Firewall ausschalten?

BEARBEITEN: Ich denke, dies hängt möglicherweise damit zusammen, dass diese Firewall-Einstellungen auf meinem vorherigen Macbook Pro festgelegt wurden und ich seitdem mit Time Machine auf ein neueres Macbook aktualisiert habe.

Was passiert, wenn Sie den Webserver starten? Sie sollten einmal aufgefordert werden, Verbindungen zuzulassen. Funktioniert das für einen Aufruf? Wenn nicht, müssen Sie möglicherweise Konfigurationsprofile/MDM ausschließen, es sei denn, Sie sind sicher, dass Sie den Mac vollständig selbst verwalten. Das Schreiben von defaultsreicht nicht mehr aus, aber alle meine Maschinen respektieren die GUI-Änderung, wenn Sie die Firewall ausschalten.
@bmike Es ist eine Meteor- Anwendung, und ich habe Meteor schon oft ausgeführt. Ich kann mich nicht erinnern, ob es mich jemals aufgefordert hat, eingehende Verbindungen zu akzeptieren, wie es die meisten Prozesse tun, oder was ich gesagt habe. Ich habe eine Knotenanwendung, die im Dialogfeld "Firewall-Optionen ..." als blockierende eingehende Verbindungen aufgeführt ist. Seltsamerweise wird jedoch das Ändern der Einstellung auf „Eingehende Verbindungen zulassen“ nicht gespeichert, genauso wie das Ändern des Firewall-Ein/Aus-Status nicht speichert. Ich wette, das hat etwas damit zu tun, dass ich diese Einstellungen auf meinem vorherigen Mac vorgenommen und seitdem mit Time Machine aktualisiert habe.

Antworten (1)

Ich werde eine kurze Antwort darauf geben, wie ich dies beheben würde, da dies nicht das beabsichtigte Verhalten ist.

  1. Erstellen Sie ein Backup Ihres Mac – nur für den Fall.
  2. Probieren Sie einen einfachen Python-Webserver in terminal.app aus

    python -m SimpleHTTPServer

Sie sollten Text wie: sehen Serving HTTP on 0.0.0.0 port 8000 ...und ein Popup wie:

Geben Sie hier die Bildbeschreibung ein

Wenn nicht, löschen Sie vielleicht die gesamte Firewall-Einstellung und starten Sie den Mac neu, sobald die Sicherung abgeschlossen ist.

sudo -H mv /Library/Preferences/com.apple.alf.plist ~/Desktop

Auf diese Weise können Sie die Einstellungsdatei bei Bedarf überprüfen/zurückverschieben. Wenn das Firewall-Popup nach dem Neustart immer noch nicht angezeigt wird, überprüfen Sie die Firewall-Systemeinstellungen erneut und prüfen Sie optional, ob Sie möglicherweise ein Konfigurationsprofil haben, das möglicherweise einige Firewall-Einstellungen erzwingt, die Sie nicht kontrollieren.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie kein Profilsymbol haben, können Sie das wahrscheinlich ausschließen.

Danke! Ich erhalte das Popup, auf dem der grundlegende Python-Server ausgeführt wird (obwohl ich die ausführbare Python 2.7-Datei verwenden musste). Interessant ist jedoch, dass ich erneut aufgefordert werde, wenn ich auf OK klicke und dann den Prozess beende und ihn erneut starte (ich denke, es sollte zumindest nicht so funktionieren, da es sich daran erinnern sollte, dass ich es bereits zugelassen hatte Netzwerk Zugang). Vielleicht hängt es mit der Lese-/Schreibfähigkeit der Plist-Datei zusammen, da sie von meinem Benutzer auf dem vorherigen Mac erstellt wurde? Ich glaube, es ist derselbe "Benutzer", also vielleicht nicht. Das Verzeichnis zeigt -rw-r--r--@die Zugriffsberechtigungen für diese Datei an.
Ich habe kein Profilsymbol. Ich werde jetzt ein Time Machine Backup machen und dann versuchen, die plist zu löschen und neu zu starten.
Also ich denke ich habe das Problem gelöst. Am Ende funktionierte es, im Wiederherstellungsmodus neu zu starten, csrutil disableim Terminal auszuführen, erneut neu zu starten und sudo chflags nouchg /Library/Preferences/com.apple.alf.plistmir dann zu erlauben, es zu bearbeiten. Ich bin mir nicht sicher, welcher Schritt der Trick war, aber ich kann jetzt meine Firewall in den Systemeinstellungen ein- und ausschalten (und musste zum Glück nicht alle meine Firewall-Einstellungen verlieren). Vielen Dank für Ihre Hilfe! Wenn Sie Ihre Antwort so ändern, dass sie die von mir erwähnten Debugging-Schritte enthält, die funktioniert haben, werde ich sie auf jeden Fall markieren.