Tengo que reenviar cada página de Internet a mi dirección local, es decir, 127.0.0.1 usando 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?
Edición 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 la 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 arriba en mi archivo de ancla y agregando ancla a pf.conf usando rdr-anchor
Si entiendo correctamente su pregunta y su comentario, está tratando de lograr algo así como un portal cautivo local.
Esto no se puede hacer con pf
una simple redirección. Hay muchas más cosas y configuraciones involucradas. 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 allí puede adaptarse a 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 tráfico TCP IPv4 entrante (solo redirige los paquetes entrantes) (en cualquier interfaz) al puerto 80 desde cualquier IP a cualquier IP (en cualquier interfaz) de la máquina local se pasa y se redirige a 127.0.0.1:8080 .rdr
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 de estas IP es una IP local ( www-)la máquina del servidor ni el (www-)servidor local conocen las solicitudes.
Esto no se aplica al tráfico saliente de la máquina local porque no es tráfico entrante . Primero tienes que hacer un bucle con este tráfico:
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
pero no funciona
tecnología
usuario3439894
PrafulD
tecnología
google.com
lo redirigirá inmediatamente a https y omitirá su redirección, si configura la redirección para el puerto 443, obtendrá un error de certificado en el navegador. ¿Es eso lo que estás tratando de lograr?klanomath
PrafulD
klanomath
PrafulD