Postfix sasl_password 文件和 MX 解析
感謝@AlexD 的想法,我們將實現以下傳輸表,以便使用 DNS MX 解析(後綴 3.3)模擬 IP 故障轉移
2個域的中繼,例如
$$ 12 $$。和
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
如果 ip1 失敗,postfix 中繼應該首先使用 ip1(優先級 10)和 ip2(50)。
如果這是正確的,下一步就是 SMTP 身份驗證。同一組使用者名/密碼可用於 ip1 和 ip2 連接。
user:pass
問題:在
sasl_passwd
地圖中,由於 ip1 和 ip2 都使用相同的 user:pass 集,我們可以/應該使用 to-be-mx-resolved 主機(一個條目)還是我們必須使用兩個相同的 user/pass 條目一個為$$ 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 記錄不變)
smtp_sasl_password_maps(預設值:空) 可選 Postfix SMTP 客戶端查找表,每個發件人有一個使用者名:密碼條目、遠端主機名或下一跳域。
SASL_README有以下內容:
重要的
如果您指定“
$$ " and " $$" 在中繼主機目標中,那麼您必須在 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