Я пытаюсь настроить два разных IP-адреса для SMTP, каждый из которых маршрутизируется на два разных набора IP-адресов, без общих IP-адресов между двумя наборами. Я пытаюсь это сделать, но он смешивает два набора IP-адресов, так что соединения с xxx.xxx.xxx.100 и xxx.xxx.xxx.101 просто циклически проходят через все шесть IP-адресов назначения .20x.
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.100 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.201
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.100 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.202
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.100 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.203
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.101 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.204
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.101 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.205
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.101 --dport 25 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to xxx.xxx.xxx.206
Это нормально работает, если я использую только один IP-адрес для подключения к моему серверу, но как я могу использовать два IP-адреса и разделять их перенаправления?
Во-первых, вам нужно изменить правила распространения, чтобы они соответствовали следующим. Посмотри на это Почта.
--mode nth --every 3 --packet 0
--mode nth --every 2 --packet 0
--mode nth --every 1 --packet 0
Как уже говорилось, счетчики не глобальные. Итак, вам нужно изменить свои правила, чтобы они соответствовали оставшимся пакетам.
Во-вторых, вам нужно убедиться, что вы действительно используете другой IP-адрес во втором случае. Ты можешь использовать iptables -t nat -L -n -v
чтобы увидеть счетчики посещений для подтверждения.