Tengo la siguiente regla en un archivo en /etc/pf.anchors/
rdr pass on lo0 inet proto {udp,tcp} from any to self port 25 -> 127.0.0.1 port 1025
La intención es reenviar todo el tráfico local al puerto 25 en el puerto 1025, esto es para que los correos electrónicos enviados se puedan capturar antes de que se envíen para probar la entrega de correo electrónico en sitios web de manera local.
Luego, agregué rdr-anchor "foo"
y load anchor "foo" from "/etc/pf.anchors/foo"
en /etc/pf.conf
.
Cuando ejecuto pfctl -v -n -f /etc/pf.conf
, obtengo lo siguiente:
Loading anchor foo from /etc/pf.anchors/foo
rdr pass on lo0 inet proto udp from any to 127.0.0.1 port = 25 -> 127.0.0.1 port 1025
rdr pass on lo0 inet proto udp from any to 10.0.1.3 port = 25 -> 127.0.0.1 port 1025
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port = 25 -> 127.0.0.1 port 1025
rdr pass on lo0 inet proto tcp from any to 10.0.1.3 port = 25 -> 127.0.0.1 port 1025
Parece que debería estar funcionando, sin embargo, si ejecuto nmap
scan en el puerto que dice cerrado, o si envío un correo electrónico de prueba con echo "This is the body of a text test-mail" | mail -s "Email test" [email protected]
, el correo electrónico no se detecta, pero tampoco lo hace. t parece ser enviado.
Lo más extraño es que tengo prácticamente la misma configuración para pf
en mi trabajo Mac y el reenvío funciona bien.
Cualquier idea sería genial ya que ni siquiera sé cómo solucionar este problema.