DNS is the Domain Name System. DNS converts machine names to the IP numbers , it maps from name to address and from address to the name of the machine.
Normally you don't need a name server, but if you are behind any kind of firewall that blocks name queries, you will be glad to have one. For this case you will need a special configuration. But having one speeds searching sites before connecting to them.
Try it yourself: I downloaded and installed from packages.slackware.com the packages "bind" and "libedit", then I edited the file /etc/resolv.conf by adding at the top "nameserver 127.0.0.1" -without the quotes- and that's all

You can test it then by typing: "nslookup anydomain.com" once...and take note of the IP of the nameserver displayed...
Then do it again once more....you will notice the name server now is 127.0.0.1 = your local host number!

You will also notice the search time for the site is to a minimum reduced! You will notice the difference...
I will leave to the more advanced, how to generate the file /etc/resolv.conf at startup automatically and dynamically, so connecting to different dhcp servers, you still get the local nameserver listed first.
Enjoy!