Escenario
Tengo un servidor escuchando en el puerto 3000
a localhost
. Quiero tráfico entrante localhost:8080
para ser enviado a ese servidor.
Mi configuración:
- El servidor escucha en el puerto
3000
; nada de lo que escuche en el puerto8080
- pfctl:
rdr pass log on lo0 proto tcp from any to any port 8080 -> 127.0.0.1 port 3000
- ver todas las conexiones entrantes al puerto
8080
alo0
interfaz de:sudo tcpdump -nn -i lo0 dst port 8080 -v
Prueba
curl localhost:8080
Espera
- servidor en el puerto
3000
recibe solicitud de curl - tcpdump devuelve algo como: 127.0.0.1.57330 > 127.0.0.1.3000 < más información >
La realidad
- curl consigue
curl: (7) Failed to connect to localhost port 8080: Connection refuse
- tcpdump devuelve 127.0.0.1.57330 > 127.0.0.1.8080 < más información >
=> tcpdump salida significa que la regla no se aplica ya que el puerto de destino es todavía 8080 y no 3000.
Pregunta
¿Dónde está mi configuración que salió mal y cómo arreglarlo?