We have 4 DNS server running on Ubuntu (3 - ns1, ns2, ns3) and Debian (1 - ns4). Ns4 has been the Default DNS Server listed in System | System Config. Currently, all Zones use ns4 for the Server and NS in DNS-Zones. Before I did anything, I ran a resync of DNS zones to make sure there were no errors going into this. Because I wanted to take ns4 out of service, I set Is mirror of Server: in System| Server Services | Server to none on ns1 so that I would be able to select ns1 for each of the zones. Well, that sounded good in theory, but certainly didn't work as planned. After making the changes, and setting only one zone to point to ns1, when I open the zone in ISPConfig, I receive the following error: CONFIGURATION ERROR 2019-01-17 05:52 : zone domain.org/IN: has 0 SOA records zone domain.org/IN: has no NS records zone domain.org/IN: not loaded due to errors. The DNS Server is still pointing to ns4 (never changed to ns1). The thing is, this is entirely random. Some zones do not throw the error, while others do. A few other observations: 1. Even though ns1 has been set to Is mirror of Server: none, it is not available for selection to use it as the master 2. With ns1 and ns4 both set to none for mirroring, all synchs complete, referencing ns4 in the synch process, even though ns1 is set to the default ns server. Why can't I change the default server from ns4 to ns1, then specify ns1 for all zones? I need to get ns4 rebuilt soon and would appreciate any help. Thank you, Rob
I checked the SAO records for domain.org and they were different serial numbers, so I've set ns1 to be a mirror of ns4 again. The serial numbers match but the error about SOA nd NS records is still popping up.
Update: I've been able to get back to where I was originally with ns4 as the default and ns1, ns2, and ns3 set as mirrors of ns4. Synchs are working. Leaves me with the question of how to replace ns4 with ns1 as the default and set ns2 and ns3 as mirrors so I can take ns4 out of service. I've attempted about every configuration I can think of but as soon as ns4 is removes as the default, everything goes wrong. Any help?
When ns4 is your primary dns, then all DNS records on your servers are bound to that server. basically, you will have to change all records in the database to be on ns1 instead on ns4.
Thank you for the reply, Till. If i change the default DNS server in the console from ns4 to ns1, all the servers in the DNS zones indicate ns1. Does that not get propagated to the database? Which table within dbispconfig has the entry? I have not been able to find it. I've only been able to find default_dnsserver in the client table, but it references 1, but I'm sure that's not the field I should be looking for.
There is a server_id field in the dns_soa table and in the dns_rr table. Backup the database on the master, then change the values in the database directly, e.g. with phpmyadmin. I would use something like: update dns_soa set server_is = 1 WHERE server_id = 4; update dns_rr set server_is = 1 WHERE server_id = 4; this assumes that ns4 has server_id 4 and ns1 has server_id 1, adjust it if the ID's differ on your server. Then change under system > server services in ispconfig that ns1 is not a mirror of any server and ns2 and ns3 must be mirror of ns1. I haven't tested that, but that's what I guess is the right way to achieve that ns1 becomes master.
Thank you. Prior to reading this response, the option to sync DNS was missing. I made changes to the dns_soa table but not the dns_rr before I saw your message. After I ran your SQL commands, the sync was available but running it showed all the DNS zones with (0) records. I found that ns4 was still referenced as the mirror server in the server table. As soon as I changed that to reference ns1, everything resynched and the SOA serial numbers all matched using dig. I appreciate your help.