If you have registered a domain name and are ready to move forward with setting up your internet presence, the next step is to decide how and where you are going to host your name servers (DNS).
While it is possible to set up your own DNS infrastructure, it may be hard to justify when you consider the requirements in implementing
a DNS infrastructure. To set up your own DNS infrastructure, you need at a minimum, the following:
- Dependable Internet connection
- Server running a network operating system (Windows, Unix, Linux, etc...)
- DNS Server Service installed and configured
- DNS Admin knowledge
To set up a reliable (fault tolerant) and highly available DNS infrastructure, you need to have the following in place:
- Requirements from previous list
- Redundancy in your Internet connection (more than one connection)
- Multiple servers (primary and secondaries)
- Servers located in different locations
As you can imagine based on these requirements, setting up a reliable and highly available DNS infrastructure can be quite costly. For most small to medium sized
organizations, it is challenging to make a business case when considering hosting your own DNS system. This is because, service providers have many options available.
DNS hosting is generally included as a service by many domain registrars. When you register your domain name, the option of hosting your DNS zone with
the registrar is common. No additional charges usually apply for hosting your DNS zone. Of course, check with your domain registrar to find
out if they include DNS hosting with the registration of a domain name. If they do not, they may provide this service for a nominal fee. Registrars
such as GoDaddy and Network Solutions offer this service as part of their domain registration.
If you do absolutely want to host your own DNS server(s) on your network, then you will need to begin gathering the following information and configuration:
- Public IP Address(es) for your DNS Server(s). If you are not sure what your public IP address is, visit: MySourceIP.com
- Your domain registrar generally requires to hostnames that map back to your DNS nameservers (NS) servers. If you only have one DNS server,
some registrars allow you to register two different hostnames that map back to the same IP address.
- On one DNS server, create your primary DNS zone. In the DNS zone, you would need to create two NS records and two host (A) records mapping back to the same IP address. Don't forget the PTR records in the reverse lookup zone.
- For added redundancy, you should have a second DNS server hosting a secondary zone.
- The DNS servers that will service internet facing hosts, should be placed on protected DMZ zone.
- If the DNS servers are configured with IP addresses in a private range such as 192.168.x.x/24, you will need to configure "port forwarding" on your internet
router. The only requirement is port 53 for name resolution. While most queries will come into your servers in the form of UDP packets, TCP can be used as well.
- If you are running AD on your network using the same domain name, a split-DNS design is recommended.
- Make sure that you disable recursion on your external DNS servers, unless you intend to allow internet users to use your DNS servers for their
internet name resolution for hostnames other than those in your domain.
- After you have completed these steps, register your domain name with a domain registrar and provide them with the host names for your DNS servers.
If you are looking for free DNS services, this option is available as well. A
simple internet search for "Free DNS" will result in many organizations that
also provide DNS services at no charge. Many of these DNS provides will give you
a limited DNS service and urge you to upgrade for a nominal fee for their
preminum DNS service. The other popular "free" DNS service on the internet is
one that provides you with a "subdomain" of an established domain. For instance,
If the domain name "freeDNS.com" was provided by a DNS provider, they may give
you for free, a sudomain of that domain, such as mydomain.freeDNS.com. From that point, you can create DNS records in that subdomain
such as www.mydomain.freeDNS.com, or ftp.mydomain.freeDNS.com.
Some of these DNS providers even support dynamic DNS (DynDNS). This is
especially helpful when you have a consumer based internet connection which has a dynamic public IP address rather than a static one.
Using a dynamic public IP address is not recommended if you intend on hosting your own DNS servers. If your DNS server's public IP addresses change, DNS
host name resolution will not work properly until the Domain Registrar has the correct IP for your DNS systems. Dynamic DNS is acceptable
for hosting records for a personal website or other project that does not have service level requirements. In this case, you do not even have to register the domain name. Creating a subdomain
at the "third" level of a DNS host name does not require registration. Again,
there are many options available for you to meet your DNS needs. My preference
and suggestion is to find a domain registrar that includes DNS management at no
additional cost. These domain registrars have already invested lots of time and
money to provide very reliable and highly available DNS infrastructures.
Recommended Books & Training Resources