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

3

¿Cómo puedo usar ipfw (u otra herramienta, si hay una disponible) para permitir el acceso ilimitado entre las computadoras en mi LAN, pero no permitir el acceso a Internet?

(Las direcciones IP en mi LAN local son 192.168.0.xxx )

    
pregunta TJ Luoma 10.12.2011 - 05:42

4 respuestas

3

Ha pasado un tiempo desde que usé ipfw pero ejecutar los siguientes comandos en todas las computadoras relevantes debería hacer el truco:

 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 deshabilitar solo ejecuta sudo ipfw flush otra vez

    
respondido por el nohillside 10.12.2011 - 13:36
0

La forma más cruda que se me ocurre al hacer esto, asumiendo que su red se basa en IP estáticas, es simplemente no rellenar la IP de la "Puerta de enlace predeterminada" en la configuración de la red.

Si está en una red DHCP, puede cambiar la configuración del servidor DHCP, pero eso interrumpiría el acceso a Internet de todas las computadoras en la LAN, no solo algunas de ellas.

    
respondido por el Fake Name 10.12.2011 - 12:49
0

Mientras buscaba una respuesta a esto, encontré otra forma de hacerlo que no usa ipfw. Lo mencionaré aquí en caso de que alguien más busque una respuesta similar más adelante.

La otra manera de hacer esto es configurar los servidores DNS a 0.0.0.0.

Esto se puede lograr en la línea de comando usando networksetup como esto:

networksetup -setdnsservers Wi-Fi 0.0.0.0

Si tienes una conexión Ethernet, querrás usar

networksetup -setdnsservers Ethernet 0.0.0.0

Para revertir este cambio, pude usar 'vacío' en lugar de '0.0.0.0'

networksetup -setdnsservers Ethernet empty

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

Todavía creo que ipfw es una mejor herramienta para el trabajo, pero lo menciono por si alguien lo prefiere.

La razón por la que funciona para permitir el acceso a otras computadoras en mi LAN es que puedo acceder a ellas usando hostname.local. en su lugar. Por ejemplo, el nombre de host de mi MacBook Air es 'air', por lo que puedo usar ssh air.local. para conectarme a él, incluso sin servidores DNS.

    
respondido por el TJ Luoma 14.12.2011 - 20:42
-1

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

En el comentario a continuación, ¿deseaba tener acceso a http entre las máquinas en su red? Si es así, simplemente haga lo anterior y luego agregue la excepción para permitir http a las máquinas en su rango de ip. p.ej. / 24 si eso es lo que es tu red.

    
respondido por el lennard 10.12.2011 - 12:28

Lea otras preguntas en las etiquetas