I am trying to use OpenDNS on my phone. I have tried using SetDNS, DNS Changer, and DNSet. At least two of those claim to allow changing the wifi DNS without root access (I am only using wifi on an unrooted S3 mini with 4.1.2). No matter what I do the OpenDNS test pages say it is not working, and I also installed an app called Ping & DNS which can display my network information and it indicates that my DNS is always obtained from whatever router I am connected to, regardless of any DNS apps I have running.

Actually if I have SetDNS and DNSet running at the same time then SetDNS claims to be using Google's DNS (, DNSet only supports Google's DNS). But Ping & DNS still says that I am just getting DNS settings from the router. I am not sure which one it really is at that point. Regardless, I want to use OpenDNS.

UPDATE: To be clear, I am using these DNS changing apps because I want all connections to automatically and only use OpenDNS. So either I want to know why none of these apps work as advertised (when reviewers don't say they don't work), or how can I make it work for all connections without an app in such a way that it can't be altered without a password or something. And I really don't want to bother with rooting if I don't have to.

  • 1
    Just to be sure, have you tried changing it from Settings by press-and-holding your WiFi network and modifying the network configuration? And is changing the router's DNS an option for you?
    – dantis
    Commented May 19, 2015 at 11:30
  • I've a suggestion for a rooted device, but it's not your case. I think the Wi-Fi setting allows you to set any DNS like @aureljared said.
    – MaxChinni
    Commented May 19, 2015 at 14:29

2 Answers 2


The OpenDNS website has their own set of instructions to use their services on Android devices, I've provided their instructions below:

  1. Open Settings
  2. Choose Wi-Fi

Wi-Fi Menu

  1. Long click the network you're setting DNS servers for and choose Modify Network

Modify Network

  1. Check Advanced Options

Advanced Options

  1. You might need to scroll down to an option that says IP Settings, click DHCP and change it to Static

Static DNS

  1. The option to change DNS servers will be at the bottom, mine show Google's servers, but I've included the OpenDNS ones below if you don't have them already.

Change DNS OpenDNS addresses

  • 1
    Yes, that does work, however I want all connections to automatically use OpenDNS and I don't want the ability to change it. (If it is handled by an app I could lock access to the app.) I suppose I should have specified that in my original question. This is almost the answer. If no one can explain why these DNS changers don't work as advertised then I guess I will accept this as the answer.
    – Moss
    Commented May 21, 2015 at 17:25
  • Yeah, I wouldn't know exactly. Maybe they only change it temporarily or for certain connections? And depending on the device you may be able to lock this setting, but I'm not sure. Changing it here should ensure it's used for all connections, but it would be re-configurable, as long as the person knew how to go back and change the settings again. :/ Aren't there apps that lock the ability to change settings? Could you combine this method with one of those? Commented May 21, 2015 at 18:16
  • 1
    AppLock claims to be able to password-protect the settings app, is this the kind of functionality you're looking for? If so I can add it to my answer. Commented May 21, 2015 at 18:17
  • Hmm, locking the entire settings is too broad, plus there is still the problem of making OpenDNS work with any and all connections.
    – Moss
    Commented May 21, 2015 at 18:40
  • Oh, you mean set it for every Wi-Fi connection... Commented May 21, 2015 at 18:52

First enable USB debugging. You could use adb and use the command root or su shell and copy the build.prop file to /storage/sdcard/0/ or /storage/exsdcard with the copy /system/build.prop /storage/sdcard/0/ command (path of your (ex)SD Card storage vary from device to device). In this file the DNS server IP is saved. Find it and change it to the OpenDNS IP. Now copy it back to your /system/ folder with copy /storage/sdcard/0/build.prop /system/. Restart your phone and it should work.

  • I believe OP said they were trying to accomplish this on a device without root, wouldn't this be blocked on adb as well since the su commands wouldn't work on the system? Commented May 21, 2015 at 15:05
  • I don't know how Samsung devices work with adb root or adb shell su but on my LG (or Xperia?) device it worked fine.
    – user108993
    Commented May 22, 2015 at 4:30
  • Is your device rooted? Commented May 22, 2015 at 12:25
  • When I did the adb root thing back then, it wasn't rooted.
    – user108993
    Commented May 22, 2015 at 21:17
  • I can't understand your instructions but if you say this can be done without root, then then that would be good. But what does this accomplish actually? Are you saying it will make these DNS changer apps actually work? Or are you saying it will set the DNS for all connections?
    – Moss
    Commented May 26, 2015 at 16:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .