解决 Ubuntu 系统中 “Temporary Failure in Name Resolution“ 错误

介绍

在 Ubuntu 系统中,你可能会遇到一个名为 "Temporary Failure in Name Resolution" 的错误。这通常在系统尝试进行网络连接时发生,表明系统无法解析域名,即 DNS 查询失败。这个问题可能会导致无法访问互联网或无法连接到网络服务。

错误描述

当出现 "Temporary Failure in Name Resolution" 错误时,系统通常会显示以下消息:

bash 复制代码
Temporary failure in name resolution

这意味着系统在尝试解析域名(如 example.com)时遇到了临时性问题

可能的原因

此错误可能由以下几个原因引起:

  • DNS 服务器配置错误: /etc/resolv.conf 文件中的 DNS 服务器地址可能不正确或无法访问。
  • 网络连接问题:虚拟机可能没有正确连接到网络。
  • 防火墙或网络策略:某些防火墙设置或网络策略可能阻止了 DNS 请求。
  • 网络服务未启动:网络管理服务可能未启动或未正确配置。

解决方法

检查 DNS 服务器配置

打开终端,使用以下命令检查 /etc/resolv.conf 文件中的 DNS 服务器配置:

bash 复制代码
sudo vim /etc/resolv.conf

确保该文件包含有效的 DNS 服务器地址,例如:

bash 复制代码
nameserver 8.8.8.8
nameserver 1.1.1.1

检查网络连接

确保虚拟机已连接到网络。尝试使用 ping 命令测试网络连接:

bash 复制代码
ping 8.8.8.8

如果可以成功 ping 通外部 IP 地址,但无法解析域名,说明问题可能在于 DNS 配置。

重启网络服务

有时重启网络服务可以解决问题:

bash 复制代码
sudo systemctl restart NetworkManager

检查防火墙设置

如果你使用防火墙或网络策略,确保它们没有阻止 DNS 请求。你可以暂时禁用防火墙以测试是否是防火墙引起的问题:

bash 复制代码
sudo ufw disable

如果禁用防火墙后问题解决,请检查防火墙规则,确保允许 DNS 请求。

重启系统 /etc/resolv.conf 被还原问题

使用 systemd-resolved 管理 DNS 配置

Ubuntu 18.04 及以后的版本默认使用 systemd-resolved 来管理 DNS 配置。要确保 DNS 配置持久性,请按照以下步骤操作:

确认 systemd-resolved 服务正在运行:

bash 复制代码
systemctl status systemd-resolved

配置 systemd-resolved

编辑 /etc/systemd/resolved.conf 文件:

bash 复制代码
sudo nano /etc/systemd/resolved.conf

在 [Resolve] 部分添加 DNS 服务器地址,如下所示:

bash 复制代码
[Resolve]
DNS=8.8.8.8 1.1.1.1

保存文件并重启 systemd-resolved 服务:

bash 复制代码
sudo systemctl restart systemd-resolved

创建一个符号链接 /etc/resolv.conf 指向 systemd 生成的文件(非必要):

bash 复制代码
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
相关推荐
橙露8 小时前
Nginx Location配置全解析:从基础到实战避坑
java·linux·服务器
starvapour14 小时前
Ubuntu的桌面级程序开机自启动
linux·ubuntu
哇哈哈&14 小时前
gcc9.2的离线安装,支持gcc++19及以上版本
linux·运维·服务器
老前端的功夫14 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
一条咸鱼¥¥¥14 小时前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
【上下求索】14 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
___波子 Pro Max.16 小时前
Linux快速查看文件末尾字节方法
linux
Caster_Z16 小时前
WinServer安装VM虚拟机运行Linux-(失败,云服务器不支持虚拟化)
linux·运维·服务器
小小测试开发17 小时前
提升WebUI自动化效率与性能:从脚本到架构的全链路优化指南
运维·架构·自动化
少废话h17 小时前
Redis主从与集群搭建全指南
大数据·linux·redis·mysql