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