2013-10-09 8 views
0

Я пытаюсь использовать iptable для балансировки нагрузки. Правило, которое я установил, следующее, в котором я хочу направлять запросы, поступающие на мой сервер с ipaddress 10.xx4, на внутренние ips сервера 10.xx1: 1010, 10.xx2: 1010 и 10.xx3: 1010IPtables, используемые для балансировки нагрузки

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-й пакет не маршрутизируется и его отбрасывают.

Как отладить эту проблему. Должен ли я увеличивать значение, заданное для -пакет? Каким должно быть правильное правило?

+3

Не вопрос для SO. Попробуйте [sf] или [unix.se] –

+1

@sm_view, [this] (http://stackoverflow.com/a/27397989/3903832) отвечает на ваш вопрос. – Yoel

ответ

2

Вы должны увеличивать -packet от 0 до n-1 в каждой командной строке. Где n - это число, заданное как параметр для каждого.

Смежные вопросы