Postfix sasl_password 文件和 MX 解析

Postfix sasl_password 文件和 MX 解析

感谢@AlexD主意,我们将实现以下传输表,以便使用 DNS MX 解析模拟 IP 故障转移(postfix 3.3)

中继 2 个域名,例如[12].com

exemple1.com   relay:mx.myhost.com:587
exemple2.com   relay:mx.myhost.com:587

在 DNS 中

A    ip1.myhost.com      1.2.3.4
A    ip2.myhost.com      11.12.13.14

MX   mx.myhost.com   10  ip1.myhost.com
MX   mx.myhost.com   50  ip2.myhost.com

Postfix 中继应首先使用 ip1(优先级 10),如果 ip1 出现故障,则使用 ip2(50)。

如果一切正确,下一步就是 SMTP 验证。ip1 和 ip2 连接可以使用同一组用户名/密码。

user:pass

问题:在sasl_passwd映射中,由于 ip1 和 ip2 都使用相同的用户:密码设置,我们可以/应该使用待 MX 解析的主机(一个条目)还是必须使用两个相同的用户/密码条目,一个用于 [ip1],一个用于 [ip2]?(SASL 身份验证是否间接接受要进行 MX 解析的主机,然后将身份验证应用于已解析的条目?)

A)这个 sasl_passwd 文件正常吗

 mx.myhost.com:587   user:pass

b)或者这个

 [ip1.myhost.com]:587   user:pass
 [ip2.myhost.com]:587   user:pass

C)顺便问一下,这与直接使用 IP 相同吗?

 [1.2.3.4]:587       user:pass
 [11.12.13.14]:587   user:pass

(前提是 A 记录不变)

答案1

man 5 postconf内容如下:

smtp_sasl_password_maps(默认值:空) 可选的 Postfix SMTP 客户端查找表,每个发件人、远程主机名或下一跳域有一个用户名:密码条目。

SASL自述文件具有以下内容:

重要的

如果您在中继主机目标中指定“[”和“]”,则必须在 smtp_sasl_password_maps 文件中使用相同的形式。

如果您在中继主机目标中指定非默认 TCP 端口(例如“:submission”或“:587”),则必须在 smtp_sasl_password_maps 文件中使用相同的格式。

示例配置:

/etc/postfix/sasl_passwd:
    # destination                   credentials
    [mail.isp.example]              username:password
    # Alternative form:
    # [mail.isp.example]:submission username:password

因此,根据上面引用的文档,您需要以与运输表相同的方式写入目的地。如果您有,mx.myhost.com:587那么您需要使用

mx.myhost.com:587 user:pass

相关内容