On Thu, Jul 22, 2010 at 5:46 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > Le jeudi 22 juillet 2010 à 17:10 +0800, Changli Gao a écrit : > >> >> I think maybe REDIRECT is enough. If the public port is one of the >> real ports, you need to append "random" option to iptables target >> REDIRECT. If not, "REDIRECT --to-ports 1000-1007" is good enough, and >> the destination port will be selected in the round-robin manner. >> > > Yes, on 2.6.32, no RPS, so undocumented --random option is probably the > best we can offer. (random option was added in 2.6.22) > > iptables -t nat -A PREROUTING -p tcp --dport 1234 -j REDIRECT --random --to-port 1000-1007 > > Here is a patch to add "random" help to REDIRECT iptables target > FYI: the random option is documented in the manual page of iptables. REDIRECT This target is only valid in the nat table, in the PREROUTING and OUT- PUT chains, and user-defined chains which are only called from those chains. It redirects the packet to the machine itself by changing the destination IP to the primary address of the incoming interface (locally-generated packets are mapped to the 127.0.0.1 address). --to-ports port[-port] This specifies a destination port or range of ports to use: without this, the destination port is never altered. This is only valid if the rule also specifies -p tcp or -p udp. --random If option --random is used then port mapping will be randomized (kernel >= 2.6.22). -- Regards, Changli Gao(xiaosuo@xxxxxxxxx) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html