Come aprire una porta specifica in Firewall OS X 10.9.4

15

Come posso aprire una porta specifica nel firewall? Non posso usare "consenti connessioni dall'applicazione" perché voglio aprire la porta per Jenkins, che non è nell'elenco ...

    
posta Guy 21.08.2014 - 21:50
fonte

4 risposte

7

OS X Mavericks di Apple contiene tre firewall. Innanzitutto, Application Level Firewall che può essere configurato utilizzando le impostazioni di sistema. Ma c'è anche ipfw, un firewall per il filtraggio dei pacchetti come netfilter / iptables su GNU / Linux e pf (FreeBSD / OpenBSD).

Puoi configurare ipfw usando la riga di comando, o usando un front-end grafico come free / libre waterroof .

Potresti iniziare con un comando ipfw come:

sudo ipfw add 31010 allow tcp from any to any dst-port 8080
    
risposta data 21.08.2014 - 22:26
fonte
21

Ho avuto lo stesso problema in OS X Yosemite (10.10.3). Trovato questo post del blog che fornisce istruzioni chiare. Non possiamo più usare ipfw, dato che è deprecato. Invece, usa pfctl, che sfortunatamente manca di un bel modo da riga di comando per dirgli di aprire una porta. Invece, è necessario:

  1. Apri /etc/pf.conf in un editor di testo.
  2. Aggiungi una riga come questa:

# Open port 8080 for TCP on all interfaces

pass in proto tcp from any to any port 8080

  1. Salva il file.
  2. Carica le modifiche con:

sudo pfctl -f /etc/pf.conf

Se hai bisogno di aprire una porta udp, modifica tcp a udp , se ne hai bisogno, aggiungi una seconda linea. Ulteriori dettagli possono essere trovati in man pf.conf .

Verifica inoltre che il tuo server sia in ascolto sull'interfaccia effettiva a cui desideri accedere (o su tutte le interfacce, utilizzando 0.0.0.0 o ::0 ), non localhost ( 127.0.0.1 o ::1 ).

    
risposta data 12.04.2015 - 21:23
fonte
6

ipfw è deprecato da Apple. Mountain Lion e successivamente usa pfctl.

link

    
risposta data 21.08.2014 - 22:41
fonte
1

Ecco una copertina piuttosto che richiedere all'utente di scherzare con Vim. Utile per l'automazione.

sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

O un'alternativa per gli utenti Linux

sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf

Assicurati di cambiare 8080 nell'esempio con qualsiasi cosa tu abbia in mente. Scambia tcp con udp se lo desideri.

    
risposta data 09.11.2016 - 18:04
fonte

Leggi altre domande sui tag