When one types a URL into a web browser (e.g. www.thenetworkengineer.com) a transparent but complex process goes on behind the scenes to bring you to the requested website. This process involves Domain Name Servers (DNS).
Basically, every networkable device receives an IP address (e.g. x.x.x.x, ex. 22.214.171.124). This IP address uniquely identifies that computer as different from every other computer. It is somewhat akin to a phone number. But, humans don’t remember numbers that well so someone came up with DNS. DNS is akin to a phone book. One looks up a name and finds a number, but instead of a phone number it is an IP address.
There are several reasons why one might want to run a DNS server locally:
- It provides quick access for your computers to the other computers on your network by name rather than IP address. While there is the aging NetBIOS protocol, the preferred method is to utilize DNS, and unlike public names, your internal network names are not kept in external DNS servers.
- It provides caching of information locally. When you visit a website you have to query a DNS server to find that server’s IP address. If that DNS server doesn’t know the IP address it will ask another DNS server and on and on until it finds the answer. If you have a DNS server internally it will cache the results of these DNS requests, thus making them available in the future should you need to visit the same sites.
- It provides a more granular level of control over DNS settings for external names. Even if you have external names registered (e.g. thenetworkengineer.com, dhq.nu, davemackey.net), these still require management by DNS. Your choice is between having an external host perform this DNS service (e.g. networksolutions.com, register.com, godaddy.com) or doing it oneself. Doing it oneself allows a higher level of control and leaves you to blame when things fail, rather than a third party company. This is both a blessing and a curse.
Should you decide to run a DNS server on your network you should be aware that Windows Server includes a DNS server as part of its default package that should be adequate for just about anyone’s needs under Administrative Tools.
Whether you utilize your own DNS or not, you will probably want to use OpenDNS. OpenDNS offers free and fast DNS servers. While you can use your ISP’s DNS servers, they are oftentimes slow and unreliable and lack the many features OpenDNS offers. For example, OpenDNS offers adult site blocking, custom domain blocking (e.g. time wasters at work), and statistical monitoring of DNS usage.