# Get Started

## Configure your network settings to use Google Public DNS

When you use Google Public DNS, you are changing your DNS "switchboard" operator
from your ISP to Google Public DNS.

In most cases, the Dynamic Host Configuration Protocol (DHCP) automatically
configures your system to use the IP addresses of your ISP's domain name
servers. To use Google Public DNS, you need to explicitly change the DNS
settings in your operating system or device to use the Google Public DNS IP
addresses. The procedure for changing your DNS settings varies according to
operating system and version (Windows, Mac, Linux, or ChromeOS) or the device
(computer, phone, or router). We give general procedures here that might not
apply for your OS or device; consult your vendor documentation for authoritative
information.

Depending on your system you may also have the option of enabling a new
privacy-oriented feature called [DNS-over-TLS](https://developers.google.com/speed/public-dns/docs/dns-over-tls). This feature provides privacy
and security for the DNS messages sent between your device and Google's DNS
servers. Details on configuring this optional feature are in specific sections
for each system.

> [!CAUTION]
> **Caution:** We recommend that only users who are proficient with configuring operating system settings make these changes.

## Important: Before you start

Before you change your DNS settings to use Google Public DNS, be sure to write
down the current server addresses or settings on a piece of paper. It is very
important that you keep these numbers for backup purposes, in case you need to
revert to them at any time.

We also recommend that you print this page, in the event that you encounter a
problem and need to refer to these instructions.

## Google Public DNS IP addresses

The Google Public DNS IP addresses (IPv4) are as follows:

    8.8.8.8
    8.8.4.4

The Google Public DNS IPv6 addresses are as follows:

    2001:4860:4860::8888
    2001:4860:4860::8844

Some devices require explicit values for all eight fields of IPv6 addresses and
cannot accept the abbreviated `::` IPv6 address syntax. For such devices enter:

    2001:4860:4860:0:0:0:0:8888
    2001:4860:4860:0:0:0:0:8844

Expand the `0` entries to `0000` if four hexadecimal digits are required.

You can use either address as your primary or secondary DNS server.

> [!IMPORTANT]
> **Important:** For the most reliable DNS service, configure *at least* **two** DNS addresses. Do not specify the same address as both primary and secondary.

You can configure Google Public DNS addresses for either IPv4 or IPv6
connections, or both. For IPv6-only networks with a NAT64 gateway using the
`64:ff9b::/96` prefix, you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) instead of Google
Public DNS IPv6 addresses, providing connectivity to IPv4-only services without
any other configuration.

## Change your DNS servers settings

Because the instructions differ between different versions/releases of each
operating system, we only give one version as an example. If you need specific
instructions for your operating system/version, please consult your vendor's
documentation. You may also find answers on our [user group](https://groups.google.com/group/public-dns-discuss) page.

Many systems let you to specify multiple DNS servers, to be contacted in
priority order. In the following instructions, we provide steps to specify only
the Google Public DNS servers as the primary and secondary servers, to ensure
that your setup correctly uses Google Public DNS in all cases.

> [!NOTE]
> **Note:** Depending on your network setup, you may need administrator/root privileges to change these settings.

### Windows

DNS settings are specified in the **TCP/IP Properties** window for the selected
network connection.

**Example: Changing DNS server settings on Windows 10**

1. Go to the **Control Panel**.
2. Click **Network and Internet** \> **Network and Sharing Center** \> **Change
   adapter settings**.
3. Select the connection for which you want to configure Google Public DNS. For
   example:

   - To change the settings for an Ethernet connection, right-click the Ethernet interface and select **Properties**.
   - To change the settings for a wireless connection, right-click the Wi-Fi interface and select **Properties**.

   If you are prompted for an administrator password or confirmation, type the
   password or provide confirmation.
4. Select the **Networking** tab. Under **This connection uses the following
   items** , select **Internet Protocol Version 4 (TCP/IPv4)** or **Internet
   Protocol Version 6 (TCP/IPv6)** and then click **Properties**.

5. Click **Advanced** and select the **DNS** tab. If there are any DNS server
   IP addresses listed there, write them down for future reference, and remove
   them from this window.

6. Click **OK**.

7. Select **Use the following DNS server addresses** . If there are any IP
   addresses listed in the **Preferred DNS server** or **Alternate DNS
   server**, write them down for future reference.

8. Replace those addresses with the IP addresses of the Google DNS servers:

   - For IPv4: `8.8.8.8` and/or `8.8.4.4`.
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
9. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).

10. Repeat the procedure for additional network connections you want to change.

