0 votes

Je veux désactiver Internet mais pas le réseau.

Comment désactiver internet mais garder l'accès au réseau sur une tablette Android ? Je veux désactiver l'accès à Internet pour toutes les applications, sauf celles qui sont sélectionnées, mais en même temps je veux que les applications aient un accès direct au réseau interne.

J'ai utilisé un pare-feu dans le passé, mais celui-ci désactive l'accès à tous les réseaux. Je veux pouvoir utiliser ma tablette à la maison, mais en même temps je veux désactiver l'accès à Internet sur celle-ci.

Est-ce possible ? Quelle est la meilleure façon de créer ce type de limitation pour les applications ?

merci

0voto

Tirath Points 258

Droidwall une application sera la réponse parfaite à cela. (ATTENTION : nécessitera Root).

0voto

Milner Points 533

Sur le routeur

Comme roxan a déjà écrit Cette opération ne peut pas être effectuée sur l'appareil Android lui-même (du moins, pas facilement), mais doit être effectuée sur votre routeur. Certains routeurs permettent de spécifier, pour chaque appareil, si l'accès à Internet doit être autorisé, en utilisant un seul "commutateur" (oui/non).

Si ce n'est pas possible, vous devrez modifier les règles du pare-feu. Cela nécessiterait d'attribuer une IP fixe à votre appareil, donc sur votre routeur vous pourriez spécifier par exemple (pseudo-code) :

route from <android_ip> to <internal_network> pass
route from <android_ip> to * reject/drop

(encore une fois, c'est du pseudo-code, je ne suis pas très familier avec le iptables pour donner la syntaxe exacte par cœur). Ce que cela ferait alors : Tous les paquets provenant de votre appareil Android passeraient le routeur s'ils étaient destinés au réseau interne, mais seraient rejetés (visibles pour l'appareil Android, qui pourrait donc réagir immédiatement) ou abandonnés (les connexions seraient alors interrompues) s'ils étaient destinés à l'extérieur.

Fondamentalement, comme Android utilise iptables de même, il devrait être possible de faire la même chose directement sur l'appareil, pourrait-on penser. Mais je ne suis pas sûr que ce soit vraiment vrai : du point de vue de l'appareil Android, tout est ciblé vers l'extérieur (vers sa passerelle). Ce qui donne une autre idée :


Sur l'appareil Android

Je viens de vérifier sur mon appareil, et Android inclut en effet la fonction route (bien que j'aie eu besoin de l'exécuter via busybox, par ex. busybox route pour afficher les routes configurées). Supposons que votre réseau local utilise 192.168.0.* et votre routeur étant 192.168.0.1 vous pouvez faire ce qui suit :

# 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

Maintenant, le dispositif ne devrait plus savoir quoi faire avec les paquets, par exemple pour les 8.8.8.8 et renvoie un message "no route to host". L'exemple montre déjà un problème en jeu : 8.8.8.8 est l'un des serveurs de noms préconfigurés. Veillez donc à configurer votre appareil pour qu'il utilise un serveur de noms dans votre réseau local, si vous souhaitez obtenir une résolution de nom (le serveur de noms de Google ne sera pas non plus d'une grande utilité pour votre réseau interne).

Notons également que l'interface utilisée pourrait ne pas s'appeler wlan0 . Découvrez-le en invoquant route sans aucun argument : cela listera toutes les routes établies comme ceci :

link-local      *               255.255.0.0     U     1000   0        0 eth0

Donc dans ce cas, j'ai dû utiliser eth0 pour l'interface.

192.168.0.0     *               255.255.255.0   U     205    0        0 wlan0

Ceci décrirait notre exemple, en utilisant wlan0 comme interface, et 192.168.0.* comme réseau. Comme sur mon appareil cette route était déjà présente dans la table de routage, il pourrait même suffire de supprimer simplement la passerelle par défaut.

Je n'ai pas effectué de test pour vérifier que tout fonctionne comme vous l'aviez prévu (bien que cela devrait, j'ai peut-être inclus une erreur de frappe ici ou là). Je serais donc heureux que vous me disiez si tout s'est bien passé :)

0voto

emc2guru Points 1

Sur votre téléphone, trouvez le réseau auquel vous êtes connecté dans les options du réseau auquel vous êtes connecté et modifiez le réseau dans les options avancées, changez la valeur en "Statique". Vous pouvez laisser le champ de l'adresse IP non modifié mais dans le champ de la passerelle par défaut, changez-le en 0.0.0.0 et cliquez sur enregistrer. Vous obtiendrez un message indiquant que la connexion n'a pas d'accès à Internet, mais vous serez toujours connecté à votre routeur et pourrez accéder aux périphériques de votre réseau local. La façon d'accéder à cette option varie en fonction de votre téléphone et de la version d'Android, si vous n'êtes pas sûr, il suffit de chercher sur Google "comment configurer une adresse IP statique sur un (votre modèle de téléphone ici)".

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X