我正在使用 iptables 为我的 SMTP 服务器实现 IP 轮换,我怎么知道它有效?这是我使用的规则。
iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 80 -o eth0 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to-source XXX.XXX.XXX.133
iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 80 -o eth0 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to-source XXX.XXX.XXX.134
iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 80 -o eth0 -m statistic --mode nth --every 3 --packet 0 -j SNAT --to-source XXX.XXX.XXX.135
我尝试发送电子邮件,并检查“显示原始内容" 检查标题。
Received: from xxxxxxx.com (xxxxx.com. [xxx.xxx.xxx.133])
所以,还是一样。IP 多久才会改变?我的印象是,每次发送邮件,它都会根据我接口中的 IP 使用不同的 IP。
答案1
在 Linux 中,NAT 是有状态的且具有粘性的。在实现定义的时间段内,它将持续使用由 SNAT(或 MASQUERADE)分配的相同传出 IP/端口对来处理同一内部和外部主机之间的后续流量。
我还认为这样做没有任何正当理由。你妈妈知道你在做什么吗?这要么是为了发送垃圾邮件,要么是一次非常糟糕的合法批量发送邮件的尝试。最佳做法是尝试为每个服务器的一个 IP 地址保持良好的声誉;这样做可能只会使你的工作量增加三倍而没有任何好处。
另外,您的 iptables 规则上的目标端口错误;您将它们应用于端口 80,而您可能需要的是 25 和 465。