如何将UDP Wake-on-Lan端口转发到使用IPTABLES广播IP?

我试图为家中的一些局域网计算机设置Wake-on-Lan,似乎我需要打开一个UDP端口(最常见的是7或9),并将所有请求转发给广播IP我的情况是192.168.1.255。

问题是我的路由器不允许我转发任何东西到广播IP。

我可以通过telnet连接到我的路由器,似乎这个路由器使用IPTABLES,但我不知道多less或如何是。

有人可以帮助我与正确的iptables命令做我想要的? 而且,如果它不起作用,把所有东西放回去的命令也会很好。

最后一件事,重新启动路由器将保持那些手动添加iptables条目或我需要每次运行它们?

# iptables -A PREROUTING -t nat -p udp --dport 6 -d <original destination> -j DNAT --to-destination 192.168.1.255 

这将需要一个WOL数据包的目的地和重新路由到您的networking广播。

另外,如果您使用的是Red Hat衍生系统,则需要使用保存iptables条目

 # service iptables save 

使用工具socat有一个很好的解决scheme,在这个StackExchange主题上提到:

将UDP单播数据包转换为广播?

我不是这方面的专家,所以我不能详细说明,我只能引用。 这个解决scheme对我很好。

红Tux ( https://serverfault.com/a/267343/323199 )提到的解决scheme不起作用, iptables不是广播一个数据包。 这在我上面提到的StackExchange主题中有解释。

添加这样的东西:

 iptables -A IN_FILTER -p udp -d 10.11.11.255 -j ACCEPT -m comment --comment "Depicus WoL" 

http://linux.die.net/man/8/iptables会给你的语&#x6CD5;

应该在重新启动后仍然存在,但直到尝试之后才能知道。