DNS issues can seriously impact website accessibility and email functionality. As a cPanel or Plesk user without root access, you'll likely encounter several common DNS problems.

This guide aims to provide detailed troubleshooting steps for the most frequent DNS challenges, from propagation delays to misconfigurations, while respecting the limitations of shared hosting environments.

Top DNS Fixes for Plesk & cPanel Users

 

Pre-Requirements Before Troubleshooting

  1. Basic DNS Knowledge: Understand A, CNAME, MX, TXT, and NS record types and their functions
  2. Access to cPanel or Plesk: Ensure you have login credentials
  3. Domain Registrar Access: Have access to where your domain is registered
  4. Patience: Remember that DNS changes take time to propagate
  5. Backup: Always note existing DNS settings before making changes

Troubleshooting Tools for Non-Root Users

Terminal Commands Available in Shared Hosting

Even without root access, these basic DNS tools are typically available:


        # Basic host command for DNS lookups
        $ host example.com
        
        # Checking specific record types with host
        $ host -t A example.com
        $ host -t MX example.com
        $ host -t NS example.com
        $ host -t TXT example.com
        
        # Using nslookup for DNS queries
        $ nslookup example.com
        $ nslookup -type=any example.com
        
        # Check against Google's DNS servers
        $ host example.com 8.8.8.8
        $ nslookup example.com 8.8.8.8
        
        # Check DNS propagation
        $ dig +short example.com
        $ dig +short example.com @8.8.8.8
    

Browser-Based DNS Troubleshooting Tools

When command-line access is limited, these browser-based tools can help:

  • MxToolbox: Comprehensive DNS diagnostics at mxtoolbox.com
  • DNSChecker: Check DNS propagation globally at dnschecker.org
  • WhatsMyDNS: Visual DNS propagation checker at whatsmydns.net
  • DNS Propagation Checker: Track DNS changes at dnspropagation.net

1. Domain Not Resolving After DNS Changes

Scenario: You've updated DNS records for your domain, but visitors can't access your website and still sees the old version.

Cause: DNS propagation delay is the most common reason. DNS changes can take 24-72 hours to propagate globally, though most updates happen within a few hours.

Remedy:


        # Check current DNS propagation
        $ dig +short example.com
        $ dig +short example.com @8.8.8.8
    

In cPanel:

  1. Navigate to Zone Editor
  2. Select your domain
  3. Verify your A record points to the correct IP address
  4. Check TTL (Time To Live) values - lower values (300/1800-3600) speed up propagation

In Plesk:

  1. Go to Domains > example_domain.com > Hosting & DNS</strong > DNSs
  2. Visually inspect or select the DNS record you wish to edit and click on it
  3. Verify your A record has the correct IP address. If different from the expected value, make the change, then press OK and the Update button in order to publish the changes that have been made to all DNS records for this domain.
  4. Check the TTL value

2. DNS Zone Not Creating or Updating

Scenario: You've made changes to your DNS records via cPanel/Plesk, but they don't appear to be saving or taking effect.

Cause: This could be due to invalid record formats, permission issues, or DNS service errors in Plesk/cPanel.

Remedy:

In cPanel:

  1. Go to Zone Editor
  2. Select your domain
  3. Check for any error messages
  4. If needed, click on Reset Zone to revert to defaults
  5. Recreate your custom records

In Plesk:

  1. Navigate to Domains > example_domain.com > Hosting & DNS</strong > DNSs
  2. Visually inspect or select the DNS record you wish to edit, and click on it
  3. If you see errors that you can't manage, click on Reset to Default
  4. For persistent issues, capture the error message and contact the WebHostingM technical support team. Or your hosting provider's.

3. Missing or Incorrect Nameserver Configuration

Scenario: Your domain shows as "not resolving" in cPanel or Plesk, or DNS tools report nameserver issues.

Cause: Nameservers at your domain registrar don't match the ones configured in your hosting panel, or nameserver glue records are missing.

Remedy:


        # Check current nameservers
        $ whois example_domain.com | grep "Name Server"
        $ host -t NS example_domain.com
    

In cPanel (available only to resellers and root with WHM access):

  1. Go to DNS Zone Manager to see your nameservers
  2. Verify these match what's at the domain registrar
  3. If using custom nameservers (ns1.example_domain.com), ensure glue records are set up at your registrar

In Plesk:

  1. Go to DNS Settings > Settings to check the nameserver settings
  2. Verify these match the nameservers at your domain registrar
  3. For custom nameservers, ensure proper glue records exist or the Autoselect function.

4. Missing Address Records for Nameservers

Scenario: DNS service won't start, or you see errors like "NS has no address records (A or AAAA)" in logs, or your site fails to resolve after setting custom nameservers such as ns1.example_domain.com.

Cause: Your domain’s nameservers (e.g., ns1.example_domain.com, ns2.example_domain.com) are listed in the NS records but lack corresponding A records pointing to valid IP addresses. This breaks DNS lookups because resolvers cannot find where to ask for DNS data.

Remedy:

For cPanel Users

