我正在一个项目,我必须DNAT一些广播数据包到远程机器的IP地址。 到目前为止,我已经知道IP表只能使用DNAT单播数据包,而不能使用DNAT广播数据包。 我正在寻找一种可以在Ubuntu或Centos上侦听这些广播数据包的软件,然后将它们转换为单播数据包,以便将它们发送到不同networking上的远程机器。 我知道有几个像“多端口转发”和“AUTAPF”的选项,但我正在寻找一个类似的Linux实用工具。
基本devise
如果您的目标是在目的地再次接收广播包,则可以使用L2 VPN。 它不是DNAT,但将原始数据包隧道到隧道所在的位置,然后从最终目的地的隧道进行划分。
作为AUTAPF的替代品,可以使用socat 。
$ sudo socat UDP4-RECVFROM:139,broadcast,fork UDP4-SENDTO:10.1.1.255:139
哪里10.1.1.255 – 广播转发目标
基于[ 与Matt Ryall的socat的UDP端口转发 ]和[ IP与Socat的多播 ]
只是妖魔化它。
或者portfwd
udp.cfg
user nobody group nobody udp /* UDP packets */ { /* * All packets on port 10000 are forwarded to 127.0.0.1:11000. */ 10000 { => 127.0.0.1:11000 } }