我有一个Windows 10 PC和Raspberry Pi之间的直接以太网连接。
我把Pi设置为一个服务器,我可以跳上去运行一个脚本,运行Etherwake命令行唤醒程序(Wake on lan program),当我testing它时closures我的电脑并让它坐下来分钟,然后我运行命令和电脑打开。
但是,当我让它坐过夜,它不再工作了。 运行脚本什么也不做。
从我读到的东西,很多人通过在路由器上搞定一些ARP设置来解决这个问题,但是在这种情况下没有路由器 – 它是一个在两台计算机之间运行的直接以太网电缆。
由于未通电的目标机器不会回答ARP请求,因此ARPcaching可能会超时 – 发件人无法parsingIP地址,也不会发送任何内容。
正因为如此,魔兽世界魔术包通常作为广播发送。 由于交换机的MAC表可能会老化,单播的WoL数据包无论如何都将作为广播被有效地发送。
广播只能在本地发送,因此当您需要发送远程 WoL时,您需要使用定向广播或目标路由器上的静态伪造ARP条目。
定向广播通常需要明确的启用,可能会很棘手,取决于设备。 例如192.168.0.254 => FF:FF:FF.FF:FF:FF的静态ARP条目将把所有IP数据包作为本地以太网广播发送到该IP。 当然,你只需要每个子网上的一个条目来指挥WoL。
静态ARP技巧也可以用来从互联网唤醒设备:将任何模糊的UDP端口转发到伪造的ARP IP地址,并将WoL包发送到路由器公共IP地址的转发端口。