Preconditions: You cannot manage custom nameservers via cPanel’s Zone Editor as this feature is available only to customers with WHM "root" or "reseller" access. If you are using shared hosting and need this, please contact WebHostingM support team for a fast upgrade. For cPanel "root" admins, ensure that you have enable this feature that allows resellers to manage nameserver records using the Edit Reseller Nameservers and Privileges > Nameserver Configuration.

Learn how to configure custom nameservers with cPanel Reseller privileges

For Plesk Users (User-Level Access)

Steps:

  1. Log in to your Plesk panel.
  2. Go to Websites & Domains > select the domain > DNS Settings.
  3. Click Add Record.
  4. Set record type to A.
  5. Add the two nameserver A records:
    • ns1.example_domain.com → your server IP
    • ns2.example_domain.com → your secondary IP
  6. Click Update then Apply Changes.

Remedy via CLI (for Plesk Servers with "root" SSH Access)

Add A Records for Nameservers

        $ plesk bin dns --add example_domain.com -a ns1.example_domain.com -ip 192.0.2.1
        $ plesk bin dns --add example_domain.com -a ns2.example_domain.com -ip 192.0.2.2
    

Then apply changes:


      $ plesk bin dns --update example_domain.com
    

5. Subdomain Resolution Problems

Scenario: Newly created subdomains aren't accessible, or visitors receive "server not found" errors.

Cause: Missing or incorrect DNS records for the subdomain, typically A or CNAME records.

Remedy:


        # Check subdomain record
        $ host subdomain.example_domain.com
        $ dig +short subdomain.example_domain.com
    

In cPanel:

  1. Go to Zone Editor
  2. Verify a CNAME or A record exists for your subdomain
  3. For CNAME, ensure the target domain resolves properly
  4. For A records, confirm the IP is correct

In Plesk:

  1. Navigate to Domains > example_domain.com > DNS Settings
  2. Check for A or CNAME records for your subdomain
  3. Add or edit records as needed
  4. Remember to include only the subdomain part in the "Record" field (e.g., "blog" not "blog.example_domain.com")

6. Email Delivery Problems Due to DNS

Scenario: Your emails aren't being delivered, or you're receiving bounce-backs indicating DNS issues.

Cause: Missing or incorrect MX, SPF, DKIM, or DMARC records causing email delivery problems.

Remedy:


        # Check MX records
        $ host -t MX example_domain.com
        $ dig +short MX example_domain.com
        
        # Check SPF record
        $ host -t TXT example_domain.com
        $ dig +short TXT example_domain.com | grep spf
    

In cPanel:

  1. Navigate to Email > MX Entry to verify MX records
  2. Go to Zone Editor to check/add SPF, DKIM, and DMARC records
  3. Standard SPF record example: v=spf1 a mx ip4:server.ip ~all

In Plesk:

  1. Go to Domains > example_domain.com > DNS Settings
  2. Verify MX records are correct
  3. Check for a TXT record with SPF information
  4. Add DKIM records from Mail > Mail Settings > DKIM

7. Reverse DNS Mismatch

Scenario: Your emails are being marked as spam, or you get warnings about reverse DNS not matching your sending domain.

Cause: The reverse DNS (PTR record) for your server IP doesn't match your hostname, causing email deliverability issues.

Remedy:


        # Check reverse DNS
        $ host server.ip
        $ dig +short -x server.ip
    

Without root access, you'll need to:

  1. Contact WebHostingM technical support team to update the reverse DNS/PTR record
  2. Request to set the PTR record to your primary domain name
  3. Verify the change has been made using the command above

For email settings in Plesk/cPanel, ensure your outgoing mail server's hostname matches the reverse DNS value.

8. DNS Zone Transfer Failures

Scenario: If you're using secondary nameservers, DNS zone transfers may fail, causing inconsistent DNS resolution.

Cause: Misconfigured zone transfer settings, network connectivity issues, or authentication problems between primary and secondary nameservers.

Remedy:

In cPanel:

  1. Without root access, contact WebHostingM technical support team. Or your hosting provider.
  2. Request they check the zone transfer settings in the server's BIND configuration
  3. Ensure the secondary nameserver IPs are properly authorized

In Plesk:

  1. If you have the Slave DNS Manager extension, go to Extensions > Slave DNS Manager
  2. Verify your slave servers are correctly configured
  3. Click Resync to attempt manual synchronization
  4. For persistent issues, contact WebHostingM technical support team. Or your hosting provider.

9. DNSSEC Configuration Issues

Scenario: After enabling DNSSEC, your domain becomes unreachable or DNS validation fails.

Cause: Incorrectly configured DNSSEC records, missing DS records at the registrar, or synchronization issues between DNS providers.

Remedy:

In cPanel:

  1. Navigate to Security > DNSSEC
  2. Check if DNSSEC is properly enabled
  3. Verify the DS records have been added to your domain registrar
  4. If issues persist, disable DNSSEC temporarily and contact support

