Innnards: Authoritative DNS Servers and Hosting at Home

As the author of the WWW FAQ, I regularly answer questions about the workings of the Web. If a question is frequently asked, I simply add an article to the FAQ. But sometimes a question is more detailed, more in-depth— not really a FAQ, but still of interest to others. You'll find those questions, with my answers, here in Innards along with commentary on other web-technology-related topics.

2007-12-24

Q. I have my own domain name, example.com. I am hosting my web site at home. But no matter what I do I can never get my home page to come up. How do I find out if my ISP is blocking port 80? I tried to call them (comcast) and it seems like I know more then the people that I talk to. I don't know that much.

A. Port 80 has nothing to do with it. I can't ping example.com at all, because I can't look up that name in the first place.

You have configured comcast's DNS servers as the DNS servers for your domain name. I'm guessing these are probably the DNS server settings you used on your PC at home. It doesn't work like that.

That's because the comcast DNS servers have listed here are caching DNS servers, intended to look up hostnames for end users like yourself. They are not authoritative DNS servers, certainly not for your domain.

Every domain must have at least two authoritative DNS servers. These are computers that are configured specifically to return the correct IP address for any name in that domain, such as www.example.com. Yes, Comcast's DNS servers are there to help customers like you look up names, but they reach out to DNS servers further "upstream." For instance, when Comcast's DNS servers need to know the address of www.google.com, they talk to one of the authoritative DNS servers for the google.com domain.

If you look up google.com via internic.net's free whois service or any other whois tool, you'll see name servers such as these listed (as of this writing):

NS3.GOOGLE.COM
NS4.GOOGLE.COM
NS1.GOOGLE.COM
NS2.GOOGLE.COM

These servers are authoritative servers, specifically set up to answer questions about names in the google.com domain. If Google didn't have them, no one could find www.google.com.

So you need to do the same thing for your home-hosted site. How? Well, in one of three ways:

1. Pay someone to host your DNS for you. If you're hosting at home, you are probably trying to avoid this.

2. Use everydns.net, a free service that hosts your DNS for you. Unless you have two static IP addresses at home and a lot of time and energy on your hands, this is probably the right solution for you. Especially if your IP address at home is a dynamic IP address that changes every time you restart your cable modem.

3. Host your own DNS servers at home.

As I have mentioned, you must have at least two static IP addresses to do this. But there is a little bit of good news here: actually, you can use just one computer as your authoritative DNS server... as long as it has at least two distinct static IP addresses assigned to it. That's because one server that responds on two IP addresses is more or less indistinguishable from two separate servers. This defeats the purpose of the two-DNS-servers rule, which is to increase reliability. But those who are hosting at home are usually not concerned primarily with reliability.

For a detailed discussion of how to host a real domain name at home, including both the free everydns.net option and the "DNS server at home" option, see my WWW FAQ article how do I host a real domain name at home?


Follow us on Twitter | Contact Us

Copyright 1994-2012 Boutell.Com, Inc. All Rights Reserved.