How to Tee udp packets onto a different host
Solution 1:
http://www.bjou.de/blog/2008/05/howto-copyteeclone-network-traffic-using-iptables/
or 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
Solution 2:
We're using a 3.2.0 kernel on an Ubuntu 12.04, and this iptables rule did the trick (no need to patch!):
sudo iptables -t mangle -A PREROUTING -p udp --dport 60000 -j TEE --gateway 172.16.3.12
This will copy the incoming packets to UDP port 60000 to the IP set in --gateway
. Take in account that the gateway should be in the same network, if don't , the rule won't work unless you do something similar in the router between networks.
I wonder if there's a way to traverse this network flow to another network, maybe NATing, but we haven't tested it yet.