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

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

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

  • ¿Cómo lanzar pf al inicio?
  • Firewall niega sshd-keygen-wrapper a pesar de la configuration
  • Mac os x ipfw reenviar desde ip: puerto a ip: puerto
  • LaunchDaemon for pf no se cargará al inicio
  • ntpd y conexiones entrantes en el cliente OS X?
  • Todas las requestes HTTP obtienen ERR_CONNECTION_REFUSED, HTTPS funciona: ¿cómo solucionarlo?
  • ¿Cómo bloquear el tráfico no vpn en Sierra?
  • ¿Cómo puedo bloquear las notifications de iOS 10?
  • ¿Cuál es la forma moderna de hacer reenvío de puertos en El Capitán? (puerto de avance 80 a 8080)
  • Modificar la regla existente de Little Snitch para que sea efectiva en todos los perfiles
  • No se puede acceder a ciertos sitios web
  • Razones para preferir Little Snitch sobre el firewall incorporado
  • 4 Solutions collect form web for “¿Cómo uso ipfw para permitir el acceso a la LAN pero denegar el acceso a Internet?”

    Ha pasado un time desde que usé ipfw, pero ejecutar los siguientes commands 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 nuevamente

    La forma más cruda que puedo pensar para hacer esto, suponiendo que su networking se basa en direcciones IP estáticas, es simplemente no llenar la IP "Puerta de enlace pnetworkingeterminada" en la configuration de networking.

    Si está en una networking DHCP, podría cambiar la configuration del server DHCP, pero eso rompería el acceso a Internet de todas las computadoras en la LAN, no solo algunas de ellas.

    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 esté buscando una respuesta similar más adelante.

    La otra forma de hacerlo es configurar los serveres DNS en 0.0.0.0.

    Esto puede lograrse en la línea de command utilizando networksetup esta manera:

    networksetup -setdnsservers Wi-Fi 0.0.0.0

    Si tiene una connection Ethernet, querrá usar

    networksetup -setdnsservers Ethernet 0.0.0.0

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

    networksetup -setdnsservers Ethernet empty

    pero, dependiendo de la configuration de su networking, es posible que deba especificar la dirección IP real de sus serveres DNS en lugar de usar el empty .

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

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

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

    Del comentario a continuación, ¿desea tener acceso http entre las máquinas de su networking? Si es así, simplemente haga lo de arriba y luego agregue la exception para permitir http a las máquinas en su range de IP. por ejemplo, 24 si esa es su networking.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).