5

On my Galaxy Note 2 phone (Android of course), is it possible to edit the hosts file so that it resolves example.com to a public IP BUT resolves it to a local private IP if connected to WiFi with a specific SSID? That is when connected to home WiFi, it should resolve a domain name to a local server on the LAN, but anyplace else it should resolve it to the public IP.

I'm guessing it'd be hard at the very least, if it's even possible, but do I have any options here (either hosts, or some other way)? I've got shell access, and root access, so I can edit pretty much anything that needs to be.

  • 1
    Are you able to run a DNS server at home with "example.com" coded "specially", and then to feed your phone those DNS servers via DHCP when on your home WIFI ? – davidgo Nov 26 '13 at 4:43
  • I can put bind9 on my linux box, but I'm not sure how to set it up to resolve from that and not the ISP's servers via the router – user184214 Nov 26 '13 at 4:53
  • Run bind as a forwarder /recursive server along with your zone of interest. In the DHCP device (on your router), specify the IP address of your Linux box rather then your ISP's dns server. – davidgo Nov 26 '13 at 5:16
  • I'll dig up how to do that, and see if I can get it working, thanks! – user184214 Nov 26 '13 at 9:38
0

DNS resolver always consults local /etc/hosts file before sending DNS query to configured name server (see details in How does Android OS do DNS name resolution?). So this approach cannot work based on connection.

The possible method is to run a DNS server on that specific network and configure DHCP server (mostly your router) to send local DNS server's IP address in response to DHCP requests. Configure DNS server to always resolve a domain name to a fixed IP. Or you may resolve the domain name to required IP using a VPN app temporarily (it's less hassle than editing hosts file every time). See linked answer for details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.