我正在尝试为SMTP设置两个不同的IP,每个IP都被路由到两个不同的IP集,两个集之间没有IP共享。 我正在尝试这样做,但它将两组IP混合在一起,以便到xxx.xxx.xxx.100和xxx.xxx.xxx.101的连接只是循环访问所有六个.20x目标IP。
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,并保持其redirect分开?
首先,您需要修改您的分配规则以匹配以下内容。 看看这个post 。
--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
来查看命中计数器来确认。