Linux system domain name resolution failed ("Temporary failure in name resolution") solution
Linux users may encounter a "temporary name resolution failed" error when accessing a website or executing network commands. This error indicates that the system cannot convert the domain name to its corresponding IP address. There are many reasons for this error, including network connection problems, error configuration of resolv.conf file, and firewall restrictions. This article will explore common causes of this error and provide corresponding solutions.
Common Causes and Solutions
1. Slow or interrupted network connection
Always check your internet connection before doing other troubleshooting. Slow or disconnected internet connection can be the root cause of the "temporary name resolution failed" error.
Solution:
Confirm that your system has a stable and effective internet connection. If your internet connection is slow or disconnected, resolve the connection issue first.
2. Resolv.conf file configuration error
The resolv.conf file is responsible for configuring the DNS server on the Linux system. If this file is not configured correctly, the system may not be able to resolve the domain name.
Solution:
Open the resolv.conf file using a text editor (such as nano):
sudo nano /etc/resolv.conf
Make sure that at least one nameserver is defined in the resolve.conf file. A valid nameserver entry should look like this:
<code>nameserver 8.8.8.8</code>
If the nameserver is not defined in the file, add one. The two commonly used nameservers that Google has are 8.8.8.8 and 8.8.4.4. After the changes are completed, save the file and restart the DNS resolver service:
sudo systemctl restart systemd-resolved.service
Verify that the DNS server is working properly by pinging a website:
ping example.com
If a connection is established with the website, the DNS server works fine.
3. Resolv.conf file permission configuration error
If the resolv.conf file contains a valid DNS server, but the error persists, it may be due to incorrect file permissions.
Solution:
Change the owner of the resolve.conf file to the root user:
sudo chown root:root /etc/resolv.conf
Modify file permissions to allow all users on the system to read the file:
sudo chmod 644 /etc/resolv.conf
Try pinging a website again to check if the issue is resolved.
4. Firewall restrictions
Firewall restrictions may block access to necessary ports, resulting in errors. Ports 43 (for whois lookup) and 53 (for domain name resolution) are crucial for DNS queries.
Solution:
Use the following command to open the necessary ports in Uncomplicated Firewall (UFW):
sudo ufw allows 43/tcp sudo ufw allows 53/tcp
Note: If UFW is not enabled by default, use sudo ufw enable
to enable it.
After the port is allowed, reload the UFW firewall to apply the changes:
sudo ufw reload
Summarize
The "temporary name resolution failed" error can be caused by a variety of factors, including Internet connection issues, resolv.conf file configuration errors, and firewall restrictions. By resolving these common causes, you can resolve this error and successfully access the website and execute network commands on your Linux system.
The above is the detailed content of Troubleshooting the 'Temporary Failure in Name Resolution' Error in Linux. For more information, please follow other related articles on the PHP Chinese website!