Version 84 PowerDNS enabled as default?

Spirogg

Well-Known Member
Feb 21, 2018
700
163
43
chicago
cPanel Access Level
Root Administrator
I have a question about this change to cPanel 84:

PowerDNS installs by default on new installations
As of cPanel & WHM version 84, the system enables the PowerDNS nameserver software on new installations of cPanel & WHM. For more information about PowerDNS, read our Nameserver Selection documentation.

right now in cPanel 82 it is set to Bind,

NameserverAdvantagesDisadvantagesNotes
BIND
  • Configuration file can be manually edited.
  • Extremely configurable.
  • Provides a caching nameserver.
  • Very tolerant of syntax errors in zone files.
  • Large memory footprint.
  • This is the default choice.
PowerDNS
  • Very high performance.
  • Instant start-up.
  • Low memory requirements.
  • Does not provide a recursive (caching) nameserver. (requires external nameservers in resolv.conf)
  • DNSSEC is incompatible with DNS Clustering.
  • Built-in support for DNSSEC.


Has there been any changes to PowerDNS Like :
  • Does it Provide a caching nameserver like bind or not ?
I know we have the option to choose Bind also, but what are the Pro's of PowerDNS vs using Bind ?
Also what was the main reason that cPanel made this decision to change the default settings to > PowerDNS ?


I am using my own name servers
ns1.mydomain.tld
ns2.mydomain.tld
will this change affect my DNS or do I need to make any Changes to any files on the server since I have my own Nameservers setup ?

Thanks for your answers in advance.
regards,
Spiro
 
Last edited:

ffeingol

Well-Known Member
PartnerNOC
Nov 9, 2001
945
424
363
cPanel Access Level
DataCenter Provider
I have not seen any doc on the new PowerDNS config but here are my guesses:

Most people won't care that it's not a cachehing DNS server. You are more than likely using your data centers caching DNS servers or Google (or CloudFlare). Just check if there are nameserver entries in your /etc/resolv.conf. If they are not 127.0.0.1 or your servers's IP, then you are using someone else's caching DNS servers.

I'd also guess that they have PowerDNs setup to use bind configuration as a back end. PowerDNS can have a lot of different back ends (database, LDAP, BIND etc.). Since cpanel already has code to manage BIND format zone files it's kind of a no-brainier to simply configure PowerDNS to read the BIND format zone files.

It makes no different to your name servers what software is running on the server. They will resolve/service up the same information.

For customers with clustered DNS and lots (and lots) of zone files (like us) switching from BIND to PowerDNS is huge. BIND is very (very) slow to start up with lots of zone files. PowerDNS on the other hand is blazing fast.

Time will tell how close my guesses are :)
 
  • Like
Reactions: Spirogg

Spirogg

Well-Known Member
Feb 21, 2018
700
163
43
chicago
cPanel Access Level
Root Administrator
I have not seen any doc on the new PowerDNS config but here are my guesses:

Most people won't care that it's not a cachehing DNS server. You are more than likely using your data centers caching DNS servers or Google (or CloudFlare). Just check if there are nameserver entries in your /etc/resolv.conf. If they are not 127.0.0.1 or your servers's IP, then you are using someone else's caching DNS servers.

I'd also guess that they have PowerDNs setup to use bind configuration as a back end. PowerDNS can have a lot of different back ends (database, LDAP, BIND etc.). Since cpanel already has code to manage BIND format zone files it's kind of a no-brainier to simply configure PowerDNS to read the BIND format zone files.

It makes no different to your name servers what software is running on the server. They will resolve/service up the same information.

For customers with clustered DNS and lots (and lots) of zone files (like us) switching from BIND to PowerDNS is huge. BIND is very (very) slow to start up with lots of zone files. PowerDNS on the other hand is blazing fast.

Time will tell how close my guesses are :)
@ffeingol
thank you for your response.

I was just making sure If I do Make the change I won't have any propagation issues with my nameservers and all the domains will remain working :)

Thanks again,

Spiro
 

Spirogg

Well-Known Member
Feb 21, 2018
700
163
43
chicago
cPanel Access Level
Root Administrator
Configuring PowerDNS nameserver
Code:
Installing and configuring PowerDNS...

Conversion process will be logged to /var/cpanel/logs/setupnameserver.
Setting name server to powerdns in /var/cpanel/cpanel.config

Halting NSD

Disabling NSD in init system

Halting BIND

Disabling BIND in init system

Halting MyDNS

Disabling MyDNS in init system

Checking that PowerDNS is installed

