Setting up rDNS #
Setting up rDNS takes three steps: prepare a DNS provider, point the package at it in Settings > DNS, and verify a test record resolves. If you are unsure which provider to use, we recommend Cloudflare — it is fully managed, so there is no DNS server to host, patch, or monitor. Choose PowerDNS v4 if you prefer to self-host your DNS.
IPv6 rDNS requires PowerDNS v4 or Cloudflare.
Install the rDNS package itself through the Synergy Package Manager as usual; the sections below cover the DNS provider side.
Cloudflare setup (recommended) #
Cloudflare acts as a managed DNS provider for rDNS PTR records: there is no server to host, and SynergyCP creates reverse DNS zones in your Cloudflare account automatically as they are needed.
Creating a Cloudflare API Token #
- Log in to your Cloudflare account and go to My Profile > API Tokens.
- Click Create Token, then Create Custom Token.
- Give the token a name (e.g., “SynergyCP rDNS”).
- Add the following permissions:
- Account > Account Settings > Read
- Zone > Zone > Edit
- Zone > DNS > Edit
- Under Account Resources, select the account that will hold the reverse DNS zones.
- Under Zone Resources, select All zones (zones are created automatically as PTRs are added).
- Click Continue to summary, then Create Token.
- Copy the token and save it — it will not be shown again.
Nameserver delegation #
When SynergyCP creates a new reverse DNS zone in Cloudflare, Cloudflare assigns nameservers for that zone. The assigned nameservers are shown in the SynergyCP log entry for the PTR creation (e.g., “Zone ‘0.168.192.in-addr.arpa’ created in Cloudflare. Assign these nameservers: …”), and in the Cloudflare dashboard under the zone’s settings.
You must configure these nameservers as the authoritative nameservers for your IP range with your RIR or upstream provider. As of this writing, Cloudflare gives you 30 days to delegate the zone, and reverse DNS lookups will not work until the delegation is set. Check the Cloudflare dashboard for zone statuses.
PowerDNS v4 setup #
New PowerDNS v4 installation #
If you already run PowerDNS, skip to Existing PowerDNS v4 server below.
This command must be run as root on a fresh OS with nothing else installed. It cannot be run on the server SynergyCP is running on due to port conflicts. Save the details shown at the end of the installation — you will enter them in Admin > System > Settings > DNS.
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 install command above — it does this for you.
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.
Make sure the server runs PowerDNS v4 with the MySQL backend, then enable API access: open your PowerDNS config (typically /etc/powerdns/pdns.conf) as root and add:
# 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 set up, save the api-key value for later, and restart PowerDNS as root:
service pdns restart
PowerDNS v3 setup #
PowerDNS v3 is deprecated upstream and does not support IPv6 rDNS in this package. Use it only for existing installations; we no longer provide instructions for new v3 servers.
Make sure the server runs PowerDNS v3.4 with the MySQL backend, then open /etc/powerdns/pdns.conf as root and add:
# 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 set up, save the experimental-api-key value, and restart PowerDNS as root:
service pdns restart
When entering the settings in SynergyCP, use the syntax your.hostname:8081 in the API Host field so SynergyCP knows the port PowerDNS is configured to use.
BIND setup (legacy) #
BIND is the legacy SynergyCP-managed option and does not support IPv6 rDNS. For new deployments, use PowerDNS v4 or Cloudflare instead.
This must be run as root on a fresh Debian server with nothing else installed. It cannot be run on the server SynergyCP is running on due to port conflicts. Save the details shown at the end of the installation, and select the SynergyCP API provider type when configuring the package.
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
Package settings #
All settings live in Admin > System > Settings > DNS:
| Setting | Meaning |
|---|---|
| API Type | The DNS provider: SynergyCP API (BIND), PowerDNS v3, PowerDNS v4, or Cloudflare. |
| API Host | Hostname or IP of the DNS server. For PowerDNS v3 include the port (host:8081). Not used by Cloudflare (the field is hidden). |
| API Key | The provider API key: PowerDNS api-key / experimental-api-key, the Cloudflare API token, or the key printed by the SynergyCP DNS installer. |
| Name Servers | Comma-separated list of your public-facing nameservers, master first (e.g. ns1.example.com, ns2.example.com). Used to build NS and SOA records; PowerDNS requires at least two. Not used by Cloudflare (the field is hidden). |
| IPv6 rDNS Limit | Maximum IPv6 PTR records a client can create per IP entity. Defaults to 20 when blank. Admins are never limited. Requires package 3.1.0+. |
Verify the setup #
-
Create a PTR record for one of your IPs — from a server’s Reverse DNS page or the Network > rDNS PTRs page.
-
Query your DNS server for it directly:
TEST_IP=203.0.113.10 DNS_SERVER=<your DNS server IP> dig +noall +answer -x $TEST_IP @$DNS_SERVERThe answer should be the hostname you set. If it is missing, see Troubleshooting.
-
If you are migrating from another DNS server, import your existing zone files.
-
Delegate your IP ranges to the DNS server: configure it (or the Cloudflare-assigned nameservers) as the authoritative nameserver for your ranges with your RIR or upstream provider. Until delegation is in place, the records resolve only when queried against your DNS server directly.