20 votes

Comment ouvrir un port spécifique dans le Pare-feu OS X 10.9.4

Comment ouvrir un port spécifique dans le pare-feu ? Je ne peux pas utiliser l'option "autoriser les connexions depuis l'application" car je veux ouvrir le port pour Jenkins, qui n'est pas dans la liste...

0 votes

Sur quel(s) port(s) et protocoles voulez-vous que Jenkins puisse écouter ? Ce post vous aidera à voir sur quels ports il est configuré... stackoverflow.com/a/10106086/475228

0 votes

Sur le port proto Tcp 8080

0 votes

Est-ce que ce post couvrant ipfw être pertinente ? apple.stackexchange.com/questions/33871/

26voto

Keen Points 864

J'ai eu le même problème sous OS X Yosemite (10.10.3). J'ai trouvé cet article de blog qui fournit des instructions claires. Nous ne pouvons plus utiliser ipfw, car il est déprécié. A la place, il faut utiliser pfctl, qui malheureusement ne dispose pas d'une ligne de commande permettant de lui demander d'ouvrir un port. A la place, vous devez :

  1. Ouvrez /etc/pf.conf dans un éditeur de texte.
  2. Ajoutez une ligne comme celle-ci :

# Ouvrir le port 8080 pour TCP sur toutes les interfaces

passe en proto tcp de any à any port 8080

  1. Enregistrez le fichier.
  2. Chargez les changements avec :

sudo pfctl -f /etc/pf.conf

Si vous avez besoin d'ouvrir un port udp, changez tcp a 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, en utilisant la commande 0.0.0.0 o ::0 ), et non pas localhost ( 127.0.0.1 o ::1 ).

3 votes

Whoa, reboot ? Tu dois vraiment redémarrer pour ouvrir un port ?

2 votes

En passant par -n à pfctl vérifie les règles, et surtout ne les charge pas. Utilisez simplement -f /etc/pf.conf pour charger les règles. Vérifiez qu'elles sont chargées avec pfctl -sr . Cependant, si les règles pfctl sont nécessaires, elles ne semblent pas suffisantes pour permettre l'accès à un El Capitan sur un port donné.

0 votes

... Il faut également s'assurer que l'application est liée au nom de l'hôte (et non pas à localhost ) ; on obtient le nom d'hôte avec $ hostname sur la ligne de commande. On peut également 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.

7voto

Malte Bublitz Points 186

L'OS X Mavericks d'Apple contient trois pare-feu. Tout d'abord, le pare-feu au niveau des applications, qui peut être configuré à l'aide des paramètres du système. Mais il y a aussi ipfw, un pare-feu à filtrage de paquets comme netfilter/iptables sur GNU/Linux et pf (FreeBSD/OpenBSD).

Vous pouvez soit configurer ipfw en utilisant la ligne de commande, ou en utilisant une interface graphique comme le logiciel free/libre EauToit .

Vous pouvez commencer par une commande ipfw comme :

sudo ipfw add 31010 allow tcp from any to any dst-port 8080

9 votes

Ipfw est déprécié et disparu dans El Capitan

0 votes

@slashdottir Comment puis-je utiliser cette commande avec pfctl ?

0 votes

@user233428 Cela fait un bon moment que je n'ai pas eu à faire cela, mais en vérifiant mon historique bash, il semble que j'ai utilisé : echo "rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 19131" | sudo pfctl -ef -

6voto

Kent Points 6002

Ipfw est déprécié par Apple. Mountain Lion et les versions ultérieures utilisent pfctl.

http://support.apple.com/kb/ht5413

7 votes

Pouvez-vous afficher la commande spécifique pour ouvrir un port ?

0 votes

Si vous voulez ajouter un port spécifique, alors je pense que vous devez modifier le fichier de configuration ( cf. krypted.com/mac-security/ et rechercher la partie avec 192.168). D'autre part, 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.

1voto

barry Points 887

Plutôt que d'exiger de l'utilisateur qu'il s'amuse avec Vim, voici une réponse en une phrase. 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 de 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 juste de changer 8080 dans l'exemple à ce que vous avez en tête. Remplacez tcp par udp si vous le souhaitez.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X