我有一台装有 Win 10 Pro 的 CI329 Zotac PC,用于偶尔的 RDP 访问。
它被配置为在一段时间不活动后自动进入睡眠状态(简单待机,无休眠)。当它处于睡眠状态时,试探性 RDP 访问不会唤醒它。
在 BIOS 中启用了局域网唤醒,在设备管理器的 Wifi 卡设置中,我已选中“允许此设备从睡眠状态唤醒 PC”选项。但是 PC 仍然没有被 RDP 访问唤醒。
然后我取消选中默认选中的“仅通过魔术包唤醒”。现在好了,RDP 连接唤醒了 PC。问题是 PC 不再自行进入睡眠状态。当我手动让它进入睡眠状态时,它总是自己醒来(我的意思是没有为此做任何事情)。
这是一款迷你无风扇 PC,空闲时不会消耗太多电量,但我想要一个更令人满意的解决方案:如何在使用 RDP 访问它时唤醒它,而不禁用自动“进入睡眠”行为?
必须可以从 Internet 进行 RDP 访问(以及唤醒)(对于 RDP,我已经在盒子上打开了端口 3389)。
如果您的 RDP 连接可以唤醒计算机,那么其他人的也可以。允许来自整个 Internet 的端口 3389 的入站 RDP 意味着您每分钟都会收到不需要的 RDP 连接——测试您的系统是否存在常见的密码和/或以前在 Windows RDP 服务器代码中大量存在的未修补漏洞。
另一个部分相关的问题:
禁用“仅允许管理站...”选项会激活“模式唤醒”功能,其中操作系统将网卡配置为识别特定的数据包标头,例如 ARP 查询或 TCP SYN 握手数据包。这本身并不能阻止计算机进入睡眠状态——但问题是它会在任何连接尝试时唤醒计算机,而不仅限于 RDP。
不幸的是,Windows 没有提供任何关于它将启用什么模式的配置——要么全有,要么全无。因此,如果 LAN 中的另一台计算机尝试通过 SMB 或 SSH 或 HTTP 访问它,您的系统将被唤醒。(例如,我的 Android 文件管理器会自动尝试连接到配置的网络服务器,以便它可以显示绿色/红色“在线”指示器...)
同时,Linux 确实允许自定义唤醒模式,但是当进行 ARP 查询时,系统仍然不知道它将接收什么样的连接,也不知道来自谁——这可能会通过以太网 NIC 支持来改进“ARP 卸载”,但我不知道这是否是您硬件上的问题。
在设备管理器的 Wifi 卡设置中,我终于重新检查了“仅允许通过魔术包唤醒”,就像最初一样。因此,PC 通常会进入睡眠状态,并且会更长时间地永久唤醒。
我已经在手机上安装了 Wake-on-Lan 应用程序,并且在路由器上我已将端口 xxxxx 重定向到 PC 上的端口 9。所以现在,我可以从互联网上使用路由器的公共 IP 地址、端口 xxxxx 和 PC 的 MAC 地址来唤醒 PC。实际上,我什至使用指向公共地址的个人域名,它有效。在 WoL 应用程序中,我还必须将子网掩码设置为 255.255.255.255,因为它不适用于默认的 255.255.255.0(在将 WoL 应用程序配置为从 LAN 本身而不是从 Internet 运行时进行了调整) .