DNS Management / DNS server¶
How to setup a DNS Cluster¶
If you are looking for the options to minimize DNS-related downtime or the way to manage dns across all server you have, you might consider to set up dns cluster.
Note
Ensure that your master server's IP is whitelisted in Configure Server -> Security -> Allowed IP addresses for API, otherwise you will get an error when adding the slave server to the cluster.
- Create user dns-cluster on a server which will be used as dns slave
- Run following command on a master
v-add-remote-dns-host slave.yourhost.com 8083 admin p4sw0rd
Password and host name should be replaced with relevant data of course.
Alternatively you can run on the slave server the following command
v-generate-api-key
This will generate an API key. Replace the username "admin" with the generated key. This will keep the ability to change the admin password without issues in the future.
v-add-remote-dns-host slave.yourhost.com 8083 api_key
This way you can set up master->slave or master-master-master cluster. There is no limitation on how to chain dns servers.
With the new API system you can also replace api_key with access_key:secret_key
Can I separate DNS accounts by users¶
Yes you can just supply the user variable behind the command.
v-add-remote-dns-host slave.yourhost.com 8083 admin p4sw0rd '' useraccount
Or
v-add-remote-dns-host slave.yourhost.com 8083 api_key '' '' useraccount
With the new API system you can also replace api_key with access_key:secret_key
Please note that currently only the user dns-user is exempted from syncing to other servers. If you have a DNS cluster with multiple master slaves you might run in issues.
I am not able to add a server as DNS host¶
When trying to add a DNS server for a cluster I get the following error
/usr/local/hestia/func/remote.sh: line 43: return: Error:: numeric argument required
Error: api connection to slave.domain.com failed
By default API access to has been disabled for not local ip adresses. Please add you ip adress to the "Allowed ip adresses for API" in the settings