> [!NOTE]
> **Note:** There is no support for DNS-over-TLS in the base OS. To use DNS-over-TLS requires setting up a proxy resolver that supports DNS-over-TLS. Due to the complexity of the setup we do not describe it here.

### macOS

DNS settings are specified in the **Network** window.

**Example: Changing DNS server settings on macOS 10.15**

1. Click **Apple menu** \> **System Preferences** \> **Network**.
2. If the lock icon in the lower left-hand corner of the window is locked, click the icon to make changes, and when prompted to authenticate, enter your password.
3. Select the connection for which you want to configure Google Public DNS. For example:
   - To change the settings for a Wi-Fi connection, select **Wi-Fi** , and click **Advanced**.
   - To change the settings for an Ethernet connection, select **Built-In
     Ethernet** , and click **Advanced**.
4. Select the **DNS** tab.
5. Click **+** to replace any listed addresses with, or add, the Google IP addresses at the top of the list:
   - For IPv4: `8.8.8.8` and/or `8.8.4.4`.
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
6. Click **OK** \> **Apply**.
7. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).
8. Repeat the procedure for additional network connections you want to change.

> [!NOTE]
> **Note:** There is no support for DNS-over-TLS in the base OS. To use DNS-over-TLS requires setting up a proxy resolver that supports DNS-over-TLS. Due to the complexity of the setup, we do not describe it here.

### Linux

In most modern Linux distributions, DNS settings are configured through Network
Manager.

**Example: Changing DNS server settings on Ubuntu**

1. Click **System** \> **Preferences** \> **Network Connections**.
2. Select the connection for which you want to configure Google Public DNS. For example:
   - To change the settings for an Ethernet connection, select the **Wired** tab, then select your network interface in the list. It is usually called `eth0`.
   - To change the settings for a wireless connection, select the **Wireless** tab, then select the appropriate wireless network.
3. Click **Edit** , and in the window that appears, select the **IPv4 Settings** or **IPv6 Settings** tab.
4. If the selected method is **Automatic (DHCP)** , open the dropdown and select **Automatic (DHCP) addresses only** instead. If the method is set to something else, do not change it.
5. In the **DNS servers** field, enter the Google Public DNS IP addresses, separated by a comma:
   - For IPv4: `8.8.8.8` and/or `8.8.4.4`.
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
6. Click **Apply** to save the change. If you are prompted for a password or confirmation, type the password or provide confirmation.
7. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).
8. Repeat the procedure for additional network connections you want to change.

If your distribution doesn't use Network Manager, your DNS settings are
specified in `/etc/resolv.conf`.

**Example: Changing DNS server settings on a Debian server**

1. Edit `/etc/resolv.conf`:

       sudo vi /etc/resolv.conf

2. If any `nameserver` lines appear, write down the IP addresses for future
   reference.

3. Replace the `nameserver` lines with, or add, the following lines:

   For IPv4:

       nameserver 8.8.8.8
       nameserver 8.8.4.4

   For IPv6:

       nameserver 2001:4860:4860::8888
       nameserver 2001:4860:4860::8844

   For IPv6-only, you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the above
   IPv6 addresses.
4. Save and exit.

5. Restart any Internet clients you are using.

6. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).

Additionally, if you are using DHCP client software that overwrites the settings
in `/etc/resolv.conf`, you need to configure the DHCP client by editing the
client's configuration file.

**Example: Configuring DHCP client software on a Debian server**

1. Back up `/etc/resolv.conf`:

       sudo cp /etc/resolv.conf /etc/resolv.conf.auto

2. Edit `/etc/dhcp/dhclient.conf` (or `/etc/dhcp3/dhclient.conf`):

       sudo vi /etc/dhcp*/dhclient.conf

3. If there is a line following `request` with only `domain-name-servers,`
   remove that line.

4. If there is a line containing `domain-name-servers` with IP addresses, write
   down the IP addresses for future reference.

5. Replace that line with, or add, the following line:

   For IPv4:

       prepend domain-name-servers 8.8.8.8, 8.8.4.4;

   For IPv6:

       prepend domain-name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;

   For IPv6-only, you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the above
   IPv6 addresses.

   > [!NOTE]
   > **Note:** ISC DHCP v4.3.6 or higher is required for IPv6 domain-name-servers to be processed; earlier versions would silently ignore such configuration.

6. Save and exit.

7. Restart any Internet clients you are using.

8. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).

### ChromeOS

DNS settings are specified in the **Network** section of the **Settings** menu
for the selected network connection.

**Example: Changing DNS server settings on ChromeOS 71**

