我们postfix
目前正在使用单个域(example.com)运行,并且我们有适当的PTR
记录。
现在我们想再添加一个域,但我想完全隔离该域,甚至我PTR
也想隔离记录。所以我们public
在同一服务器中添加了新的IP地址并将PTR
条目添加到abc.com
- example.com - 1.1.1.1
- abc.com - 2.2.2.2
我如何告诉 postfix 在1.1.1.1
ip 地址上运行 example.com 并在 abc.com 上运行2.2.2.2
因此,如果有人从外部尝试在 25 端口上远程登录,他会获得相关 IP 的不同的适当域。
$ telnet mail.example.com 25
Trying ::1...
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
对于 abc.com
$telnet mail.abc.com 25
Trying ::1...
Connected to mail.abc.com.
Escape character is '^]'.
220 mail.abc.com ESMTP Postfix
答案1
以下应该适用于等于或高于的后缀2.7
。
您需要修改/etc/postfix/master.cf
,将该行更改 smtp inet n - n - - smtpd
为如下内容:
domain1 unix - - n - - smtp
-o syslog_name=postfix-mail.example.com
-o smtp_helo_name=mail.example.com
-o smtp_bind_address=1.1.1.1
domain2 unix - - n - - smtp
-o syslog_name=postfix-mail.abc.com
-o smtp_helo_name=mail.abc.com
-o smtp_bind_address=2.2.2.2
#...
然后,/etc/posfix/main.cf
您需要删除旧的运输地图(如果有),然后添加sender_dependent_default_transport_maps
以下示例:
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
在/etc/postfix/sender_transport
你需要添加:
@example.com domain1:
@abc.com domain2:
#...
然后您需要使用sender_transport
命令从文件创建一个哈希数据库:
postmap hash:/etc/postfix/sender_transport
重新启动 postfix 以获取更改。
您还可以将传输映射移动到数据库并为域等创建一个表。这只是一个基本设置,但它应该会给您一些想法。