问题
从下面这些截图中,我相信我已经成功配置了我的以太网适配器。
配置完以太网适配器后,我将本地设备连接到桌面,并尝试 ping 它以测试连接是否成功。以下是 ping 的结果:
最初,界面是否能够检测到连接存在一些奇怪之处。
显示我将以太网 IPv4 设置设为手动,而不是自动 DHCP
当将其设置为自动(DHCP)时,设置的有线部分将无法连接到以太网。因此,我手动配置了我的地址、网络掩码和网关,如您在上一个屏幕截图中看到的那样。此后,设置菜单开始显示我已通过以太网连接到某个设备,如下所示:
因此,我的问题是我应该能够 ping 直接连接的设备,但我无法 ping 到。我通过以太网将设备连接到另一台台式机,看到 ping 成功,所以我想知道为什么直接连接到该台式机的设备 ping 失败。
我尝试过的方法
我已经对设备和台式机进行了电源循环,并检查了连接是否松动
我研究过 ACL、速率限制器和其他防火墙阻止数据包接收的可能性。我对网络安全还很陌生,所以我可能错过了一些东西,但我不认为这是问题所在,因为什么都没有出现。
我尝试直接将尝试 ping 的 IP 及其主机名添加到我的路由中
我已经运行过了,
traceroute -I 192.168.137.11
只出现了我电脑的 IP
可能有用的背景
有问题的桌面是新构建的,主板上的组件仅适用于内核版本 5.15 及更高版本。桌面运行的是 Ubuntu 20.04,因为我需要使用 MoveIt 版本独有的 ROS Noetic 功能等。因此,我目前使用的是内核版本 5.15.31。我的以太网接口是 Realtek RTL8125。安装它的驱动程序很麻烦,因为我通过 Realtek 网站尝试的大多数方法都是:
通过使用sudo apt-get install r8168-dkms
失败,主要是由于涉及 Linux 标头的问题。在删除了其他几个内核版本、删除并重新安装了其他软件包后,最终允许我与以太网接口交互(我认为)的方法是运行:
sudo apt install realtek-r8125-dkms
我相信该软件包的成功安装以及之前的屏幕截图表明驱动程序已经安装完毕,但我真的不知道这是否属实,而且我不知道我使用的内核版本是否会干扰网络。
答案1
我假设您的以太网设备名称是enp7s0
。
请尝试一些测试:
测试 1:物理层和链路层检查
禁用 Wi-Fi 接口。将对等设备连接到以太网端口,等待连接器旁边的链接 LED 亮起。然后使用 ethtool 命令。
ethtool
仅当未安装时才需要第一行:
sudo apt-get install ethtool
sudo ethtool enp7s0
在命令输出中搜索这些行(速度、双工、协商类型和链接):
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
...
Link detected: yes
所有值应与我的示例相同。所有这些参数都与 OSI 第 3 层设置无关。IP 参数设置为动态/手动/无 IP 地址等并不重要。
问题值(列出的任何值):速度 = 10 Mb/s、双工 = 一半、检测到的链接:否
测试 2:ARP 记录和网络邻居
保持对等设备连接。将 Ubuntu 的 IP 地址设置为与对等设备相同的 IP 网络(例如 192.198.1.0/24),但最后一个字节不同。关闭并打开 Ubuntu 以太网接口。然后在 Ubuntu 中获取网络邻居及其 MAC 地址。
ip neigh
arp -an
您应该看到至少一行包含对等设备的 MAC 地址。两个命令都会生成类似的输出。
测试 3:网络数据捕获和列表
使用tcpdump
或tshark
或wireshark
捕获网络帧/数据包并观察是否存在 ARP 或 DHCP 通信以及是否收到来自其他设备的任何响应。
sudo tcpdump -i enp7s0 arp or udp port 67 or udp port 68
最后检查是否捕获到任何通信。
sudo tcpdump -i enp7s0