0

負荷分散に iptable を使用しようとしています。私が設定したルールは次のとおりです。ここでは、IP アドレス 10.xx4 でサーバーに送信されるリクエストを、サーバーの内部 IP 10.xx1: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 つのパケットが各 IP アドレスに正しくルーティングされます。5 番目のパケットはルーティングされず、ドロップされています。

この問題をデバッグするにはどうすればよいですか。--packet に与えられた値をインクリメントする必要がありますか? 正しいルールは何ですか?

4

1 に答える 1

2

各コマンド ラインで --packet を 0 から n-1 にインクリメントする必要があります。ここで、n は --every のパラメーターとして指定された数値です。

于 2013-10-30T00:12:18.950 に答える