1. Open the **Settings** menu.
2. In the **Network** section, select the connection for which you want to configure Google Public DNS. For example:
   - To change the settings for an Ethernet connection, click on the **Ethernet** section.
   - To change the settings for a wireless connection, click on the **Wi-Fi** section and select the appropriate network name.
   - Changing the DNS settings for a mobile data connection established with Instant Tethering isn't possible. For mobile Wi-Fi hotspots that are manually set up, however, you can change the DNS settings using the instructions for a wireless connection.
3. Expand the **Network** section for the selected connection.
4. In the **Name servers** section:
   - For IPv4: Select the **Google name servers** button (or alternatively, select the **Custom name servers** button and enter `8.8.8.8` and `8.8.4.4`).
   - For IPv6: Select the **Custom name servers** button and enter `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
5. Click outside the **Network** section to apply the settings.
6. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).
7. Repeat the procedure for additional network connections you want to change.

> [!NOTE]
> **Note:** Linux Apps and Android Apps running on ChromeOS will use these DNS server settings by default, but they also have the ability to override the settings.

> [!NOTE]
> **Note:** There is no support for DNS-over-TLS in the base OS. To use DNS-over-TLS requires setting up a proxy resolver that supports DNS-over-TLS. Due to the complexity of the setup we do not describe it here.

### Routers

Every router uses a different user interface for configuring DNS server
settings; we provide only the generic procedure. For more information,
please consult your router documentation.

> [!NOTE]
> **Note:** Some ISPs hard-code their DNS servers into the equipment they provide; if you are using such a device, you cannot configure it to use Google Public DNS. Instead, you can configure each of the computers connected to the router, as described above.

To change your settings on a router:

1. In your browser, enter the IP address of your router to view the router's administration console. Most routers are manufactured to use a default address such as `192.168.0.1`, `192.168.1.1`, `192.168.2.1`, or `192.168.1.100`. If none of these work, try to find the default gateway address in the network settings panel of your system.
2. When prompted, enter the password to edit network settings.
3. Find the screen in which DNS server settings are specified.
4. If there are IP addresses specified in the fields for the primary and seconday DNS servers, write them down for future reference.
5. Replace those addresses with the Google IP addresses:
   - For IPv4: `8.8.8.8` and/or `8.8.4.4`.
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
6. Save and exit.
7. Restart your browser.
8. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).

Some routers require explicit values for all eight fields of IPv6 addresses and
cannot accept the abbreviated `::` IPv6 address syntax. For such routers enter:

    2001:4860:4860:0:0:0:0:8888
    2001:4860:4860:0:0:0:0:8844

Expand the `0` entries to `0000` if four hexadecimal digits are required.

> [!NOTE]
> **Note:** There is no support for DNS-over-TLS in the base OS. To use DNS-over-TLS requires setting up a proxy resolver that supports DNS-over-TLS. Due to the complexity of the setup we do not describe it here.

### iOS

You can change DNS settings on iPhone, iPad, or iPod touch with the following
steps.

1. Go to **Settings** \> **Wi-Fi**.
2. Tap the ⓘ icon next to the Wi-Fi network that you want to change DNS servers for. Scroll down to find the DNS section and tap **Configure DNS**.
3. Tap **Manual** and add Google IP addresses. Optionally you can also remove all default DNS servers in the list.
   - For IPv4: `8.8.8.8` and/or `8.8.4.4`
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`

Switching back to Automatic will restore the DNS server specified by the Wi-Fi
network.

> [!NOTE]
> **Note:** this change only applies to a specific Wi-Fi network but not to other networks in the Wi-Fi list or DNS settings for cellular data. If you want all your Wi-Fi networks to use the same DNS configuration, the best option is to update the DNS configuration on your routers. To change the DNS for your iOS device on all networks including cellular data requires a VPN app that lets you to configure the DNS server for the VPN. Given that there are so many choices of VPN app and the setup complexity, it is only recommended for advanced users.

### Android

#### Android 9 (Pie) or higher

