SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Exchange の Autodiscover について (DNS で解決)

leave a comment

前回はドメイン環境で SCP を使用して Autodiscover による設定の自動検出を行いました。
今回は SCP が使用できない場合の Autodiscover についてまとめていきたいと思います。

■SCP が使えない場合の Autodiscover の解決方法


ワークグループ環境やドメインに参加している環境でローカルアカウントでログインしているような、AD から情報が取得できない環境、SCP の指定先に接続ができない場合は、SCP から Autodiscover の接続先の情報を取得することができません。

その様な場合は、DNS を使用して Autodiscover の接続先の解決が行われます。

SCP に接続できないケースとしては、

  • SCP の情報が取得できない
  • SCP に設定している URL に接続ができない
  • SSL のセキュリティ警告をキャンセルした

場合などがあると思います。

今回は SCP の URL に接続できない場合で見ていきたいと思います。
SCP の URL のドメインを [exchange.local2] というアクセスできないドメインに変更をしています。
# SCP での接続は最初 URL のドメイン名で行っているようなので、最初からアクセスできない URL を指定しています。

SCP の URL に接続ができない場合、設定の自動検出時に不明なエラーとして [0x80070057] が発生します。
image

この時、Outlook がどのように EWS (Exchange Web Services) に接続しているかを Fiddler で確認してみます。
image

はじめは SCP に指定されている URL (実際には URL のサーバーの FQDN) に接続を行っています。
その後、[autodiscover.exchange.local] という FQDN に対して接続しに行っていることが確認できます。

Network Monitor でどのような DNS のレコードを引いているかも確認してみます。
image

以下の順番で DNS のレコードを取得しに行っていることが確認できます。

  1. [exchange.local2] という Host (A) レコード
  2. [autodiscover.exchange.local] という Host (A) レコード
  3. [_autodiscover._tcp.exchange.local] という Service Location (SRV) レコード

最初のレコードは SCP のレコードの名前解決になります。
2 番目以降が SCP の URL に接続ができなかった場合の DNS による Autodiscover の解決になります。

SCP の URL に接続ができなかった場合は、A レコードまたは、SRV レコードを使用して、Autodiscover の設定を行おうとします。

DNS を使用した Autodiscover の構成では、ユーザーのメールアドレスを元に DNS の検索を行います。
image

今回は、[mailuser@exchange.local] というメールアドレスを使用していますので、Autodiscover の DNS による名前解決を行う場合は、[exchange.local] というドメイン名が使用されます。
通常、AD を企業内に展開する場合はドメイン名は外部公開のドメイン名ではなく、内部用のドメイン名にして必要に応じて、UPN に外部ドメイン名を設定する等の対応を行うかと思います。

Exchange のメールアドレスも同様で、外部用のドメイン名を設定する電子メールアドレスポリシーを作成して、外部用のメールアドレスの付与を行います。

既定のアドレスとして [mail.exchange.external] というドメイン名でアドレスを設定して、再度 DNS による Autodiscove の検索を試してみたいと思います。
image
image
メールアドレスを変更することにより、Autodiscover で検索する DNS レコードも変更されていることが確認できます。

SCP に接続ができない場合は、DNS により名前解決を行い、それで接続ができない場合には、[0x8007057] でエラーとなります。

■DNS に Autodiscover 用の A レコードを追加


DNS に Autodiscover のレコードを追加して再度確認を行ってみます。

まずは、A レコードを追加してみます。
今回は外部ドメイン用のゾーンを作成し、Autodiscover の A レコードを追加しています。
image

DNS レコードの追加後に自動検出がどのようになるかを確認してみます。
autodiscover の A レコードを追加すると、自動検出サービスの実行時にセキュリティの警告が出力されます。
image

Fiddler を使用してどの URL に接続が行われているのかを確認してみます。
image

HTTPS を使用して、[autodiscover.exchange.external] に接続をしていることが確認できます。
セキュリティ警告では、[はい] をクリックすると、自動検出サービスにより Outlook の設定が自動でおこわなれます。
image

■DNS に Autodiscover 用の SRV レコードを追加


続いて SRV レコードも登録してみます。
image

最初は autodiscover の A レコードで解決をしますので、セキュリティ警告が表示されるのは変わりません.
# これは、A レコードを使用して検出したレコードで HTTPS 接続をしているためです。
image
いいえをクリックしてみます。

そうすると以下のダイアログが表示されます。
image

このダイアログですが、SRV レコードを使用して Autodiscover の接続先を解決した場合に表示が行われます。
[許可] をクリックしてみます。
最初のセキュリティ警告で [いいえ] をクリックしているので、接続時にエラーになってしまいます…。
image

SRV レコードの参照先を IP アドレスに変更して再度確認をしてみます。
image
image
image
image

SRV のレコードを使用して接続先を取得できました。

SCP が使用できない場合は、DNS を使用して Autodiscover が使用されます。

ワークグループ環境や、ドメイン環境でローカルユーザーを使用している場合は、以下のようにアカウントを設定しますが、このような指定で、Autodiscover を使用する場合は DNS による解決が使用されます。
image
image

DNS による Autodiscover の解決ですが、この際の接続は HTTPS が必須となるようです。
autodiscover の A レコードでは接続先のポートは指定できませんが、SRV レコードではポートが指定できます。
ポートを 80 にして Autodiscover が動作するか確認をしてみます。
image
HTTP で接続をしようとエラーとなります。DNS による解決に関しては HTTPS 接続が必須のようですね。
image

Autodiscover は Outlook のオフラインアドレス帳のダウンロードをする際にも使用されているようなので、この辺の動作をきちんと理解しないとどこかでハマりそうです…。

Share

Written by Masayuki.Ozawa

12月 26th, 2010 at 5:15 pm

Posted in Exchange

Tagged with ,

Leave a Reply