安装程序停在 27850,连接以 442 被拒绝,另一个配置文件返回 651。单看编号像是三个互不相关的故障,常见的反应是把客户端重装三次。但它们出自同一个子系统:虚拟网卡以及围绕它的筛选器栈。错误编号说明哪一层失败,而这决定了第一项检查。没读编号就先重装,通常会重现同一个故障。

把编号对应到层

每个错误出现在不同的位置,所以即使可见症状是同样的连接被拒,第一项检查也不同。三类覆盖所有情况:安装程序、网卡,以及网卡下面的端口。下表把每个编号放在它所需的检查旁边。

ErrorWhen it appearsFirst checkUsual cause
27850During installFilter count and security suiteStack at the filter limit, or a suite blocking the driver
442On connectAdapter state and display nameDisabled adapter, ICS holding it, malformed CVirtA name
651On connectWAN miniport and third-party driversMiniport failed to start, bridging driver attached

如果错误在选择任何配置文件之前出现,它属于安装程序一类。如果它出现在客户端试图启用网卡的时候,属于网卡一类。如果网卡可见但端口始终不开,则属于微型端口一类。改动任何东西之前先把编号记下来。三种修复触及栈的不同部分,针对错误类别的改动会让下一次尝试更难解读。

筛选器栈已满,或者安全套件拦截了驱动程序

安装客户端会在网卡链中注册一个小型筛选器组件。Windows 对这类组件能绑定多少个有硬性上限,一旦存在杀毒软件、虚拟化网桥和抓包驱动,默认值留下的余量就很小。此时即使 VPN 安装包本身没问题,安装也会以 27850 失败。安装程序分辨不出栈是挤满的还是损坏的。

读出当前值,调高它,然后重启再重试。在栈重建完成之前,新的筛选器无法绑定:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network" /v MaxNumFilters
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network" /v MaxNumFilters /t REG_DWORD /d 14 /f

另一个原因是安全套件在没有可见提示的情况下拦截驱动安装。它的自我保护功能可能阻止筛选器注册,于是安装程序只报告一个笼统的组件失败。查看该套件自己的日志;如果确实是自我保护在拦,只在安装窗口内关掉它,随后立刻恢复。如果计数已经调高、也没有套件在拦截,就去找 上一个 VPN 产品残留的筛选器驱动。没有对应服务的旧筛选器仍占着一个位置,会让新安装失败。

网卡在,但一直起不来

错误 442 表示虚拟网卡存在,客户端却无法把它启用。第一项检查是显示隐藏设备的设备管理器:被禁用的网卡、带警告标记的网卡和完全不存在的网卡在客户端里看起来一样,但需要的修复不同。Internet Connection Sharing 经常占用它。如果该服务占住了网卡,先停掉服务再重试,而不是直接改注册表。残留的共享配置在重启后可能再次占用,所以记下修复是否经得起重启。

重装可能留下一个畸形的显示名称,让网卡无法管理。这个值应当是纯文本,而不是未解析的安装令牌:

Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\CVirtA" -Name DisplayName
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\CVirtA" -Name DisplayName -Value "Cisco Systems VPN Adapter for 64-bit Windows"

使用你的客户端所期望的显示名称,然后重启让网卡重新枚举。只改值不重启,通常会让旧状态留在原地,下一次连接仍然返回 442。

下面的端口始终不开

连接管理器打不开 WAN 微型端口时,会报告错误 651。客户端里网卡看着正常,可它下面的端口始终到不了已启动状态。在重装任何东西之前,先列出微型端口及其状态:

Get-PnpDevice -Class Net | Where-Object { $_.FriendlyName -like "*WAN Miniport*" } | Select-Object Status, FriendlyName

状态为错误的微型端口就是直接线索。从设备管理器重装它会重建端口,这也是为什么在客户端重装无效时这种修复有效。绑定在物理网卡上的第三方驱动是另一个常见原因。VirtualBox 的桥接网络驱动、OpenVPN 残留的 TAP 驱动,或者抓包筛选器,都可能先占住端口。驱动已经绑定时,安装时取消勾选并不够;必须从网卡属性里移除,或从驱动库中卸载。

在 VPN 连接上关闭 IPv6 在部分版本上解决了这个错误,但请把它当作试验而不是长期方案。如果只有关闭 IPv6 才能连上,底层微型端口或驱动仍然是问题所在。

只改一层,并留下证据

保存你改动的注册表值,记录改动前后的网卡与筛选器列表,并在每次尝试之间重启。这里的每一类修复都包含重启,因为网卡栈在启动时构建,重启服务并不会重建它。

只有旧的网卡、筛选器和微型端口都消失之后,才重装客户端。在损坏的栈上装新客户端,正是让本可修复的 27850 变成一台有两个半注册网卡、却没有明确错误的机器的原因。如果同一个错误两次通过分层检查,就停下来上报。此时有用的下一步是连同厂商安装日志一起做一次干净的网络栈复核,而不是再把同一个重装做一遍。

相关文章