¿Cómo puedo deshabilitar Internet pero mantener el acceso a la red en la tableta Android? Quiero deshabilitar el acceso a Internet a todas las aplicaciones excepto a las seleccionadas, al mismo tiempo quiero que las aplicaciones tengan acceso directo a la red interna.
Usé un firewall en el pasado, pero el firewall deshabilita el acceso a todas las redes. Quiero poder usar mi tableta en mi casa, al mismo tiempo quiero deshabilitar el acceso a Internet en ella.
¿Es posible? ¿Cuál es la mejor manera de crear este tipo de limitación para las aplicaciones?
gracias
Como ya escribió roxan , esto no se puede hacer en el propio dispositivo Android (bueno, al menos no fácilmente), sino que debe realizarse en su enrutador. Algunos enrutadores permiten especificar por dispositivo si se debe otorgar acceso a Internet, usando un solo "interruptor" (sí/no).
Si eso no es posible, deberá editar las reglas del cortafuegos. Esto requeriría asignar una IP fija a su dispositivo, por lo que en su enrutador podría especificar, por ejemplo, (pseudocódigo):
route from <android_ip> to <internal_network> pass
route from <android_ip> to * reject/drop
(De nuevo, eso es pseudocódigo; no estoy tan familiarizado con iptables
dar la sintaxis exacta de memoria). Qué haría eso entonces: todos los paquetes de su dispositivo Android pasarían el enrutador si estuvieran dirigidos a la red interna, pero serían rechazados (visibles para el dispositivo Android, por lo que podría reaccionar de inmediato) o descartados (las conexiones se agotarían en ese momento) cuando estén dirigidos. al exterior
iptables
Básicamente, como también lo usa Android , lo mismo debería ser posible directamente en el dispositivo, uno podría pensar. Pero no estoy seguro de si eso es realmente cierto: desde el punto de vista del dispositivo Android, todo está dirigido al exterior (a su puerta de enlace). Lo que da otra idea:
Acabo de verificar en mi dispositivo, y Android incluye el route
comando (aunque necesitaba ejecutarlo a través de busybox, por ejemplo, busybox route
para mostrar las rutas configuradas). Entonces, supongamos que su red local usa 192.168.0.*
, y que su enrutador es 192.168.0.1
, podría hacer lo siguiente:
# default gateway (should already be defined), but we don't want this
#route add default gw 192.168.0.1 wlan0
route del default gw wlan0
# re-add route for access to the local network
route add -net 192.168.0.0 netmask 255.255.255.0 192.168.0.1 wlan0
Ahora el dispositivo ya no debería saber qué hacer con los paquetes, por ejemplo, para 8.8.8.8
, y devolvería "sin ruta al host". El ejemplo ya muestra un problema involucrado: 8.8.8.8
es uno de los servidores de nombres preconfigurados. Así que asegúrese de configurar su dispositivo para usar un servidor de nombres en su red local, si desea resolución de nombres (bueno, el servidor de nombres de Google tampoco será de mucha utilidad para su red interna).
No también que su interfaz utilizada no se llame wlan0
. Descúbralo invocando route
sin ningún argumento: esto enumerará todas las rutas establecidas como esta:
link-local * 255.255.0.0 U 1000 0 0 eth0
Entonces, en este caso, tuve que usar eth0
para la interfaz.
192.168.0.0 * 255.255.255.0 U 205 0 0 wlan0
Esto describiría nuestro ejemplo, usando wlan0
como interfaz y 192.168.0.*
como red. Como en mi dispositivo esta ruta ya había estado presente en la tabla de enrutamiento, incluso podría ser suficiente simplemente descartar la puerta de enlace predeterminada.
No realicé una prueba para verificar que todo funciona completamente de acuerdo con su intención (aunque debería, podría haber incluido algún error tipográfico aquí o allá). Así que me encantaría saber de ti qué tan bien lo hizo :)
Droidwall una aplicación será la respuesta perfecta a eso. (ATENCIÓN: requerirá root).
En su teléfono, busque la red a la que está conectado en las opciones de red conectadas y modifique la red en las opciones avanzadas. Cambie el valor a "Estático". Puede dejar el campo de la dirección IP sin modificar, pero en el campo de la puerta de enlace predeterminada, cámbielo a 0.0.0.0 y presione ahorrar. Recibirá un mensaje de que la conexión no tiene acceso a Internet, pero aún estará conectado a su enrutador y podrá acceder a los dispositivos dentro de su red de área local. La forma en que llega a esta opción varía según su teléfono y la versión de Android, si no está seguro, simplemente busque en Google "cómo configurar una dirección IP estática en un (su modelo de teléfono aquí)"
roxana