Jak mogę otworzyć port (nie aplikację) w firewallu macOS Sierra?

2

Staram się to śledzić wątek i zaktualizować go na macOS Sierra (i prawdopodobnie wszystkie wersje od Yosemite).

W tym wątku zasugerowano sposób otwarcia pojedynczego portu w zaporze systemu operacyjnego:

sudo ipfw add 40000 allow tcp from any to any dst-port portnum

Jednakże, ponieważ Yosemite, ipfw został zastąpiony pf i, jeśli się nie mylę, należy użyć pfctl.

Do czego zmieniłoby się powyższe polecenie?

Lou
źródło

Odpowiedzi:

2

Aby otworzyć port, użyj następujących wierszy:

pass in proto tcp from any to any port 40000
pass in proto tcp from any to any port 80
pass in proto {tcp, udp} from any to any port 53
pass in from any to any port 3601

Aby szybko uruchomić pf i otworzyć port za pomocą jeden z powyższych linii użyj np .:

echo "pass in proto tcp from any to any port 40000" | sudo pfctl -ef -

Aby przetestować reguły, użyj: sudo pfctl -s rules

Po ponownym uruchomieniu komputera musisz ponownie wprowadzić polecenie, ponieważ pf nie jest uruchamiane automatycznie.

Domyślnie plik pf.conf nie ma blokowanie wszystkiego reguła. Więc nawet po rozpoczęciu pf z sudo pfctl -e nic nie jest zablokowane.

Jeśli nie chcesz zanurzyć się głęboko w pf / pf.conf / pfctl, zalecam używanie GUI pfctl, takiego jak wolny Murus Lite skonfigurować pf.

klanomath
źródło
Mac OS Sierra wciąż narzeka na pfctl zakłócający wewnętrzną zaporę ogniową, przepłukując reguły ustawione podczas uruchamiania. Co? Czy istnieją różne zapory ogniowe? Dlaczego? ... Podsumowując, brzmi to dla mnie dość śmiesznie, ponieważ sprawia, że ​​niepotrzebnie bolesne jest zrobienie czegoś tak prostego jak otwarcie portu dla połączeń przychodzących, w moim przypadku ujawnienie homebrewn dnsmasq w sieci lokalnej pod Sierra. (Z tą „aplikacją” nie wymienioną na liście jako aplikacja, należy ją włączyć w zwykły sposób.)
cepharum
@cepharum macOS Sierra zapewnia dwie różne zapory ogniowe: pf (brak interfejsu GUI Apple) i zaporę aplikacji (system Prefs> Bezpieczeństwo> zapora). Możesz zadać osobne pytanie dotyczące twojego problemu.
klanomath