Setting Up Private Nameservers in WHM/cPanel

Setting Up Private Nameservers in WHM/cPanel

Setting up your own private nameservers on a cPanel server has many benefits, most importantly enabling all of cPanel’s built in DNS tools which can make DNS changes much easier.

This guide will show you how to set up and register new private nameservers on a cPanel server using the WHM (Web Host Manager) interface.

Most users will want to use a domain name they already own, often the same domain name that is being used for the hostname of the server that will be running the private nameservers.

For this example, we will use a fake domain called example.com. Our server is called host.example.com and we will be setting up ns1.example.com and ns2.example.com.

There are three parts to setting your private nameservers: Configuring the server to accept and process the DNS requests, registering your your new nameservers at the registrar who controls the domain name, and finally pointing domains at those new nameservers.

Step 1: Configuring the Server

Log in to your server’s WHM interface and find the navigation section on the left called Basic cPanel & WHM Setup, under Server Configuration. This is the first item on the left navigation bar.

At the bottom, you will find the Nameservers section

When you load this screen for the first time you may see that two nameservers, using the same domain name as the server’s hostname, are already in place. If this is the case skip to Step 2: Registering Your Private Nameservers.

If there are no nameservers listed here then we will need to create them. Type the name of the nameserver you wish to set up in the text box (1) and click the Assign IP Address button (2).

You will be returned to the same screen now showing your new nameserver and the IP it has been assigned. You need to have at least two nameserver names configured, so repeat this step to create your second nameserver.

When you are finished assigning IP addresses, make sure to click Save Changes (3).

Optional: Editing Nameserver IPs via SSH

cPanel stores the nameserver IP assignments in a file located at:

/var/cpanel/nameserverips.yaml

If you log in to your server using SSH it is possible to edit this file by hand and have cPanel use your new settings.

 

root@host [/]# cat /var/cpanel/nameserverips.yaml
---
ns1.example.com:
  72.52.129.244: 1
  count: '4'
  zones: example.com,domain.com,ns1.example.com,ns2.example.com
ns2.example.com
  72.52.129.245: 1
  count: '4'
  zones: example.com,domain.com,ns1.example.com,ns2.example.com

 

In the above example we are using the command cat to display the contents of the file. Changes can be made to this file using your favorite shell text editor such as vim, nano, or whatever you are comfortable using. Before editing the nameserverips.yaml file, you will need to delete the following cache file:


root@host [/]# rm /var/cpanel/nameserverips.cache

cPanel will rebuild that file after you have made your changes.

As always, we recommend you make a backup of any files you change by hand using SSH before you modify them!

A simple backup command:

root@host [/]# cp /var/cpanel/nameserverips.yaml /var/cpanel/nameserverips.yaml.bak

Now you can modify the file as much as you want, and if anything really bad happens you can simply delete the file and rename your .bak copy to the original file name.

IMPORTANTIf you change your existing nameserver IP assignments you will need to update the assignments at the registrar!

Step 2: Registering Your Private Nameservers

The vast majority of registrars do not charge their customers any extra fee for registering nameservers as long as the main domain name itself has already been purchased.

If you registered the domain yourself:

If you are setting up nameservers for a domain name that you own, which you also purchased yourself at a domain registrar, you will need to login to your account at that same registrar and use their tool to register the new names.

For example, if you are setting up ns1.testdomain.com and ns2.testdomain.com, and you purchased testdomain.com from GoDaddy, you would need to login to your GoDaddy account in order to register the new nameservers.

Once you have found the tool/page you need at your registrar’s web site the registration itself is very straightforward. Most registrars use a simple form where you enter in the name of the nameserver you wish to create and the corresponding IP address (that we obtained from the steps described above).

You are welcome to follow the steps described above to complete the server configuration and have us handle the nameserver registration, or if you would like our Heroic Support admins will be happy to help you with the entire process.

Step 3: Pointing Your Domain(s) at Your New Nameservers

The final step in creating your own nameservers is to start using them by correctly pointing your domain(s). Log in to your registrar and edit the assigned nameservers so that it now points at your new nameserver names.

Please note that if you change a domain’s nameservers the domain will temporarily stop working while the new settings propagate throughout the entire internet. If downtime is a critical issue for your domain we recommend you make this during a weekend or late at night when traffic is likely to be low.

Now that your domain is pointing at your server’s nameservers you can use the DNS tools in the WHM and cPanel interfaces to modify your zone files!

    • Related Articles

    • Setting Up Private Nameservers in WHM/cPanel

      Setting up your own private nameservers on a cPanel server has many benefits, most importantly enabling all of cPanel’s built in DNS tools which can make DNS changes much easier. This guide will show you how to set up and register new private ...
    • How to Set Up Private Name-servers in WHM/cPanel on VM's and Dedicated Servers.

      Setting up your own private nameservers on a cPanel server has many benefits, most importantly enabling all of cPanel’s built in DNS tools which can make DNS changes much easier. Most Customers with their own VM's or Dedicated servers with WHM/cPanel ...
    • How do I make my private name servers the default for all accounts I create in cPanel WHM?

      The following instructions will only set the name server entries in the DNS zones. Your customers must still update their name servers with their registrar. Reseller, Dedicated and VPS Hosting This sets up the default name servers for the entire ...
    • setup custom DNS / Name servers with WHM/Cpanel on my VM

        The first time you log into WHM you will have to complete a 6 step basic configuration.   Click on I agree/Go to Next Step 2. Enter your email address at Server Contact Email Address (user@domain.com). Make sure your VPS hostname is correctly ...
    • Installing WHM/Cpanel

      To install CPanel first make sure perl is installed and updated yum -y install perl Then update the hostname to it's proper hostname, you can find it here: nano /etc/sysconfig/network Navigate to root user's home cd /home Then download the latest ...