如何知道iptables规则是否工作?

我正在使用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。

在Linux中,NAT是有状态和粘性的。 它将继续使用由SNAT(或MASQUERADE)分配的相同的输出IP /端口对,用于实现定义的时间段内相同内部和外部主机之间的后续通信。

我也build议这样做没有合理的理由。 你妈妈知道你在做什么吗? 要么是垃圾邮件,要么是合法批量邮寄的一个非常糟糕的尝试。 最好的做法是尝试维护每个服务器一个IP地址的良好声誉; 这样做可能只是将你的工作量增加了三倍,没有任何好处。

另外,你的iptables规则的目标端口是错误的; 你正在将它们应用到80端口,当你可能想要25和465。