Debian

exim 不接受外部連接

  • April 9, 2021

更新:這絕對是我的 ISP 阻塞了 25 埠。我告訴 Exim 監聽一個非標準埠,然後從遠端電腦檢查該埠,它通過就好了。

所以,我想我有一個新問題。有沒有解決這個問題的好方法?

我不,我不能在 MX 記錄中指定埠(為什麼有人在提出 DNS 時沒有想到這一點?),但是可以將郵件轉發到非標準埠上的伺服器的服務可以工作.

我見過 no-ip.com 有這樣一個服務,叫做 Reflector。它不是很貴,但如果有其他更便宜的方法,我很想听聽。

不過,我仍然對為什麼它今天停止工作感到困惑。


原始問題

我討厭問這個問題,但我已經用Google搜尋了所有我能想到的東西都無濟於事,但這似乎是一件很簡單的事情,所以我不知道為什麼我無法弄清楚。但是,不管怎樣,一切都過去了。

我用 Apache 為 HTTP 和 Exim 為 SMTP 設置了一個家庭伺服器。我需要能夠直接接收到我家用電腦的郵件。直到今天,我沒有任何問題。我不相信我最終改變了任何東西,但突然間,我沒有收到任何電子郵件。

我檢查了 DNS 中的 MX 設置,它們很好。我檢查了路由器上的埠轉發,它看起來很好(並且到 Apache 的外部連接仍然通過)。

因此,我檢查 Exim 是否正常工作。從本地主機,我可以遠端登錄到 Exim,它工作正常。此外,我可以從網路上的其他電腦遠端登錄到 Exim,它工作正常。但是,如果我嘗試從外部 telnet,我會得到Unable to connect to remote host: Connection timed out.

所以,我嘗試這樣做dpkg-reconfigure exim4-config(順便說一下,我在 Ubuntu 12.10 上),並確保一切都在那裡正確設置。沒問題。我查看我的配置並找到這個:

# listen on all all interfaces?
.ifdef MAIN_LOCAL_INTERFACES
local_interfaces = MAIN_LOCAL_INTERFACES
.endif

一些Google搜尋讓我相信local_interfaces控制 exim 會聽什麼。因此,我嘗試根據exim 文件進行更改,並使其成為:

# listen on all all interfaces?
#.ifdef MAIN_LOCAL_INTERFACES
#local_interfaces = MAIN_LOCAL_INTERFACES
#.endif
local_interfaces = <; ::0 ; 0.0.0.0

我重新啟動 exim,沒有任何變化。

所以,這就是我現在所處的位置。盡快解決這個問題很重要,所以我可能會檢查其他任何想法將不勝感激。

PS由於評論不會給我正確的格式,我在這裡回复:

lsof -i:25:我不太確定我在尋找什麼,但輸出如下:

COMMAND   PID        USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
exim4   12386 Debian-exim    3u  IPv6 24476126      0t0  TCP *:smtp (LISTEN)
exim4   12386 Debian-exim    4u  IPv4 24476127      0t0  TCP *:smtp (LISTEN)

PPS根據此頁面,我的 ISP 阻止埠 25 入站(和出站)。但是那個頁面是幾個月前寫的,今天(或者昨天)才出現問題,所以有什麼辦法可以檢查是否是問題所在?

不過,我仍然對為什麼它今天停止工作感到困惑。

也許您的郵件伺服器昨天很忙,所以 ISP 注意到您濫用 ToS?

請注意,如果郵件在某個非標準埠上執行,則將郵件發送到另一個埠可能仍會與您的 ISP 條款相衝突,因此我不會向您提供明確的建議或推薦。

例如,我確實收到過一次來自 ISP 的關於“過多”傳入和傳出郵件的警告。

討論這條規則的合法性是在其他地方做的事情。

但是,您可以在某處設置便宜的 VPS 來處理郵件。

如何處理該郵件(直接在 VPS 上或在家中)是您評估的任務。

您的遠端節點不一定需要執行自己的郵件伺服器。使用像nginx這樣的郵件代理——甚至是普通的 TCP 代理——也可以。

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