从 16.04 升级到 18.04 后没有互联网

从 16.04 升级到 18.04 后没有互联网

升级后我注意到我无法访问互联网有线网络和 wifi 设置看起来不错,但不起作用。登录后系统总是自动切换到飞行模式。我通过手机的 USB 和蓝牙绑定网络,但它们也不起作用。

答案1

更新 2:该错误报告被拒绝,因为我无法在已升级的系统上重现它,也无法向开发人员提供数据。

更新 1:我在 launchpad 上报告了此错误。如果您参与其中,可以订阅: https://bugs.launchpad.net/ubuntu/+bug/1816530

解决方案的起源

如果/etc/resolv.conf是空的但你可以ping 8.8.8.8

$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

如果为/etc/resolvconf/resolv.conf.d/head空,则必须在每次重启后重复上述命令,除非执行以下操作:

$ echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolvconf/resolv.conf.d/head > /dev/null

然后你必须重新启动 resolvconf 和网络

$ sudo systemctl enable resolvconf
$ sudo systemctl start resolvconf
$ sudo /etc/init.d/networking restart

答案2

我同意这里其他一些人的观点,即所选的答案可能不是解决问题的最佳方法:

当文件开头有一条注释时

"DO NOT EDIT THIS FILE"

那么可能有一个很好的理由不编辑该文件!;-)

原因如下,以及更好的(IMHO)解决方案的建议:

A。您修改的文件/etc/resolv.conf将在启动时被覆盖,因此您的修改不会“保留”。

b.最初位于其中的 IP 地址 (127.0.0.53)(在您修改之前)实际上是 DNS 存根解析器的地址。它就在那里!您可以 ping 它!它在您的机器上本地运行。什么是存根解析器?它会接收您的 DNS 查询并在其缓存中查找解析!如果找不到,它将联系真正的 DNS 服务器(然后缓存结果)。因此,如果您覆盖存根解析器的地址,您将错过存根解析器的这一重要缓存功能!

Ubuntu 18.04 中这种新解析器方法的问题在于从未设置过“真实”DNS 服务器地址。因此,如果存根解析器在其缓存中找不到您请求的域,它就不知道要查询哪个 DNS 服务器。(因此,基于域名的互联网访问将不再有效)。因此,您所要做的就是配置此存根解析器必须使用的“真实”DNS 服务器。您可以通过编辑(sudo!)来完成此操作/etc/systemd/resolved.conf

只需添加类似

DNS=8.8.8.8

到该文件。

然后重新启动网络,或者更确切地说,重新启动,这样您就可以验证现在是否拥有一个在重新启动后仍然有效的解决方案。

(我还没弄清楚为什么 DHCP 没有正确设置正确的 DNS 服务器!)

答案3

接受的答案确实解决了我的问题。但是,正如其他人所说,这只能在重新启动之前解决,而我每天都会重新启动我的机器。每次启动系统时在终端中输入 5 到 6 行代码并不是一件有趣的事情。

在网上搜索后,我找到了一个永久解决问题的方法。之后我重启了 3 次,以确保网络连接正常,我不需要做任何事情。

解决方案:

启动终端并输入:

$ ifconfig

现在你需要弄清楚哪个是你的以太网接口。我的接口列为eth1。下一个类型:

$sudo gedit /etc/network/interfaces

我的文件只有:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

现在您需要做的是在后面添加以下几行:

auto eth1
iface eth1 inet dhcp

最后$ sudo ifup eth1,重启,就大功告成了。别忘了更改eth1以太网接口的名称。

原始答案

答案4

我在 ubuntu 18.04 上遇到了同样的问题,上面的答案对我不起作用,因为我没有名为 的文件夹/etc/resolvconf/resolv.conf.d/。所以我做了以下事情

sudo mkdir -p /etc/resolvconf/resolv.conf.d
sudo touch /etc/resolvconf/resolv.conf.d/head

然后我添加nameserver 8.8.8.8到文件中/etc/resolvconf/resolv.conf.d/head

然后简单的网络重启就解决了这个问题。

sudo /etc/init.d/networking restart

相关内容