3 votes

Activation de pf pour le proxy transparent sur Mac OS X Mountain Lion

Je procède à des tests de convivialité d'une application web et j'essaie de déboguer et d'enregistrer des sessions SSL en utilisant le logiciel mitmproxy comme un proxy transparent et pour une raison quelconque pf sous Mac OS X Mountain Lion ne met pas en place les redirections transparentes.

D'abord, j'active la redirection :

sudo sysctl -w net.inet.ip.forwarding=1

Ensuite, je crée un simple pf.conf avec une seule ligne :

rdr on {en1, en0} inet proto tcp to any port {80, 443} -> 192.168.1.40 port 3128

Où le 192.168.1.40 est l'hôte distant qui exécute actuellement mitmproxy y en1 y en2 sont les principales interfaces sortantes sur le Mac.

Enfin, je lance pf avec les commandes suivantes :

sudo pfctl -vf pf.conf
sudo pfctl -e

Cependant, rien ne se passe. Lorsque je répertorie les règles en cours d'exécution pour pf con pfctl -sr ça ne montre rien.

J'ai confirmé que pf peut travailler sur la machine en lui donnant une règle factice qui bloque tout accès sortant au port 80 et cela fonctionne.

Des conseils sur ce que je dois faire d'autre pour permettre au pf pour rediriger le trafic web vers un proxy transparent sur Mac OS X Mountain Lion ?

1voto

Paul D. Waite Points 35456

Avez-vous essayé net.inet.ip.scopedroute=0 ? De http://lucumr.pocoo.org/2013/1/6/osx-wifi-proxy/ :

Maintenant, si vous terminez la configuration ci-dessus, vous remarquerez que rien ne fonctionne réellement. La cause de ceci est un bug dans le noyau OS X qui nécessite de basculer l'indicateur net.inet.ip.scopedroute à 0. Je ne suis pas Je ne suis pas tout à fait sûr de ce que cela fait, mais l'internet rapporte que cela casse le partage de réseau par les préférences de l'utilisateur. Dans tous les cas, cela corrige la redirection basée sur ipfw de sorte que vous pouvez le retourner avec sysctl :

$ sudo sysctl -w net.inet.ip.scopedroute=0

Malheureusement, dans OS X Lion, ce drapeau ne peut pas être inversé de la façon suivante l'espace utilisateur, vous devez donc le définir comme paramètre de démarrage puis redémarrer votre ordinateur. Vous pouvez le faire en éditant le fichier /Library/Preferences/SystemConfiguration/com.apple.Boot.plist fichier (suite...)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X