我可以在第二个端口上为每个人都有Postfix中继吗?

我在EC2服务器上有一个Postfix实例,它需要接受来自外部世界的邮件(例如,端口25将从虚拟IP映射到它)。

我也想用这个服务器从其他EC2机器发送邮件。 由于EC2没有映射到可以授予中继访问的子网的概念,所以我正考虑在第二个端口上运行Postfix,并限制安全组对该端口的访问。

最终,我希望端口25正常运行,并有端口26接受任何人谁可以连接到它的邮件。

可以这样做吗?

pjz的答案很接近。

给master.cf添加几行代码,如下所示:

26 inet n - - - - smtpd -o mynetworks=10.0.0.0/8 

这将为您提供第二个smtpd,其中myNetwork覆盖main.cf中定义的内容。 您可以用相同的方式覆盖其他variables。 看看应该已经存在于文件中的注释示例。

当然,你可以做到这一点。 你需要编辑你的master.cf来在另一个端口上添加一个监听器(现在有一个类似于

smtp inet n - - - - smtpd

你可以复制为:

26 inet n - - - - smtpd

在端口26上添加一个监听器。

那么你只需要允许内部的亚马逊IP连接到它通过添加到你的mynetworks语句在main.cf; 我只允许10.0.0.0/8连接,因为所有的内部AMI都保证在这个范围内。 手册当然有更多的细节。

编辑:德鲁Bloechl指出,你可以直接覆盖master.cf中的mynetworks像这样:

26 inet n - - - - smtpd -o mynetworks=10.0.0.0/8

此configuration将应用任何过滤等等,您将configuration放入端口25的所有内容的规则,但将允许来自10.0.0.0/8的任何人连接到端口26并发送邮件,而不必通过所有这些检查。