Calling RPM installer object
[2019-10-07 22:03:04 -0500] Maximum sync children set to 16 based on 3009M available memory.
[2019-10-07 22:03:04 -0500] Downloading http://httpupdate.cpanel.net/RPM/11.84/centos/7/x86_64/rpm.sha512
[2019-10-07 22:03:04 -0500] Successfully verified signature for cpanel (key types: release).
[2019-10-07 22:03:04 -0500] Maximum sync children set to 16 based on 3005M available memory.
[2019-10-07 22:03:04 -0500] Downloading http://httpupdate.cpanel.net/RPM/11.84/centos/7/x86_64/cpanel-pdns-4.1.10-1.cp1184.x86_64.rpm
[2019-10-07 22:03:06 -0500] Acquiring lock for Cpanel::RPM::Versions::File
[2019-10-07 22:03:06 -0500] Lock Acquired for Cpanel::RPM::Versions::File
[2019-10-07 22:03:06 -0500] Disabling service monitoring.
[2019-10-07 22:03:06 -0500] Hooks system enabled.
[2019-10-07 22:03:06 -0500] Checking for and running RPM::Versions 'pre' hooks for any RPMs about to be installed
[2019-10-07 22:03:06 -0500] All required 'pre' hooks have been run
[2019-10-07 22:03:06 -0500] No RPMS need to be uninstalled
[2019-10-07 22:03:06 -0500] Installing new rpms: cpanel-pdns-4.1.10-1.cp1184.x86_64.rpm
[2019-10-07 22:03:06 -0500] Preparing packages...
[2019-10-07 22:03:06 -0500] cpanel-pdns-4.1.10-1.cp1184.x86_64
[2019-10-07 22:03:10 -0500] Releasing lock for Cpanel::RPM::Versions::File
[2019-10-07 22:03:10 -0500] Hooks system enabled.
[2019-10-07 22:03:10 -0500] Checking for and running RPM::Versions 'post' hooks for any RPMs about to be installed
[2019-10-07 22:03:10 -0500] All required 'post' hooks have been run
[2019-10-07 22:03:10 -0500] Restoring service monitoring.

Enabling PowerDNS in init system

Starting PowerDNS
Waiting for “pdns” to start ……waiting for “pdns” to initialize ………finished.



Service Status

pdns (/usr/sbin/pdns_server --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no) is running as named with PID 11483 (systemd+/proc check method).



Startup Log

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: Using 64-bits mode. Built using gcc 4.8.2 20140120 (Red Hat 4.8.2-16) on Sep 4 2019 10:30:59 by [email protected].

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: Creating backend connection for TCP

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Parsing 21 domain(s), will report when done

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Done parsing domains, 3 rejected, 12 new, 0 removed

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: Only asked for 1 backend thread - operating unthreaded

Oct 07 22:03:10 2.mydomain.com systemd[1]: Started PowerDNS Authoritative Server.



pdns started successfully.

Building global cache for cpanel...Done

Nameserver conversion complete

--------------------------------------------------------------------------
Does this look Normal below,
I only have 3 domains on this vps but shows parsing 21 domain(s) and also skipping zone because type "hint" is invalid ? and then the last line says Done Parsing domains, 3 rejected, 12 new, 0 removed ?

so why does it say first 21 domains then 3 rejected and 12 New ?
Code:
Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Parsing 21 domain(s), will report when done

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Warning! Skipping zone '.' because type 'hint' is invalid

Oct 07 22:03:10 2.mydomain.com pdns_server[11483]: [bindbackend] Done parsing domains, 3 rejected, 12 new, 0 removed

-----------------------------------------------------------
domains are working and everything seems to work just not sure why it says: 21 domains 3 rejected, 12 new and type "hint" invalid ?


Thanks again and sorry if these are dumb questions? i'm not a pro but learning

Much Appreciated

Regards,

Spiro
 
Last edited by a moderator:

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,304
363
Houston
A BIND hint zone is a specific zone_type:

Code:
hint    The initial set of root-servers is defined using a hint zone. When the server starts up it uses the hints zone file to find a root name server and get the most recent list of root name servers. If no hint zone is specified for class IN, the server uses a compiled-in default set of root servers. Classes other than IN have no built-in default hints.
PDNS even with bind-backend doesn't use them per their docs
• Bind backend now ignores ‘hint’ and ‘forward’ and other unsupported zone types.


How many domains are listed in the /etc/named.conf?
 

Spirogg

Well-Known Member
Feb 21, 2018
700
163
43
chicago
cPanel Access Level
Root Administrator
Code:
How many domains are listed in the /etc/named.conf?
Hi @cPanelLauren ,

There are only 3 actual domains,
It also has the hostname and ns1 ns2
So if I added 3 domains nameservers and hostname would be 6 if not it's just 3 domains

Thanks for your reply and help in advance

Spiro
 

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,304
363
Houston
PowerDNS is counting/parsing the domains present, which is why I suggested you check the named.conf but you can also more than likely count all files in /var/named and get the domains. The rejected zones would be the root hint zones though they'd be included in the total.

You could run something like:

Code:
pdns_control bind-domain-status
to see domains it parsed

or

Code:
pdns_control list-zones
which will give a zone count at the end


You might also want to check out the pdns documentation here: pdns_control — PowerDNS Authoritative Server documentation
 
  • Like
Reactions: Spirogg