标题说明了一切,但这是长版本:
我试图为我的家庭服务器设置一种方法,当客户端尝试访问它时,使用WakeOnLan自动打开。我的想法是路由器(OpenWRT 14.07,Barrier Breaker)监视我想要唤醒的主机的任何连接尝试,iptables
并且在它注册这样的事件的情况下它发送魔术包以唤醒主机。经过对SF的大量尝试和帮助后,我得到了iptables来为桥接设备和本地网络工作(见这里)。
不幸的是,我现在遇到的问题是,如果主机关闭,它不存在ARP条目,因此当本地客户端无法解析IP时(如果我已正确理解问题),它将不会发送任何数据包。对于从互联网访问的外部客户,它可以工作。
如果我理解正确,解决方案应该是创建静态ARP条目,以便路由器响应任何请求,然后客户端将发送其数据包。在此之后我尝试使用ip neigh add 192.168.1.20 lladdr 00:de:ad:be:ef:00 nud permanent dev br-lan
并运行arp
我看到服务器的条目,但它仍然无法正常工作。
我已经确认,当服务器开启或最近关闭时(几分钟前),客户端会发送记录的数据包iptables
。
所以问题是:
1)我做错了什么?
2)如何实现静态/持久ARP表项?
ip-full
安装包以使这些命令起作用。