RDNS

SynergyCP rDNS Package #

About #

The rDNS package adds a frontend to SynergyCP that allows Clients and Administrators to set rDNS PTR records. Currently, BIND and PowerDNS v3/v4 are supported.

An rDNS PTR is a single DNS record pointing a unique IP address to a hostname. When someone uses a server to send out emails, the receiving server usually does a reverse DNS lookup on the IP address which helps determine whether or not the host is a spammer. This is called forward-confirmed reverse DNS.

You can host a DNS server that answers with the hostname of the IP address that the receiving server looked up. The purpose of this package is to allow Administrators and Clients to easily configure that DNS server with rDNS PTRs. Clients can only configure rDNS PTRs for IP Entities that are in use on one of their servers.


Setting up rDNS #

The rDNS package supports different DNS servers. If uncertain which setup to use, we recommend the PowerDNS v4 setup.

IPv6 is supported only with PowerDNS v4.

PowerDNS v4 setup #


New PowerDNS v4 installation #

If you have PowerDNS already setup, please skip to the Existing PowerDNS v4 server section below.

This command must be run as root on a fresh OS with nothing else installed. It has only been tested on Debian 9 but should work on most apt-based Linux distributions. It cannot be run on the server Synergy is running on due to port conflicts. Make sure to save the details that are shown at the end of the installation in the SynergyCP Admin > System > Settings > DNS page.

mkdir -p /scp/dns
cd /scp/dns
wget https://install.synergycp.com/bm/packages/dns-http-control-powerdns-v4.tgz -O - | tar -zxvf -
./bin/install.sh

Existing PowerDNS v4 server #

You can skip this section if you used the above install command as it does this for you.
Please be advised that we can provide only limited support for issues with existing PowerDNS installations. If you encounter issues, please install a fresh server for the sole purpose of RDNS using the instructions above.

If you already have PowerDNS installed and want to add support to manage it from SynergyCP, first you must make sure that the PowerDNS version running is PowerDNS v4 with MySQL backend. Then you must enable API access if you haven’t yet: open up your PowerDNS config (typically /etc/powerdns/pdns.conf) as root and add the following config variables:

# Required for SynergyCP Integration:
webserver=yes
webserver-port=80
webserver-address=0.0.0.0
webserver-allow-from=0.0.0.0/0
webserver-password=<generate a very strong password>
api=yes
api-key=<generate a very strong password>

Allow port 80 through the firewall if one is setup. Save the api-key password for later.

Finally, restart the PowerDNS service so that your changes take effect (must be run as root):

service pdns restart

Then, add the PowerDNS server to SynergyCP using the details added to the config file.


PowerDNS v3 setup #

PowerDNS v3 was deprecated by PowerDNS. v4 is the new recommended version, so we do not recommend using v3. As such, we no longer provide installation information for a new PowerDNS v3 server.

Existing PowerDNS v3 server #

If you already have PowerDNS v3 installed and want to add support to manage it from SynergyCP, first you must make sure that the PowerDNS version running is PowerDNS v3.4 with MySQL backend. Open up /etc/powerdns/pdns.conf as root and add the following config variables:

# Required for SynergyCP Integration:
webserver=yes
webserver-port=8081
webserver-address=0.0.0.0
webserver-password=<generate a very strong password>
experimental-json-interface=yes
experimental-api-key=<generate a very strong password>

Allow port 8081 through the firewall if one is setup. Save the experimental-api-key password for later.

Finally, restart the PowerDNS service so that your changes take effect (must be run as root):

service pdns restart

Then, add the PowerDNS server to SynergyCP using the details added to the config file. Note that you must use the following syntax for the hostname: your.hostname:8081 for SynergyCP to know the port that PowerDNS is configured to use.


Bind setup #

This must be run as root on a fresh Debian server with nothing else installed. It cannot be run on the server Synergy is running on due to port conflicts. Save the details that are shown at the end of the installation.

mkdir -p /scp/dns
cd /scp/dns
wget https://install.synergycp.com/bm/packages/dns-http-control-bind.tgz -O - | tar -zxvf -
./bin/install.sh

Setting up the Package on SynergyCP #

  1. Install the rDNS package in SynergyCP.

  2. Go into the SynergyCP Admin > Settings > DNS and then enter the settings displayed at the end of the DNS Server install.

  3. Add an rDNS PTR from the dashboard of SynergyCP and make sure it works:

    TEST_IP=10.0.0.1
    DNS_SERVER=1.1.1.1
    
    dig +noall +answer -x $TEST_IP @$DNS_SERVER
    
  4. If applicable, import your rDNS zone files from your previous DNS server on the Network > rDNS PTRs page of SynergyCP.

  5. Configure the DNS Server’s IP as the nameserver for your IP range announcements.