过夜时 LAN 唤醒超时

过夜时 LAN 唤醒超时

我在 Windows 10 PC 和 Raspberry Pi 之间建立了直接以太网连接。

我已将 Pi 设置为服务器,可以跳转到该服务器并运行一个脚本,该脚本将运行 Etherwake(一个命令行局域网唤醒程序),通过关闭计算机并让其静置一分钟来测试它,它工作正常,然后我运行命令,计算机就会打开。

但当我把它放了一夜后,它就不再起作用了。运行脚本没有任何效果。

据我所知,很多人通过修改路由器上的某种 ARP 设置来解决这个问题,但在这种情况下没有路由器——同样,它是两台计算机之间运行的直接以太网电缆。

答案1

由于没有电源的目标机器将不是回答 ARP 请求,很可能是 ARP 缓存超时 - 发送方无法解析 IP 地址,因此不发送任何内容。

因此,WoL 魔术包通常以广播形式发送。由于交换机的 MAC 表可能也会老化,因此单播 WoL 包实际上会以广播形式发送。

广播仅在本地发送,因此当你需要发送偏僻的WoL 您需要在目标路由器上使用定向广播或静态伪 ARP 条目。

定向广播通常需要明确启用,并且可能比较棘手,具体取决于设备。例如,192.168.0.254 => FF:FF:FF.FF:FF:FF 的静态 ARP 条目会将所有 IP 数据包作为本地以太网广播发送到该 IP,从而达到目的。当然,您只需要在需要将 WoL 定向到的每个子网上都有一个条目。

静态 ARP 技巧还可用于从互联网唤醒设备:为任何模糊的 UDP 端口设置到假 ARP IP 地址的端口转发,并将 WoL 数据包发送到路由器公共 IP 地址上的转发端口。

相关内容