GUIDE

How to Change your DNS Settings – A Complete Guide

The Dynamic Name System (DNS) is used to translate the easy-to-understand and remember web addresses that we are familiar with, to their “true” numerical IP addresses that computers understand: for example translating the domain name www.bestvpn.com to its IP(v4) address of 104.20.10.58.

This DNS translation process is usually performed by your ISP, but when using a VPN, all DNS requests should be sent through your encrypted VPN tunnel, to be handled by your VPN provider instead.

There are a number of reasons why you might want, or need, to change your DNS settings (that is, change the default DNS server used by your Operating System to handle DNS requests). These include:

  • To improve privacy by preventing your ISP from handling DNS requests. This can happen even when using a VPN (this is known as a DNS leak). Changing your DNS settings to a third party provider is therefore a good safety precaution
  • To use a SmartDNS service
  • To fix internet connection issues – in relation to VPN, when a VPN connection suddenly drops for some reason, it is common for the DNS settings to remain pointing at the VPN provider’s DNS server. To reconnect to the internet (including to reconnect the VPN!) it is sometimes necessary to change the DNS settings back to using a third party server)
  • To evade censorship – changing DNS settings can effective at evading DNS level censorship / DNS poisoning by ISPs.

Fortunately, changing your DNS settings is pretty easy…

Back up your DNS settings

Before changing your DNS settings, it might be an idea to note down your existing settings and store them somewhere safe, so you can easily reset them should you need to. I can’t actually think of a reason why you might need to do this, but it is probably a sensible precaution anyway.

What settings should I use?

If you are changing your DNS settings to something in particular, then you should already know the settings you require (for example a SmartDNS provider will tell you the settings you need in order to muse its service).

If you are changing DNS settings for a more general reason, then you can use a public DNS server such as those run by Google Public DNS, Open DNS or Comodo Secure DNS. Google DNS, in particular, can be useful for quick-and-dirty solutions, as its settings (DNS server addresses) are very easy to remember (8.8.8.8 and 8.8.4.4)

turkey dns

Graffiti in Istanbul encouraging the use of Google Public DNS as an anti-censorship tactic during the government’s 2014 crackdown on Twitter and YouTube

An alternative to the US-based commercial providers listed above is OpenNC, a non-profit, decentralised, open, uncensored and democratic DNS provider. Designed to take back power from governments and corporations, OpenNIC is run by volunteers, and provides a completely unfiltered DNS resolution service, with DNS servers located all across the world.

For more information about OpenNIC, please see here.

OpenNICIn this article we will use example DNS settings provided by OpenNIC. As I am connected to a VPN when visiting its website, the suggested settings are based on the IP address of my VPN server, which suits my privacy agenda just fine

Windows

1. Right-click Start -> Control Panel (in Windows 7 and earlier, left-click Start instead).

DNS Windows 1

2. Go to “Network and Sharing” (or “View network status and tasks” if in Category mode).

DNS Windows 2

3. Click “Change adapter settings”.

DNS Windows 3

4. Right-click on your internet connection -> Properties.
DNS Windows 4

5. Click on (highlight) “Internet Protocol Version 6 (TCP/IPv6)”, then select “Properties”.

DNS Windows 6

6. Ensure the “Use the following DNS server addresses” radio button is checked, and input your new DNS settings into the “Preferred DNS server” field (you can go ahead and fill in the “Alternate DNS server” field too, but this is just a backup server address, so is not strictly necessary). Click “OK”.

DNS Windows 7

Here I am using the Netherlands server addresses provided by OpenNIC

7. (Optional) Disable IPv6

Now might be a good time to prevent IPv6 leaks by disabling IPv6 domain resolution (please see here for a full discussion on this subject). On the “[Internet connection] Properties” screen (see step 5), untick the box next to “Internet Protocol Version 6 (TCP/IPv6)”, then hit “OK”.

DNS Windows 5

Windows users might also want to check out the DNS Jumper app discussed later in this article.

Mac OSX

1. Open “System Preferences”.

DNS OSX 1

2. Click “Network”.

DNS OSX 2

3. Select your internet connection, then click “Advanced”.

DNS OSX 3

4. Switch to the DNS tab, and use the – symbol to remove existing servers and the + symbol to add new servers. OSX will preference servers from top to bottom of this list. When you are done, click “OK”.

DNS OSX 4

5. (Optional) Disable IPv6

Now might be a good time to prevent IPv6 leaks by disabling IPv6 domain resolution (please see here for a full discussion on this subject). To do this, switch to the TCP/IP tab and select “Link-local only” from the “Configure iPv6” dropdown menu.

DNS OSX 5

Linux (Ubuntu)

1. Go to System Settings -> Network.

DNS Ubuntu 1

2. Select your internet connection, then click “Options…”

DNS Ubuntu 2

3. Switch to the “IPv4 Settings” tab. Change “Method:” to “Automatic (DCHP) addresses only”, then add your new DNS server address to the “Additional DNS Servers:” field, separated by a comma. Hit “Save”. It may be necessary to disconnect then reconnect to your network and restart your browser before the new DNS settings take effect.

DNS Ubuntu 3

4. (Optional) Disable IPv6

Now might be a good time to prevent IPv6 leaks by disabling IPv6 domain resolution (please see here for a full discussion on this subject). To this, switch to the “IPv6 Settings tab and change “Method:” to “Link-local only”.

DNS Ubuntu 4

iOS (iPhones and iPads)

In iOS you can change the DNS settings for specific WiFi networks (such as your home network), but this will have be to setup for each network you connect to. As far as I know, it is not possible to change the DNS settings for mobile networks.

1. Open the Settings app -> WiFi.

