I have already shown you how to install Zeroshell. Now it’s time to continue exploring the underlying potential of Zeroshell and set it to handle your network’s DNS requests. Before commencing to configure DNS forwarding in Zeroshell, it’s important to have a better understanding of what precisely DNS is, how it came to be and its purpose.
DNS is the acronym for “Domain Name System”. Britannica Encyclopedia describes DNS as a:
“network service that converts between World Wide Web ‘name’ addresses and numeric internet addresses”.
The concept for DNS came to fruition in the 1970s with ARPANET, with the original design being limited to a HOSTS.TXT file. The file was basically a universal list which comprised of server names and their associated numerical address.
While today’s DNS servers do not implement such a simple mechanism that relies solely on a simple configuration file that resides on the server ripe for hacking, the basic principles of function and purpose of DNS remain almost untouched for probably 40-50 years.
The most common DNS implementation is in the form of a resolver. DNS makes the internet more easily accessible for everyone. While remembering IP addresses of different servers might be an easy task for your home network, it is unfeasible and unrealistic to expect anyone to remember the IP addresses of every server you visit on the internet, hence DNS.
It is often unappreciated just what an important role DNS plays to make the internet so easily accessible. DNS effectively translates the domain name you enter into your web browser to the server IP address of where you are connecting – just like the HOSTS.TXT file of ARPANET – the browser performing the entire process almost completely transparently.
Now that you understand a bit more about DNS and the important role that it plays to keep the world wide web connected, I will show you how to configure Zeroshell as a DNS forwarder for our own network.
The first thing you need to do is open your web browser and navigate to your Zeroshell server IP address and enter your login credentials.
Once logged into the Zeroshell web interface, on the left pane under “NETWORK” you will see the “DNS” menu. Click on it and it will take you to the DNS configuration of Zeroshell.
Now in the top pane click on “Forwarders”. This should present you with an external window which contains the configuration options for Zeroshell DNS forwarding.
The configuration is very simple and only requires two entries. In the “Domain” section simply enter “ANY”. This is telling Zeroshell to forward DNS requests it receives from any local IP address.
In the “Server” section simply enter the IP address of the DNS server that you want to forward the local DNS requests to. This can be your ISPs DNS servers, OpenDNS or any other DNS server you prefer to use.
There are many public DNS servers available to use. CloudFlare and Google operate public DNS servers for everyone to use which remain quite popular and are considered secure. I have configured Zeroshell to forward DNS requests to CloudFlare’s primary public DNS server.
CloudFlare public DNS is at 1.1.1.1 Google public DNS is at 8.8.8.8
You can either use a single IP address or alternatively you can use multiple IP addresses, which must be separated using a comma.
Save your configuration and you can now exit Zeroshell.
Now change the DNS settings in your operating system’s network settings to the IP address of Zeroshell. Remember to change any other computers or cell phone devices too, so that all devices on your network use Zeroshell for DNS requests.
Once you’ve changed your settings, now all DNS requests on your network will be forwarded by Zeroshell to the DNS server you configured in Zeroshell. In my case, CloudFlare @ 1.1.1.1.