Solo puede redirigir el tráfico entrante . Cualquier tráfico saliente al puerto 80 no se ve afectado por su regla rdr.
Para redirigir el tráfico saliente al puerto 80, primero debe redirigirlo a lo0 y luego redirigirlo al puerto proxy:
El orden en el archivo de configuración es necesariamente rdr incomming paquets , luego filter packets (como pasa), pero cronológicamente, la 2ª regla llegará primero (en en0), que luego activará la primera regla (en lo0).
# Step "2". redirect those same packets that were routed to lo0 below
rdr pass log on lo0 proto tcp from any to any port 80 -> 127.0.0.1 port 8080
# Step "1". Route new IPv4 TCP connections leaving en0 to lo0
pass out on en0 route-to lo0 proto tcp from en0 to any port 80 keep state
en pf.conf esto se vería así:
...
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
rdr pass log on lo0 proto tcp from any to any port 80 -> 127.0.0.1 port 8080
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
pass out on en0 route-to lo0 proto tcp from en0 to any port 80 keep state
En el ejemplo anterior, asumo que en0 es su única interfaz de salida en .
Descargue su pf.conf actual y detenga pf: sudo pfctl -d
. Luego agrega las dos líneas adicionales arriba. Después de modificar pf.conf, compruebe la sintaxis del archivo con sudo pfctl -vnf /etc/pf.conf
, lo que debería generar el siguiente resultado:
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
scrub-anchor "/*" all fragment reassemble
nat-anchor "/*" all
rdr-anchor "/*" all
rdr pass log on lo0 proto tcp from any to any port 80 -> 127.0.0.1 port 8080
anchor "/*" all
pass out on en0 route-to lo0 proto tcp from en0 to any port 80 flags S/SA keep state
dummynet-anchor "/*" all
y si tiene éxito, cárguelo con sudo pfctl -e -f /etc/pf.conf
.
¡Un sistema adecuado y la configuración de proxy (y las aplicaciones que se comportan bien) no requieren tales reglas de pf!