У меня есть сервер centos 7 с 5 IPS, например с 192.168.0.2/29 на 192.168.0.5/29. Я хочу изменить исходящий трафик методом roundrobin, потому что мне нужно использовать все IPS для мой проект. поэтому я пытаюсь настроить iptables с помощью команды
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/29 -m statistic --mode nth --every 4 --packet 0 -p tcp --dport 25 -j SNAT --to-source 192.168.0.3
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/29 -m statistic --mode nth --every 3 --packet 0 -p tcp --dport 25 -j SNAT --to-source 192.168.0.2
, чтобы она работала правильно. его восходящий порядок приема трафика (192.168.0.3,192.168.0.2) в том же порядке, что и я пытаюсь настроить centos 6, пример его работающего убывающего порядка
(192.168.0.2,192.168.0.3). теперь <я хочу узнать значение - каждых 3 или 4>
Есть два метода. Это действительно статистика. Первый метод (как OP) приводит к следующему:
- каждые 4
) получает первый выбор - каждые 3
) из оставшихся получает 2-й вариант В вопросе OP только два правила, но можно предположить, что последуют еще два (или еще одно плюс значение по умолчанию):
Поскольку таблица iptables nat обрабатывает только начальный пакет потока, весь поток будет следовать правилу начального пакета (другие пакеты в том же потоке обрабатываются непосредственно conntrack и не отображается в таблице nat ).
Каждый выбор получил 1/4:
И для оставшейся половины (если правил больше используются):
Другой метод будет иметь было использовать только - каждые 4
в каждом правиле, но изменить модуль с помощью - пакет
с правилами, подобными:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/29 -m statistic --mode nth --every 4 --packet 0 -p tcp --dport 25 -j SNAT --to-source 192.168.0.3
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/29 -m statistic --mode nth --every 4 --packet 1 -p tcp --dport 25 -j SNAT --to-source 192.168.0.2
[...]
и т. д.
Второй метод может быть проще для понимания, но 1-й метод легче масштабировать: просто добавьте правило со значением для - каждые
увеличиваются на единицу, если есть использовать дополнительный круговой алгоритм.