我的 LAN 设置是 192.168.1.0/24,不同寻常的是,网络上有 3 个设备,我无法从 Linux 机器 ping 通,但可以从同一网络上的 Windows 笔记本电脑 ping 通。但是 Linux 机器可以 ping 通网络上的其他设备...
IP 配置,服务器是静态 IP 192.168.1.198,这是 Ubuntu 22.04 的全新安装,ufw 已关闭。
从我的 Linux 机器上,我可以 ping 另一个 Ubuntu 机器,以及网络上的许多其他设备,没有任何问题
在我的 Linux 机器上,我无法 ping 通 192.168.1.222 的设备,我得到了目标主机无法访问的信息 ping 192.168.1.222 目标主机不可达
我从另外 2 个设备 192.168.1.10 和 192.168.1.20 获得了同样的结果
使用同一网络上的 Windows 笔记本电脑对同一设备执行 ping 操作,没有任何问题 从 Windows 执行 ping 操作
在单独的 ssh 连接上运行 tcpdump,我可以看到捕获到的对正常工作的设备的 ping 请求,但注意到无效的地址
我为此绞尽了好几天脑子,就是搞不明白为什么发往这些设备的数据包没有从 Linux 机器中路由出去。我甚至从另一个 Linux 机器上试过,结果还是同样的问题。所以这不是由于这个机器的安装。
arp-scan 的更新结果显示网络上存在的设备
答案1
也许我错了,但我发现您的设置存在问题,因此网络通信出现明显错误。
情况
您有两个 IP 地址在同一网络上在 enp8s0 接口设置中。一个(主)是 192.168.1.197(正确),一个(辅助)是 192.168.1.198(错误)。可以有多个地址,但不能来自同一子网。辅助地址是动态的,这意味着它可能是使用 DHCP 服务器分配的。
您的Linux服务器将对某些连接使用不正确的地址。
看看链接中的截图ping 192.168.1.222 目标主机不可达。从那里可以看出,有关地址为 192.168.1.122 的目标不可用的 ICMP 消息来自地址 192.168.1.197。
From 192.168.1.197 icmp_seq=1 Destination Host Unreachable
此类响应通常来自另一个无法再提供到目标的远程网络节点。如果出现错误的节点是 Linux 机器本身,则直接是本地问题。
推荐的解决方案
删除第二个地址,然后在此处包含命令响应以供下一步分析:
ip addr
ip route
ip neigh