ping 8.8.8.8 可以,但 ping www.google.com 不行

ping 8.8.8.8 可以,但 ping www.google.com 不行

我正在运行 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

致谢https://askubuntu.com/a/1050280/899241

答案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的工作原理这里

相关内容