gDNS syncing troubleshooting steps and simple resolution.
• Connectivity checking
1. Check some port connectivity from the transfer server (Plesk, cPanel, DirectAdmin) to the controller/failover by using the telnet command, the ports are: 80, 443, 61613
2. Port connectivity from the controller to failover and vice versa, ports: 80, 443
3. Port connectivity from controller/failover to the edge, port: 80
• DNS resolution of a domain
Before going to troubleshooting the DNS resolution issue make sure that the domain's zone file in the transfer server is in the correct format and resolve the sub/domain from the transfer server itself.
- There are some commands to run in the controller to check the domain resolution issue.
Consider we have facing an issue with a sample domain: example.com
Transfer server IP: 192.168.1.1
Controller IP: 192.168.1.100
Failover IP: 192.168.1.200
Edge IP: 192.168.1.250
All checking has to be done from the controller's terminal.
# dig +short A example.com @192.168.1.1
# dig +short A example.com @192.168.1.100
# dig +short A example.com @192.168.1.200
# dig +short A example.com @192.168.250
If you couldn't get the result 192.168.1.1 from any of the above commands the sync is not completed to the particular server wait for some time and re-check again.
If supposed to check a specific subdomain you can replace the example.com with that sub-domain and check the response.
eg. checking api subdomain:
# dig +short A api.example.com @192.168.1.1
If you are updating a new TXT record on the zone file you need to change the record type A to TXT to check the response.
You should have basic knowledge regarding zone files and entry types to check all those updates.
2. Checking synced zone file data, and make a comparison from transfer server data
In order to check synced zone file on the controller you need to do some commands on the controller's terminal
# cat /var/named/example.com.unsigned
It will display the whole zone file and check the update you made is there, if not wait to sync the data.
If you get the file not found error, it should be the domain is doing a fresh syncing and waiting for the file to be created.
This can be checked for all the servers in the cluster for manual verification, it can be done in the controller, failover, and edges for manual verification.
3. Database checking
The database has 2 tables to check the recently synced data of a domain.
One is gdns_received_zones this is actually the primary table to lookup recently synced domain's zone file data.
The other one is gdns_force_push_zones, this table contains the data of a domain that will not be found in the received zone page as well the table.
This table is used to remove multiple associations of a domain in the cluster.
You need to change the domain name from example.com to the correct one that you have facing issues. (example.com => yourdomain.com)
Checking the domain status in received zones:
# mysql -D gdns_cluster_controller -e "select count(*) from gdns_received_zones where domain_name='example.com' and is_deleted=0;"
If the count is 1 then it is okay, otherwise the domain needs to be re-sync from the transfer server.
After a re-sync/manual push the domain from the transfer server waits for a couple of minutes max 15min, then run the above query and checks the count.
If still, the count is still 0, then you need to reach us with SSH logins of the controller and the transfer server so that we can check the issue.
If the count is 1 then you need to verify some data to confirm there is no issue with the received/processed data.
# mysql -D gdns_cluster_controller -e "select server as 'Transfer Server', public_ip as 'Transfer Server IP', domain_name as 'Domain Name', dnsdata as 'Zone File' from gdns_received_zones where domain_name='example.com' and is_deleted=0 \G;"
Check the data is correct and compare the zone with the transfer server, if not correct try a re-sync of the domain from the transfer server.
If the Transfer server is different you might need to check the received zones page and change the zone association from the force push data to received zones.
If you get any domain duplicate from another transfer server it will be showing in received zones by a warning symbol and need to change the association to the correct transfer server.
Click on the Bulk Forced Push button under transfer server expansion mode, and choose the right transfer server to update the association.
Wait for some time and re-check the above query result.
After doing this troubleshooting and waiting for some time, 15-30 min the issue is still facing please reach out to us.