Android 9 supports "Private DNS" which uses [DNS-over-TLS](https://developers.google.com/speed/public-dns/docs/dns-over-tls) to provide security
and privacy for your DNS queries. You can configure it with the following steps.

1. Go to **Settings** \> **Network \& Internet** \> **Advanced** \> **Private
   DNS**.
2. Select **Private DNS provider hostname**.
3. Enter `dns.google` as the hostname of the DNS provider.
4. Click Save.

> [!CAUTION]
> **Caution:** **Android 9 only** ! These Private DNS settings have **no effect when
> you use a VPN** like Nexus/Pixel [Wi-Fi Assistant](https://support.google.com/nexus/answer/6327199) or Google Fi [Enhanced Network](https://www.blog.google/products/project-fi/project-fis-enhanced-network-brings-faster-more-secure-connections/) VPNs, or third-party VPN or [DNS changer](https://play.google.com/store/search?q=DNS&c=apps) apps. Those features and apps override Private DNS and **do not send [DNS-over-TLS](https://developers.google.com/speed/public-dns/docs/dns-over-tls)
> queries to Google Public DNS** . Most DNS changers send cleartext queries (a few like [Intra](https://play.google.com/store/apps/details?id=app.intra) use other secure DNS protocols) and VPN apps may not secure queries beyond the VPN server. This is fixed in Android 10.

For more information see the [Android blog post](https://android-developers.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html) announcing the feature.
Please note that in Android P, the default mode for Private DNS is "Automatic"
which means it uses the network specified DNS server and it attempts a TLS
connection to port 853 before falling back to UDP on port 53.

#### Older Android versions

Devices running versions older than Android 9 do not support DNS-over-TLS and
cannot configure private DNS for all networks. You can configure DNS for each
individual Wi-Fi network you use. This requires configuring all network
information manually and is only recommended for advanced users.

### Mobile or other devices

DNS servers are typically specified under advanced Wi-Fi settings. However, as
every mobile device uses a different user interface for configuring DNS server
settings, we provide only the generic procedure. For more information,
please consult your mobile provider's documentation.

To change your settings on a mobile device:

1. Go to the screen in which Wi-Fi settings are specified.
2. Find the screen in which DNS server settings are specified.
3. If there are IP addresses specified in the fields for the primary and secondary DNS servers, write them down for future reference.
4. Replace those addresses with the Google IP addresses:
   - For IPv4: `8.8.8.8` and/or `8.8.4.4`.
   - For IPv6: `2001:4860:4860::8888` and/or `2001:4860:4860::8844`.
   - For IPv6-only: you can use [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) *instead of* the IPv6 addresses in the previous point.
5. Save and exit.
6. Test that your setup is working correctly; see [Test your new settings](https://developers.google.com/speed/public-dns/docs/using#testing).

## Test your new settings

To test that the Google DNS resolver is working:

1. From your browser, enter a hostname URL (such as
   [`http://www.google.com/`](http://www.google.com/)). If it resolves
   correctly, quit the browser, load the page again and refresh it for several
   times to make sure the result is not from a cached web page.

   - If you are using [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) on an IPv6-only system, repeat the above test with an IPv4-only hostname URL (such as [`http://ipv4.google.com/`](http://ipv4.google.com/)).

   If all of these tests work, everything is working correctly. If not, go to
   the next step.
2. From your browser, type in a fixed IP address. You can use
   [`http://216.218.228.119/`](http://216.218.228.119/) (which points to the
   [test-ipv6.com](http://test-ipv6.com/) website) as the URL.[^1^](https://developers.google.com/speed/public-dns/docs/using#footnote1)

   - If you are using [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64) on an IPv6-only system, use
     [`http://[64:ff9b::d8da:e477]/`](http://%5B64:ff9b::d8da:e477%5D/) as the
     URL instead. If this test does not work, you do not have access to a
     NAT64 gateway at the reserved prefix `64:ff9b::/96` and cannot use
     Google Public DNS64.

   - If you are using an IPv6-only system without Google Public DNS64, use
     [`http://[2001:470:1:18::119]/`](http://%5B2001:470:1:18::119%5D/) as the
     URL instead.

   If this works correctly, reload the page with a new opened browser to make
   sure the page is loaded from scratch. If these tests work (but step 1
   fails), then there is a problem with your DNS configuration; check the steps
   above to make sure you have configured everything correctly. If these tests
   do not work, go to the next step.
3. Roll back the DNS changes you made and run the tests again. If the tests
   still do not work, then there is a problem with your network settings;
   contact your ISP or network administrator for assistance.

If you encounter any problems after setting Google Public DNS as your resolver,
please run the [diagnostic procedure](https://developers.google.com/speed/public-dns/docs/troubleshooting).

^1^ *Google thanks Jason Fesler for
granting permission to use [test-ipv6.com](http://test-ipv6.com/) URLs for browser DNS testing
purposes.*

## Switch back to your old DNS settings

If you had not previously configured any customized DNS servers, to switch back
to your old settings, in the window in which you specified the Google IP
addresses, select the option to enable obtaining DNS server addresses
automatically, and/or delete the Google IP addresses. This reverts your settings
to using your ISP's default servers.

If you need to manually specify any addresses, use the procedures above to
specify the old IP addresses.

Restart your system if necessary.