我正在尝试为家里的一些LAN计算机设置Wake,而且我似乎需要打开一个UDP端口(7或9是最常见的),并将所有请求转发到广播IP,在我的例子中是192.168.1.255。
问题是我的路由器不允许我将任何东西转发到广播IP。
我可以通过telnet连接到我的路由器,这个路由器似乎使用IPTABLES,但我不知道它或如何是。
有人能帮我使用适当的iptable命令来做我想做的吗?另外,如果它不能工作,那么将所有东西放回原处的命令也会很好。
最后一件事,重新启动路由器将保留那些手动添加的iptables条目,还是每次我都需要运行它们?
发布于 2011-05-07 17:12:07
# iptables -A PREROUTING -t nat -p udp --dport 6 -d <original destination> -j DNAT --to-destination 192.168.1.255
这将采取一个WOL包的目的地,并重新路由到您的网络广播。
此外,如果您使用的是Red派生系统,则需要使用
# service iptables save
发布于 2015-11-19 17:57:31
使用工具socat
有一个很好的解决方案,在这个StackExchange主题中提到:
我根本不是这个话题的专家,所以我不能详细说明,我只能引用。这个解决方案对我很有用。
红色图克斯 (https://serverfault.com/a/267343/323199)提到的解决方案不起作用,iptables
不是用来广播数据包的。我在上面提到的StackExchange主题中解释了这一点。
发布于 2020-02-27 16:31:40
一些路由器(cisco)能够转发定向UDP广播。
Linux内核从大约5.0版本就能够做到这一点。您只需要为特定的网络接口指定一个参数:
sudo sysctl -w net.ipv4.conf.eth1.bc_forwarding=1
(注: net.ipv4.conf.all.bc_forwarding的选项似乎行不通)
您可以保存此参数int /etc/sysctl.conf
https://serverfault.com/questions/198996
复制相似问题