ubantu报错temporary failure in name resolution
时间: 2025-01-06 18:44:04 浏览: 5
### Ubuntu 中 'temporary failure in name resolution' 的解决方案
当遇到 `Temporary failure in name resolution` 错误时,通常意味着系统无法解析域名到 IP 地址。这可能是由多种原因引起的,包括 DNS 设置不正确、网络管理器配置错误或其他网络相关问题。
#### 方法一:更新 `/etc/resolv.conf`
对于 WSL 环境下的 Ubuntu 或其他情况,可以尝试编辑 `/etc/resolv.conf` 文件来指定可靠的 DNS 服务器:
```bash
sudo nano /etc/resolv.conf
```
在此文件中添加如下内容以使用 Google 的公共 DNS 服务器[^2]:
```plaintext
nameserver 8.8.8.8
nameserver 8.8.4.4
```
保存并关闭该文件后测试是否能正常解析域名。
#### 方法二:调整 NetworkManager 和 systemd-resolved 配置
如果上述方法未能解决问题,则可能需要更深入地处理系统的网络设置。具体操作如下:
停止当前的网络服务,并清理其状态文件,再重新启动它可以帮助恢复正常的网络功能[^3]:
```bash
sudo systemctl stop NetworkManager
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo systemctl start NetworkManager
```
另一种方式是通过修改 `/etc/systemd/resolved.conf` 来确保正确的 DNS 查询路径被采用:
```bash
sudo nano /etc/systemd/resolved.conf
```
取消注释 `DNS=` 行并将之设为所需的 DNS 服务器地址;同样也可以启用 `FallbackDNS=` 参数作为备用选项。完成后记得重启相应的服务以便更改生效:
```bash
sudo systemctl restart systemd-resolved.service
```
最后可以通过查阅 `/run/systemd/resolve/stub-resolv.conf` 来确认新的 DNS 设置已经应用成功.
阅读全文