Linux

PostFix “inet_interfaces”到底是什麼意思?

  • July 23, 2021

我正在安裝 Postfix 伺服器,有人說我必須更改

inet_interfaces = allinet_interfaces = loopback-only

所以現在我想知道,究竟是什麼意思(以及它在做什麼)以及和inet_interfaces之間有什麼區別?all``loopback-only

手冊頁

inet_interfaces(預設值:all)此郵件系統接收郵件的網路介面地址。指定“all”以在所有網路介面上接收郵件(預設),指定“loopback-only”以僅在環回網路介面上接收郵件(Postfix 版本 2.2 及更高版本)。該參數還控制向使用者@ 發送郵件

$$ ip.address $$. 注意1:當這個參數改變時,你需要停止和啟動Postfix。

注2:地址資訊可能包含在裡面

$$ $$,但此處不需要此表格。 當 inet_interfaces 僅指定一個不是環回地址的 IPv4 和/或 IPv6 地址時,Postfix SMTP 客戶端將使用此地址作為出站郵件的 IP 源地址。Postfix 2.2 及更高版本提供對 IPv6 的支持。

在具有單獨 Postfix 實例偵聽“內部”和“外部”介面的多宿主防火牆上,這可以防止每個實例能夠訪問防火牆“另一端”的遠端 SMTP 伺服器。將 smtp_bind_address 設置為 0.0.0.0 可以避免 IPv4 的潛在問題,將 smtp_bind_address6 設置為 :: 可以解決 IPv6 的問題。

多宿主防火牆的更好解決方案是將 inet_interfaces 保留為預設值,而在 master.cf SMTP 伺服器定義中使用顯式 IP 地址。這通過確保防火牆的每一端都知道另一個 IP 地址仍然是同一主機來保留 Postfix SMTP 客戶端的循環檢測。環境 $ inet_interfaces to a single IPv4 and/or IPV6 address is primarily useful with virtual hosting of domains on secondary IP addresses, when each IP address serves a different domain (and has a different $ 我的主機名設置)。

另請參閱 proxy_interfaces 參數,了解通過代理或地址轉換器轉發到 Postfix 的網路地址。

例子:

inet_interfaces = all (DEFAULT) inet_interfaces = loopback-only (Postfix 2.2 及更高版本) inet_interfaces = 127.0.0.1 inet_interfaces = 127.0.0.1,

$$ ::1 $$(Postfix 2.2 及更高版本)inet_interfaces = 192.168.1.2, 127.0.0.1

這什麼時候有用?

您可以操作 master.cf 文件並將埠 25 綁定到多個 IP 地址以具有稍微不同的配置。

我什麼時候只使用環回

當您只想使用 postfix 將電子郵件排隊以便您的應用程序轉發到另一個電子郵件系統時,在應用程序中處理 smtp 很容易,處理隊列、延遲和加密就不那麼容易了。許多開發人員會添加後綴來為您處理這個問題,類似於使用 nginx 進行 SSL。

這也可以防止沒有額外防火牆的系統(Centos vs Ubuntu)來防止其他本地網路系統使用您的中繼來發送垃圾郵件/網路釣魚。

您不會在 docker 中使用此設置,因為您通常會將它們與 docker-compose 連結,並且不想進行此更改,因為它不再僅限於本地。

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