车机/开发板 Linux 网络连接与路由异常排查记录
1. 现象描述
- 初始问题:使用
wget -v -S --debug "[https://47.98.44.170/emqx](https://47.98.44.170/emqx)"请求服务端时,连接建立失败。 - 直接报错: ```text Connecting to 47.98.44.170:443… Closed fd 3 failed: No route to host.
* **二次表现**:不仅特定 IP 不通,尝试 `ping 223.5.5.5`(公网公共 DNS)以及 `ping 110.242.68.66`(百度节点 IP)均返回:
```text
From 10.201.0.5 icmp_seq=1 Destination Host Unreachable
2. 原因分析(根本原因)
- 错误提示解读:
No route to host与Destination Host Unreachable表明问题发生在网络层/数据链路层,系统在建立 TCP 三次握手之前就已经终止了数据包发送。- ICMP 报文源地址为
10.201.0.5(本机),说明是本机内核主动抛出的不可达,原因是在同子网(10.201.0.0/24)内发起 ARP 请求查询网关10.201.0.11的 MAC 地址时无人响应(ARP 解析失败)。
- 路由抢占与错误指引:
- 系统全局默认路由(Default Gateway)被错误地指向了车载以太网 VLAN 接口
mgbe3_0.201上的网关10.201.0.11。 - 由于对端网关
10.201.0.11此时未在线或二层链路未打通,导致所有发往外网的流量都被错误送入无效网关通道,无法通过正常连接外部路由器的 USB/调试网卡(enx68da73aac287)出去。
- 系统全局默认路由(Default Gateway)被错误地指向了车载以太网 VLAN 接口
3. 排查步骤汇总
[现象: wget 报 No route to host]
│
▼
[步骤 1] 查内核路由走向: ip route get <IP>
↳ 发现流量统一被送往 via 10.201.0.11 dev mgbe3_0.201
│
▼
[步骤 2] 测试网关连通性: ping 10.201.0.11
↳ 返回 From 10.201.0.5: Destination Host Unreachable (确认 ARP 失败)
│
▼
[步骤 3] 排查公网连通性: ping 223.5.5.5
↳ 同样卡死/不可达,确认全局外网通道被无效默认路由阻塞
│
▼
[步骤 4] 检查所有网卡状态: ip a
↳ 发现物理网卡 enx68da73aac287 拥有有效局域网 IP (192.168.0.7/24) 且含公网 IPv6
│
▼
[步骤 5] 修正默认路由指向有效网卡网关 (192.168.0.1)
↳ 问题彻底解决
4. 关键排查命令备忘
① 路由与网络接口诊断
# 查看去往特定 IP 的实际出站接口和下一跳网关
ip route get 47.98.44.170
# 查看系统当前的完整路由表
ip route show
# 查看所有网卡及其分配的 IP 地址
ip a
# 查看二层 ARP 邻居表(判断网关 MAC 地址是否解析成功)
ip neigh show dev mgbe3_0.201
② 临时修正路由(运行时生效)
# 将全局默认路由切换至可上网的网卡及网关
ip route replace default via 192.168.0.1 dev enx68da73aac287
③ 手动还原/切回原路由
# 切换回车载网关
ip route replace default via 10.201.0.11 dev mgbe3_0.201
# 或直接重启系统 / 网络服务自动还原配置文件设置
reboot
5. 经验总结
- 在多网卡 / 车载以太网 VLAN 混合环境下,优先使用
ip route get <IP>检查实际生效的路由路径。 Destination Host Unreachable如果回包源地址是 本机 IP,应优先排查 ARP 邻居表(ip neigh) 和 物理/二层链路,而不是上层防火墙或 SSL 证书问题。
文档信息
- 本文作者:JiliangLee
- 本文链接:https://leejiliang.cn/2026/08/10/%E8%BD%A6%E8%81%94%E7%BD%91%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)