Domain-Name-System

Microsoft Exchange 發送到錯誤的郵件伺服器地址

  • March 30, 2015

我的客戶在向少數客戶發送電子郵件時遇到間歇性問題。它實際上只發生在過去五天,到目前為止只發生了六條不同的消息,但它們在正常傳遞和失敗傳遞之間都有相同的區別。

在下面的螢幕截圖中,有效傳遞和失敗傳遞之間的區別在於它嘗試傳遞的伺服器 IP/主機名。我選擇了這個收件人,因為他們的域是通用的。在其他每週發送數十條消息的嘗試中,它看起來非常相似。

出於某種原因,Exchange Server 獲取收件人帳戶域的 IP,而不是使用 MX 記錄中的地址。(即。mindspring.com 而不是 mx3.mindspring.com)

我的客戶正在執行帶有 Exchange 2010 的 Small Business Server 2011 Standard。他們每天發送約 200 條消息的其餘部分都很好。

[ScreenShot][1](還不能附加圖片) (放大)

到目前為止我的研究:

  1. microsoft exchange 不使用 mx 記錄

  2. microsoft exchange 隨機收件人 ip 更改

  3. 交換發送到A記錄

  4. 可能相關:連結

  5. 交換發送到錯誤的 mx

  6. 同樣的情況,但從另一邊:連結

  7. 同樣的情況,沒有解決方法:連結

TL;DR:我們使用的兩個 ISP 之一阻止來自其網路外部的 DNS 請求。DNS 請求偶爾來自其他 ISP 的網路…

解決方法:在防火牆上為 ISP DNS 伺服器實施靜態路由以使用特定介面,或使用其他服務(如 OpenDNS 或 Google DNS)。

故事:好吧,我們發現了問題所在。交換伺服器大部分都按我們預期的那樣執行。我們有一個雙 WAN 連接,如果主伺服器出現故障,防火牆會故障轉移到該連接。因此,在域控制器上,我們為要查詢的兩個 ISP 添加了 DNS 伺服器(以及作為第三選項的 OpenDNS)。我們將不得不對這個特定的過程做更多的研究,但我們發現 Exchange 並沒有一直查詢第一台伺服器(我們的主要 WAN 連接)。

它似乎一直在所有選項之間循環。在我們的輔助 ISP 更改其 DNS 伺服器上的設置以拒絕來自其網路外部 IP 的連接之前,這一直沒有問題。數據包擷取揭示了這一響應,最終使我們得出了結論。當 Exchange 收到拒絕的響應時,它回退到僅查詢 A 記錄並嘗試使用該記錄建立連接。

好吧,如果我嘗試遠端登錄 mindspring.com:25,我無法連接,所以我懷疑 ServerHostname 是一個紅鯡魚。顯然您正在連接到郵件伺服器,但它要求您進行身份驗證才能使用埠 25。您收到的 550 錯誤是因為您連接的伺服器上打開了 SMTP 身份驗證,或者因為它們是試圖強制 TLS。

如果您轉到該伺服器上的命令行並鍵入:

nslookup
set type=mx
mindspring.com

你拿什麼回來?一切都檢查了嗎?如果你這樣做,你會得到相同的答案嗎

nslookup
server 8.8.8.8
set type=mx
mindspring.com

還是你為mindspring工作而這都是內部的?

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