IPtables 用于负载平衡,但一些数据包被丢弃

IPtables 用于负载平衡,但一些数据包被丢弃

我尝试使用它iptables来实现负载平衡。我设置的规则如下,其中我想将发送到我的服务器的 IP 地址的请求路由10.x.x.4到服务器的内部 IP 10.x.x.1:101010.x.x.2:1010并且10.x.x.3: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 个数据包被正确地路由到每个 IP 地址。第 5 个数据包没有被路由并且被丢弃。

我该如何调试这个问题?我应该增加传递给的值吗--packet?正确的规则应该是什么?

答案1

我从来没有尝试过,但是从文档中我确信你应该增加--packet

相关内容