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 é pf
encaminhar 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.conf
e 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 pf
regra 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