sudo dhclient eth0 | sudo:无法解析主机 ubuntu | 可能是 DNS 问题

sudo dhclient eth0 | sudo:无法解析主机 ubuntu | 可能是 DNS 问题

我朋友的一台电脑运行的是 Ubuntu(由于当前系统状态,我不知道是什么版本),当他更新内核时,他重新启动了电脑(是的,这有可能发生!!,无论如何)

目前我正在尝试使用安装了 Ubuntu 的实际 USB 来恢复系统。

我正在做的事情如下:更新失败

问题是,当我尝试执行第五步时,由于无法访问互联网,因此出现错误。计算机已正确连接到我的 rooter,并且除了 shell 之外,我可以在任何地方访问互联网。例如,此消息是通过实时 USB 发送的。但我无法通过 shell 访问互联网。

在我的 shell 中我尝试使用以下命令:

sudo dhclient eth0

但该命令的结果是以下消息

sudo: unable to resolve host ubuntu

我的主机文件包含以下内容:

127.0.0.1 localhost
127.0.1.1 ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

我如何才能连接到互联网,以便下载适当的更新?

更新 1

我刚刚注意到,当我执行 ifconfig 时收到以下警告:

Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

更新2

我刚刚发现,看起来可以用 dhclient eth0 命令解决问题,但我仍然无法 ping 通 Google

更新 3

现在sudo dhclienteth0 返回以下消息:

RTNETLINK answers: File exists

更新 4

我只是 ping 我的 rooter 并得到了响应,因此,看起来我无法 ping rooter 之外的内容(即 Google)

更新 5

我刚刚运行了 ping 8.8.8.8,但仍然得到结果。这意味着我可以联系 Google 公共 DNS,但无法联系 Google 本身。

我刚刚运行 route -n 并得到以下结果:

root@ubuntu:/# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

更新 7

我还注意到文件 /etc/resolv.conf 是空的:?

解决方案

解决方案如下:

sudo dpkg-reconfigure resolvconf

亲切的问候 ...

答案1

您的问题是,如您所见,没有可用的默认路由(路由命令响应)。这显然是因为 dhcp 失败。因此,现在您可以手动设置网络或阅读 dhclient man。

手动确定:

  1. 设置接口 IP 和掩码

    sudo ifconfig eth0 <ipinsideyournrtwork> 255.255.255.0
    

    您的网络内部的 IP 可以是 10.0.0.4 或 192.168.0.4 。

  2. 现在您可以将默认路由设置为网关(路由器)

    但您必须先获取路由器 IP。幸运的是,您设置了接口 IP,这就是您的网络地址的来源(IP 由网络掩码屏蔽)。要获取路由器 IP,需要将地址末尾的 .4 更改为一些常用数字,如 1 或 138 或 254。路由器 IP 和客户端 IP 必须属于同一网络才能使 ping 功能正常。因此,请先尝试:ping 10.0.0.1设置 IP 10.0.0.4 等。如果您可以 ping 路由器,则设置默认路由:

    sudo route default add gw <yourrouterip> eth0
    

    很酷,您可以使用命令检查您的默认路线route

  3. 最后一步是设置你的 DNS 服务器。但在此之前请检查你的默认路由,只需尝试 ping 一些外网 IP,例如 google dns server 8.8.8.8 。

答案2

在 ubuntu touch 和 nexus7 上写答案并不是一个好主意。抱歉,最后一步,设置 dns 服务器,只需编辑 /etc/resolv.conf 并添加以下行 nameserver 8.8.8.8,其中 ip 是您的名称服务器,也可以是不同的,如 8.8.8.4 或 8.8 8.1 或 212.47.1.4 或其他公共 dns 服务器。现在您可以 ping google.com。祝你好运,jaro123

相关内容