Estoy tratando de reenviar el tráfico así:
Internal Network Computer (192.168.1.*) Server (192.168.186:1234) Internal Network Computer (192.168.1.198:80)
-
El servidor está conectado al router a través de ethernet en la interfaz en0
-
El ordenador interno está conectado al router por wifi
-
El servidor puede acceder a 192.168.1.198:80 sin problemas
Según varios otra pregunta relacionada s, he obtenido las siguientes reglas
nat on en0 from any to en0 -> (en0)
rdr pass inet proto tcp from any to any port 1234 -> 192.168.1.198 port 80
Sin embargo, me aparece lo siguiente cuando telnet
en:
$ telnet 192.168.1.186 1234
Trying 192.168.1.186...
telnet: connect to address 192.168.1.186: Operation timed out
telnet: Unable to connect to remote host
Usando Wireshark en el 192.168.1.198 he confirmado que la conexión de telenet se recibe sin embargo no parece conectarse.
Más información:
-
rdr
's de127.0.0.1
a127.0.0.1
funcionan bien, por ejemplo:rdr pass inet proto tcp from any to any port 1234 -> 127.0.0.1 port 80
-
He confirmado que el puerto 80 está abierto en 192.168.1.198, y que es accesible desde el servidor
-
El cortafuegos (en Preferencias del Sistema) está desactivado en ambos ordenadores
-
He habilitado el reenvío de tráfico entre interfaces con
sudo sysctl -w net.inet.ip.forwarding=1
-
Creo que puede ser algo con NAT (ver los posts de abajo) pero no estoy seguro
El mismo tema se discute en GitHub . @ctgreybeard, @dandriana, @snimavat y @sergeyzwezdin han informado del mismo problema. ¿Alguien tiene una solución?
Tenga en cuenta: Me gustaría utilizar pfctl y no SSH u otro servicio.
Aquí hay otros posts relacionados:
¿Cómo puedo configurar mi mac (OS X Yosemite) como puerta de enlace a Internet?