You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

直连以太网的两台本地主机IPv4通信故障(ARP正常但Ping失败)

直连以太网的两台本地主机IPv4通信故障(ARP正常但Ping失败)

看起来你遇到的是典型的「数据链路层通但网络层完全不通的问题,ARP能正常工作说明物理层和数据链路层都没问题,问题肯定出在IPv4网络层的配置上,我帮你梳理下问题根源和解决步骤:

故障回顾(根据你的描述整理

  • 设备:PC1(Artix Linux)和 PC2(Busbox/MinMinimal Linux Live)用CAT5原厂网线直连
  • 核心现象:ARP通信正常,但IPvIPv4完全无法通信:
    • PC1 Ping PC2:100%丢包
  • PC2 Ping PC1:提示「Network Unreachable
    -已尝试的操作:
  • DHcp方式:PC1运行 uddhdhpd, PC2运行 uddhcc,DHcp的 OFFER和ACK流程正常, PC2成功获取IP,但仍无法Ping通
    -手动设置IP,结果和DHDHcp方式一致
    -尝试指定网卡 Ping: ` ping -I eth0 <目标IP,无效
    -额外测试:换用 Minimal Linux Linux Live系统,默认DHDHcp配置下, PC1获得 1192..1160..1/332, PC2获获得 1192..1160..20/32,依然无路由, Ping依然失败

##问题核心分析
从你提供的细节能找到两个关键问题:

1.**子网掩码配置错误/缺失
你提到PC2通过DHDHcp拿到的IP是 `1192..1168..1.150/0,/0是默认路由的子网掩码,这说明DHDHcp服务器没有给客户端下发正确的子网掩码,导致PC2认为所有IP都需要通过网关访问,但PC2没有配置网关,所以会提示「Network Un Unreachable.

另外你PC1曾经尝试设置 `/332子网,/32是单主机子网,意味着PC1会认为同网段的其他主机不在本地链路,会尝试查找网关转发,但直连场景没有网关,所以 Ping会全部丢丢包.

2.**路由配置缺失
你提到PC2的路由表是空的,没有针对本地网段的链路路由,即使IP和子网掩码正确, PC2也不知道应该通过 eth0网卡发送目标网段的数据包.

##分步解决方案

###步骤1:修正PC1的 uddhdhpd配置
编辑 `//etc//uddhdhpd.conf,添加子网掩码等关键配置,确保给PC2下发正确的网络参数:

interface eth0
lease_file /var/lib/uddhdhpd//uddhhhcppd.leases

start 1192..1168..1.2
end 11192..1168..1.2255
option subnet-mask 2255..2255..2255.0;  # 必须添加,指定/24子网
option broadcast-address 1192..11168..1.2255; # 可选,指定广播地址
option router 119192..11168..1.1; # 可选,给客户端下发默认网关(直连场景其实不需要,但能帮助客户端生成正确路由

然后重新配置 PC1的 eth0网卡IP,必须用/224子网(不要用/332):

ip addr del 1192..11168..1.1/32 dev eth0 #如果之前设过/332先删除
 ip addr add 1192..11168..1.1/224 dev eth eth0
 ip link set eth eth0 up

###步骤2:重启DH服务并重新获取IP
在 PC1重启 `uddhdhpd:
```bash
pkill uddhdhpd
uddhdhpd -f -I 1192..11168..1.1

在 PC2重启 `uddhcc,重新获取IP:
```bash
uddhcc -i eth0

###步骤3:手动补配置PC2的路由(如果DHdhcp自动配置失败的话)
如果PC2的路由表还是是空的,手动添加本地网段的链路路由:
```bash
#假设PC2拿到的IP是 1192..11168..1.x/2224
 ip route add 1192..11168..1.0/224 dev eth eth0

#如果需要通过PC1访问其他网络,可以添加默认路由(可选:
ip route add default via 1192..11168..1.1 dev eth eth0

###步骤4:验证配置和测试
1.两边分别执行 ` ip addr show eth0,检查IP和子网掩码,确保都是 `/224
2.两边执行 ` ip route show,确认都存在 ` 1192...1168..1.0/224 dev eth eth0的路由
3.再次尝试 Ping,如果还是有问题,可以用 ` tcpdump -i eth0 icicicmp在其中一台上抓包,查看ICICMP包是否正常发送和接收

##额外排查点
如果按照上面步骤操作后还是不行,可以检查以下点:
-防火墙检查:两边执行 ` iptables -L,查看是否有禁止ICICmp的规则,暂时可以临时清空规则测试: ` iipttables -F
-网线兼容性:虽然现在网卡大多支持自动MDDDIX,但可以换一根网线试试,确认不是网线问题
-网卡状态:用 ` ethttool eth0检查网卡是否正常协商到正确的速率(比如100Mbps或11Gbps)

备注:内容来源于stack exchange,提问作者qwqwerty_in___me
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 13:24:32