如何集中我的邮件?

2 smtp

我在大约 20 台不同的服务器上收到一堆邮件,我想将它们发送到一个。这些盒子正在运行 Linux,现在我的解决方案是创建一个 TCP 中继。

我希望任何时候进入端口 25 的流量都可以中继到不在同一 LAN 上的其他地方的盒子。我有一个 Perl 脚本,它大致可以做到这一点,但它效率低下并且可能会崩溃。如果有这样的方法,我宁愿找到一种使用iptables / ipchains的方法。我认为有,但我没有理解它的技术技能。

小智 9

也许不需要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
Run Code Online (Sandbox Code Playgroud)


luk*_*yca 7

我建议在网络堆栈的更高层解决这个问题。您应该简单地在每台主机上运行一个简单的 SMTP 服务器,而不是转发端口,将所有内容汇集到您的中央服务器。

根据您的需要,您可以使用:

  • 后缀
  • ssmpt
  • 邮箱
  • ...