# [SOLVED] How to Submit a DNS server?



## benzrf (Nov 8, 2008)

After downloading a server program onto my home computer(more specifically, Xerver. Please post if there's any reason I shouldn't have done that), my current project is to also set it up with DNS server software. Correct me if any of the following is wrong:

When a computer is looking up a domain name, it contacts a DNS server. If the DNS server doesn't have information on that domain name, it redirects your computer to another DNS server listed in its archives.

However, since _my_ DNS server-to-be is not and will not be in any of those archives, no one will contact it, even if they're looking for information exclusive to it.

So my question is, how do I "submit" my DNS server(once it's made) to one of these lists? I think I read somewhere that it's possible...


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

The first thing you need is a static IP address. Next, no one will contact your DNS server unless their computer is setup to do so. Basically, anyone that's using DHCP to get an IP address will use their own ISP's DNS servers since the ISP provides which DNS server the user will use. Now, if you're handling the zone information for a particular domain, that domain will list your DNS server as one of the Name Servers that provides the IP address for that domain. At this point, anyone that wants to visit that website will contact your DNS server for the proper IP address of the website.


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

OK... So. Um. How does their computer know to contact mine? Because the information about the domain name is entirely exclusive to my own DNS server.


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

Each domain name needs 2 Name Servers to be listed so that anyone who's trying to visit that domain name, knows where to look. This is entered at the domain registrar where the domain is purchased. This can only be done by the person/company that has purchased the domain name or those authorized to make changes to the domain name on behalf of the owner of that domain name. 

If you do a WHOIS on yahoo.com, you'll see the following:



> Domain servers in listed order:
> 
> ns4.yahoo.com
> ns2.yahoo.com
> ...


Those are Yahoo's DNS servers.  If I type "www.yahoo.com" into my browser, my computer asked my ISP's DNS server for the IP to www.yahoo.com. If my ISP's DNS doesn't know (i.e. it's not cached), it checks the root DNS servers and asks for the authoritative DNS server for yahoo.com. The root DNS servers return one or more of the ones listed above such as ns1.yahoo.com. My ISP's DNS server then asks ns1.yahoo.com for the IP address which is then provided to my computer and I'm able to load the website. 

This is a very simplified version of what really happens. I would strongly recommend that you do some research on DNS before you start your own DNS server. There is a lot that needs to be taken into account if you want to offer a public DNS server. And you can't just arbitarily set up a DNS server that will take over for yahoo.com or any other domain name. It will only do so for domain names that you've been given permission to handle.


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

No, you don't understand: I'm hosting my _own_ site. So I have total control over it. But I can't enter it at the registrar; I _am_ the registrar! What I mean is, is it possible to enter my DNS server in some website's cache so that a computer looking for info on x.com will be redirected to my DNS?


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

You are not the registrar. At best you can be a reseller for a registrar. To be an officially credited registrar, you need to contact ICANN and gain credidation (I know I didn't spell that right) through them along with paying a fairly heafty yearly fee. 

What you'll need to do when you login to your registrar is Create/Setup Name Servers. Each registrar will have a different process of doing this, but they should all have a FAQ on the steps needed. This is where you designate "ns1.yourdomain.com" to be your public IP address. However, I believe that 2 unique (and static) IP's are required for this, so you'll need to set up both an ns1.yourdomain.com as well as an ns2.yourdomain.com (1 IP per Name Server). These IP's are the ones to your DNS server that you've set up. That's all that's needed to be done at the domain registrar. Keep in mind that it may take some time for anything you do here to fully propagate over the internet (up to 24 hours, but usually less). 

After you have that all set up, you just need to configure your own DNS server and ensure that your DNS zone is properly set up. Once it is, there's not much else that needs to be done. Your DNS server is now considered to be the authoritative DNS server for your domain and will be contacted whenever someone wants to visit your website.


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

**sigh** Did you read my first post very carefully? This website is hosted on MY HOME COMPUTER. MY HOME COMPUTER is the SERVER FOR THIS WEB SITE. This website is located in a FOLDER ON MY HOME COMPUTER(C:\WAN Shared Folder\). Sorry if that sounded condescending or insulting, it's just that I was a little frustrated that you hadn't realized that I was hosting it myself(or did you)? I made no purchases. By the way, if it makes a difference, the server is Xerver. Is that what you meant?

So it's situated at, as I last remember(it's not on right now, so don't try going to it), something like http://74.75.?.?:5080/. So in this case, what exactly do you mean by my "registrar"?


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

Yes I did read what you wrote. But you're apparently not understanding what I'm writing. Just because you want to host everything yourself, at home, doesn't mean you can bypass all the rules regarding DNS and domain names. 

When I say "registrar", I'm talking about companies such as godaddy.com, register.com, networksolutions.com, etc. These companies (and others) are known as domain registrars. They're allowed to create new domain names on behalf of their customers. You can not just arbitrarily create a new domain name if you're not a domain registrar or if you don't use one or one of their resellers. 

For example, if you want to register "mydomain.com", you can easily set up a DNS server to handle any requests for "mydomain.com" on your local network ONLY. But NOT ONE single computer will use your DNS server on the internet because you're not authorized to provide any information for that domain for two reasons. Either it doesn't exist or you it does, but you're not the authoritative DNS server for that domain. These rules are in place to prevent just anyone setting up a DNS server which can cause all sorts of problems, especially when different DNS servers provide different information about a particular domain. I've set up several DNS and web servers over the years, both in remote locations as well as at home. And the process for it is the same no matter where it's located. 

Now, if you're wanting to set up a DNS server for your local network only, then things are a little different. Only those connected to your local network will be able to use it, but you can assign your internal IP to any domain that you want (just as yahoo.com). No one will stop you since you won't be affecting anyone but yourself and those on your network, although anyone else on your network may complain when they can't check their email on yahoo.


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

Yeah, but if I set my server to have my DNS as its nameserver, then doesn't it make my DNS the authoritative one by default? After all, if Yahoo! doesn't classify me as its nameserver, then I can't change it in WAN. But I can if the server in question agrees, can't I?


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

The webserver does not designate who the authoritative DNS server is. The domain registrar does. When you login to your domain registrar, (I apparently forgot this step in my previous post) after you've created your name servers, you need to assign the name servers do the domain. This is how you tell everyone what DNS server is the authoritative one. Basically, you need to edit the domain (again, every domain registrar does it differently) and edit the Name Servers for that domain (this is not creating a Name Server). Only after this step is a particular DNS server considered to be the authoritative one for that particular domain. 

If your domain is mydomain.com, you can create a Name Server called ns1.mydomain.com with your IP address (it can be the same as your web server). You then assign ns1.mydomain.com to mydomain.com (the domain can be the same, all you need to do is add teh "ns1." part to it). You'll need to do the same with ns2.mydomain.com. I know that 2 name servers are required, but I don't remember if 2 different IP's are required.


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

Wait a sec... This brings me back to my original question: Isn't there a way to submit my DNS server as the nameserver for x.com to an already registered DNS? I read somewhere on the internet that there are websites that will register you as the nameserver for a domain on THEIR DNS for free... Or is that wrong?

Also, you're saying that no one will ever find my DNS server unless it's cached as x.com's nameserver in their ISP's DNS? And if it isn't cached, then it won't refer them to another DNS server in the hopes that it will be cached there?


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

Let me get this straight:

If I'm listed in a DNS as the nameserver for x.com, then only users of that DNS will look me up for info on x.com. However, if I'm already their default DNS, then I don't need to be registered anywhere else. If I define yahoo.com as 0.0.0.0 and a person uses me, then they will be directed to 0.0.0.0, right? Being the authoritative server for a domain just means that you're listed as such in a DNS that is actually USED, right?

Or is there actually a higher class of DNS that can define whether something has authority about x.com?


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

There is no real such thing as ACTUALLY being the authoritative DNS for a domain, just the illusion of being so because all of the DNSs actually used classify you as such.

Right?


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

Here's how DNS works. The 13 root DNS servers are the top level servers for all DNS requests. You can get more info on them here: http://www.root-servers.org/. When I set the name servers for my domain, my domain registrar tells the root servers about my domain and who my name servers are. From there, if someone visits my website for the first time, their computer asks their ISP's DNS. If the ISP's DNS doesn't know, it asks the root servers for who the authoritative DNS server is for my domain. The root servers will reply with who the authoritative DNS server is, then your ISP's DNS will ask the authoritative DNS for the websites' IP address. This is then returned to your computer. 

If you signup with a webhosting company, they'll provide you with DNS servers for you to use on your domain name and this is included with hosting package. But I'm not familiar with any free DNS only services. If you do find such a service, they'll give you their DNS servers that you can use for your domain name. Then, if they allow it, you can edit your zone info on their service to point to your DNS server. At this point, you won't be the authoritative server for the domain, but you'll be handling all requests since the authoritative server just redirects to you. 

You can set an individual PC to use you for any DNS requests. And yes, you can set yahoo.com as 0.0.0.0. But if you want anyone to use your DNS server, they'll need to manually make this change on their computers or routers (if they use one). Just keep in mind that if you lose power, your server crashes, your internet goes down or maybe aliens beam your server up to their mothership, then anyone using your DNS server for all DNS requests, will think that their own internet isn't working. Basically, their computers will not be able to access anything on the internet since no DNS requests will be successful. If they happened to know any specific IP's to certain websites, they could get around this, but not many people do. And of those that do, the vast majority know enough to fix this on their own or to not even use you as their main DNS server. 

Yes, there is an acutal thing as being an authoritative DNS server. An authoritative DNS server is the main DNS server that handles DNS requests for a particular domain. If the authoritative DNS says that mydomain.com has an IP of 1.2.3.4, then that is the correct IP and any other DNS servers that say otherwise are wrong. Your ISP's DNS server is an example of a non-authoritative DNS server. All it does is cache the IP for a period of time. The cacheing is done to reduce the overall amount of DNS traffic. IP's don't change very often, do there's no reason to ask ns1.yahoo.com for the proper IP, especially when millions of people are visiting that site each day. Your ISP's DNS server takes on part of the load required and caches the IP for yahoo.com for a few hours. With each ISP doing this, ns1.yahoo.com doesn't have to do as much work. 

Here's some further reading on how DNS works.

http://en.wikipedia.org/wiki/Domain_name_system

On this second link, if you scroll down to the section labeled Types Of DNS Servers, you'll see a discussion about authoritative vs non-authoritative. 
http://www.more.net/technical/dns/overview.html


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

No. I meant, a server is only authoritative because the root DNSs say so. There's nothing special about it itself, like a certificate.

Otherwise, though, you've answered all my questions but one. Thanks!

By the way, that last question is this: Being a registrar means that you have the ability to edit, or at least get permission, to one(or more) of the root DNS servers. Right?


----------



## benzrf (Nov 8, 2008)

*Re: How to Submit a DNS server?*

Oops. I realize that I mean the next-highest level after root, after reading the Wikipedia article on the root ones.

You could have mentioned that they don't handle actual domain names!


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*

No, there's no certificate or anything like that. But being authoritative means that such and such DNS server is the go to server for initial DNS requests. However, things may change once DNSSec is approved and implemented. I won't mention any more about DNSSec as I haven't fully read into it yet. 

I don't know all the details of being a domain registrar, but you're given permission to provide new/updated info to the root servers. But I don't believe that registrars control the root servers directly. Each of the 13 root servers is controled by a specific company/organization which is charged with ensuring that everything runs smoothly. I believe ICANN also has a stake in how things are handled as well as they own l.root-servers.org (one of the 13).


----------



## Skie (Mar 15, 2003)

*Re: How to Submit a DNS server?*



benzrf said:


> Oops. I realize that I mean the next-highest level after root, after reading the Wikipedia article on the root ones.
> 
> You could have mentioned that they don't handle actual domain names!


There's a lot that I could have mentioned. But I only have so much time and so many other things to do that I can't discuss every detail of how things work. That's part of why I provided those links.

EDIT: But I did mention that the root servers just redirect DNS requests to the proper authoritative DNS server. They don't handle the reqeusts directly.


----------

