我遇到了这个第一个世界的问题——当我在上班时,一款视频游戏发布了,这是一个巨大的下载量,我希望它在我下班回家时已经准备好了。
我的想法是通过 SSH 进入它,然后我就可以完成任何需要做的事情。
问题是 - 我如何远程打开它?通常我会让它保持关闭状态(而不是睡眠状态)。我认为这叫做休眠,因为据我记得,通常 Windows 10 不会完全关闭?无论如何,我按下Shut down
按钮。
最简陋的设置是使用带有伺服器的树莓派,可能可以用继电器来完成,但老实说,我不想并且害怕这样做。
答案1
您无法通过 WAN 发送网络唤醒。使用更复杂的家用路由器,您可以设置对路由器的安全远程访问并从中发送 WOL。例如运行 dd-wrt/tomato 的路由器。
答案2
通过 IPv4 进行 WOL:
您可以通过 IPv4 中的 WAN 发送 WOL 魔术包,只需从路由器到计算机 IP 进行简单的端口转发即可。您只需选择一个端口,将此端口转发到您的计算机,然后将魔术包发送到您的公共 IP。
PS:仅当您的 ISP 未使用中央国家机关事务管理局。如果您的公共 IP 与路由器设置页面中显示的 WAN IP 不同,则表明您处于 CGNAT 中。通常,CGNAT 上的 WAN IP 将是 100.xxx.xxx.xxx 或 10.xxx.xxx.xxx 或 192.xxx.xxx.xxx 或 172.xxx.xxx.xxx。
要求:
- 您的计算机操作系统必须具有此功能,并且必须启用它(我知道 Windows 7 及更新版本都具有此功能)。
- 您的主板和 BIOS 必须具有此功能(几乎任何 MB 都有此功能)
- 您的计算机必须处于休眠或睡眠状态。如果您关闭它,网卡将没有电源,因此无法接收数据。
- 您需要将所需端口(通常为 UDP 7 或 9)从互联网路由器转发到计算机。这可以通过进入其配置页面来完成(通常您只需在浏览器地址栏中输入网关 IP)
- 最好为您的计算机在 LAN 内提供一个静态 IP,以便将数据包转发到正确的 IP。
- 您需要一种方法来将 UDP 数据包发送到您的 PC。有许多 Android 应用程序、一些 PC 免费软件甚至一些网站都可以做到这一点(例如:Depicus 局域网唤醒)
高级功能:您可以在几乎所有 WOL 软件/应用程序中定义网络掩码。如果您需要唤醒 LAN 中的多台计算机,则不必将端口转发到每台 PC。您只需将广播地址设置为 0.0.0.0,然后数据包将发送到您的整个 LAN,每台 PC 都会监听。别担心,您只会唤醒与您发送的 MAC 地址匹配的 PC。
通过 IPv6 进行 WOL:
到目前为止,我还没有找到任何能够成功通过 WAN 发送 IPv6 数据包的软件或应用程序,所以到目前为止,我猜测无法从 WAN 进行通过 IPv6 的 WOL,尽管它可以从 LAN 运行,并且许多支持 IPv6 的应用程序都可以正常使用。
附言:多年来我一直使用 IPv4 上的 WOL 从任何地方打开我的家用电脑。