5 votes

Est-il possible d'effectuer une résolution DNS basée sur la connexion ?

Sur mon téléphone Galaxy Note 2 (Android bien sûr), est-il possible de modifier la hosts pour qu'il résolve example.com à une IP publique MAIS le résout à une IP privée locale s'il est connecté à un WiFi avec un SSID spécifique ? C'est-à-dire que lorsqu'il est connecté au WiFi de la maison, il devrait résoudre un nom de domaine vers un serveur local sur le LAN, mais partout ailleurs, il devrait le résoudre vers l'IP publique.

J'imagine que ce sera difficile, si tant est que ce soit possible, mais ai-je le choix ? hosts ou d'une autre manière) ? J'ai un accès shell, et un accès Root, donc je peux modifier à peu près tout ce qui doit l'être.

0voto

Irfan Latif Points 16863

Le résolveur DNS consulte toujours les données locales /etc/hosts avant d'envoyer une requête DNS au serveur de noms configuré (voir les détails dans la rubrique Comment Android OS fait-il la résolution de nom DNS ? ). Cette approche ne peut donc pas fonctionner sur la base de la connexion.

La méthode possible consiste à exécuter un serveur DNS sur ce réseau spécifique et à configurer le serveur DHCP (le plus souvent votre routeur) pour qu'il envoie l'adresse IP du serveur DNS local en réponse aux demandes DHCP. Configurer le serveur DNS pour toujours résoudre un nom de domaine vers une IP fixe . Ou vous pouvez résoudre le nom de domaine à l'adresse IP requise en utilisant temporairement une application VPN (c'est moins compliqué que de modifier le nom de domaine). hosts à chaque fois). Voir la réponse en lien pour plus de détails.

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