What is DNS?
Domain Name Server (DNS) is a standard protocol that helps Internet users discover websites using human-readable addresses. Like a phonebook which lets you look up the name of a person and discover their number, DNS lets you type the address of a website and automatically discover the Internet Protocol (IP) address for that website.
Without DNS, the Internet would collapse - it would be impossible for people and machines to access Internet servers via the friendly URLs they have come to know.
DNS main servers
- Root name server
- Top level domain server
- Authoritative dns server
Root name server
Top level domain server
Internet Corporation for Assigned Names and Numbers (ICANN) looks after most top-level domain. It operates the Internet Assigned Numbers Authority (IANA) and is responsible for maintaining the DNS root zone. DNS server which keeps all root zone is called TLD name server.
Authoritative dns server
An authoritative name server provides actual answer to your DNS queries such as – mail server IP address or web site IP address (A resource record). It provides original and definitive answers to DNS queries. It does not provides just cached answers that were obtained from another name server. Therefore it only returns answers to queries about domain names that are installed in its configuration system. There are two types of Authoritative Name Servers:
- Master server (primary name server) – A master server stores the original master copies of all zone records. A hostmaster only make changes to master server zone records. Each slave server gets updates via special automatic updating mechanism of the DNS protocol. All slave servers maintain an identical copy of the master records.
- Slave server (secondary name server) – A slave server is exact replica of master server. It is used to share DNS server load and to improve DNS zone availability in case master server fails. It is recommend that you should at least have 2 slave servers and one master server for each domain name.
How do DNS servers resolve a DNS query.
The DNS recursor (also referred to as the DNS resolver) is a server that receives the query from the DNS client, and then interacts with other DNS servers to hunt down the correct IP. Once the resolver receives the request from the client, the resolver then actually behaves as a client itself, querying the other three types of DNS servers in search of the right IP.
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
You can use either address as your primary or secondary DNS server.
So now how we can change DNS in our pc
Windows
DNS settings are specified in the TCP/IP Properties window for the selected network connection.
Example: Changing DNS server settings on Windows 10
- Go to the Control Panel.
- Click Network and Internet > Network and Sharing Center > Change adapter settings.
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.
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.
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.
Click OK.
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.
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 instead of the IPv6 addresses in the previous point.
Test that your setup is working correctly; see Test your new settings.
Repeat the procedure for additional network connections you want to change
for macOS
DNS settings are specified in the Network window.
Example: Changing DNS server settings on macOS 10.15
- Click Apple menu > System Preferences > Network.
- 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.
- 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.
- Select the DNS tab.
- 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 instead of the IPv6 addresses in the previous point.
- Click OK > Apply.
- Test that your setup is working correctly; see Test your new settings.
- Repeat the procedure for additional network connections you want to change.
Linux
In most modern Linux distributions, DNS settings are configured through Network Manager.
Example: Changing DNS server settings on Ubuntu
- Click System > Preferences > Network Connections.
- 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.
- To change the settings for an Ethernet connection, select the Wired tab, then select your network interface in the list. It is usually called
- Click Edit, and in the window that appears, select the IPv4 Settings or IPv6 Settings tab.
- 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.
- 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 instead of the IPv6 addresses in the previous point.
- Click Apply to save the change. If you are prompted for a password or confirmation, type the password or provide confirmation.
- Test that your setup is working correctly; see Test your new settings.
- 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
Edit
/etc/resolv.conf
:If any
nameserver
lines appear, write down the IP addresses for future reference.Replace the
nameserver
lines with, or add, the following lines:For IPv4:
For IPv6:
For IPv6-only, you can use Google Public DNS64 instead of the above IPv6 addresses.
Save and exit.
Restart any Internet clients you are using.
Test that your setup is working correctly; see Test your new settings.
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
Back up
/etc/resolv.conf
:Edit
/etc/dhcp/dhclient.conf
(or/etc/dhcp3/dhclient.conf
):If there is a line following
request
with onlydomain-name-servers,
remove that line.If there is a line containing
domain-name-servers
with IP addresses, write down the IP addresses for future reference.Replace that line with, or add, the following line:
For IPv4:
For IPv6:
For IPv6-only, you can use Google Public DNS64 instead of the above IPv6 addresses.
Save and exit.
Restart any Internet clients you are using.
Test that your setup is working correctly; see Test your new settings.