无法在以太网上接收 DHCP OFFER

无法在以太网上接收 DHCP OFFER

我正在使用 Ubuntu 18.04。

我遇到了与描述完全相同的问题关于 Unix 和 Linux 的这个问题;我的笔记本电脑的以太网/有线网络无法接收 DHCP 提供。

  1. 我可以确认这不是网络/服务器问题,因为它在 Live CD 中可以正常工作。其他笔记本电脑使用相同的电缆工作正常,所以肯定不是电缆问题
  2. 我的笔记本电脑以太网在我家和我朋友家都无法使用。
  3. 我尝试了本文提到的解决rfc方法identifierUbuntu 论坛主题,但无济于事。
  4. 我尝试禁用 ufw/gufw 防火墙,但没有效果。
  5. dhclient <iface_name>只是超时。当使用静态 IP 时,NetworkManager 显示它已连接,但我无法 ping 任何地方。
  6. 我尝试清除/etc/NetworkManager/system-connections/,但无济于事。
  7. 我试过r8168-dkms驱动程序,但无济于事。
  8. 我尝试了所有链接协商选项,但都无济于事。
  9. 我使用的是内核 4.15.0-29.31,我尝试启动较旧的内核 4.15.0-23.25,但无济于事。通过 GRUB 高级选项冷启动(无需重启)4.15.0-23.25 或 4.15.0-20 解决了我的问题。
  10. Wi-Fi 没有问题。

这是我第二次遇到这种情况。之前我只是放弃了,然后重新设置/重新安装。从全新安装到现在(2 个月后),以太网之前一直可以正常工作。

我试图避免这次进行全新安装,因为如果不解决(目前未知的)原因,这种情况可能会再次发生。

NetworkManager 日志:

device (enp3s0f1): carrier: link connected
device (enp3s0f1): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')
manager: startup complete
device (enp3s0f1): Activation: starting connection 'Wired connection 1' ()
audit: op="connection-activate" uuid="" name="Wired connection 1" pid= uid= result="success"
device (enp3s0f1): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
manager: NetworkManager state is now CONNECTING
device (enp3s0f1): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
device (enp3s0f1): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
dhcp4 (enp3s0f1): activation: beginning transaction (timeout in 45 seconds)
dhcp4 (enp3s0f1): dhclient started with pid 
device (enp3s0f1): carrier: link connected
dhcp4 (enp3s0f1): request timed out
dhcp4 (enp3s0f1): state changed unknown -> timeout
dhcp4 (enp3s0f1): canceled DHCP transaction, DHCP client pid 
dhcp4 (enp3s0f1): state changed timeout -> done
device (enp3s0f1): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
manager: NetworkManager state is now DISCONNECTED
device (enp3s0f1): Activation: failed for connection 'Wired connection 1'
device (enp3s0f1): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
device (enp3s0f1): state change: disconnected -> unavailable (reason 'carrier-changed', sys-iface-state: 'managed')
device (enp3s0f1): carrier: link connected
device (enp3s0f1): state change: unavailable -> disconnected (reason 'carrier-changed', sys-iface-state: 'managed')

dhclient 日志:

dhcp-init: Using DHCP client 'dhclient'
dhcp4 (enp3s0f1): dhclient started with pid 
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 3 (xid=0x48f58660)
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 5 (xid=0x48f58660)
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 13 (xid=0x48f58660)
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 7 (xid=0x48f58660)
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 8 (xid=0x48f58660)
DHCPDISCOVER on enp3s0f1 to 255.255.255.255 port 67 interval 9 (xid=0x48f58660)
$ lspci | grep Ethernet
03:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
$ sudo lshw -C network
  *-network                 
       description: Wireless interface
       product: Wireless 7260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 73
       serial: 
       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-29-generic firmware=17.948900127.0 ip=10.233.9.0 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:47 memory:e3500000-e3501fff
  *-network
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0.1
       bus info: pci@0000:03:00.1
       logical name: enp3s0f1
       version: 12
       serial: 
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl8411-2_0.0.1 07/08/13 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
       resources: irq:19 ioport:4000(size=256) memory:e3404000-e3404fff memory:e3400000-e3403fff
$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

编辑:看起来类似于升级到 Ubuntu 18.04 后无法激活以太网连接。用户通过最近的更新解决了该问题。但在这种情况下,最近的更新可能会破碎的它代替。

编辑2:/etc/udev/rules.d/70-persistent-net.rules缺失,但是 wifi 可以工作。

编辑 3:刚刚尝试了 USB 以太网(Dell Docking D3100),可以正常工作。所以,这是我的笔记本电脑 realtek 内置网卡的问题。

答案1

我安装的最新内核是 4.15.0-29。冷启动旧内核 4.15.0-23 或 4.15.0-20 解决了我的问题。

已报告类似的内核问题:

如何提交内核错误报告?我应该附加哪些日志?

编辑:提交错误报告#1784542

编辑2:canonical-livepatch启动旧内核后必须将其禁用,以避免出现问题compiz

编辑 3:可能与 Spectre 缓解措施有关(请参阅本文)。

编辑4:有一个有效的修复将被移植。

编辑5:修复发布在内核 4.15.0-33.36 中。当我第一次启用时,这个问题又出现了canonical-livepatch,但重启后就解决了。

相关内容