Linux

Postfix 雙繼電器配置

  • August 30, 2021

我有 2 台帶後綴的伺服器。

帶有此 main.cf 的 ServerA:

relayhost = smtp.public.com:587
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smarthost_passwd
smtp_sasl_security_options =

從伺服器 A 在本地發送電子郵件工作正常,它通過公共 smtp 正確中繼並且消息到達目的地

現在我想配置 ServerB,這樣當我從它發送電子郵件時,它將直接轉到 ServerA,它應該通過公共 smtp 伺服器發送電子郵件(就像從 ServerA 本身發送時一樣)

在埠 25 上從 ServerB 到 ServerA 的 Telnet 工作正常。

如何執行此配置?我什至無法找到正確的詞來搜尋它。


編輯

在遵循經過驗證的答案後它起作用了。

如果這對其他人有用,這些是我最終使用的配置文件:

服務:

main.cf:

relayhost = <IP/domain SMTP externe>:<port>
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smarthost_passwd
smtp_sasl_security_options =
mynetworks = <Net of ServerB>

/etc/postfix/smarthost_passwd:

<IP/domain SMTP externe>:<port>     <user>:<pass>

伺服器B:

main.cf:

relayhost = <hostname_ServerA>:<port>
smtp_use_tls=yes
smtp_sasl_auth_enable = no
smtp_sasl_security_options =

ServerB 將使用 ServerA 作為relay or relayhost,類似於 ServerA 目前使用 smtp.public.com 作為中繼。

此外,必須以某種方式配置 ServerA 以授予允許 ServerB 這樣做的權限。

有很多方法可以配置它,如http://www.postfix.org/SMTPD_ACCESS_README.html所示

對於兩台伺服器來說,最簡單的方法是配置 ServerA 以便允許 ServerB 的 IP 地址這樣做,而不是設置更複雜的身份驗證。

通常將 ServerB 的 IP 地址添加到mynetworks =

引用自:https://serverfault.com/questions/1075809