Hello everyone,
I’m trying to configure a Master → Slave DNS cluster between two servers, both running:
-
HestiaCP (latest version)
-
Bind9
-
Both servers act as Web + DNS servers
I converted the cluster to Master → Slave (hestia-zone) mode following the official instructions.
What I Did
Changed cluster system on both servers
Edited:
/usr/local/hestia/conf/hestia.conf
Changed:
DNS_CLUSTER_SYSTEM='hestia'
To:
DNS_CLUSTER_SYSTEM='hestia-zone'
Bind Configuration
On Master:
Edited /etc/bind/named.conf.options:
allow-transfer { SLAVE_IP; };
also-notify { SLAVE_IP; };
Restarted bind:
systemctl restart bind9
On Slave:
Edited /etc/bind/named.conf.options:
allow-recursion { 127.0.0.1; ::1; MASTER_IP; };
allow-notify { MASTER_IP; };
Restarted bind:
systemctl restart bind9
API + Cluster Setup
-
Whitelisted Master IP in Slave API settings
-
Whitelisted Slave IP in Master API settings
-
Created user
dns-user1on Master (role: dns-cluster) -
Created user
dns-user2on Slave (role: dns-cluster) -
Generated API access & secret keys
-
Added remote DNS hosts:
On Master:
v-add-remote-dns-host SLAVE_HOST PORT 'ACCESS:SECRET' '' 'api' 'dns-user2'
On Slave:
v-add-remote-dns-host MASTER_HOST PORT 'ACCESS:SECRET' '' 'api' 'dns-user1'
-
Created child NS template on Master under a regular user (not admin)
-
Registered ns1 and ns2 at registrar
The Problem
When I run:
v-sync-dns-cluster
The DNS zones appear briefly on the Slave server…
Then they are deleted immediately.
It looks like:
-
Zone gets created
-
Sync runs
-
Zone disappears from Slave
No errors are shown.
Additional Issue
When trying to delete the remote DNS host running this command v-delete-remote-dns-host hostname.domain.com , I get this error:
grep: /usr/local/hestia/data/users/admin/../../conf/dns-cluster.conf: No such file or directory
Error: dns-cluster host doesn't exist
Important Hint
If I set:
DNS_CLUSTER_SYSTEM='hestia'
Instead of:
DNS_CLUSTER_SYSTEM='hestia-zone'
Then the DNS records are not deleted from the other server and the cluster behaves normally when it’s in Master ↔ Master mode!
The issue only happens when switching to:
DNS_CLUSTER_SYSTEM='hestia-zone'
What Could Be Missing?
-
Is there something specific required when both servers are Web + DNS?
-
Should zones only exist on Master and never be manually created on Slave?
-
Could this be related to user ownership mismatch?
-
Is there something else required in Bind config when using
hestia-zone?
I would really appreciate guidance from anyone who has successfully configured Master → Slave in hestia-zone mode.