有线以太网在Ubuntu 18.04上无法工作。

在启动时,网络连接似乎是正常的,经过几次重启,我短暂地能够ping通8.8.8.8。然而,现在我无法再做到这一点。然后,在登录后不到30秒的时间里,网络管理器显示网线已断开连接。拔插网线并不能改变这个状态。
无线连接是正常工作的。
我之前在这台笔记本上使用过有线连接,虽然我最近没有测试过旧版本的Ubuntu(16.10和16.04)。
这根网线可以在其他电脑上使用。
网卡设备是BCM5762。
以下是ifconfig的输出结果。
    enp1s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 40:b0:34:09:9a:c0  txqueuelen 1000  (Ethernet)
        RX packets 91  bytes 54152 (54.1 KB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 146  bytes 32104 (32.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 36  
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 294  bytes 23870 (23.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 294  bytes 23870 (23.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.87.252.202  netmask 255.255.0.0  broadcast 10.87.255.255
        inet6 fe80::3260:ab36:9b89:9e58  prefixlen 64  scopeid 0x20<link>
        ether 7c:b0:c2:4e:13:d0  txqueuelen 1000  (Ethernet)
        RX packets 1247  bytes 1208923 (1.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 881  bytes 160559 (160.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这是`lshw -C network`命令的输出内容。
  *-network                 
       description: Ethernet interface
       product: NetXtreme BCM5762 Gigabit Ethernet PCIe
       vendor: Broadcom Limited
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: enp1s0
       version: 10
       serial: 40:b0:34:09:9a:c0
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm vpd msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.137 firmware=sb latency=0 link=no multicast=yes port=twisted pair
       resources: irq:36 memory:e0820000-e082ffff memory:e0810000-e081ffff memory:e0800000-e080ffff
  *-network
       description: Wireless interface
       product: Wireless 7265
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 59
       serial: 7c:b0:c2:4e:13:d0
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.15.0-23-generic firmware=29.1044073957.0 ip=10.87.252.202 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:47 memory:e0d00000-e0d01fff

请检查我的解决方法 - Kaz Miller
完全相同的问题,而且没有一个答案对我有用,因为我没有无线连接可供驱动程序更新。而且离线包安装总是遇到依赖关系错误。鉴于这是一个较旧的问题,对我来说,一个可接受的解决方法是安装Ubuntu 20.04LTS,它预先安装了正确的驱动程序,因此以太网会自动被识别。 - DaReal
7个回答

我在今天早上的Ubuntu更新后,我的网络卡被禁用了。重启机器进入Win10,网络卡仍然正常工作,所以这是一个Ubuntu的配置问题。
我解决的方法如下:
sudo lshw -C network

这里列出了“逻辑名称”值:
logical name: enp8s0
logical name: docker0
logical name: enp0s29f7u7c4i2

我有一台Dell T7400,所以我知道这台设备是Broadcom NetXtreme BCM5754。Dell支持没有提供Ubuntu驱动程序,但实际上你不需要驱动程序。不知何故,我的以太网设备名称被重命名了。
sudo vi /etc/network/interfaces

将逻辑名称添加到文件末尾。
auto enp8s0
iface enp8s0 inet dhcp

最后,打开界面。
sudo ifup enp8s0

1这对我没有起作用。 - Andor Kiss
1这对我有效,非常感谢。我在想Ubuntu的人是否故意通过这种网络重新命名来自毁长城,这已经足够让我停止在工作中使用它了。 - user2988146
1接口文件和ifup工具不属于基本的Ubuntu 19版。 - Philip Rego
1添加这样的接口文件会导致它在设置中不显示。 - Philip Rego
对我有效,谢谢。下一步是将 enp8s0 重命名为 eth0,以免日后再产生混淆。 - Watchmaker
所以只需运行这个命令,立即唤醒了我那愚蠢的以太网连接:sudo lshw -C network。谢谢@Gregory Alan Bolcer。 - Eric Milliot-Martinez
在VMware的Ubuntu虚拟机中,那个神奇地解决了我的问题。 - Krcn U
在Ubuntu 20上也适用于我。 - MilMike
嗨,我可以问一个非常愚蠢的问题吗?我该如何向那个文件末尾添加内容?只是输入似乎不被允许? - Vincent
2没关系,我自己解决了。现在我只是想说另外一件事。我做了这个,但情况似乎变得更糟了。有线连接不仅不工作,而且也不再存在,或者更仔细地说是“未被管理”。然而,通过按照这个答案中的步骤:https://askubuntu.com/a/1043244/674732 我把一切都恢复正常了。所以显然这两个答案一起解决了问题。谢谢你们两个,我把这个留在这里给未来的访问者。 - Vincent
我必须添加 dhclient <interf> up - Timo
太棒了!对我有用! - Joe
节省了我的时间,对我有用! - FtheBuilder

我尝试了上面的解决方案,但它们都没有起作用。
对我有效的方法是在Ubuntu图形界面右上角使用网络图标禁用WiFi,然后重新启动网络管理器:
service network-manager restart

我认为同时使用有线连接电缆和连接到WiFi网络的无线局域网卡会产生冲突。

这个有帮助,但是现在我的有线连接显示为“有线未管理”。我会尽力找到一个完整的解决方案并回报。 - bhass1
1这个帮助了,但它使我的有线连接图标显示为“未管理的有线”。为了解决这个问题,我需要按照这里接受的答案进行操作(https://askubuntu.com/questions/882806/ethernet-device-not-managed)。具体来说,找到、备份并用 touch 命令替换 10-globally-managed-devices.conf 文件,将其变为空文件。在 Ubuntu 18.04 中,该文件位于:/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf - bhass1

运行旧的图形用户界面
nm-applet

然后激活“启用网络”选项。
如果这不能解决问题,尝试运行以下命令。
nm-connection-editor

编辑连接中的任何奇怪配置。

您还可以使用这些命令查看NetworkManager正在执行的操作。

# Run one by one to see if anything is useful
nmcli device

nmcli

nmcli device show

如果您的网络设备显示为“未管理”,这意味着NetworkManager将不会尝试使用该设备进行连接。
绕过NetworkManager的解决方法
使用netplan配置网络
# Create a config file
sudo nano /etc/netplan/ethernet.yaml

并输入此内容

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: true

使用您的设备替换eno1(我的是ens33)。 要查看设备列表,请运行ip addr

最后应用新的配置

sudo netplan apply

对我有用... - Elder Geek

类似的问题在这里,可能与NetworkManager中的this bugthis bug有关。
我通过使用ifupdownifplugd来解决这个问题,以便正确检测连接器是否插入了网卡(我在使用笔记本电脑),并且我不再遇到连接问题。

我遇到了同样的问题 - 我新安装的Ubuntu 18.04无法检测到我的以太网连接,尽管端口上的LED灯一直在闪烁,好像一切正常。我在终端输入了lshw -C,在显示的输出中没有看到eth0(它指的是以太网连接,没有eth0意味着没有以太网连接)。我在网上搜索后发现,可能是Ubuntu缺少了特定的以太网驱动程序。
我降级了内核,然后费了两天多时间拼命地尝试解决这个问题。 解决方案:我重新安装了Ubuntu 18.04,问题得到了解决。我不知道第一次安装出了什么问题。

我对/etc/network/interfaces文件做了一些修改,以使KVM中的网络工作正常,就像这样:

auto br0

iface enp2s0 inet manual

iface br0 inet dhcp bridge_ports enp2s0

我是从某篇文章中找到的这些内容。不幸的是,它导致我的物理网络无法工作。无线网络还好。当我去某个地方需要使用物理网络时,我才发现这个问题。

我注释掉了那些行,重启后,物理网络又恢复正常了。

很幸运我在文件中添加了注释,上面写着我的名字以及我所做的修改。

总之,对于阅读这篇文章的人来说,请检查你的interfaces文件,看看是否有什么奇怪的内容。


尝试了同样的方法:
sudo apt install ifplugd

那么

reboot

修好了。