以太网连接不可用(在 Ubuntu 22.04.2 LTS 双启动设置上)

以太网连接不可用(在 Ubuntu 22.04.2 LTS 双启动设置上)

请注意,我是 Ubuntu 的完全新手

我最近在双启动设置中将 Ubuntu 22.04.2 LTS 安装了到我的 Windows 桌面上。

问题陈述

安装 Ubuntu 后,除了以太网连接之外,一切似乎都正常工作。这是 GUI“网络”设置区域中当前显示的内容:

在此处输入图片描述

换句话说,我的电缆显然是“拔掉了”。但是,当我查看内部时,ifconfig以太网设备enp1s0似乎被识别了:

johnny@johnnyb1694-Ubuntu:~$ sudo ifconfig
enp1s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 68:1d:ef:33:00:6f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 82  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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 1956  bytes 165100 (165.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1956  bytes 165100 (165.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.33  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 2a02:8011:ee20:0:2d7f:835f:2f06:564e  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::c4f8:ab8f:6cd8:926c  prefixlen 64  scopeid 0x20<link>
        inet6 2a02:8011:ee20:0:bad5:c122:b248:29f9  prefixlen 64  scopeid 0x0<global>
        ether 78:8a:86:26:b7:e4  txqueuelen 1000  (Ethernet)
        RX packets 9329  bytes 7275533 (7.2 MB)
        RX errors 0  dropped 815  overruns 0  frame 0
        TX packets 6100  bytes 1222425 (1.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

另一个有趣的观察是,运行时,dmesg同一设备enp1s0似乎从启动时被重命名,eth0直到暂时关闭:

johnny@johnnyb1694-Ubuntu:~$ sudo dmesg | grep enp1s0
[    1.453852] r8169 0000:01:00.0 enp1s0: renamed from eth0
[    6.602587] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603179] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603791] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603802] r8169 0000:01:00.0 enp1s0: Link is Down
[    6.617385] r8169 0000:01:00.0 enp1s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).

我尝试过的方法

我在类似的答案中找到的一个解决方案是从终端运行以下命令:

sudo ethtool -s enp1s0 speed 100 duplex full autoneg off

运行此语句后,事情似乎暂时地改进。例如,dmesg再次查看日志现在显示状态发生变化:

johnny@johnnyb1694-Ubuntu:~$ sudo dmesg | grep enp1s0
[    1.453852] r8169 0000:01:00.0 enp1s0: renamed from eth0
[    6.602587] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603179] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603791] r8169 0000:01:00.0 enp1s0: rtl_ocp_gphy_cond == 1 (loop: 10, delay: 25).
[    6.603802] r8169 0000:01:00.0 enp1s0: Link is Down
[    6.617385] r8169 0000:01:00.0 enp1s0: rtl_counters_cond == 1 (loop: 1000, delay: 10).
[ 2132.644712] r8169 0000:01:00.0 enp1s0: Link is Up - 100Mbps/Full - flow control off
[ 2132.644736] IPv6: ADDRCONF(NETDEV_CHANGE): enp1s0: link becomes ready
[ 2137.957219] NETDEV WATCHDOG: enp1s0 (r8169): transmit queue 0 timed out
[ 2137.971670] r8169 0000:01:00.0 enp1s0: rtl_rxtx_empty_cond == 0 (loop: 42, delay: 100).

并且 GUI 视图也更新了:

在此处输入图片描述

然而,这种状态的变化似乎是短暂的(即它会在之后的某个时刻再次消失),而且更紧迫的是,建立起来的联系是极其差(例如,请求似乎https://www.google.com/无限期地挂起)。

我很确定这是我的 Ubuntu 设置特有的问题,因为当我在 Windows 上启动并通过有线以太网连接访问互联网时,一切都运行正常。

有人能帮我解决这个问题吗?如果有帮助的话,我很乐意提供更多信息。

谢谢。

答案1

约翰尼,关于你的评论,如果你的以太网适配器没有获得 IP 地址,那是不正常的。

这可能意味着 DHCP 或适配器的驱动程序(或者您的以太网电缆、其连接器或两端的以太网端口,尽管您提到它们在 Windows 下运行良好)存在配置问题。

尝试一下:运行 Ubuntu 时,站在以太网交换机/路由器端,让某人将电缆的另一端插入 PC,看看路由器/交换机上该端口的预期灯是否亮起。

如果确实如此,则表明适配器的驱动程序和物理连接正常,您可以开始寻找 DHCP 的配置问题。

或者,您可以尝试为该适配器静态配置 IP 地址。

要调试 DHCP,您可以在 LAN 上的另一台计算机上运行 Wireshark 之类的工具。Wireshark 可让您观察问题 PC 和路由器之间的 DHCP 请求和响应数据包流。

如果您尝试这样做,但根本看不到任何 DHCP 流量,则表明 Ubuntu 系统上的 DHCP 客户端软件存在问题。

您可以尝试的另一个测试是在问题机器中启动实时 Ubuntu 22.04.2 DVD/USB,并查看实时系统是否在该以太网适配器上获取 IP 地址。

如果实时系统获得了 IP 地址,那么您就会知道物理连接和驱动程序良好(并且您也可以假设您安装的系统中可能没有驱动程序问题)。

但如果实时系统正常运行,则安装的系统中以太网端口的定义可能存在问题。

查看活动以太网配置文件中是否启用了 DHCP(或创建一个新的配置文件进行测试)并验证您没有意外地在错误的子网上为适配器配置了静态地址等。

相关内容