pf: reenviar todos los paquetes en el puerto 80 desde cualquier interfaz al proxy SOCKS

pf: reenviar todos los paquetes en el puerto 80 desde cualquier interfaz al proxy SOCKS

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 pfreenviar 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.confy 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 pfregla 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

información relacionada