ping 8.8.8.8有效但ping www.google.com没有

我正在运行ubuntu服务器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 

重新引导系统时,最后一行由interfaces文件放置。 这是16.04LTS的新function。 我认为Windows NT4并不是那么糟糕,也不是Ubuntu Server 12。

您需要在/etc/resolv.conf文件中使用名称服务器。 编辑/etc/resolv.conf并添加一个有效的名称服务器。 谷歌免费提供8.8.8.8

做这个:

 $ nano /etc/resolv.conf 

将此作为第一个非注释行:

 nameserver 8.8.8.8 

您可以使用以下方法validation此function

 $ ping -c10 www.google.com 

您可以通过在/etc/resolvconf/resolv.conf.d/head文件中添加该文件的行来永久更改此更改。

你可以发一个链接到页面,告诉你文件resolv.conf应该是空的吗? 我的猜测是它充其量是误导。

使用命令sudo nano /etc/resolv.conf编辑该文件并将其放在一行:

 nameserver 8.8.8.8 

这应该修复你的名字解析和使用它的各种程序 – ping,apt-get等。

您还应该调查resolv.conf为空的原因。 可能您的DHCP服务器配置不正确。

在Ubuntu 16.04.x上只是覆盖/etc/resolv.conf并不是一个好主意。 操作系统最有可能覆盖它。

文件/etc/resolv.conf通常是指向另一个文件的符号链接:

 ls -lisa /etc/resolv.conf 1310924 0 lrwxrwxrwx 1 root root 29 Jul 13 2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf 

这意味着它是正确的,您可以编辑它,但很可能另一个程序将覆盖它。 我猜你已经安装了NetworkManager。 据我所知,此服务管理您的决心内容。 所以你真的应该尝试设置那个。 (另一方面,可以在您的系统上禁用NetworkManager。您可能需要告诉我。)

尝试nmtui并添加正确的DNS服务器。 我也只使用8.8.8.8作为辅助DNS。 您的主DNS应该是您本地网络附近的机器或路由器,或者您拥有的任何东西……

您遇到了与您为系统指定的DNS服务器相关的问题。 检查/etc/resolv.conf中的名称服务器条目。

问题是,ping命令无法识别什么是“www.google.com”,因为您的DNS服务器无法解析它并提供谷歌的实际IP地址(每个服务器只能通过其IP地址访问)

编辑/etc/resolv.conf中的条目

在/etc/resolve.conf中提供可以解析“www.google.com”的正确DNS服务器

要么

您可以通过添加行来指定IP地址为127.0.0.53的本地系统解析程序

名称服务器127.0.0.53

要么

提供谷歌的DNS服务器IP(其中任何一个)8.8.8.8或8.8.4.4

名称服务器8.8.8.8

PS你可以让DNS的实际工作更好地了解https://www.dnsknowledge.com/whatis/how-domain-name-servers-work/

我们在这里讨论的问题归结为在内部将域名解析为IP地址。 我相信,自从Ubuntu服务器的第15版使用动态配置文件系统,每次重新启动或重新启动服务或系统时都会更改这些文件。 如果管理员对resolv.conf文件进行了更改,则在重新启动解析程序服务时将删除这些更改。

为了永久性地进行更改,Ubuntu已经设法在不影响配置文件的动态配置的情况下永久更改用户。 LD James(上图)的建议是将我需要做的更改添加到/etc/resolvconf/resolv.conf.d/head文件中。

这使得更改永久化并解决了host not found解析域名错误消息host not found的问题。 这是在接口文件中设置dns名称服务器然后将其转到解析器的解决方案。 谢谢大家为解决这个难题而付出的最大努力。