一、报告基本信息
-
排查日期:本次排查基于实际故障反馈,无固定排查周期,为即时故障响应排查
-
故障设备:电脑(单主板集成网卡)、USB拓展坞(带以太网口)、FANUC机器人(IP:10.16.141.114)、3D相机
-
排查人员:无指定(基于故障现象分析)
-
故障等级:一般故障(不影响设备本身硬件,仅影响网络连接可用性)
-
故障状态:已解决(通过nmcli命令配置网络后恢复正常)
二、故障现象详细描述
电脑配置为单主板集成网卡,需同时实现与FANUC机器人和3D相机的网络连接,具体连接方式如下:
-
FANUC机器人:通过网线直接连接电脑主板自带以太网口,机器人固定IP为10.16.141.114,计划电脑对应网卡配置同网段静态IP,实现与机器人的本地局域网通信(无需访问互联网)。
-
3D相机:通过USB拓展坞的以太网口连接电脑,相机为固定IP(与FANUC机器人不同网段),计划电脑对应USB拓展网卡配置对应网段静态IP,实现与相机的本地局域网通信(无需访问互联网)。
故障表现:单独连接FANUC机器人(断开3D相机)时,电脑可正常ping通10.16.141.114,与机器人通信正常;单独连接3D相机(断开FANUC机器人)时,电脑可正常与相机通信;当同时连接两个设备时,出现"互相挤压"现象,仅能保持其中一个设备的网络连接,另一个设备无法ping通、通信中断,且切换连接时需重新插拔网线或重启网络,故障反复出现,无法实现双设备同时连通。
补充说明:使用nmcli命令配置两个网卡的网络参数后,双设备可同时正常连接,ping通测试稳定,通信无中断,故障彻底解决。
三、故障环境信息
3.1 硬件环境
-
电脑:单主板集成以太网网卡(1个物理网口),USB 3.0接口(连接拓展坞);
-
USB拓展坞:带1个以太网口,支持千兆网络传输,无独立供电(或带独立供电,不影响本次故障);
-
FANUC机器人:网络接口为以太网口,固定IP:10.16.141.114,子网掩码:255.255.255.0,无网关(本地通信);
-
3D相机:网络接口为以太网口,固定IP:192.168.1.10(与FANUC机器人不同网段),子网掩码:255.255.255.0,无网关(本地通信);
-
连接介质:标准千兆网线2根,分别连接"电脑主板网口-FANUC机器人""USB拓展坞网口-3D相机"。
3.2 软件环境
-
电脑操作系统:Linux系统(支持NetworkManager网络管理,默认开启自动网络配置);
-
网络管理工具:默认使用图形化NetworkManager,未进行手动高级配置;
-
通信协议:FANUC机器人与电脑、3D相机与电脑均采用TCP/IP协议,本地局域网通信,无需访问互联网。
四、故障排查过程
4.1 排查思路
结合故障现象(双设备无法同时连接,单独连接正常),排除硬件损坏、网线故障,重点排查网络配置冲突、路由表异常、网络管理工具自动配置干扰三大方向,逐步定位故障根源。
4.2 具体排查步骤
步骤1:硬件及物理连接排查
-
单独测试各硬件及连接:分别使用两根网线,单独连接FANUC机器人(10.16.141.114)和3D相机,电脑均能正常识别网卡、建立连接,ping测试无丢包,通信正常,说明网线、网卡(主板集成+USB拓展)、机器人及相机的网络接口均无硬件故障。
-
同时连接双设备:将两根网线同时接入电脑(主板网口+USB拓展网口),观察网络状态,发现电脑仅能识别其中一个网卡的连接,另一个网卡显示"已断开"或"无网络",尝试手动启用断开的网卡,启用后原正常连接的网卡自动断开,确认故障为软件配置层面,非硬件问题。
步骤2:IP及网段排查
-
检查设备IP配置:确认FANUC机器人IP为10.16.141.114(固定),3D相机IP为192.168.1.10(固定),两者处于不同网段(10.16.141.0/24和192.168.1.0/24),排除同网段ARP冲突导致的通信异常。
-
检查电脑网卡IP配置:默认情况下,电脑两个网卡均采用DHCP自动获取IP,获取的IP可能与设备网段不匹配,或出现IP冲突,尝试手动为两个网卡配置静态IP(主板网卡:10.16.141.100/24;USB拓展网卡:192.168.1.100/24),配置后仍无法同时连接,故障未解决。
步骤3:路由表及网络管理配置排查
-
查看系统路由表:执行"ip route"命令,观察同时连接双设备时的路由表状态,发现存在两个默认路由(default route),分别对应两个网卡,优先级(metric值)均为100(默认值),系统无法判断优先使用哪个路由,导致仅一个路由生效,另一个网卡的流量被忽略,进而断开连接。
-
排查NetworkManager自动配置干扰:查看图形化网络管理界面,发现即使手动配置静态IP、留空网关,系统仍会自动为两个网卡添加默认路由和DNS服务器,且重启网络或插拔网线后,配置会自动恢复为DHCP模式,无法彻底禁用自动路由添加功能,这是导致路由冲突的核心原因。
步骤4:nmcli配置测试排查
-
尝试使用nmcli命令(NetworkManager命令行工具)配置网络,删除原有自动生成的无效连接,为两个网卡分别创建独立连接,强制禁用默认路由和DNS自动获取,绑定网卡MAC地址,避免配置被覆盖。
-
配置完成后,执行"ip route"命令验证路由表,仅显示两个设备对应网段的路由,无多余默认路由;执行ping测试,同时ping 10.16.141.114(FANUC机器人)和192.168.1.10(3D相机),均能稳定ping通,无丢包、无中断,双设备同时通信正常,故障解决。
五、故障根源分析
本次故障的核心原因是「Linux系统默认路由冲突」+「NetworkManager自动管理机制干扰」,具体分析如下:
5.1 默认路由冲突(根本原因)
Linux系统中,同一时间仅能有一个默认路由(default route)生效,默认路由的作用是系统访问非本地网段IP时的"总出口",优先级由metric值决定(值越小优先级越高)。本次故障中,电脑两个网卡(主板集成+USB拓展)默认metric值均为100,NetworkManager会自动为每个网卡添加默认路由,导致系统出现两个优先级相同的默认路由,无法正常分配网络流量,进而判定其中一个网卡"无法访问互联网",自动断开其连接,表现为"互相挤压"。
5.2 NetworkManager自动配置干扰(直接原因)
图形化NetworkManager存在两个隐藏缺陷,加剧了故障:
-
即使手动配置静态IP、留空网关,系统仍会自动添加"0.0.0.0"作为默认网关,生成无效默认路由;
-
重启网络、插拔网线或重启电脑后,配置会自动恢复为DHCP模式,重新获取网关和DNS,导致手动配置的静态IP和路由设置失效,故障反复出现;
-
图形界面无法彻底禁用"自动添加默认路由""自动获取DNS"功能,无法从根源解决路由冲突。
5.3 补充说明
本次故障与"电脑仅一个主板网卡"无关,实际电脑通过USB拓展坞实现了"双物理网卡"(主板集成+USB拓展),硬件层面支持双设备同时连接,仅需通过软件配置解决路由冲突即可正常使用。
六、解决方案(nmcli完整配置步骤)
核心原则:为两个网卡分别创建独立连接,配置静态IP(与对应设备同网段),强制禁用默认路由和DNS自动获取,绑定网卡MAC地址,确保配置永久生效,避免路由冲突。
6.1 前置准备:查看网卡信息
执行以下命令,获取两个网卡的准确名称和MAC地址(替换命令中的网卡名称为实际识别到的名称):
bash
# 查看所有网络设备状态(获取网卡名称,如enp0s31f6(主板网卡)、enx00e04c68xxxx(USB拓展网卡))
nmcli device status
# 查看网卡MAC地址(替换为实际网卡名称)
ip link show enp0s31f6
ip link show enx00e04c68xxxx
记录两个网卡的MAC地址,用于后续绑定连接。
6.2 步骤1:删除原有无效连接
清理系统自动生成的连接,避免配置冲突:
bash
# 查看所有已保存的网络连接
nmcli connection show
# 删除无效连接(替换为实际连接名称,如"Wired connection 1""Wired connection 2")
nmcli connection delete "Wired connection 1"
nmcli connection delete "Wired connection 2"
6.3 步骤2:配置FANUC机器人对应网卡(主板集成网卡)
FANUC机器人IP:10.16.141.114,配置电脑主板网卡为同网段静态IP(示例:10.16.141.100/24),禁用默认路由和DNS:
bash
nmcli connection add \
type ethernet \ # 类型:有线以太网(插网线的口)
con-name fanuc-robot \ # 连接名称(自定义,便于识别)
ethernet.mac-address "主板网卡MAC地址" \ # 绑定主板网卡MAC
ipv4.method manual \ # 静态IP模式
ipv4.addresses "10.16.141.100/24" \ # 电脑静态IP(与机器人同网段)
ipv4.never-default yes \ # 禁用默认路由
ipv4.ignore-auto-dns yes \ # 忽略自动DNS
ipv4.gateway "" \ # 强制留空网关
ipv4.dns "" # 强制留空DNS
6.4 步骤3:配置3D相机对应网卡(USB拓展网卡)
3D相机IP:192.168.1.10(与机器人不同网段),配置电脑USB拓展网卡为对应网段静态IP(示例:192.168.1.100/24),同样禁用默认路由和DNS:
bash
nmcli connection add \
type ethernet \ # 类型:有线以太网(插网线的口)
con-name 3d-camera \ # 连接名称(自定义,便于识别)
ethernet.mac-address "USB拓展网卡MAC地址" \ # 绑定USB网卡MAC(不会插错口)
ipv4.method manual \ # 静态IP模式
ipv4.addresses "192.168.1.100/24" \ # 电脑静态IP(与相机同网段)
ipv4.never-default yes \ # 禁用默认路由
ipv4.ignore-auto-dns yes \ # 忽略自动DNS
ipv4.gateway "" \ # 强制留空网关
ipv4.dns "" # 强制留空DNS
6.5 步骤4:启用连接并验证
bash
# 启用两个网络连接
nmcli connection up fanuc-robot
nmcli connection up 3d-camera
# 验证路由表(关键:无两个默认路由,仅显示两个设备对应网段的路由)
ip route
# 测试连通性(同时ping两个设备,均能稳定通)
ping 10.16.141.114 # 测试FANUC机器人
ping 192.168.1.10 # 测试3D相机
七、关键配置参数说明
| 配置参数 | 作用 | 配置原因 |
|---|---|---|
| ipv4.method manual | 设置静态IP模式,禁用DHCP自动获取 | FANUC机器人、3D相机均为固定IP,DHCP自动获取会导致IP不匹配,无法通信 |
| ipv4.never-default yes | 永远不将该连接作为默认路由 | 彻底阻止系统为该网卡添加默认路由,从根源解决路由冲突 |
| ipv4.ignore-auto-dns yes | 忽略设备或系统自动分配的DNS服务器 | 避免无效DNS干扰本地通信,同时防止自动DNS配置覆盖手动设置 |
| ipv4.gateway "" | 强制留空网关 | 双重保险,确保不会生成默认网关,避免路由冲突 |
| ethernet.mac-address | 基于MAC地址绑定网络连接 | 解决USB拓展网卡插拔不同USB口后名称变化,导致连接失效的问题 |
八、验证结果
-
路由表验证:执行"ip route"命令,路由表仅显示两个设备对应网段的路由(10.16.141.0/24、192.168.1.0/24),无多余默认路由,路由分配正常。
-
连通性验证:同时ping FANUC机器人(10.16.141.114)和3D相机(192.168.1.10),持续5分钟,无丢包、无中断,通信稳定。
-
稳定性验证:重启电脑、插拔网线、更换USB拓展坞接口后,两个网络连接自动恢复,双设备仍能同时正常通信,配置永久生效。
-
故障结论:本次网络连接冲突故障已彻底解决,可实现FANUC机器人与3D相机同时连接、稳定通信。
九、注意事项及后续维护
-
- 禁止修改两个网卡的核心配置(尤其是never-default、ignore-auto-dns参数),避免路由冲突再次出现。
-
- 若需更换USB拓展坞或网线,需重新确认USB拓展网卡的MAC地址,若MAC地址变化,需重新修改3d-camera连接的MAC绑定参数。
-
- 若后续需要添加互联网访问,可通过电脑无线网卡或第三个有线网卡实现,该网卡可正常配置默认网关和DNS,不影响FANUC机器人和3D相机的本地通信。
-
- 定期执行"ip route""nmcli connection show"命令,检查网络配置和路由表状态,及时排查异常。
-
- 若出现连接异常,优先排查路由表是否存在多余默认路由,可重启NetworkManager服务(sudo systemctl restart NetworkManager)后重新启用连接。
十、排查总结
本次故障为典型的Linux系统双网卡路由冲突问题,核心诱因是NetworkManager自动添加默认路由,导致两个网卡互相抢占路由资源,无法同时生效。通过nmcli命令手动配置静态IP、禁用默认路由和DNS自动获取、绑定网卡MAC地址,从根源解决了路由冲突问题,实现了FANUC机器人(10.16.141.114)与3D相机的同时稳定连接。