DNS iOS 1

2. Tap the Information (“i”) button next to your WiFi connection.

DNS iOS 2

3. Ensure the “DHCP” tab is selected, then scroll down to “DNS” and tap on the numbers to the right. When the keyboard appears, enter your new DNS settings. When you are done, press “Back”. Note that a reboot may be required before the new DNS settings take effect.

DNS iOS 3

Android

On unrooted Android devices you can change the DNS settings for specific WiFi networks (such as your home network), but this will have be to setup for each network you connect to. There is no way to change DNS settings for mobile (3G and 4G) networks.

Users of rooted devices can download a number of apps such as DNSet Pro (a free version is also available, which is limited to Google Public DNS servers), which can dynamically change DNS settings across both WiFi and mobile networks.

Note that some “no root” DNS changer apps also exist. These work by creating a local VPN on your device (not an external VPN), and might be useful for evading DNS-based censorship, but will conflict with a regular VPN.

Below are instructions for changing the DNS settings for WiFi networks on unrooted devices. Note that Android devices run many different versions of the OS, and many are heavily skinned. Details may therefore differ slightly on your device.

1. Open the Settings app and touch Wi-Fi.

DNS Android 1

2. Long-press the active network, then tap Modify network config -> Show Advanced options.

DNS Android 2

3. Scroll down until you see “IP settings”, then change this to “Static” in the drop-down menu. If you scroll down a little further you should now see “DNS 1” and “DNS 2” fields – enter your new DNS settings here, then touch “Save”.

DNS Android 3

Routers (DD-WRT)

You can change the DNS settings of any router using its web interface. This is usually pretty intuitive, so for example purposes I will show you how to change the DNS settings of a DD-WRT router.

1. In your web browser, type in the IP address of your router in order to access its admin page

Netgear, D-Link, and most DD-WRT flashed routers usually have the default router IP address 192.168.0.1. Belkin routers usually have the default router address 192.168.2.1. If none of these work, please see here for more details on how to find your router’s IP address.

Ensure the Setup -> Basic Setup tab is selected.

DNS DD-WRT 1

2. Scroll down to Network Setup -> Network Address Server Settings (DCHP) and enter your new DNS settings in the Static DNS 1 and Static DNS 2 fields. In the Static DNS 3 field you can enter another DNS address of your choice, use 0.0.0.0 (fallback to your ISP DNS), or 10.0.0.0 (a non-usable IP if you don’t want to use any other servers).

DNS DD-WRT 2

Other devices

You can change the DNS settings for just about every internet capable device, including smart TV’s, games consoles, streaming devices and IoT gizmos. Although this guide is intended to be “complete”, I think it fair to say that there are far too many such devices to cover here.

Appendix

DNSCrypt

What SSL is to HTTP traffic (turning it into encrypted HTTPS traffic), DNSCrypt is to DNS traffic. Unfortunately, DNS was not built with security in mind, and it is vulnerable to a number of attacks, the most important of which is a “man-in-the-middle” attack known as DNS spoofing (or DNS cache poisoning), where the attacker intercepts and redirects a DNS request.

This could, for example, be used to redirect a legitimate request for a banking service to a “spoof” website designed to collect the account details and passwords for unsuspecting victims. The open source DNSCrypt protocol solves this problem by encrypting your DNS requests, and authenticating communications between your device and the DNS server.

DNSCrypt is available for most platforms (mobile devices must be rooted/jailbroken), but does require support from your chosen DNS server. A list of such servers is available here, which includes many OpenNIC options.

DNSCrypt

Note that DNSCrypt is not required if using a VPN, as all DNS requests should be sent through the encrypted VPN tunnel direct to your VPN provider’s DNS servers.

DNS Jumper (Windows)

Changing DNS settings regularly can be something of a pain (especially in Windows). Luckily, there’s an app for that! DNS Jumper is a lightweight utility (with no installation required) that makes changing your DNS settings a doddle.

DNS Jumper

You can select from an extensive list of DNS providers, or specify custom servers


Douglas Crawford I am a freelance writer, technology enthusiast, and lover of life who enjoys spinning words and sharing knowledge for a living. Find me on Google+

Related Coverage


5 responses to “How to Change your DNS Settings – A Complete Guide

  1. Thank you, Douglas, for such an incredible article, I’m just wondering mixing two things together VPN along with us of Open DNS, I thought the use of VPN obviates the need of open DNS, as to my content knowledge, VPN servers are legless.

    1. Hi Mozef,

      When using a VPN, DNS translation should be performed by your VPN provider. If this is not happening then you have a DNS leak. Knowing how to change your DNS settings can still be useful, however – for example when a VPN drops its connection and then cannot re-establish it because your DNS settings still point to your VPN provider (which it cannot contact because the VPN is not working!).

  2. Excellent! I switched over to Open DNS about a month ago. FYI, used nirsoft’s QuickSetDNS (portable) on a Windows laptop. As I consider alternate OSes (namely MacOS or Linux), this guide is going to be extremely useful (saved as MHT and bookmarked). Definitely need to look into DNSCrypt.

  3. Douglas, great detailed write-up on a subject that most people know very little of. I especially found the information on iOS, Android, Linux and OpenNic very useful.
    Since 1st signing-up to commercial Vpn’s a little over a year ago, I did change my DNS settings in my windows Lan adapter and more recently when I started to run the VPN from from Tomato flashed router, I changed it at the router level and everything runs well.
    I’m experimenting with VM’s running Linux and OS X so your info comes in handy. You obviously spent a great chunk of time getting this article out, hope you’re getting well paid!

Leave a Reply

Your email address will not be published. Required fields are marked *