He cambiado a MacOS Monterey y no soy capaz de conseguir el reenvío de puertos de trabajo para localhost (http y https) utilizando la interfaz de loopback lo0. Estoy usando pf y haciendo exactamente lo que estaba haciendo antes de la actualización del sistema operativo, pero sin éxito:
Básicamente, creo un archivo de anclas pf: /etc/pf.anchors/miorganización
rdr pass log (all) on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 3000
rdr pass log (all) on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 7000
Añada una referencia en /etc/pf.conf
:
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
rdr-anchor "myorganization/*"
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
load anchor "myorganization" from "/etc/pf.anchors/myorganization"
Pruebo los anclajes:
sudo pfctl -vnf /etc/pf.anchors/myorganization
y el resultado tiene buena pinta:
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.
rdr pass log (all) on lo0 inet proto tcp from any to any port = 80 -> 127.0.0.1 port 3000
rdr pass log (all) on lo0 inet proto tcp from any to any port = 443 -> 127.0.0.1 port 7000
Los he habilitado:
sudo pfctl -evf /etc/pf.conf
sudo pfctl -e
He añadido localhost a mi /etc/hosts
127.0.0.1 localhost
Pero cuando entro en https://localhost obtengo ERR_CONNECTION_REFUSED
. Si navego a https://localhost:7000 el sitio funciona bien.
Mirando el tráfico tcp usando tcpdump, esperaba ver > 127.0.0.1.7000
pero muestra > 127.0.0.1.443
:
23:48:04.130611 IP6 (flowlabel 0xb0300, hlim 64, next-header TCP (6) payload length: 44) ::1.50441 > ::1.443: Flags [S], seq 3067776972, win 65535, options [mss 16324,nop,wscale 6,nop,nop,TS val 964644834 ecr 0,sackOK,eol], length 0
23:48:04.130738 IP6 (flowlabel 0xa0500, hlim 64, next-header TCP (6) payload length: 44) ::1.50442 > ::1.443: Flags [S], seq 3324498656, win 65535, options [mss 16324,nop,wscale 6,nop,nop,TS val 99035196 ecr 0,sackOK,eol], length 0
23:48:04.130869 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 64)
127.0.0.1.50443 > 127.0.0.1.443: Flags [S], seq 3800502092, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 2889641981 ecr 0,sackOK,eol], length 0
23:48:04.131018 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 64)
127.0.0.1.50444 > 127.0.0.1.443: Flags [S], seq 2687597757, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 3887445210 ecr 0,sackOK,eol], length 0
23:48:04.133055 IP6 (flowlabel 0xf0f00, hlim 64, next-header TCP (6) payload length: 44) ::1.50445 > ::1.443: Flags [S], seq 3046833283, win 65535, options [mss 16324,nop,wscale 6,nop,nop,TS val 2977518404 ecr 0,sackOK,eol], length 0
23:48:04.133214 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 64)
127.0.0.1.50446 > 127.0.0.1.443: Flags [S], seq 3143600809, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 4289031031 ecr 0,sackOK,eol], length 0