Updated: 8 October 2026 · Applies to: cPanel & WHM 138 on AlmaLinux, Rocky Linux, CloudLinux and Ubuntu (from cPanel documentation); resolver check tested on AlmaLinux 10.2

WHM shows "PowerDNS is not available for your system" in Nameserver Selection when the server's own resolver file, /etc/resolv.conf, points at an IP address that belongs to the server itself. According to cPanel, PowerDNS is not compatible with that setup: it serves the zones hosted on the server, but it does not work as a recursive resolver that looks up other domains for the server. Point /etc/resolv.conf at external resolvers, reload the page and PowerDNS can be selected again. On older cPanel versions the same message also named MyDNS and NSD; those two no longer exist in cPanel & WHM.

What cPanel & WHM offers now

According to cPanel's Nameserver Selection documentation, current versions offer three choices:

  • PowerDNS: the default, and the one cPanel recommends for most servers. DNSSEC in cPanel needs PowerDNS.
  • BIND: not available on servers running Ubuntu.
  • Disabled: use this when your domains' DNS is hosted elsewhere, for example with your registrar or a DNS cluster.

MyDNS and NSD were deprecated in cPanel & WHM version 78 (cPanel noted that MyDNS had not been updated since 2015). cPanel announced that servers still using either of them would be converted to PowerDNS automatically during the upgrade to version 106. If an old guide or script tells you to select MyDNS or NSD, use PowerDNS instead.

Step 1: check which resolvers the server uses

Log in over SSH as root and run:

cat /etc/resolv.conf
ip -br addr

If a nameserver line in resolv.conf matches an address that ip lists for this server, that is the cause. This loop does the comparison for you:

for ns in $(awk '/^nameserver/ {print $2}' /etc/resolv.conf); do
  if ip -o addr show | grep -qw "inet6\? $ns"; then echo "$ns is an address of this server"; else echo "$ns is external"; fi
done

On our AlmaLinux 10 test system, with the server's own address, an outside resolver and 127.0.0.1 in the file, it printed (server address replaced with an example):

203.0.113.10 is an address of this server
192.0.2.53 is external
127.0.0.1 is an address of this server

Any line reported as "an address of this server" has to go, including 127.0.0.1: once PowerDNS replaces BIND, nothing on the server would answer those lookups.

Step 2: set external resolvers

  1. In WHM, open Networking Setup › Resolver Configuration and click Proceed.
  2. Enter your provider's resolver addresses in Primary Resolver and Secondary Resolver (cPanel requires at least two and recommends a third in Tertiary Resolver), then click Continue.
  3. Check the result with cat /etc/resolv.conf and confirm that the server can still resolve names, for example with getent hosts cpanel.net, which should print an IP address.

cPanel warns that public open resolvers can make Spamhaus and other DNS blocklists return "not listed" for everything. If you use blocklists in the Exim Configuration Manager, use your hosting or network provider's resolvers.

Step 3: select PowerDNS

  1. In WHM, go to Home › Service Configuration › Nameserver Selection.
  2. Select PowerDNS and click Save. According to cPanel, the software handles the move from BIND for you.

From the command line, cPanel's support articles use these commands:

/scripts/setupnameserver --current
/scripts/setupnameserver powerdns
/scripts/restartsrv_named --status

The first shows the current nameserver, the second switches to PowerDNS, and the third shows whether the nameserver is running. cPanel recommends /scripts/restartsrv_named over calling systemd directly, because it picks the right service and does the extra work cPanel needs when the nameserver starts.

If PowerDNS is still greyed out, or something breaks

  • DNS cluster: according to cPanel, convert all DNSOnly cluster members to PowerDNS before you convert the web servers. If any domain in the cluster uses DNSSEC, every server in the cluster must run PowerDNS.
  • You need recursion on the server itself: PowerDNS cannot do that. Keep BIND (not possible on Ubuntu), or set the server's resolvers to an external service as above.
  • DNS is hosted elsewhere: choose Disabled. cPanel recommends not running a nameserver you do not use.
  • Sites stop resolving after the change: check /scripts/restartsrv_named --status and then the zones themselves. Our guides on nameserver configuration on cPanel servers, installing PowerDNS through Nameserver Selection and setting up private nameservers cover the next steps.

If you would rather have this done for you, our cPanel server management team can change resolvers and nameserver software on your server.

Official documentation: Nameserver Selection · Resolver Configuration · cPanel on the MyDNS and NSD deprecation

Ucartz services for this topic

Was this answer helpful? 0 Users Found This Useful (5 Votes)