encaminhamento de porta pfctl no Mac osx?


16
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.10.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
-A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
COMMIT

O código acima é um código que eu usei para encaminhar tráfego no linux.

Agora eu preciso fazer a mesma coisa no Mac OSX. 10.8 se importa.

Então, aqui está o acordo.

Antes, eu estava usando um proxy para conectar-se à máquina Linux e, usando esse proxy, era capaz de monitorar o tráfego usando mitmproxy

Agora, no Mac, estou usando o compartilhamento de Internet incorporado e quero usar o mitmproxy, que apenas escuta coisas da porta 8080.

bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether ac:de:48:81:1d:4a 
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    Configuration:
        priority 0 hellotime 0 fwddelay 0 maxage 0
        ipfilter disabled flags 0x2
    member: en0 flags=3<LEARNING,DISCOVER>
             port 5 priority 0 path cost 0

O acima é a "conexão compartilhada" que eu preciso encaminhar, acredito.

Respostas:


23

Supondo que todos os pedidos seu tráfego web será a partir 192.168.2.0/24e uma interfacebridge0

Adicione as seguintes regras ao /etc/pf.conf

rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port http -> 127.0.0.1 port 8080
rdr pass on bridge0 inet proto tcp from 192.168.2.0/24 to any port https -> 127.0.0.1 port 8080

Dicas rápidas

  1. Teste o erro de sintaxe do pf.conf

    pfctl -v -n -f /etc/pf.conf
    
  2. Aplicar / recarregar as regras

    pfctl -f /etc/pf.conf
    

Este é um guia para o OS X pfctl.


3
pfnão parece ser ativado por padrão, então você pode ter que adicionar a -ebandeira: pfctl -ef /etc/pf.conf.
Webthusiast

4
diz erro de sintaxe
Hitesh Joshi

@HiteshJoshi: Eu tenho o mesmo problema. Para mim, mover as linhas entre as linhas com "rdr-anchor" e "dummynet-anchor" o corrigiu.
Albin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.