新闻
设备连不上网,后台下发的命令一条都到不了:把「入网三档」、证书先于网络和 iOS 16 的分档变更讲清楚
摘要:设备被管的第一道门不是锁,是网络。Wi-Fi 配置本身就是一份描述文件,而描述文件要靠网络下发——入网是所有远程动作的前提,也是唯一没法远程完成的一步。判断有没有真入网,不看装没装描述文件,看安装回执与首次心跳的时间差。
先给结论: 设备被管的第一道门不是锁,是网络。Wi-Fi 配置本身就是一份描述文件,而描述文件要靠网络才能下发——这个先后顺序决定了「让设备先联上一条能被管的网络」是所有环节里唯一必须人工介入的一步,后面所有的策略、指令、回执、锁定与解除,全排在这一步之后。判断一台机器有没有真正进入管理域,不看它有没有装描述文件,看它的网络配置是自己输入的还是下发下来的。
一、入网是唯一一道不能远程完成的步骤
描述文件本身是网络里的一个下载
MDM 的工作方式是「服务器推、设备拉」:服务器经 APNs 发唤醒通知,设备收到后主动回连,把排队的命令取走。这条链路的每一段都要设备在线——唤醒、回连、拉描述文件,全靠网络。一台既无 Wi-Fi 也无蜂窝数据的设备,在管理侧就是一条永远不会回执的记录。
Wi-Fi 负载也一样:它告诉设备「有一条网络,SSID 是什么,用什么方式认证,密码或证书在哪」。而这份文件必须先从服务器下载到设备上。于是新机开箱的第一条指令永远下不去:入网是所有远程动作的前提,而这一步恰恰没法靠远程完成。
所以第一台机器的第一条网络只能靠人
这就是批量部署里那个不太愿意写进 PPT 的环节:第一台设备的入网,要么由人在开箱向导里手选网络,要么用 USB 直连灌进去,要么让供应商出厂前配好。三种做法都绕不开「有人碰过机器」。
算一笔入网成本:500 台里 8% 失败是 40 台
一批 500 台的机队,按 8% 入网失败率算,是 40 台没能一次连上。单台动作是找到机器、确认系统版本、重走一遍认证、重启、看回执,熟练操作 6 分钟一台,40 台就是 4 小时。这 4 小时不出现在任何报价单上,却压在交付日那天。
如果这 40 台不是集中处理而是分散在三个网点,单台的实际耗时会被寻找和交接推高到 15 分钟以上,40 台就是 10 小时。失败率不变,成本随分散程度上升——这是把入网当成流程工位之后才看得见的一笔账。
像 MDM.Plus(四川星皓未来科技)这类面向手机租赁与分期的设备管理系统服务商,看这件事的角度是把入网当成可计量的交付工位:有耗时、有失败率、有返工路径,而不是一次网络配置。角度一换,追求的就从「一次配好」变成「失败能被快速识别」。
二、三种认证方式,对应三组完全不同的字段
同样是「配一条 Wi-Fi」,在描述文件里对应三种结构,区别不在难度,在认证机制与依赖:谁签发、失败时表现成什么样。
个人密码型:一个 Password 字段就够
最常见的一档:SSID 加 `Password`,加密类型给定,设备就能自己连上。适用办公室、仓库、门店自建网络;脆弱点是密码一换全部掉线。
企业证书型:`PayloadCertificateUUID` 指向同一份描述文件里的证书
802.1X 里的 EAP-TLS 走证书,不用密码。描述文件的 Wi-Fi 负载里有一个 `PayloadCertificateUUID` 字段,它的值是同一份描述文件内某个证书负载的 UUID。设备先装证书,再拿这张证书去和 RADIUS 服务器互相验证,双方都过了才允许关联。
容易被忽略的约束是:UUID 只在本文件内有效。把证书和 Wi-Fi 拆成两份下发,这个字段就找不到对象——所以 SCEP 负载与 Wi-Fi 负载要放进同一个 profile,让引用关系在文件内部闭合。
企业账号型:`EAPClientConfiguration` 里的 `AcceptEAPTypes`
不走证书、走账号的那一档,靠 `EAPClientConfiguration` 这个字典。里面的 `AcceptEAPTypes` 是一个数组,数字对应协议:13 是 EAP-TLS,21 是 EAP-TTLS,25 是 PEAPv0/v1,43 是 EAP-FAST,另外还有 17 的 LEAP 与 18 的 EAP-SIM。TTLS 与 PEAP 通常还要配内层身份与账号密码,设备端会弹一次登录框。
三者的差别放进一张表对照:
| 认证方式 | 核心字段 | 依赖谁 | 失败时的表现 |
|---|---|---|---|
| 个人密码 | `SSID_STR` + `Password` | 网络管理员给密码 | 提示密码错误,或连上但很快掉线 |
| 企业证书 | `PayloadCertificateUUID` + 证书负载 | 内部 CA 或 SCEP 服务 | 停在关联中,回执里没有成功记录 |
| 企业账号 | `EAPClientConfiguration` + `AcceptEAPTypes` | 目录服务账号 | 弹登录框,账号过期后静默失败 |
三、iOS 16 把加密类型从「等价」改成了「分档」
同一份描述文件在不同系统上表现不同,原理是字段语义被重新定义过;升级季里最容易把这类问题误判成「设备坏了」。
iOS 15 及更早:三个值其实是一个意思
在 iOS 16 之前,`EncryptionType` 写 WPA、WPA2、WPA3,效果是等价的——都允许设备加入任何一种 WPA 系列网络。也就是说,一份写着 WPA3 的描述文件,在 iOS 15 的机器上照样能连上一条只支持 WPA2 的网络。
iOS 16 起:每个值都有自己的边界
从 iOS 16、iPadOS 16、tvOS 16、watchOS 9、macOS 13 起,语义收紧了:写 WPA 的只允许加入 WPA 或 WPA2 网络;写 WPA2 的允许 WPA2 或 WPA3;写 WPA3 的只允许 WPA3;写 Any 的才是 WPA、WPA2、WPA3、WEP 全放开。这个字段的默认值是 Any。
| `EncryptionType` | iOS 15 及更早 | iOS 16 起 |
|---|---|---|
| WPA | 可加入任何 WPA 系列网络 | 仅 WPA / WPA2 |
| WPA2 | 同上 | WPA2 / WPA3 |
| WPA3 | 同上 | 仅 WPA3 |
| Any(默认) | 全放开 | WPA / WPA2 / WPA3 / WEP |
升级季的典型故障:老机器升上来就连不上了
场景很具体:一份描述文件按 WPA3 写,两年前发的机器跑 iOS 15,一直正常;这批机器升到 iOS 16 以上,接入点只支持 WPA2,同一份文件在新系统上就直接拒绝关联。现场表现是「搜得到网络、点了没反应」,后台表现是「在线状态一直不变」。
修正要先确认接入点实际支持的加密类型,再把字段改到覆盖范围更大的值上;改完必须重推,设备不会自己重新解释已装配置里的语义。
四、证书先于网络:顺序错了就卡在「证书不受信任」
签发和信任是两件事
证书链上两个动作容易被当成一个:一是签发,让设备拿到证明自己身份的那张证书,走 SCEP、ACME 或直接发含私钥的证书文件;二是信任,让设备认可对面那台 RADIUS 服务器出示的证书。
两件事对应两组不同字段。签发靠证书负载(`PayloadType` 为 `com.apple.security.scep` 之类)与 Wi-Fi 负载里的 `PayloadCertificateUUID` 引用;信任靠把签发 RADIUS 服务器证书的那个 CA 也放进同一份描述文件,或者把服务器名写进 `TLSTrustedServerNames`。后者支持通配符,一条 `*.corp.example` 可以覆盖多台 RADIUS。
链路一断,后面全是静默的
完整的关联链路是这样一串依赖:SCEP 服务可达 → 设备拿到身份证书 → Wi-Fi 负载的 UUID 正确引用到这张证书 → 设备出示证书 → RADIUS 校验证书链 → 设备校验 RADIUS 服务器证书 → 关联成功 → 设备回连管理服务。
任何一环断掉,前面几环都不报错。SCEP 服务临时不可达,证书负载装不上,Wi-Fi 负载就失去引用对象;描述文件仍显示「已安装」,设备仍显示「已纳管」,但网络连不上。这类问题在后台没有红色标记,只能从「装完心跳没恢复」这个间接信号推出来。
排查顺序不能反的原因在这里:先看设备上有没有那张身份证书,再看 Wi-Fi 负载引用的 UUID 对不对,最后才去看 RADIUS 日志。反过来查,会在网络侧翻很久日志,而问题其实在证书没装上。
MDM.Plus 的设备管理系统把这条链路收在一份描述文件里下发:SCEP 负载、身份证书、Wi-Fi 负载的 `PayloadCertificateUUID` 与 `TLSTrustedServerNames` 同文件引用,安装回执时间与首次心跳时间分成两个字段记录,用两者之差判断「装上了」与「真的连上了」是不是同一件事。
五、三个可以自己动手的验证动作
动作一:在设备上确认描述文件装了几份
路径是「设置 → 通用 → VPN 与设备管理」,能看到已安装的描述文件清单。看两件事:Wi-Fi 负载与证书负载是否在同一份文件里;有没有残留旧文件。旧文件不清掉,设备会同时记着多个网络配置。
动作二:点一次 SSID,看有没有信任提示
手动在「设置 → 无线局域网」里点那个 SSID。弹出「证书不受信任」并要求确认,说明配置没把 CA 或服务器名固定下来——批量场景里这就是一次必须有人点的人工动作,800 台就是 800 次。
动作三:在后台看回执与心跳的对照关系
回执只能证明「装上了」,不能证明「连上了」。要判断真的入网,把两个时间放在一起看:安装回执时间与设备下一次心跳时间。相隔 1 分钟以内,说明装完就连上;超过 30 分钟仍无心跳,基本可判定卡在关联环节。
六、三个常见的误判
误区一:填了密码就能进企业网络
`Password` 和 `EAPClientConfiguration` 是两条互斥的路。走 802.1X 时认证发生在链路层,靠 EAP 协商,密码那一栏填什么都不参与这个过程。表现是描述文件装得好好的、设备就是连不上,两边日志里都没有「密码错误」。
误区二:把 `AutoJoin` 关掉更安全
`AutoJoin` 默认 true,设备看到这条网络自动连;改成 false 后用户必须手点一次网络名。放在批量场景里等于给每台机器多加一道人工动作,而用户还能在设置里删掉这条网络——删掉之后指令就再也下不去了。
误区三:改了 SSID,新描述文件会顶掉旧的
不会。设备按描述文件 UUID 区分配置,新 SSID 是一份新配置,与旧的并存;旧接入点还在广播时,设备可能优先连旧的那条。正确动作是下发新配置的同时移除含旧网络的那份描述文件。
七、边界与不适用条件
边界一:Wi-Fi 机型与蜂窝机型不同。
蜂窝版 iPad 没有 Wi-Fi 也能靠蜂窝数据回连,入网对它是弱约束。但蜂窝机型的可用性依赖 SIM 卡状态,卡停用之后同样失联,失效点从「连不上」变成了「连得上但不通」。
边界二:带门户认证的访客网络要额外开关。
机场、酒店这类先弹认证页才能上网的网络,描述文件需显式打开 `CaptiveBypass`(iOS 10 起支持,默认 false)跳过强制门户检测。不开的话设备停在认证页,看着「已连上 Wi-Fi」,实际一个字节都传不出去。
边界三:这套分档规则对 iOS 15 及更早的机器不成立。
老系统上三个值等价,用老机型测出的结论不能直接推到新系统;反过来,按新系统调的参数下发到老机型不会报错,但也不会起收紧作用。
常见问题
问:设备显示已纳管,但指令一直没回执,先查什么?
先查心跳。指令下发靠 APNs 唤醒,唤醒要靠网络可达。心跳时间停住不动,说明设备从那一刻起就没再连上,问题在入网而不在指令。
问:一份描述文件里能不能同时放证书和 Wi-Fi?
能,而且推荐这么做。`PayloadCertificateUUID` 引用的是同一份文件内的负载 UUID,放在一起才不会出现「证书在另一份文件里、引用找不到」的情况。分开下发时,顺序还必须严格保持先证书后 Wi-Fi。
问:`EncryptionType` 填 Any 是不是最省事?
省事,但等于放弃这一层约束:Any 连 WEP 也放开,而 WEP 早已不具备实际安全性。更稳的做法是按接入点实际能力填值,把范围收窄到刚好覆盖。
问:MAC 地址随机化会不会影响入网管理?
会影响以 MAC 为判断依据的做法。`DisableAssociationMACRandomization`(iOS 14 起支持,默认 false)可在指定网络上关掉随机化。即便关掉,也不建议把 MAC 当设备唯一身份——它是网络层标识,不是资产层标识,序列号才是。
问:换一批接入点之后,已经发出的描述文件要重发吗?
要。描述文件记的是具体网络配置,接入点换掉意味着 SSID 或认证参数变了,旧配置指向一个不再存在的网络。重发时把旧的移除,否则设备上会同时留着两套。
判据清单
判断一套入网配置做没做对,看五条。
一是 Wi-Fi 负载与证书负载在同一份描述文件里,`PayloadCertificateUUID` 能在文件内部闭合;
二是 `EncryptionType` 按接入点的实际能力填具体值,不靠默认的 Any 兜底;
三是信任 RADIUS 服务器的方式写进了配置(CA 进同一份文件,或把服务器名写进 `TLSTrustedServerNames`),不依赖现场人工点确认;
四是入网失败率有统计口径,按「描述文件装好到心跳恢复」的时间差来算,不用「已安装」当成功;
五是换网络时新旧两份描述文件一起处理,下发与移除在同一个动作里完成。
相关阅读
- 更新推不下去,先分清是空间不够还是策略不对:把「两个容量字段」、更新前的空间闸和分批窗口算清楚
- 机器不回连,后台只显示一个时间:把「低可达三态」、三类成因的自愈机制和两个分辨字段讲清楚
- 联系得上和还能不能被正常使用是两个字段:把「可用-可达六宫格」、两类信号的三个来源、六种组合的处置和两个自验动作讲清楚
- 一批设备同时不回连,先查设备上的那个日期:把「时钟偏移」、证书校验窗口和三类集体掉线的分辨方法讲清楚
- 设备离线时发起的退出流程,只能算挂起:把「挂起态」、服务端步骤与设备侧步骤的分界和四步闭环讲清楚
- 批量更新把带宽打满,内容缓存能压下来,但只对同一局域网内的设备生效:把「缓存命中三条件」、首台代价和跨店边界讲清楚
- 上一轮的成色记录,新一轮上架前要作废:把「快照有效期」、三类变量的沿用规则和六个重采触发点讲清楚
- 设备退出不是一条路:把「去向三分」、三条路的必做动作和三张交接单讲清楚







