Set Up DNS Services on cPanel – cPanel ready as master DNS server or Add2DNS


Set Up DNS Services on cPanel – cPanel ready as master DNS server or Add2DNS


cPanel is a Linux based web hosting control panel that provides a graphical interface and automation tools designed to simplify the process of hosting a web site. cPanel utilizes a 3 tier structure that provides capabilities for administrators, resellers, and end-user website owners to control the various aspects of website and server administration through a standard web browser.

cPanel is a commercial web-based control panel for server systems. It can help ease the burden of common system administration tasks such as website creation, database deployment and management, and more. This guide will show you how to set up your cPanel server to serve DNS records. These instructions should be done through your root WHM interface.

In addition to the GUI, cPanel also has command line and API-based access that allows third party software vendors, web hosting organizations, and developers to automate standard system administration processes.

Nameserver Selection

In your root WHM, under the Service Configuration section, click on “Nameserver Selection”. You will be presented with this screen:

cPanel Nameserver selection screen.

You can choose from BIND, MyDNS or NSD; the advantages and disadvantages for each are displayed. If you are unfamiliar with either of them, BIND will be the easiest to work with.

Nameserver Records

To use your own nameservers (e.g.,, you’ll need to create those entries at your registrar first. The process for adding those can vary based on which registrar you are using, so if you are unsure as to how to go about getting these entries set up, you should contact your registrar’s support and ask them how to do so. You’ll also need to add A records for your nameservers on your Linode within WHM. To do that, you’ll want to log into your WHM as root then navigate to the DNS Functions section and click on Edit DNS Zone, which will present you with this page:

cPanel Edit DNS screen.

Simply click the domain you used when you set up your nameservers at your registrar and click the Edit button to get to the DNS Editor screen. On the DNS Editor screen, you will want to add A records for your nameservers. To do this, you will fill in the spaces at the bottom of the screen like so:

cPanel add NS entries.

Just make sure you use your own Linode’s IP address. You can add more than two nameservers if you like.

Using Linode’s DNS Manager as a Slave

When using your BIND install on cPanel as your master nameserver and the Linode DNS Servers as a slave, you will want to set all of the nameservers at your registrar. You should have a list like this:


The DNS changes can take up to 48 hours to propagate.

To get your cPanel Linode ready as your master DNS server, you’ll need to make a few additions/edits to your/etc/named.conf file.

The transfer of DNS records from your Master DNS server to the Linode DNS servers is done through AXFR queries. By default these are not allowed.

First open the /etc/named.conf file in your text editor and search for the following line:

recursion no;

You will need to change it to:

recursion yes;

After you make that edit, add these two sections under your recursion line:

allow-recursion {;;;;;;;;

 allow-transfer {;;;;;;;;


After your updates are complete, save and close thenamed.conf file.

Check that the configuration file is usable by issuing the command :

named-checkconf /etc/named.conf

If everything was done correctly, you should see no output. No output means everything is OK. If you get any errors, open the file and fix the reported issue. The errors are self explanatory and point to the exact issue.

Once the check is OK, the BIND service will need to be restarted in order for the changes to be picked up.

On the Left side in WHM under “Restart Services” Click DNS Server (BIND/NSD/My).

Click Yes to restart the service. Allow a few minutes for the service to restart.

You’ll then want to begin adding your domains to the Linode DNS Manager as slave zones.

  1. Log in to the Linode Manager and click on the DNS Manager tab.
  2. At the bottom, click on the “Add a domain zone” link.
  3. On the bottom right corner of the next page, click the link titled “I wanted a slave zone.”
  4. On the slave zone page, you’ll want to enter your domain name in the “Domain” box and your cPanel server’s main IP address in the “Masters” box.Linode slave zone screen.
  5. Click the “Add a Slave Zone” button.

    Once you save your slave zone, you’ll see a new text field titled “Domain Transfers”. You can leave this empty.

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

Suggest you also check allow-transfer, allow-notify, also-notify settings in named.conf of your cPanel box.


Good luck ,