用于负载平衡的IPtables

时间:2013-10-09 19:08:42

标签: iptables

我正在尝试使用iptable进行负载平衡。 我设置的规则如下,其中我想将来自我的服务器的请求与ipaddress 10.xx4路由到服务器10.xx1的内部ips:1010,10.xx2:1010和10.xx3:1010

iptables -t nat -A PREROUTING -p udp -d 10.x.x.4 --dport 1010 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j DNAT --to-destination 10.x.x.1:1010

iptables -t nat -A PREROUTING -p udp -d 10.x.x.4 --dport 1010 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j DNAT --to-destination 10.x.x.2:1010

iptables -t nat -A PREROUTING -p udp -d 10.x.x.4 --dport 1010 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j DNAT --to-destination 10.x.x.3:1010

当我执行时,前4个数据包被正确路由到每个ipaddress。 第5个数据包不会被路由并且被丢弃。

如何调试此问题。我应该增加到--packet的值吗?什么应该是正确的规则?

1 个答案:

答案 0 :(得分:2)

您应该在每个命令行中将--packet从0增加到n-1。其中n是作为--every的参数给出的数字。