Windows Pro 上的设备隧道?先查版本矩阵
已部署的配置文件并不能证明具备资格。排查隧道之前,请先对照版本矩阵、CSP 节点和登录前的前置条件。
配置文件已经下发到笔记本,VPN 设置页面也能看到它,但设备隧道在登录界面始终不连接。在 Windows Pro 上,这往往不是配置错误。原生设备隧道按版本授权,而登录后能正常工作的用户隧道只证明了另一种能力。排查证书之前,请先阅读资格要求。
症状在任何用户登录之前就已出现
用户隧道在登录后以用户上下文连接,所以在 Pro 上通常工作正常。设备隧道应当在任何用户登录之前,使用计算机证书和 IKEv2 建立计算机连接。这是生命周期中两个不同的阶段,而不是同一个配置文件的两种叫法。
在不符合资格的版本上,配置文件仍可下发并出现在列表中,但登录前的连接不会出现。登录后用户隧道可能工作得完美无缺,于是账户所有者在登录状态下做的每一项检查都显示部署正常。这个故障在已登录的会话内部根本看不见。
把配置文件开放给所有用户,只改变谁可以使用它,并不会把身份验证上下文从用户改为计算机,因此不可能把用户隧道变成设备隧道。区别在于身份验证上下文,而不在于配置文件的可见性。
要读矩阵,不能只看 CSP 节点
Microsoft 的 Windows 11 功能矩阵 列出了 Enterprise 和 Education 可用的原生 Always On VPN 设备隧道。VPNv2 配置服务提供程序另外记录了一个 DeviceTunnel 节点,其适用范围包含 Pro,这句话常被引用为功能可用的证据。配置接口和功能授权回答的是不同问题:一个说某项设置可以被表达,另一个说该版本有权使用这项能力。
请确认实际生效的版本和内部版本号,不要轻信采购记录。托管激活、正在进行的升级或重新制作的镜像,都可能让计算机停留在与资产清单不符的版本上:
winver
DISM /online /get-currentedition
Get-ComputerInfo | Select-Object WindowsProductName, WindowsEditionId, OsBuildNumber如果输出显示 Pro,那么原生设备隧道不在该计算机的文档化功能集内。这个结论不需要修改配置文件,改配置文件也解决不了。在改动其他任何东西之前,先把这一发现记录下来。
功能开关背后的四项前置条件
版本是闸门,其余要求解释了为什么符合版本的计算机仍然失败。请按顺序检查,因为每一项都可能造成同样无声的结果。跳过一行,就会浪费在下面几行上投入的精力。版本排在第一位是有原因的。
| Prerequisite | How to verify | Common failure |
|---|---|---|
| Edition and build | DISM /online /get-currentedition | Pro image with an Enterprise asset record |
| Join state | Domain membership in system information | Microsoft Entra join treated as domain join |
| Machine certificate | Certificate store in the local machine context | Certificate issued to the user store |
| Profile context | Provisioned through the machine channel | Delivered as a user tunnel profile |
证书检查是大家最容易跳过的一项。私钥必须存在于计算机存储中,并且在登录前就能被系统上下文使用,这与用户在证书对话框中看到的存储并不是同一个:
Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.HasPrivateKey } | Select-Object Subject, NotAfter在用户存储中看起来正确的证书,可能完全不在计算机存储中。设备隧道会在登录界面出现之前就认证失败,重新导入配置文件也改变不了这一点。要检查服务使用的存储,而不是用户看到的存储。
以 SYSTEM 身份运行的计划任务并不是这项功能
流传着一种变通做法:用 SYSTEM 身份运行的计划任务启动 VPN 配置文件,让隧道在启动后不久出现。它不是原生设备隧道。任务引擎在不同的时点启动,连接是由服务账户启动的用户模式配置文件,其生命周期与必须存在于登录界面的计算机认证隧道并不相符。
它可能通过粗略测试,因为等有人登录检查时隧道已经建立。这种成功衡量的是启动与任务之间的延迟,而不是登录前的连通性,并且在本该由该功能覆盖的时间窗口里让计算机没有隧道。
应把这种变通做法视为生产环境不受支持。如果某项设计依赖它,需求很可能是登录前连接,这就又回到版本资格的问题上。
先确定需求,再选择技术
把需求写成一句话:设备必须在任何用户登录之前访问指定资源,或者用户需要在登录后访问。如果后者成立,Pro 上的 Always On 用户隧道就是受支持的设计,设备隧道则是不必要的复杂性。
如果前者成立,版本就是硬性闸门。请选择符合条件的版本,或组织支持且有文档记录的登录前架构,并在围绕计算机无法运行的能力构建配置文件和证书之前,先规划好许可证变更。
把版本、加入状态、证书位置和预配通道记入部署笔记。这样下一位工程师几分钟内就能确认资格,而不必在一台本来就不会连接的计算机上重复同样的配置文件排错。