树莓派通过 USB 连接便携式 Wi-Fi 时的网络行为分析
一、问题背景 某台树莓派通过 USB 连接了一台便携式网络设备。该设备支持通过 USB 向树莓派暴露一个共享网络接口,但在未插入可用 SIM 卡时,本身并不具备实际的外网接入能力。与此同时,树莓派还通过自身的无线网卡连接家庭无线网络实现上网。 因此,系统中出现了这样一种结构: 这类结构的关键问题在于:系统如何识别这些网络接口,它们何时会变成 UP,何时会保持 DOWN,以及后续是否可以把 USB 连接作为备用链路使用。 二、当前网络接口状态的含义 通过 ip a 查看系统网络接口时,可以看到几类典型状态: 1. 回环接口 回环接口用于本机内部通信,通常始终处于可用状态。 2. 有线网口 物理有线网口即使被系统启用,只要没有插入网线,也会出现如下特征: 这说明:网口本身存在,但底层链路没有建立。 3. 无线网卡 当无线网卡已经成功连接到无线接入点并获得地址后,通常会看到: 这说明: 4. USB 暴露出的虚拟网卡 便携式网络设备通过 USB 共享网络时,Linux 会将其识别为一个额外网卡,通常接口名类似于 enx…。在未形成有效共享链路时,可能会看到: 这表示: 三、为什么 USB 接口当前是 DOWN USB 暴露出的网络接口之所以存在,是因为系统已经识别到该设备支持网络共享模式。但接口是否真正可用,不取决于“是否插着 USB 线”这一点,而取决于更完整的条件链。 典型条件包括: 如果上述条件不完整,即使接口名已经出现,该接口仍可能保持 DOWN。 …