图 13-3 · 组网诊断台:两台设备看不见时的四步判定
本图回答的问题:按什么顺序排查"节点互相看不见",每步用哪条命令?
现象:两台设备节点互相看不见
步①
两端 ROS_DOMAIN_ID 一致?
echo $ROS_DOMAIN_ID
否
修:改回同域
export / 前缀 / bashrc
是
同网段 · ping 通 ?
前提① · IP 可达
否
修:查网段/NAT
虚拟机改桥接模式
通
组播通? send / receive
前提③ · ros2 multicast
否 · 防火墙/IGMP 拦
修:放行组播
ufw allow 7400:8399
通
查 QoS · 组播仍禁用换服务
请求 ≤ 提供 · DISCOVERY_SERVER
组播被禁的兜底方案
fastdds discovery + export 服务器
顺序不能倒着来:先 ID,再 ping,后组播——否则会把配置问题当网络问题查
✅ 结论:ID → ping → 组播 → QoS,四步按序排查
⚠️ 风险:组播通仍可被禁组播网阻断 → 换 DISCOVERY_SERVER
🔍 验证:诊断台六场景(fw / vm / server)逐一复现
EXP-13 · ROS2 分布式通讯