So yesterday’s task was to setup private nameservers for a site or two. Why setup private nameservers? Because you don’t always want everyone knowing where it is that you are hosting your stuff. I guess if you’re a reseller of some sort and trying to do branding that would be one reason to do private stuff too. That way, you can have hosting customer just slap on a “ns1” and “ns2” to their domain names whenever they need to enter nameservers. Most of my clients really don’t give a hoot over that and I end up setting this kind of stuff for them anyway.
When you work with this kind of stuff day in and day out, they’re just words and it doesn’t really matter what they are as long as they get into the right places, right? They are all going to resolve to the proper IP addresses, so whatever name they have, most of the time, we just care that they work.
Anyway… I found a lot of “instructions” on how to do this. I guess with repetition these things become routine and people don’t think about all the options that need to be included in a “dummies” version. And today, I fell into needing the dummy version for this. It has been something I’ve been meaning to get around to for months and today was finally the day to take a few hours and figure it out. And the details were somewhat lacking. There were instructions specific for various hosts and registrars but nothing was quite what I needed. Since GoDaddy recently changed their interface again, anything with GoDaddy was ALSO incorrect. I was personally working with trying to setup a custom nameserver on a WHM account with GoDaddy as the registrar.
What follows is the results of about 2-3 hours worth of digging, trial and error, and testing. Additionally, because I normally am using these things for SEO purposes, I didn’t want any “IP bleed” – I use specific IPs for sites and really don’t want to be using multiple IPs that are associated with different domains in my nameserver setup. This particular domain is setup on the Biggest-Hosting.com servers and uses their particular WHM configuration but this IS a pretty standard setup.
Setup Private Nameservers
Setup Your WHM Host Domain
DNS Functions => Edit DNS Zone
Select the domain you wish to manage – “Edit”
Create A Entries for your NS1 and NS2
Go to the “Add New Entries Below this Line” area at the bottom of this screen. Add “ns1” and select the “A” record and then pop in the IP that is assigned to this site. Do the exact same for “ns2”. Yes, use the same IP twice*. Save.
Now use your new NS1 and NS2 Entries
Enter your new nameserver info in the upper part
You will now see the ns1 and ns2 entries just above the “Add New Entries…” line.
Fill in your SOA
Now we will use the ns1 record in our SOA entry. Make SURE that you put a period after your domain name WHENEVER you use it in BIND (which is what this is based on). There are actually two entries up there – leave the second one. Mine is support.biggest-hosting.com. in the second slot. No idea what it actually indicates, but it seems to be fine as it is.
Put your new ns records in your NS entries
Then go down to your NS entries and pop in the ns1.domainname.tld and ns2.domainname.tld. Much as I am loathe to share this information directly on the internet – frickin’ hackers – this domain is not one I really care about and I likely will be killing it off at some point anyway. I’m including a screenshot of the way this will look in action below.
And save. Your screen should now look like the one pictured – with your domain names in there of course.
Setup Your GoDaddy records
Go to “Manage Your Domains” – don’t think I need to explain this one. Go to your domain and click the domain name. That will bring up the “Domain Details” page.
Your “Glue” records
Near the bottom, you will see a “Host Names” title on the left and a link just to the right for “Manage”. Click the “Manage” link. Add your hostname – just the ns1 part – and then tap in the IP of your site. It says IPv4 and IPv6 are acceptable. I use IPv4 still so that’s what you’ll see here. Click “Add”. Now add in your NS2 hostname WITH THE SAME IP. And “Save”. Give it a minute to kick in.
And finally your nameservers
To the right of the “Nameservers” title, click on “Manage”. If you haven’t changed these before, they may still be set to GoDaddy nameservers. You will need to select the “Custom” radio button. Now, click “Add Nameserver”, tap in ns1.domainname.tld (whatever you set above). Click “Add Nameserver” again on this form and enter the ns2.domainname.tld entry and click “OK”. You should now see your two new custom nameservers sitting there below the original two. Click the little “x” to delete the first two original nameservers leaving just your two new nameservers in place. Click “Save”.
Done setting up things
Boom. You should be done. This will take a few minutes to propogate. I personally use an “ipconfig /flushdns” to clear out my local records prior to testing. If you have visited the site within the last hour or so (depends on your settings, provider and all that) you will likely have the ip information cached up. This will remove it so you can verify your settings are working.
Test and verify
But let’s take it a step further. Head over to Pingdom.com – specifically http://dnscheck.pingdom.com and enter your domain name. As mentioned elsewhere, I AM using only one IP on this kind of setup which is not exactly correct. For my purposes though it will work. My thought is that IF there is a problem getting to my domain name server, then almost surely, there is going to be a problem bringing it up anyway. Not like I have a cloud or anything on these or some massive bank of failover servers. So, that said, enter your domain name. It will take about a minute to verify your records and they should come up like this below. It took me a few tests here to get the right settings everywhere.
Troubleshooting – Things to look out for
- If you don’t have your “glue” records – the ones from the “Host Names” on GoDaddy, you will come up with “consistency” errors on your Pingdom test.
- If you only have one nameserver – you’ll be alerted. Passes FINE with two nameservers both using the same IP, but you do want two.
- If you don’t change the top entry on your WHM setup in your SOA record there, it will work, but you’ll see your nameservers as not coming up as “authoritative”.
You should be good to go at this point. Continued testing shows everything working properly on this end. Questions? Feel free to post them here or comment!
* – using the same IP twice. Technically this is NOT correct, but as I am using these domains for SEO purposes, I do NOT want this site associated with any OTHER site/IP config. This will display as an error on testing, but it works.
I often use GoDaddy and they actually had the closest to what I actually needed as far as directions to base things on. Here are the instructions from GoDaddy.
Setting Nameservers for Your Domain Names – http://support.godaddy.com/help/article/664/setting-nameservers-for-your-domain-names
Setting up Nameserver DNS using cPanel/WHM – http://support.godaddy.com/help/article/8467/setting-up-nameserver-dns-using-cpanelwebhost-manager?pc_split_value=1