Estoy intentando reenviar paquetes en el puerto 80 desde cualquier interfaz a mi proxy SOCKS (Servidor). No estoy seguro de tenerlo configurado correctamente pero no logro que reenvíe los paquetes.
Creo un proxy SOCKS como eseMáquina A:
ssh -D 5948 user@server
Esto me permite acceder a Internet a través de mi proxy SOCKS si cambio la configuración del proxy en Chrome.
Esto está bien, excepto que conecto un dispositivo (Dispositivo B) aMáquina Ausando Bluetooth quiero acceder a Internet a través del proxy SOCKS desde ese dispositivo pasando por mi máquina.
+---------------+ +---------------+ +--------------+
| | | | | |
| | | | | |
Internet | Server <----+ Machine A <----+ Device B |
| | | | | |
| | | | | |
+---------------+ +---------------+ +--------------+
Connected via Bluetooth
La conexión y el uso compartido de Internet a través de Bluetooth funcionan bien, excepto que en lugar de usar el proxy SOCKS, está usando mi ISP.
En cambio, lo que quiero hacer es pf
reenviar cualquier paquete desde cualquier interfaz en el puerto 80 a mi proxy SOCKS.
Intenté esto creando un archivo ancla con lo siguiente:
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5948
Incluí el ancla pf.conf
y habilité el reenvío en todas las interfaces de esta manera:
net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1
El reenvío no se realiza y solo puedo asumir que mi pf
regla es incorrecta. Lo he validado usando:
sudo pfctl -vnf /etc/pf.anchors/org.jj.forwarding
¿Alguna idea de dónde me estoy equivocando?
Respuesta1
Como ha habilitado el reenvío, agregar la siguiente regla de iptable debería funcionar
iptables -t nat -A PREROUTING -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1:5948
bl1 es tu interfaz bluetooth