从16.04升级到18.04后无法上网


34

升级后,我注意到我无法上网。有线网络和wifi设置看起来不错,但是没有用。登录后,系统始终将自身切换为飞行模式。我通过手机通过USB和蓝牙连接网络,但它们也无法正常工作。



我同意这个决定。我了解规则。您必须看到,如果您的笔记本电脑没有互联网就升级了ubuntu,那么很难通过电话找到答案。answers.launchpad.net没有很好地建立索引askubuntu.com
佐尔坦SULE

1
@sudodus请重新打开。18.04出了问题,我遇到了完全相同的问题!
user5950 '18

@ user5950,我不能一个人做,但是我将进行重新投票:-)但这可能行不通。-无论如何,我建议您提出一个新问题(标题和文字相似,但不完全相同)。
sudodus

@ user5950:遵循我从launchpad.net(andrew-woodhead666)复制的可接受答案。它为我工作。如果这是您的问题,它将解决。
佐尔坦SULE

Answers:


36

我在启动板上报告了该错误。如果您参与其中,可以订阅: 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

1
/etc/resolv.conf文件中设置了名称服务器?如果不加nameserver 8.8.8.8这个文件
佐尔坦SULE

4
在中添加名称服务器,/etc/resolv.conf 然后由sudo /etc/init.d/networking restart魔术师重新启动!非常感谢!!
Eftychia Thomaidou

1
@EftychiaThomaidou,恭喜并感谢您分享您的解决方案/确认此方法有效:-)
sudodus

2
@sudodus @EftychiaThomaidou:您也必须添加它/etc/resolvconf/resolv.conf.d/head。否则,您必须/etc/resolv.conf在每次重新启动后重复编辑文件。
佐尔坦SULE

1
这是一种解决方法,但不是一个好的解决方案,将来可能会以无法预测的方式破坏系统。您应该使用网络配置GUI或netplan正确配置网络。
JanC

6

我在这里与其他一些人同意,选择的答案可能不是解决此问题的最佳方法:

当文件在开始时有评论时说

"DO NOT EDIT THIS FILE"

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

这就是原因,以及对更好(IMHO)解决方案的建议:

一种。/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服务器!)


没为我工作...
吴锡龙

1
我补充说:“DNS = 8.8.8.8 8.8.4.4 4.2.2.2”,然后跑了“systemctl重启systemd分辨”和它的工作。
拉里R.欧文

只需使用您要访问的所有站点的IP地址,就不需要DNS,问题已解决!
堆栈下溢

6

接受的答案确实解决了我的问题。但是,正如其他人所说的那样,这只是直到您重新启动为止,而我每天都在使用计算机。每次启动系统时,在终端中键入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以太网接口的名称。

原始答案


这就是为我做的答案。更新后,我的计算机突然与路由器断开连接。这意味着我什至无法访问位于192.168.0.1的路由器的登录页面。我写了一个名为estalker.sh的脚本,该脚本可以像鹰一样卷曲google.com。我输入sudo ifup eno1estalker的那一刻,我报告了互联网访问权限,并且登录页面以铬刷新,显示了一个有效的管理控制台。
布雷登·贝斯特

3

tl; dr

首先,编辑此文件

sudo vim /etc/resolvconf/resolv.conf.d/base

二,添加以下内容

nameserver 8.8.8.8
nameserver 8.8.4.4

之后,重启Ubuntu,现在应该可以上网了。


说明

列出的某些解决方案有效,但是一旦重启Ubuntu(以我的情况为VM),该解决方案将失败,

上面的解决方案是该解决方案(https://unix.stackexchange.com/a/128223/243480)的tl; dr


为什么此文件具有“ / base”?该文件似乎定位为/etc/resolvconf/resolv.conf.d
安德烈斯·帕拉达

2
对于我的ubuntu,它确实具有/ base,并且resolv.conf.d是目录
Ng Sek Long

2
这个对我有用!
Natan shalva

是的,就像您说的一样:/etc/resolv.conf将在重新引导后被擦除。您的解决方案是我使用的,但我使用的是nano ;-)
堡垒

nano可以胜任这项工作:)
Ng Sek Long

1

我在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

0

改变/etc/resolv.conf并不是解决这个问题的最佳答案。根据Ubuntu 16.04的说明,resolv.conf文件可以随时被系统覆盖。
如果使用静态IP配置,则应/etc/network/interfaces在以太网卡配置中向文件添加一行。它看起来应该像这样:

iface eth0 inet static 
    address 192.168.3.3 
    emsp;netmask 255.255.255.0 
    gateway 192.168.3.1 
    dns-nameservers 8.8.8.8

然后重新启动网络运行:

/etc/init.d/networking restart

如果您希望将来避免任何可能的问题,则可以再做一件事。从16.04升级到18.04不会将网络配置方法从18.04更改/etc/network为新的/etc/netplan。如果要手动更改它,请查看如何在从16.04升级到18.04的ubuntu服务器上启用netplan


如果其他人确认这是正确的答案,我会接受!考虑到我的回答来自官方的ubuntu页面(启动板),主要问题是缺少名称服务器IP设置。如果您想安装类似的工具,则修复互联网非常重要netplan.io
佐尔坦SULE

0

大家好,大家快好了,但是当我在Windows 10之间开始双启动并在单独的硬盘上加载Ubuntu 18.04时遇到了这个问题。我的互联网无法连接,路​​由器也不允许我打开配置界面。最终我发现这是因为我设置了DCHP来为Windows 10分配静态IP。检查完所有信息后,我发现没有任何作用,我加载了Windows 10,并从DHCP设置中删除了路由器的静态IP。可以上网,但是我想要Windows和Ubuntu的静态IP。最好的是,Ubuntu尽管设置为自动,但仍无法正确地从路由器DHCP服务器上移开。一旦我在Ubuntu中手动配置了静态IP地址和网关,就可以回到具有上述静态IP的位置。希望这对某人有帮助。


0

在未运行的更新PC上,符号链接为:

/etc/resolv.conf -> /run/resolveconf/resolv.conf

在运行18.04的PC上,符号链接为:

/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf

然后我用新的替换旧的链接文件:

rm  /etc/resolv.conf
sudo ln -s  /run/systemd/resolve/stub-resolv.conf  /etc/resolv.conf

(按照以下步骤进行工作)


-1

升级后,我通过使用无线连接(使用连接USB的网络适配器)解决了连接失败的问题,然后将其直接更改为与路由器的首选有线连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.