如何将 udp 数据包发送到不同的主机

use*_*925 7 linux iptables centos

我想将传入的 UDP 数据包克隆到不同的主机上,我在这里找到了一种方法, 但我无法在 centos 5.3 上构建 xtables-addons 。

有没有其他方法可以发送更新包?

chx*_*chx 5

http://www.bjou.de/blog/2008/05/howto-copyteeclone-network-traffic-using-iptables/

http://www.netfilter.org/projects/patch-o-matic/pom-external.html

iptables -A PREROUTING -t mangle -p udp --dport 7 -j ROUTE --gw 1.2.3.4 --tee
iptables -A POSTROUTING -t mangle -p udp --sport 7 -j ROUTE --gw 1.2.3.4 --tee
Run Code Online (Sandbox Code Playgroud)


小智 5

我们在 Ubuntu 12.04 上使用 3.2.0 内核,这个 iptables 规则就成功了(无需修补!):

sudo iptables -t mangle -A PREROUTING  -p udp --dport 60000 -j TEE --gateway 172.16.3.12
Run Code Online (Sandbox Code Playgroud)

这会将传入的数据包复制到 UDP 端口 60000 到 中设置的 IP --gateway。请考虑到网关应该位于同一网络中,如果不是,则规则将不起作用,除非您在网络之间的路由器中执行类似的操作。

我想知道是否有一种方法可以将该网络流遍历到另一个网络,也许是 NAT,但我们还没有测试过。