3 votos

¿Cómo puedo utilizar el ipfw para permitir el acceso a la LAN pero denegar el acceso a Internet?

¿Cómo puedo utilizar el ipfw (u otra herramienta, si está disponible) para permitir el acceso ilimitado entre los ordenadores de mi LAN, pero no permitir el acceso a Internet?

(Las IP de mi LAN local son 192.168.0.xxx )

3voto

Hace tiempo que no utilizo el ipfw, pero ejecutando los siguientes comandos en todos los ordenadores relevantes debería funcionar:

 sudo ipfw -f flush
 sudo ipfw add allow tcp from me to 192.168.0.0/24
 sudo ipfw add allow ip from me to 192.168.0.0/24
 sudo ipfw add deny tcp from me to any
 sudo ipfw add deny ip from me to any

Para desactivarlo sólo hay que ejecutar sudo ipfw flush de nuevo

0voto

ScottKoon Puntos 2139

La forma más burda que se me ocurre para hacer esto, asumiendo que tu red está basada en IPs estáticas, es simplemente no rellenar la IP de la "Puerta de enlace por defecto" en la configuración de la red.

Si está en una red DHCP, podría cambiar la configuración del servidor DHCP, pero eso rompería el acceso a Internet de todo ordenadores de la LAN, no sólo algunos de ellos.

0voto

moodforaday Puntos 2633

Mientras buscaba una respuesta a esto, encontré otra forma de hacerlo que no utiliza ipfw. Lo mencionaré aquí por si alguien más busca una respuesta similar más adelante.

La otra forma de hacerlo es establecer los servidores DNS en 0.0.0.0.

Esto se puede lograr en la línea de comandos utilizando networksetup así:

networksetup -setdnsservers Wi-Fi 0.0.0.0

Si tiene una conexión Ethernet, querrá utilizar

networksetup -setdnsservers Ethernet 0.0.0.0

Para revertir este cambio, pude utilizar 'empty' en lugar de '0.0.0.0'

networksetup -setdnsservers Ethernet empty

pero, dependiendo de la configuración de su red, es posible que tenga que especificar la dirección IP real de sus servidores DNS en lugar de utilizar empty .

Sigo pensando que ipfw es una herramienta mejor para el trabajo, pero lo menciono por si alguien lo prefiere.

La razón por la que esto funciona para permitir el acceso a otros ordenadores en mi LAN es que puedo acceder a ellos utilizando hostname.local. en su lugar. Por ejemplo, el nombre de host de mi Macbook Air es 'air', así que puedo usar ssh air.local. para conectarse a él, incluso sin servidores DNS.

-1voto

not-bob Puntos 236

Puedes usar ipfw para bloquear todo el tráfico al puerto 80 que es http. Tendrá que comprobar si también necesita bloquear otros puertos, por ejemplo, 443, 110, 993, etc.

Del comentario de abajo, ¿quieres tener acceso http entre las máquinas de tu red? Si es así, simplemente haga lo anterior y luego añada la excepción para permitir http a las máquinas en su rango de ip. por ejemplo, /24 si eso es lo que su red es.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X