How to troubleshoot DNS resolution problems on a Linux server?
Jun 25, 2025 am 12:26 AMWhen encountering DNS resolution problems, first check whether the /etc/resolv.conf file configuration is correct, use nslookup or dig to test DNS queries, troubleshoot whether the local DNS cache service is abnormal, and confirm whether the firewall and network connections limit DNS. Check whether the /etc/resolv.conf file has the correct nameserver configuration, manually modify or use resolvectl settings if necessary; use nslookup or dig to determine whether the request is issued or the server responds, and specify DNS testing; check the status of cache services such as systemd-resolved or nscd, and restart or clear the cache if necessary; finally check whether the firewall rules block UDP 53 port traffic to ensure network connectivity.
If you encounter DNS resolution problems, don't rush to restart the server. If there is a problem with DNS on Linux servers, it can usually be quickly located through several common troubleshooting directions. Check the following places and most of the situations can be solved.
Check the contents of /etc/resolv.conf
file
This file determines which DNS servers the system uses for parsing. Open it and see if there are any lines like this:
nameserver 8.8.8.8 nameserver 1.1.1.1
If no nameserver is configured, or the wrong IP is written, of course, the domain name cannot be resolved.
- You can manually modify this file to add a reliable DNS address (such as Google's
8.8.8.8
or Cloudflare's1.1.1.1
) - Note: Some systems are managed by
systemd-resolved
, and direct modifications may be overwritten. It is more secure to use theresolvectl
command to set it
If there are search
or domain
lines in the file, it may also affect the parsing behavior, especially when the internal domain names are not paired.
Test DNS query using nslookup
or dig
Use these two tools to quickly determine whether it is a DNS request problem.
For example, perform:
nslookup example.com
or:
dig example.com
Observe the output result:
- If you prompt
connection timed out
orno servers could be reached
, it means that the DNS request cannot be sent at all, which may be because the firewall or network is not connected - If
SERVFAIL
orNXDOMAIN
is returned, it means that the request has been reached on the DNS server, but the server fails to respond normally. It may be that the configuration is wrong, the domain name does not exist, or the upstream service is hanged
You can also try changing to a DNS, for example:
nslookup example.com 8.8.8.8
This allows you to directly specify the use of a DNS server query to bypass local configuration.
Check local DNS cache services (such as nscd
or systemd-resolved
)
Some Linux systems enable local caching services to speed up DNS resolution, such as systemd-resolved
or nscd
. These services sometimes cache error results, causing you to change your DNS configuration to take effect.
You can try restarting the related services:
sudo systemctl restart systemd-resolved
Or check the current status:
systemctl status systemd-resolved
You can also use the command resolvectl
to view the currently used DNS settings and cache status (if systemd-resolved
is used):
resolvectl status
If you suspect it is a cache problem, try clearing the cache:
sudo systemd-resolve --flush-caches
Confirm whether the firewall and network connections are restricted by DNS
DNS defaults to port 53 of UDP. If your server has a firewall (such as iptables
or ufw
), it may accidentally block the DNS request.
Check if there are entries in the firewall rule that allow DNS traffic:
iptables -L -n | grep 53
Or temporarily turn off the firewall and test it:
sudo ufw disable # or sudo systemctl stop firewalld
In addition, if it is a cloud server, you must also check whether the security group has released outbound port 53 traffic.
Basically these check points. DNS seems simple, but involves multiple levels such as network, services, and caching. Many small details are easy to ignore. Follow the above steps to check it step by step, and you can usually find the reason.
The above is the detailed content of How to troubleshoot DNS resolution problems on a Linux server?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Title: PHP script implementation of cross-server file transfer 1. Introduction In cross-server file transfer, we usually need to transfer files from one server to another. This article will introduce how to use PHP scripts to implement cross-server file transfer on Linux servers, and give specific code examples. 2. Preparation Before starting to write PHP scripts, we need to ensure that the following environment has been configured on the server: Install PHP: Install PHP on the Linux server and ensure that the PHP version meets the code requirements.

How to deploy a trustworthy web interface on a Linux server? Introduction: In today's era of information explosion, Web applications have become one of the main ways for people to obtain information and communicate. In order to ensure user privacy and information reliability, we need to deploy a trustworthy Web interface on the Linux server. This article will introduce how to deploy a web interface in a Linux environment and provide relevant code examples. 1. Install and configure the Linux server. First, we need to prepare a Li

With the development of Internet technology, more and more enterprises and individuals choose to use Linux servers to host and manage their applications and websites. However, as the number of servers increases, server failures and security issues become an urgent task. This article will explore the causes of Linux server failures and how to manage and protect the system healthily. First, let's take a look at some common reasons that can cause Linux servers to malfunction. Firstly, hardware failure is one of the most common reasons. For example, the server is overheating,

Linux Server Security: Using Commands to Check System Vulnerabilities Overview: In today’s digital environment, server security is crucial. Timely detection and repair of known vulnerabilities can effectively protect servers from potential attack threats. This article will introduce some commonly used commands that can be used to check system vulnerabilities on Linux servers and provide relevant code examples. By using these commands correctly, you will be able to enhance the security of your server. Check for system updates: Before you start checking for vulnerabilities, make sure your system has

How to optimize the performance and resource utilization of Linux servers requires specific code examples. Summary: Optimizing Linux server performance and resource utilization is the key to ensuring stable and efficient server operation. This article will introduce some methods to optimize Linux server performance and resource utilization, and provide specific code examples. Introduction: With the rapid development of the Internet, a large number of applications and services are deployed on Linux servers. In order to ensure the efficient and stable operation of the server, we need to optimize the performance and resource utilization of the server to achieve

Protect your Linux server from port scans and attacks In the current Internet environment, security is crucial to the operation and maintenance of Linux servers. Servers are often targeted by hackers, and port scanning and attacks are one of the most common means of intrusion. Therefore, protecting servers from port scans and attacks is very important. This article will introduce you to some simple but effective methods to help you protect the security of your Linux server. Regularly update systems and applications: Regularly update operating systems and applications on servers

Linux Server Security Hardening: Configure and Optimize Your System Introduction: In today's environment of increasing information security threats, protecting your Linux server from malicious attacks and unauthorized access has become critical. To harden your system security, you need to take a series of security measures to protect your server and the sensitive data stored on it. This article will cover some key configuration and optimization steps to improve the security of your Linux server. 1. Update and manage software packages. Installing the latest software packages and updates is essential for maintaining the system.

Linux Server Defense: Protect Web Interfaces from Malicious File Upload Attacks In recent years, with the popularity and development of the Internet, the use of Web applications has become more and more widespread. However, along with it comes various security threats, one of which is malicious file upload attacks. Malicious file upload attacks refer to attackers uploading files containing malicious code to the server to gain server permissions or spread malicious content. In order to protect the web interface from malicious file upload attacks, we can take some effective defensive measures. will be introduced below
