Are there any drawbacks to doing this, such as reliability, or issues with appearing in SERPs?
[edited by: Webwork at 1:10 pm (utc) on Sep. 9, 2006]
[edit reason] Charter [webmasterworld.com] [/edit]
If you use a non-US registrar, don't use the DNS you get for free from the registrar. (If you get free DNS from the registrar.) Their DNS servers will almost certainly be located quite a distance from the bulk of your users, and this will cause a delay for each user when first accessing your site.
Use a third-party DNS provider. The better ones use AnyCast routing, and have multiple U.S. servers, as well as servers on multiple continents. The AnyCast routing insures that a nearby server is used.
How does that dns feature work? I can set my server's dns info, but what can I do beyond that?
Registrars normally provide DNS servers at no additional cost. They aren't REQUIRED to do so, but they do so because of competitive pressure. (Everybody else does it.)
But you don't have to use their DNS servers. You can supply your own (not recommended). Or you can contract with somebody else. There are a number of companies that specialize in providing DNS services.
There's nothing special you have to do to take advantage of IPAnycast routing. You just have to choose a DNS provider that uses it.
In any case, if your user base is in the U.S., it's better to have U.S.-based DNS servers. In many cases, when you register a non-US domain, the free DNS you get from the registrar will not be based in the US. They may have one or more US servers - it will vary based on country and registrar.
IPAnycast is the best way to go, though. With IPAnycast, you might have, say, 3 DNS servers listed in the registry, but, in fact, there are 12 or 15. Let's say there are 15. There are actually 5 servers in various parts of the world that respond to the same IP address. The Anycast routing will route DNS requests to the NEAREST one.
So basically I use the ipanycast servers as my primary servers, and then route them to my own servers name servers?
No. There's no need to run your own name servers, nor would I recommend it. Your DNS provider will give you the means to set up your A records, etc. there. The A records, of course, point to your web, mail, etc. servers.
The one case where you might want to run your own name server is to have a "hidden" primary server. This is just an alternative to using the DNS provider's web interface. For example, you might want to do this if you are BIND guru and prefer to set things up that way. You'd set up your DNS provider to mirror your hidden primary via zone transfers. The hidden primary would not be put in the list of DNS servers at the registrar.
Registrars typically give you two options:
1. Use our name servers
2. Use other name servers - and you enter a list of them
User interfaces vary. Sometimes they will give you the names of their name servers, and you have to manually fill them in as in (2).
There's also typically a section where you set up the name server records. (A, MX, etc.) If you choose option two, you can ignore this. (Quite often, they don't turn off this part of the user interface when you choose option 2, so it can be confusing.
Things can also be confusing because some web hosts also provide you with name servers you can use. You can (generally) safely ignore this, as well. If there is a place to say "not using your name servers", check that, though.
And virtual host control panels can make things even MORE confusing, as sometimes the same area where you set up multiple host names automatically sets-up DNS records in their name servers that you won't be using... In this case, ask your host, and/or visit the support forums for your control panel to see how to break this behaviour.