Jak otworzyć określony port w Firewall OS X 10.9.4
15
Jak otworzyć określony port w zaporze? Nie mogę użyć opcji „zezwalaj na połączenia z aplikacji”, ponieważ chcę otworzyć port Jenkins, którego nie ma na liście ...
Na jakich portach i protokołach chcesz, aby Jenkins mógł nasłuchiwać? Ten post pomoże Ci zobaczyć, na jakich portach jest skonfigurowany ... stackoverflow.com/a/10106086/475228
Apple OS X Mavericks zawiera trzy zapory ogniowe. Przede wszystkim zapora na poziomie aplikacji, którą można skonfigurować za pomocą ustawień systemowych. Ale jest także ipfw, zapora filtrująca pakiety, taka jak netfilter / iptables na GNU / Linux i pf (FreeBSD / OpenBSD).
Możesz skonfigurować ipfw za pomocą wiersza polecenia lub graficznego interfejsu, takiego jak darmowy / libre WaterRoof .
Możesz zacząć od polecenia ipfw, takiego jak:
sudo ipfw add 31010 allow tcp from any to any dst-port 8080
Miałem ten sam problem w systemie OS X Yosemite (10.10.3). Znaleziono ten post na blogu, który zawiera jasne instrukcje. Nie możemy już używać ipfw, ponieważ jest przestarzały. Zamiast tego użyj pfctl, który niestety nie ma ładnego sposobu wiersza poleceń, aby nakazać mu otwarcie portu. Zamiast tego musisz:
Otwórz /etc/pf.conf w edytorze tekstu.
Dodaj taką linię:
# Otwórz port 8080 dla TCP na wszystkich interfejsach
przekazać proto tcp z dowolnego do dowolnego portu 8080
Zapisz plik.
Załaduj zmiany za pomocą:
sudo pfctl -f /etc/pf.conf
Jeśli chcesz otworzyć port udp, zmień tcpna udp, jeśli potrzebujesz obu, dodaj drugą linię. Dodatkowe szczegóły można znaleźć w man pf.conf.
Upewnij się także, że Twój serwer nasłuchuje na interfejsie, na którym chcesz, aby był dostępny (lub na wszystkich interfejsach, używając 0.0.0.0lub ::0), a nie na localhost ( 127.0.0.1lub ::1).
Zaraz, uruchom ponownie? Czy naprawdę musisz zrestartować komputer, aby otworzyć port?
jcollum
1
przekazanie -ndo pfctl weryfikuje reguły i wyraźnie ich nie ładuje. Użyj tylko, -f /etc/pf.confaby załadować reguły. Sprawdź, czy są załadowane pfctl -sr. Jednak chociaż reguły pfctl są konieczne, samo w sobie nie wydaje się wystarczające, aby umożliwić dostęp do El Capitan na danym porcie.
Brian M. Hunt,
... Należy również upewnić się, że aplikacja jest powiązana z nazwą hosta (nie localhost); jeden otrzymuje nazwę hosta $ hostnamew wierszu poleceń. Ponadto można zrestartować zaporę, zamiast restartować, przechodząc do Preferencji systemowych -> Bezpieczeństwo i prywatność -> Zapora -> Wyłącz zaporę, a następnie włącz zaporę.
czy możesz opublikować konkretne polecenie otwarcia portu?
thias
Jeśli chcesz dodać konkretny port, myślę, że musisz edytować plik konfiguracyjny (patrz krypted.com/mac-security/... i wyszukaj część z 192.168). Z drugiej strony, jeśli chcesz się upewnić, że aplikacja nie jest blokowana, jamfnation.jamfsoftware.com/discussion.html?id=6566 ma całkiem dobre podsumowanie w ostatnim komentarzu. Nadal używam głównie wersji 10.6, więc nie pracowałem dużo z pfctl.
Kent,
1
Oto jedna linijka, zamiast wymagać od użytkownika, aby zadzierał z Vimem. Przydatny do automatyzacji.
sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Lub alternatywa dla użytkowników Linuksa
sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Upewnij się tylko, że zmienisz 8080przykład na cokolwiek, co masz na myśli. Zamień tcp na udp, jeśli chcesz.
ipfw
byłoby odpowiednie? apple.stackexchange.com/questions/33871/...Odpowiedzi:
Apple OS X Mavericks zawiera trzy zapory ogniowe. Przede wszystkim zapora na poziomie aplikacji, którą można skonfigurować za pomocą ustawień systemowych. Ale jest także ipfw, zapora filtrująca pakiety, taka jak netfilter / iptables na GNU / Linux i pf (FreeBSD / OpenBSD).
Możesz skonfigurować ipfw za pomocą wiersza polecenia lub graficznego interfejsu, takiego jak darmowy / libre WaterRoof .
Możesz zacząć od polecenia ipfw, takiego jak:
źródło
Miałem ten sam problem w systemie OS X Yosemite (10.10.3). Znaleziono ten post na blogu, który zawiera jasne instrukcje. Nie możemy już używać ipfw, ponieważ jest przestarzały. Zamiast tego użyj pfctl, który niestety nie ma ładnego sposobu wiersza poleceń, aby nakazać mu otwarcie portu. Zamiast tego musisz:
Jeśli chcesz otworzyć port udp, zmień
tcp
naudp
, jeśli potrzebujesz obu, dodaj drugą linię. Dodatkowe szczegóły można znaleźć wman pf.conf
.Upewnij się także, że Twój serwer nasłuchuje na interfejsie, na którym chcesz, aby był dostępny (lub na wszystkich interfejsach, używając
0.0.0.0
lub::0
), a nie na localhost (127.0.0.1
lub::1
).źródło
-n
do pfctl weryfikuje reguły i wyraźnie ich nie ładuje. Użyj tylko,-f /etc/pf.conf
aby załadować reguły. Sprawdź, czy są załadowanepfctl -sr
. Jednak chociaż reguły pfctl są konieczne, samo w sobie nie wydaje się wystarczające, aby umożliwić dostęp do El Capitan na danym porcie.localhost
); jeden otrzymuje nazwę hosta$ hostname
w wierszu poleceń. Ponadto można zrestartować zaporę, zamiast restartować, przechodząc do Preferencji systemowych -> Bezpieczeństwo i prywatność -> Zapora -> Wyłącz zaporę, a następnie włącz zaporę.ipfw jest przestarzałe przez Apple. Mountain Lion, a później użyj pfctl.
http://support.apple.com/kb/ht5413
źródło
Oto jedna linijka, zamiast wymagać od użytkownika, aby zadzierał z Vimem. Przydatny do automatyzacji.
Lub alternatywa dla użytkowników Linuksa
Upewnij się tylko, że zmienisz
8080
przykład na cokolwiek, co masz na myśli. Zamień tcp na udp, jeśli chcesz.źródło