Modifier le DNS pour les données mobiles sans utiliser d'application

19

(Mon téléphone est enraciné et fonctionne sous Android 5.1)

Comment peut-on changer les adresses DNS des données mobiles (et de manière persistante, si possible) sans l'exigence d'une application?

şaloma
la source
Comment changer le DNS des connexions mobiles sur Android KitKat? a plusieurs réponses à ce sujet - différentes approches, au moins 2 d'entre elles ne nécessitant pas d'application.
Izzy

Réponses:

16

Je n'ai pas trouvé de moyen de le faire de manière fiable sans application.

J'utilise souvent OpenDNS Family Shield , mais parfois cela me empêche de visiter un site de piratage particulier, puis je dois changer rapidement et facilement les serveurs DNS.

J'utilisais Set DNS mais cela ne fonctionnait plus dans Android 4.3 et plus, j'ai donc créé Override DNS , une nouvelle application qui imite le comportement de Set DNS, mais elle est mise à jour pour fonctionner même dans Lollipop. Il possède également une autre fonctionnalité intéressante, comme une protection PIN et un filtre SSID Wi-Fi.

La seule façon que je peux voir pour le faire sans application est quelque chose comme une iptablesrègle pour rediriger tout trafic allant vers udp / 53 vers un autre ip. Une procédure similaire est présentée dans un thread XDA .

Je colle ici les iptablesrègles de complétude (je ne les ai pas testées)

$IPTABLES -t nat -D OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53
$IPTABLES -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53

Tout ce qui est dirigé depuis l'appareil Android vers n'importe quelle IP, port UDP et TCP 53 est redirigé vers 208.67.222.222 lequel est l'un des serveurs DNS d'OpenDNS.

Ces commandes doivent être placées dans un script exécuté à chaque démarrage de périphérique. Cette fonctionnalité dépend de votre ROM spécifique. Je ne sais pas si quelque chose de similaire peut être fait dans une ROM stock sans utiliser d'application. Remplacer DNS résout également ce problème.

MaxChinni
la source
1
Le trait que j'ai aimé ici est que, à part montrer les fonctionnalités de votre application (que beaucoup de développeurs / spécialistes du marketing ont vu le faire ici), vous vous êtes concentré directement sur la question et avez essayé de fournir une alternative pour votre application elle-même . Bien!
Firelord
2
@Firelord yes ... plug sans vergogne, mais avec un certain style :)
MaxChinni
J'essaie d'utiliser ces paramètres mais j'obtiens l'erreur "Mauvaise adresse IP". J'essaie d'utiliser le DNS DNS 8.8.8.8 et 8.8.4.4
Kristopher
De nombreuses applications prétendent offrir les mêmes capacités sans root. Y a-t-il un "hic" à ces applications?
Michael Crenshaw
@ mac9416 Je ne suis au courant d'aucun comportement particulier lié à ces applications (elles créent toutes un faux VPN local), mais la question initiale était de le réaliser sans aucune application spécifique, donc je pense que nous allons OT.
MaxChinni
3

Cette information date de 2014. Mais cela pourrait encore fonctionner. Je ne suis pas en mesure de le tester pour le moment, mais puisque vous êtes enraciné. Vous pouvez essayer d'ajouter les paramètres DNS au fichier build.prop et voir s'il persiste. L'ajout de ce qui suit au fichier build.prop devrait ajouter Google comme serveur DNS.

net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4

Tiré de ce post sur les forums Nexus 5 sur XDA. Ce message peut être trouvé ici. L'élément numéro 21 correspond aux paramètres DNS.

jer3my
la source
J'ai essayé cela pour le plaisir sur mon Lenovo P2 fonctionnant sous Android 7.0 et cela n'a pas fonctionné
user1151923
1

Ce n'est pas possible sans application, cela doit être avec une application. Deuxièmement, vous avez besoin d'un accès root pour pouvoir changer le DNS 1G / 2G / 3G / 4G. Essayez de définir DNS .

user119443
la source
" Ce n'est pas possible sans application, cela doit être avec une application " - une bonne raison?
Firelord
2
Cuz Android ne le prend pas en charge par défaut, c'est pourquoi vous avez besoin d'une application spéciale pour
jouer
3
Android prend en charge l'édition build.prop, vous avez juste besoin d'un gestionnaire de fichiers avec un accès root.
Dan Brown
@DanB +1, était sur le point de commenter cela en disant cela. Voir ma réponse pour la méthode build.prop. Si intéressé.
jer3my
@ jer3my Les grands esprits pensent de même? Je vais regarder votre réponse :)
Dan Brown