Ubuntu系统中报错“Temporary Failure in Name Resolution“解决办法

在 Ubuntu 系统使用过程中,Temporary Failure in Name Resolution是非常常见的网络故障,表现为域名解析失败、无法正常访问网络。该问题多由 DNS 配置错误、网络服务异常、防火墙拦截或虚拟机网络异常导致。本文详细梳理了完整排查思路与修复方案,帮助你快速定位并解决 DNS 解析故障,恢复网络正常使用。
错误描述
当出现 “Temporary Failure in Name Resolution” 错误时,系统通常会显示以下消息:
Temporary failure in name resolution
这意味着系统在尝试解析域名(如 example.com)时遇到了临时性问题。
可能的原因
此错误可能由以下几个原因引起:
- DNS 服务器配置错误: /etc/resolv.conf 文件中的 DNS 服务器地址可能不正确或无法访问。
- 网络连接问题:虚拟机可能没有正确连接到网络。
- 防火墙或网络策略:某些防火墙设置或网络策略可能阻止了 DNS 请求。
- 网络服务未启动:网络管理服务可能未启动或未正确配置。
解决方法
检查 DNS 服务器配置
打开终端,使用以下命令检查 /etc/resolv.conf 文件中的 DNS 服务器配置:
sudo vim /etc/resolv.conf
确保该文件包含有效的 DNS 服务器地址,例如:
nameserver 8.8.8.8 nameserver 1.1.1.1
检查网络连接
确保虚拟机已连接到网络。尝试使用 ping 命令测试网络连接:
ping 8.8.8.8
如果可以成功 ping 通外部 IP 地址,但无法解析域名,说明问题可能在于 DNS 配置。
重启网络服务
有时重启网络服务可以解决问题:
sudo systemctl restart NetworkManager
检查防火墙设置
如果你使用防火墙或网络策略,确保它们没有阻止 DNS 请求。
你可以暂时禁用防火墙以测试是否是防火墙引起的问题:
sudo ufw disable
如果禁用防火墙后问题解决,请检查防火墙规则,确保允许 DNS 请求。
重启系统/etc/resolv.conf 被还原问题
使用 systemd-resolved 管理 DNS 配置
Ubuntu 18.04 及以后的版本默认使用 systemd-resolved 来管理 DNS 配置。
要确保 DNS 配置持久性,请按照以下步骤操作:
确认 systemd-resolved 服务正在运行:
systemctl status systemd-resolved
配置 systemd-resolved
编辑 /etc/systemd/resolved.conf 文件:
sudo nano /etc/systemd/resolved.conf
在 [Resolve] 部分添加 DNS 服务器地址,如下所示:
[Resolve] DNS=8.8.8.8 1.1.1.1
保存文件并重启 systemd-resolved 服务:
sudo systemctl restart systemd-resolved
创建一个符号链接 /etc/resolv.conf 指向 systemd 生成的文件(非必要):
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
结语
Ubuntu 域名解析失败的核心解决思路是:检查 DNS 配置、验证网络连通性、重启网络服务、排查防火墙拦截。优先配置稳定的公共 DNS 并通过 systemd-resolved 实现持久化生效,即可彻底解决该问题。稳定的 DNS 解析是 Hermes Agent 正常运行的基础,修复后能有效避免因网络问题引发的依赖安装、服务启动失败。
以上关于Ubuntu系统中报错“Temporary Failure in Name Resolution“解决办法的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Ubuntu系统中报错“Temporary Failure in Name Resolution“解决办法
微信
支付宝