Comment ouvrir un port spécifique dans Firewall OS X 10.9.4
15
Comment ouvrir un port spécifique dans le pare-feu? Je ne peux pas utiliser le "autoriser les connexions depuis l'application" car je veux ouvrir le port pour Jenkins, qui n'est pas sur la liste ...
Sur quel (s) port (s) et protocoles voulez-vous que Jenkins puisse écouter? Cet article vous aidera à voir sur quels ports il est configuré ... stackoverflow.com/a/10106086/475228
OS X Mavericks d'Apple contient trois pare-feu. Tout d'abord, le pare-feu au niveau de l'application qui peut être configuré à l'aide des paramètres système. Mais il y a aussi ipfw, un pare-feu de filtrage de paquets comme netfilter / iptables sur GNU / Linux et pf (FreeBSD / OpenBSD).
Vous pouvez soit configurer ipfw en utilisant la ligne de commande, soit en utilisant un frontal graphique comme le WaterRoof gratuit / libre .
Vous pouvez commencer avec une commande ipfw comme:
sudo ipfw add 31010 allow tcp from any to any dst-port 8080
J'ai eu le même problème sous OS X Yosemite (10.10.3). Trouvé cet article de blog qui fournit des instructions claires. Nous ne pouvons plus utiliser ipfw, car il est obsolète. Au lieu de cela, utilisez pfctl, qui manque malheureusement d'une manière agréable en ligne de commande pour lui dire d'ouvrir un port. Au lieu de cela, vous devez:
Ouvrez /etc/pf.conf dans un éditeur de texte.
Ajoutez une ligne comme celle-ci:
# Ouvrez le port 8080 pour TCP sur toutes les interfaces
passer en proto tcp de tout à n'importe quel port 8080
Enregistrez le fichier.
Chargez les modifications avec:
sudo pfctl -f /etc/pf.conf
Si vous devez ouvrir un port udp, passez tcpà udp, si vous avez besoin des deux, ajoutez une deuxième ligne. Des détails supplémentaires peuvent être trouvés dans man pf.conf.
Assurez-vous également que votre serveur écoute sur l'interface réelle sur laquelle vous souhaitez qu'il soit accessible (ou sur toutes les interfaces, à l'aide de 0.0.0.0ou ::0), pas sur localhost ( 127.0.0.1ou ::1).
Whoa, redémarrez? Devez-vous vraiment redémarrer pour ouvrir un port?
jcollum
1
passer -nà pfctl vérifie les règles et ne les charge pas ostensiblement. Utilisez juste -f /etc/pf.confpour charger les règles. Vérifiez qu'ils sont chargés pfctl -sr. Cependant, bien que les règles pfctl soient nécessaires, elles ne semblent pas suffisantes en elles-mêmes pour permettre l'accès à El Capitan sur un port donné.
Brian M. Hunt
... Il faut également s'assurer que l'application est liée au nom d'hôte (pas localhost); on obtient le nom d'hôte avec $ hostnamesur la ligne de commande. En outre, on peut redémarrer le pare-feu, au lieu de redémarrer, en allant dans Préférences Système -> Sécurité et confidentialité -> Pare-feu -> Désactiver le pare-feu, puis Activer le pare-feu.
Brian M. Hunt du
@Keen fantastique avatar - grands souvenirs!
Dónal
6
ipfw est déconseillé par Apple. Mountain Lion et plus tard utilisent pfctl.
pouvez-vous publier la commande spécifique pour ouvrir un port?
thias
Si vous souhaitez ajouter un port spécifique, je pense que vous devez modifier le fichier de configuration (voir krypted.com/mac-security/… et recherchez la partie avec 192.168). D'un autre côté, si vous voulez vous assurer qu'une application n'est pas bloquée, jamfnation.jamfsoftware.com/discussion.html?id=6566 a un assez bon résumé dans le commentaire final. J'utilise toujours principalement 10.6, donc je n'ai pas beaucoup travaillé avec pfctl.
Kent
1
Voici une ligne plutôt que d'exiger de l'utilisateur de jouer avec Vim. Utile pour l'automatisation.
sed -i '' -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Ou une alternative pour les utilisateurs Linux
sed -i -e '$a\pass in proto tcp from any to any port 8080' /etc/pf.conf; pfctl -vnf /etc/pf.conf
Assurez-vous simplement de changer 8080dans l'exemple ce que vous avez en tête. Échangez TCP avec UDP si vous le souhaitez.
ipfw
serait-elle pertinente? apple.stackexchange.com/questions/33871/…Réponses:
OS X Mavericks d'Apple contient trois pare-feu. Tout d'abord, le pare-feu au niveau de l'application qui peut être configuré à l'aide des paramètres système. Mais il y a aussi ipfw, un pare-feu de filtrage de paquets comme netfilter / iptables sur GNU / Linux et pf (FreeBSD / OpenBSD).
Vous pouvez soit configurer ipfw en utilisant la ligne de commande, soit en utilisant un frontal graphique comme le WaterRoof gratuit / libre .
Vous pouvez commencer avec une commande ipfw comme:
la source
J'ai eu le même problème sous OS X Yosemite (10.10.3). Trouvé cet article de blog qui fournit des instructions claires. Nous ne pouvons plus utiliser ipfw, car il est obsolète. Au lieu de cela, utilisez pfctl, qui manque malheureusement d'une manière agréable en ligne de commande pour lui dire d'ouvrir un port. Au lieu de cela, vous devez:
Si vous devez ouvrir un port udp, passez
tcp
àudp
, si vous avez besoin des deux, ajoutez une deuxième ligne. Des détails supplémentaires peuvent être trouvés dansman pf.conf
.Assurez-vous également que votre serveur écoute sur l'interface réelle sur laquelle vous souhaitez qu'il soit accessible (ou sur toutes les interfaces, à l'aide de
0.0.0.0
ou::0
), pas sur localhost (127.0.0.1
ou::1
).la source
-n
à pfctl vérifie les règles et ne les charge pas ostensiblement. Utilisez juste-f /etc/pf.conf
pour charger les règles. Vérifiez qu'ils sont chargéspfctl -sr
. Cependant, bien que les règles pfctl soient nécessaires, elles ne semblent pas suffisantes en elles-mêmes pour permettre l'accès à El Capitan sur un port donné.localhost
); on obtient le nom d'hôte avec$ hostname
sur la ligne de commande. En outre, on peut redémarrer le pare-feu, au lieu de redémarrer, en allant dans Préférences Système -> Sécurité et confidentialité -> Pare-feu -> Désactiver le pare-feu, puis Activer le pare-feu.ipfw est déconseillé par Apple. Mountain Lion et plus tard utilisent pfctl.
http://support.apple.com/kb/ht5413
la source
Voici une ligne plutôt que d'exiger de l'utilisateur de jouer avec Vim. Utile pour l'automatisation.
Ou une alternative pour les utilisateurs Linux
Assurez-vous simplement de changer
8080
dans l'exemple ce que vous avez en tête. Échangez TCP avec UDP si vous le souhaitez.la source