Ativando pf para proxy transparente no Mac OS X Mountain Lion

3

Estou fazendo alguns testes de usabilidade de um aplicativo da Web e estou tentando depurar e gravar algumas sessões SSL usando mitmproxy como um proxy transparente e, por algum motivo, pf no Mac OS X A Mountain Lion não está configurando os redirecionamentos transparentes.

Primeiro, habilito o encaminhamento:

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

Em seguida, eu crio um arquivo pf.conf simples com uma única linha:

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

Onde o 192.168.1.40 é o host remoto que está atualmente em execução, mitmproxy e en1 e en2 são as principais interfaces de saída no Mac.

Por fim, inicio pf com os seguintes comandos:

sudo pfctl -vf pf.conf
sudo pfctl -e

No entanto, nada acontece. Quando listo as regras atualmente em execução para pf com pfctl -sr , isso não mostra nada.

Confirmei que pf pode funcionar na máquina, fornecendo uma regra fictícia que bloqueia todo o acesso de saída à porta 80 e que funciona.

Alguma dica sobre o que mais eu preciso fazer para permitir que pf redirecione o tráfego da web para um proxy transparente no Mac OS X Mountain Lion?

    
por Pridkett 20.07.2013 / 01:23

1 resposta

1

Você tentou net.inet.ip.scopedroute=0 ? De link :

Now currently if you finish that above setup you will notice that nothing actually works. The cause for this is a Bug in the OS X kernel that requires flipping the net.inet.ip.scopedroute flag to 0. I am not entirely sure what it does, but the internet reports that it breaks network sharing through the user preferences. In any case it fixes ipfw based forwarding so you can flip it with sysctl:

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

Unfortunately in OS X Lion this flag can actually not be flipped from userspace so you need to set it as boot parameter and then restart your computer. You can do this by editing the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist file (continued...)

    
por 30.09.2014 / 08:08