按需唤醒局域网

按需唤醒局域网

我有一个小型家庭网络,其中的路由器能够运行 OpenWRT,是否有一些实用程序或防火墙规则可用于根据请求唤醒 LAN。我的想法是 - 如果我想访问我的媒体中心(例如使用 SSH 或 HTTP)并且它已暂停,是否可以捕获 ICMP 数据包(表示机器处于离线状态)并发送 WOL 数据包以唤醒机器并重新发送 SSH 或 HTTP 请求?谢谢

答案1

我也想做类似的事情,到目前为止,Apple“睡眠代理”是我能找到的唯一选项。“睡眠代理”内置于 Bonjour 中。OpenWRT 中曾尝试支持此功能,但我不知道进展如何。

以下是一些链接:

http://en.wikipedia.org/wiki/Sleep_Proxy_Service
http://support.apple.com/kb/HT3774

微软也抄袭了它:

http://www.networkworld.com/news/2010/061010-microsoft-sleep-proxy.html

但是 iptables QUEUE 的想法看起来很不错。如果你不深入研究 C 语言,可以尝试一下,这里有一些不错的 Python 绑定:

http://www.swende.se/index.php/2010/01/python-packet-play/

答案2

iptablesQUEUE目标允许使用以下用户空间程序处理数据包libnetfilter_queue.该程序可以解析数据包然后运行,ethtool以便将 WoL 数据包发送到适当的系统。

相关内容