我有一個運行 Ubuntu 20.04 的 VS,帶有工作的 Web 伺服器和電子郵件伺服器。我從家裡透過 VPN 將 CentOS 盒子連接到它。 CentOS 還有一個 Web 伺服器和 Postfix 電子郵件伺服器。只要 (a) 連接埠 80 和 25 從 VS 機器轉發,並且 (b) CentOS 透過 VPN 連接到 VS 機器,Web 和電子郵件伺服器就可以在 CentOS 機器上運作。難題是,當從 VS 轉送連接埠 80 時,兩個 Web 伺服器(VS 和 CentOS 上)都可以從公共 Internet 訪問,但電子郵件接收僅在 CentOS 上有效。 VS 上的 Postfix 拒絕傳入的帶有Relay access denied
.如果我刪除轉送連接埠 25,VS 上的 Postfix 會收到郵件,但 CentOS 不會。如果我將 VS 上的 master.cf 從 smtp 變更為 smtps (不使用轉送連接埠 25),情況也會相同。我如何設定 VS Postfix,以便在轉發連接埠 25 時接受傳入郵件 - 就像 Apache 可以從兩台電腦提供網頁服務,而從 VS 電腦轉送連接埠 80 一樣?注意:VS 機器的連接埠轉送和 VPN 存取是必要的,否則家庭 Internet 存取的 CentOS 會受到 ISP 的限制,阻止傳入連接埠 80 和 25。
答案1
新增relay_domains = $myhostname $hostname_of_CentOS
到VS機器的main.cf中的Postfix配置,並刪除了連接埠轉送。這樣兩個電子郵件伺服器都可以發送和接收訊息。 $hostname_of_CentOS 代表它的意義:透過 VPN 連接到 VS 電腦時 CentOS 家用電腦的主機名稱。我提出這個問題才終於找到解決這個難題的方法。