iptables的udp端口转发

我正在使用最新的debian relese,我需要做一些端口转发,但我不知道如何。我有2个stream源来自我的服务器在同一个udp端口从2个不同的IP-S

192.168.1.2:1003 via udp to 192.168.1.4 (server) 192.168.1.3:1003 via udp to 192.168.1.4 (server) 

我的问题是:如何转发此端口1003从1.2到另一个端口1004例如?

您需要使用PREROUTING链转发端口:

 iptables -t nat -A PREROUTING -p udp -i eth0 -d 192.168.1.2 --dport 1003 -j DNAT --to-destination 192.168.1.2:1004 

顺便说一句,似乎filter直接发生在目标主机上,所以你可以在这种情况下使用REDIRECT

 iptables -t nat -A PREROUTING -i eth0 -d 192.168.1.2 -p udp --dport 1003 -j REDIRECT --to-ports 1004 

在这两种情况下,不要忘记在NAT(假设已经允许UDP/1003 )之后允许端口UDP/1004上的stream量:

 iptables -A FORWARD -i eth0 -p udp -d 192.168.1.2 --dport 1004 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT