サイト間のメール配信障害


今回は、AD サイト間のメール配信に失敗する現象についてご案内します。
複数サイトで Exchange Server をご利用のお客様はご確認いただけますと幸いです。

 
– シナリオ
これまでの運用で問題なかったが、突如としてサイト間のメール配信に失敗し、送信元サイトにある HUB のキューに滞留する。
サイト内の送受信や、サイト内から組織外への配信は問題ない。

 
– 原因
サイト間の HUB でメールの配信処理において、Exchange Server 認証が失敗している。

 
– 解説
サイト間のメール配信は、HUB 間で Exchange Server 認証が必須となっています。
この時に用いられる認証方式としては Kerberos 認証となっており、認証に失敗すると送信先サイトの HUB に以下の警告イベントが記録されます。

// 送信先サイトのHUB に記録されるイベント
ログの名前: Application
ソース: MSExchangeTransport
イベント ID: 1035
タスクのカテゴリ: SmtpReceive
レベル: 警告
説明:
受信コネクタ <コネクタ名> に対するエラー UnexpectedExchangeAuthBlob が発生したため、受信認証に失敗しました。認証機構は ExchangeAuth です。Microsoft Exchange に対して認証しようとしたクライアントの送信元 IP アドレスは [<接続元 HUB の IP Address>] です。
 
また、滞留している送信元 HUB のキューの状態を確認すると以下のようなエラーとなっています。

// Get-Queue コマンドの結果
LastError : [{LRT=2017/01/05 12:05:59};{LED=451 4.4.0 Primary target IP address responded with:
“454 4.7.0 Temporary authentication failure.” Attempted failover to alternate host, but that did not succeed. Either there are no alternate hosts, or delivery failed to all alternate hosts. The last endpoint attempted was <接続先 HUB の IP Address>};{FQDN=<接続先 HUB の FQDN>};{IP=<接続先 HUB の IP Address>}]
 
Kerberos 認証を行うには、Exchange Server とドメイン コントローラー間で時刻のズレが5分以内である事と、サイト間のドメイン コントローラー間で複製が正常である必要があります。
このため、Exchange Server (HUB) もしくはドメイン コントローラーの時刻が5分以上ズレている場合や、サイト間の複製に問題がある場合は、Exchange Server 認証に失敗しサイト間のメール配信が失敗します。
この事象については、以下のサポート技術情報 (KB 979174) としても公開されています。

TITLE : 454 4.7.0 Temporary authentication failure in a Microsoft Exchange Server
URL : https://support.microsoft.com/en-us/kb/979174

この KB 979174 では、時刻のズレ以外に主な要因として以下3点が挙げられています。

 1.There is a replication issue between the domain controllers
 2.The Exchange server is experiencing Service Principal Name (SPN) issues
 3.The required TCP/UDP ports for the Kerberos protocol are blocked by the firewall

しかしながら、これまでの運用で問題なかったのがある日突然サイト間のメール配信に失敗し、上記のような警告イベントやキューのエラーが確認できた場合は、まずは時刻のズレとドメイン コントローラー間の複製問題を疑ってください。
何も作業をしていないのに、SPN が重複したり Firewall でブロックされるようなことはまず無いためです。

 
– 対処方法
先の解説でも記載の通り、まずは時刻のズレの有無とサイト間のドメイン コントローラーの複製状況を確認してください。
ただし、時刻のズレについては、事象発生後に正常な時刻に戻る (ドメイン コントローラーとの NTP でその後同期されるなど) こともありますが、それでも滞留が解消しない場合もあります。
これは、一度時刻がズレて Kerberos 認証に失敗した状態になると、時刻が正常に戻っても引き続き認証に失敗するためです。解消するには、Exchange Server (HUB) の OS 再起動が最も有効な対処方法になります。

上記を踏まえ、この現象が発生した際には、以下の流れで対処を実施いただくことで解消することができます。

1.Exchange サーバーの時刻を明示的に設定する
2.ドメイン コントローラー間の複製を強制的に行う
3.OS を再起動する
 

1. Exchange サーバーの時刻を明示的に設定する
—————————————————-
1. Exchange Server (HUB) でコマンド プロンプトを管理者権限で起動します。
2. 次のコマンドを実行し、サーバーの時刻を明示的に任意のドメイン コントローラーに合わせます。

net time <\\任意のDC名> /set

実行例
net time \\dc1 /set

このとき、時刻を合わせるか聞かれますので、Y を押下します。
なお、このときのドメイン コントローラーの時刻は正しいことが大前提となります。
 
2. ドメイン コントローラー間の複製を強制的に行う
————————————————-
サイト間のドメイン コントローラーで、[今すぐレプリケート] を実施します。
 
3. OS を再起動する
——————
Exchange Server (HUB)の OS を再起動します。

 
以上になります。
ある日突然、サイト間でメールが配信されない状態に陥ったら、上記内容を確認してみていただければと思います。

 
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。


Skip to main content