pf: Encaminhando todos os pacotes na porta 80 de qualquer interface para o proxy SOCKS

pf: Encaminhando todos os pacotes na porta 80 de qualquer interface para o proxy SOCKS

Estou tentando encaminhar qualquer pacote na porta 80 de qualquer interface para meu proxy SOCKS (Servidor). Não tenho certeza se o configurei corretamente, mas não consigo encaminhar os pacotes.

Eu crio um proxy SOCKS assim por dianteMáquina A:

ssh -D 5948 user@server

Isso me permite acessar a Internet através do meu proxy SOCKS se eu alterar as configurações de proxy no Chrome.

Tudo bem, exceto que eu conecto um dispositivo (Dispositivo B) paraMáquina Ausando Bluetooth que desejo acessar a Internet através do proxy SOCKS daquele dispositivo que passa pela minha máquina.

           +---------------+    +---------------+    +--------------+
           |               |    |               |    |              |
           |               |    |               |    |              |
Internet   |    Server     <----+   Machine A   <----+   Device B   |
           |               |    |               |    |              |
           |               |    |               |    |              |
           +---------------+    +---------------+    +--------------+
                                                  Connected via Bluetooth

A conexão e o compartilhamento de Internet via bluetooth estão funcionando bem, exceto que, em vez de usar o proxy SOCKS, ele está usando meu ISP.

Em vez disso, o que eu quero fazer é pfencaminhar qualquer pacote de qualquer interface na porta 80 para meu proxy SOCKS.

Eu tentei isso criando um arquivo âncora com o seguinte:

rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5948

Incluí a âncora pf.confe habilitei o encaminhamento em todas as interfaces da seguinte forma:

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

O encaminhamento não está acontecendo e só posso assumir que minha pfregra está incorreta. Eu validei usando:

sudo pfctl -vnf /etc/pf.anchors/org.jj.forwarding

Alguma idéia de onde estou errando?

Responder1

Como você habilitou o encaminhamento, adicionar a seguinte regra iptable deve funcionar

iptables -t nat -A PREROUTING -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1:5948

bl1 é sua interface bluetooth

informação relacionada