It's not a huge stretch to say that without the domain name system, the internet as we know it would be practically unusable. With domain names being as important as they are, the servers we use to look them up form a critical part of our internet experience. For users who would like a little more control over how their phones resolve domain names, we're here to talk about what you can do to configure Android to work with the domain name server of your choice.
Before we get too deep into this (or if you're already feeling confused about what's going on) let's start with a quick refresher. A domain name is something like “google.com,” and when you want to visit the website that name refers to, your computer or smartphone connects to a domain name system (or DNS) server to translate the name into a numerical IP address. You can think of it almost like a phone book, taking easy-to-remember names and looking up the corresponding sequence of numbers so you can connect with someone.
But critically, not all DNS servers are created alike. Some are going to be faster than others, sure, and there are also privacy implications to consider, since whoever's running the server knows pretty much all the scandalous sites you've been visiting.
Earlier this month, we learned about Cloudflare launching a pretty attractive-looking DNS server with an emphasis on speed and security. If you're anything like us, you were probably curious how you might start using it with your Android phone. As it turns out, there are several options, ranging in terms of their reach, their availability, and just how much work goes into setting them up.
In theory, manually configuring your device to use a preferred DNS server like Cloudflare's should be simple: Just tell it the server's address (the super-convenient 220.127.116.11 in this case) and ask it to use that DNS server instead of your internet service provider's default. In practice, we've got a few hoops to jump through.
Right now, Android's preferred way of letting you specify a DNS server is within the system's Wi-Fi settings. To make changes, after connecting to an access point, you long-press on the AP's name and select “Modify network.” Then toggling on the advanced options brings up an option for “IP settings.”
Normally, this will read “DHCP,” which is basically the “I'm good with whatever; just let the Wi-Fi router worry about everything” setting. Change that over to “Static,” though, and you'll be able to manually input all the network settings you want — and that includes your DNS server. There's a spot for both a primary and backup server, which with our Cloudflare example would be 18.104.22.168 and 22.214.171.124.
Setting up manual DNS server settings for a Wi-Fi connection
Unfortunately, changing these settings opens up a series of new problems. For one, you're going to have to manually specify your phone's IP address and the Wi-Fi AP's gateway. Even if you're comfortable doing that, these are settings you're probably only going to want to change for APs directly under your control, like your router at home. What's missing is a global way to specify a preferred server regardless of which Wi-Fi network you're connected to at any given time. And even if you do configure Android to use the DNS server of your choice for every Wi-Fi network you use, there's still no option to change the server used when accessing the internet over your phone's cellular data connection.
Clearly, we need a slightly more fleshed-out solution. The very good news here is that Google's on the case, and a simple, straightforward way to override default DNS settings is coming to Android. The problem here is that it's arriving as part of the Private DNS mode of Android P. This not only secures communications with domain name servers, but also lets you to specify the server of your choice — and without all the mess of manually configuring every Wi-Fi network you use.
We haven't had the opportunity to try it out just yet, as it's not active in the initial Android P developer preview, but we're looking forward to putting it through its paces soon.
But while this promises to deliver the all-in-one DNS solution we've been craving, not only is Android P not out yet, even once it lands it could potentially be a very long time before your phone gets its P update — if it ever does. Is there anything we can do that will give us similar results that's available now, and will work on whatever phone we throw at it?
The good news: Yes there is. But we've got to venture outside the world of Android's native settings and start checking out some app options by third-party developers. In the past, using one to change your global DNS settings often required rooting your phone, and that's not something a lot of users are going to want to do. But other apps have found a no-root-required work-around that takes advantage of Android's support for virtual private networks.
When you're using a VPN, normally all your phone's data traffic gets routed to a remote server before it touches the rest of the internet at large, and that includes DNS requests. By running a local VPN server right on your phone, you set things up to use the DNS server of your choice.
Using a third-party app to set DNS preferences through a local VPN
We checked out the aptly-named DNS Changer from Forstnerd which does just that, and setting it up is a breeze. You just enter the DNS and backup DNS address you want to use, approve the creation of the app's VPN, and you're good to go. In less than 30 seconds, your phone's using the domain name servers you've specified, on Wi-Fi and cellular connections alike.
This is far from the only app offering this service, and with alternatives like Blokada's DNS changer also available, you can make your pick based on your preference for their UI or the presence of any extra features you find appealing.
If you're happy with the way your phone looks up domain names already, all of this might seem like a waste of time to you — and if you've never even considered the issue at all, you can probably go right on ignoring it, letting your phone operate how it already does. But if you're the sort of user who likes to know exactly what their phone's up to, or really cares about data privacy issues, it's worth a few minutes to think about how your device is handling domain names and consider some of your alternatives.