Reenvío de puertos en OS X 10.10

3

Tengo que reenviar todas las páginas de Internet a mi dirección local, es decir, 127.0.0.1 con OS X.

Intenté seguir el comando pero no tiene ningún efecto:

echo " rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080 " | sudo pfctl -ef -

He intentado investigar el significado exacto de la línea anterior, pero no puedo encontrar una buena explicación. ¿Cómo realizo este reenvío?

Editar 1 :

Digamos que un usuario ingresa "www.google.com" en el navegador; Esto debería tener un impacto como este: >

El usuario debe ser redirigido a mi página local que está en 127.0.0.1:8080

Ahora, si presiono 127.0.0.1:8080 veo mi portal local.

Pero, quiero que se muestre después de la redirección desde "Google.com"

Estoy escribiendo siguiente declaración. Pero, no están teniendo ningún efecto.

rdr pass on lo0 proto {tcp, udp} from any to any port 80 -> 127.0.0.1 port 7894 
pass out log(all) on em0 route-to lo0 inet proto {tcp, udp} from any to any port 80 keep state

Estoy escribiendo líneas encima de mi archivo de anclaje y agrego ancla a pf.conf usando rdr-anchor

    
pregunta PrafulD 12.03.2016 - 12:13

1 respuesta

1

Si entiendo su pregunta y su comentario correctamente, está intentando lograr algo como un portal local cautivo.

Esto no se puede hacer con pf y una simple redirección. Se involucran muchas más cosas y configuraciones. Aquí (el enlace a bsdguides.org en el archivo léame de github no funciona: enlace correcto ) encontrará un ejemplo de cómo hacer esto en OpenBSD. La solución puede adaptarse al OS X bajo ciertas circunstancias.

La regla rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080 hace lo siguiente:

rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
|   |    |              |
|   |    |              #from any IP (all source IPs) to any IP (all destination IPs of the local machine)
|   |    |              from any to any
|   |    #IPv4 Protocol TCP
|   |    inet proto tcp
|   #allow
|   pass
#redirect from port 80 to localhost:8080
rdr                                     port 80 -> 127.0.0.1 port 8080

O: cualquier entrante ( rdr solo redirige los paquetes entrantes) El tráfico TCP IPv4 (en cualquier interfaz) al puerto 80 desde cualquier IP a cualquier IP (en cualquier interfaz) de la máquina local es Pasó y redirigió a 127.0.0.1:8080.

La regla no redirige las solicitudes de una máquina cliente local para google.com:80 (es decir, 216.58.201.206:80) o 175.68.9.102:80 a 127.0.0.1:80 porque ninguna Una de estas IP es una IP de la máquina del servidor local (www-) y el servidor local (www-) no conoce las solicitudes.

Esto no se aplica al tráfico saliente de la máquina local porque no es tráfico entrante . Primero debes bucear este tráfico:

respondido por el klanomath 12.03.2016 - 17:15

Lea otras preguntas en las etiquetas