Secure share DNS server

Hello,
I studied the wiki and I’m not sure if such an option exists or how it would be the most secure to implement. Let me explain what I need:

I have 2 VPS acting as nameservers (with HestiaCP and a minimal DNS installation), and I also have clients who have their own VPS servers on my dedicated server. I would like to install HestiaCP on the customers’ VPS servers and allow them to edit their own DNS records (for their own zones), which would then sync to the Master DNS → which would then push it to the Slave DNS.

However, I want to prevent the following issue:
User X points their own domain to my DNS servers, but a malicious user Y could then attempt to add the same domain of user X to their own VPS. At that moment, the Master would have two zones for the same domain. Is there a way to prevent this?

Additionally, is it feasible for users to have shared DNS, and ideally, could this be handled automatically? Do I have to create an account for them on the Master server, or can I handle this via an API?

Thank you for your valuable advice.
Matt

You need to create for each “client” a separate user…

On the master server.

This will prevent the 2 users to add the same domein on the server

1 Like

Okay, thanks for the info :slight_smile: . This is theoretically implemented via API, right?

By the way, will the User VPS be Master? Or Slave?

Master → Master → Slave

(Slave next NS server)

Hi,
I’m trying to understand how to do it. I have a ready configuration on the Master server and an assigned user, but I would like him to be able to also have HestiaCP installed on his VPS and when changing the DNS on his server, the change would be pushed to my Master server. But at the same time, I would like to avoid sending foreign zones to his server.

Then your clients server is master for its zones.

I understand that. However, I’m more concerned with the configuration, because I would like to have the Master DNS as the main one and then the Slave as the next one.

So the customer’s will be the master and so I have to manually or via a script set up the zone for his domain separately?

You have to options

Sync DNS records for “client” server to ns1 and ns2

Or sync from NS1 to NS2 but it will add extra delay you probally don’t want

So should I do it via API? and at the same time I always have to add their zone to the master server. Agree?

Always sync via api its safer.

My name servers are actually run as slaves. Master are the originating servers but if both name servers are individual from your main server then the name servers are technically slaves.