答案1
也许没有必要为邮件设置 20 台服务器?您只需在中央服务器上设置 MTA(邮件传输代理)以接受您感兴趣的域的邮件,并为每个域设置 DNS,以便 MX 记录指向中央服务器。
如果这不可能,请让您的服务器充当邮件网关并将邮件转发到中央服务器。这将解决效率和可靠性问题。如何做到这一点取决于您选择的 MTA。当然,您仍然需要配置中央服务器以接受所有域的邮件。
如果你真的想尝试使用 iptables(不推荐),那么你可以这样做:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 25 -j DNAT --to 192.168.1.50:25
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -i eth1 -j ACCEPT
答案2
我建议在网络堆栈的更高层上解决这个问题。与其转发端口,不如在每个主机上运行一个简单的 SMTP 服务器,将所有信息集中到中央服务器。
根据您的需要,您可以使用:
- 后缀
- 韋斯特
- 邮件系统
- ...
答案3
也许您可以解决 DNS 中的问题。
只需将这 20 台服务器的 MX 记录指向您要使用的一台服务器即可。
答案4
如果您的机器已经在运行 SMTP 服务器,为什么不在每台机器上设置一个别名来指向您的中央邮件服务器呢?