In Plesk:

  1. Go to Domains > example_domain.com > DNS Settings
  2. Check if DNSSEC is enabled and properly configured
  3. Look for any DS records at the domain level (you'll need to add these at your registrar, not in Plesk)
  4. Remove any DS records that point to itself (only parent zone DS records should exist)

10. Root Hints or Named.Root File Issues

Scenario: DNS service fails to start, or certain domains fail to resolve with errors mentioning "root hints" or "named.root" in server logs.

Cause: Outdated or corrupted root hints file containing information about internet root DNS servers.

Remedy:

Without root access, your options are limited:

  1. Contact WebHostingM technical support team. Or your hosting provider's support
  2. Ask our team or them to check the named.root file and update if needed
  3. Request verification that root hints point to functioning root servers
  4. For Plesk, mention errors like "checkhints: b.root-servers.net/A missing from hints" if seen in logs

Creating a Basic DNS Check Script

Even with limited permissions, you can create this script to help troubleshoot DNS issues:

basic_dns_check.sh

    #!/bin/bash
    # Basic DNS check script for shared hosting
    
    DOMAIN=$1
    echo "Running basic DNS check for $DOMAIN"
    echo "----------------------------------------"
    
    # Check A records 
    echo "Checking A records:"
    host -t A $DOMAIN
    
    # Check MX records
    echo "Checking MX records:"
    host -t MX $DOMAIN
    
    # Check NS records
    echo "Checking NS records:"
    host -t NS $DOMAIN
    
    # Check TXT records
    echo "Checking TXT records:"
    host -t TXT $DOMAIN
    
    # Compare with publicly available nameservers
    echo "Checking records against Google DNS (8.8.8.8):"
    nslookup -type=a $DOMAIN 8.8.8.8
    
    echo "----------------------------------------"
    echo "Basic DNS check complete"
    

        $ chmod +x basic_dns_check.sh
        $ ./basic_dns_check.sh example_domain.com
    

Logical Troubleshooting Sequence

  1. Verify Nameserver Configuration: Check that nameservers at your registrar match those in your hosting panel
  2. Check Basic DNS Records: Confirm A records for your domain point to the correct IP
  3. Validate NS Records: Ensure nameservers have corresponding A records
  4. Test Domain Resolution: Use tools like dig or nslookup to check record propagation
  5. Look for Specific Error Messages: Review logs or error notifications in your control panel
  6. Test Simple Changes: Make a small DNS change to see if the system is functioning
  7. Contact Support: For issues requiring root access, reach out to WebHostingM technical support team. Or your hosting provider.

Working with Hosting Support

When your troubleshooting options are limited by shared hosting constraints:

  1. Collect Information: Gather all available diagnostics using the methods above
  2. Document Issues: Create clear documentation showing inconsistencies
  3. Provide Evidence: Include screenshots from online DNS tools
  4. Request Specific Actions: Ask support to run specific DNS checks

When contacting support, please provide this information:

  • Domain name
  • Expected DNS records
  • Observed DNS behavior
  • Changes made and when
  • Results from online DNS tools

Monitoring DNS Health

Set up ongoing monitoring using these approaches:

  • 360° Site Monitoring: a control panel integrated uptime & server monitoring we offer for free to customers to track performance and prevent downtime.
  • Better Stack.com:: a good uptime monitoring tool.
  • UptimeRobot.com: Free monitoring service that can check DNS
  • StatusCake.com: DNS monitoring with free tier available
  • Cron Jobs: Schedule regular execution of your basic_dns_check.sh script
Setting up a cron job for DNS monitoring

        # Add to crontab (if allowed on your shared hosting)
        # Run DNS check daily at 6 AM
        0 6 * * * /path/to/basic_dns_check.sh example_domain.com > /path/to/dns_log.txt
    

Common Gotchas to Avoid

  • Impatience with Propagation: Don't keep making changes before previous ones have propagated
  • Forgetting the Trailing Dot: In some DNS interfaces, failing to add the trailing dot in CNAME targets can cause issues
  • Overlooking TTL Values: Setting very high TTLs during testing will slow down your ability to make changes
  • Confusing Subdomain Syntax: When adding subdomain records, use only the subdomain part (e.g., "blog" not "blog.example.com")
  • Mixing DNS Providers: Using different providers for DNS and hosting without proper configuration can cause conflicts
  • Incorrect Record Types: Using A records when CNAME is needed (or vice versa) based on your requirements

 

While shared hosting environments may not offer advanced DNS tools (not really needed as "root" ought to take care of this for you, cPanel and Plesk users still have great viable options for DNS troubleshooting. By combining built-in platform tools, basic shell commands, and browser-based resources, you can effectively diagnose most DNS issues without requiring root access. For complex problems requiring system-level changes, follow the support guidelines to efficiently work with the WebHostingM technical support team. Or your hosting provider's.

WebHostingM provides custom-built cPanel & WHM virtual machines, VPS, and bare-metal solutions hosted on Google Cloud, AWS, or OCI, specifically designed for businesses, organizations, and enterprises.

Instead of spending valuable time configuring DNS settings, contact us for a free consultation at talktous@webhostingm.net.

Our team of experts will help you set up a perfectly configured hosting environment tailored to your specific needs.

Hjalp dette svar dig? 0 Kunder som kunne bruge dette svar (0 Stem)