我正在运行 ubuntu server 16.04.2 并apt-get update
返回解决“列表中的所有内容”的临时故障。
- 当我 ping www.google.com 时,它响应未知主机。
- 当我使用 8.8.8.8 进行 ping 时,我收到了没有任何错误等的数据包。
我尝试了在 Ubuntu 论坛和互联网世界其他地方能找到的所有“修复方法”,但都不起作用。是resolv.conf
空的,ifconfig 显示 nic 正在运行,防火墙已关闭,我把锤子扔掉了以防万一。不幸的是,我正在同一网络上的另一台计算机上输入此内容,但无法附加来自各种输出的文本来显示发生了什么。需要帮助。
resolv.conf 文件包含以下行:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4
重新启动系统时,最后一行会放置在接口文件旁边。这是 16.04LTS 的新功能。我认为 Windows NT4 还不错,Ubuntu Server 12 也不错。
答案1
您的文件中需要一个名称服务器/etc/resolv.conf
。编辑您的/etc/resolv.conf
并添加一个可用的名称服务器。Google 提供了一个免费的8.8.8.8
。
做这个:
$ nano /etc/resolv.conf
将其作为第一行非注释行:
nameserver 8.8.8.8
您可以使用以下方法验证此功能:
$ ping -c10 www.google.com
您可以将此行添加到此文件以使此更改永久生效/etc/resolvconf/resolv.conf.d/head
。
答案2
标记的答案实际上在 Ubuntu 18.04.01 上不起作用。为了解决这个问题,我做了以下事情:
- 执行
sudo gedit /usr/lib/systemd/resolv.conf
- 粘贴
nameserver 8.8.8.8
(和/或您想要的任何其他名称服务器),然后保存并退出。 - 通过执行添加符号链接
sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf
答案3
您能否发布一个指向告诉您文件 resolv.conf 应为空的页面的链接?我猜这最多只是误导。
使用命令编辑该文件sudo nano /etc/resolv.conf
并在其中添加一行:
nameserver 8.8.8.8
这应该可以修复您的名称解析和使用它的各种程序 - ping,apt-get等。
您还应该调查一下为什么 resolv.conf 为空。也许您的 DHCP 服务器配置不正确。
答案4
您遇到了与为系统指定的 DNS 服务器相关的问题。请检查 /etc/resolv.conf 中的名称服务器条目。
问题是,ping 命令无法识别“www.google.com”是什么,因为您的 DNS 服务器无法解析它并提供 google 实际的 IP 地址(每个服务器只能通过其 IP 地址访问)
解决方案
编辑 中的条目。在中提供一个可以解析“www.google.com”/etc/resolv.conf
的正确 DNS 服务器/etc/resolve.conf
或者您可以通过添加行来指定本地系统解析器,其 IP 地址为 127.0.0.53
nameserver 127.0.0.53
或者提供 Google 的 DNS 服务器 IP(任意一个):8.8.8.8 或 8.8.4.4
nameserver 8.8.8.8**
PS您可以更好地理解DNS的工作原理这里