You can think of the domain name system ( DNS ) as a platform that powers the internet as we use it every day. That’s because DNS is responsible for converting the domain name you type into the address bar, or the domain behind the “@” in an e-mail address, into the IP address which enables your computer to locate on of the millions of servers that host internet services. But, like any internet service, DNS is merely a concept – unless there is a server behind the service. This is what a DNS server does.
What DNS servers do
Operating in a hierarchy, DNS servers use private network protocols to facilitate communication amongst DNS servers. First, there are master DNS servers each of which contains the full DNS database of all internet domain names – alongside the corresponding IP address. Also known as root servers, these master DNS servers are owned by agencies that operating independently – and which are based in the US, UK, Japan and Sweden.
Lower-level DNS servers, much higher in number, only keep parts of the DNS database and are owned by private companies, either a business or an internet service provider (ISP). DNS servers can basically be any computer which is registered on the DNS system – as long as the server runs the required special software for DNS servers, software that facilitates DNS resolution from domain name to host IP address. Every DNS server has a public IP and also includes a database of the addresses and network names of other hosts on the internet.
How does a DNS server operate?
Typing the address of a website (which will contain a domain name) into the browser address bar starts the communication between the end-user’s PC and the DNS server. The web browser is the DNS client which sends a request for the DNS data to the DNS server that is operated by the end user’s ISP. This server then searches for a matching IP address in its internal DNS database.
Sometimes no match is found. If that’s the case the request is sent to another low-level DNS server, and if necessary, to a root server. Eventually a matching domain name and accompanying IP address will be found, this data is then sent back to the web browser through the DNS network. This DNS lookup process is called forward DNS, which is different from reverse DNS. In reverse DNS the DNS server also takes a major part in the process.
Setting up a DNS server
It’s not difficult to set up a DNS server. All you need is standard server computing equipment, alongside a special set of software which is designed to handle DNS queries. There are a number of solutions, both commercial and open-source, which offers DNS services.
Microsoft’s DNS server used the Microsoft Windows Server operating system and is the 4th ranking product which offers DNS – the first three is the three versions of BIND: BIND4, BIND8 and of course BIND9. Microsoft based their DNS server on BIND4 when it shipped as a test release with Windows NT 4.0, but Microsoft DNS has evolved significantly in the meantime.
While Microsoft’s products are commercial, djbdns is an open-source solution for DNS servers. Interestingly, it was created by just one person – D.J. Bernstein. The view was that it is one of the most secure DNS server options: there is a price of $1,000 if someone finds a security hole in how it works.
Another feature of djbdns is the modular structure it uses. This reduces the amount of code in the main body of the service and as a result reduces the complexity of the associated daemon.
Useful for smaller networks, Dnsmasq provides an IP forwarder as well as a DHCP server. It supports both IPv4 and IPv6 while also facilitating conversion from IPv4 to IPv6, and the other way around. Most popular Linux distros include Dnsmasq and there are also ports that can be used for the common BSD releases, including FreeBSD. Linksys ships Dnsmasq with all of its wireless router products.