Exchange Server 2007 と ISA Server 2006 と Linux DNS(BIND)

となんだかよく分からないタイトルになってきましたが・・・。
自分以外の誰かが迷った時に参考になるように検索キーとして。


さてはて、ExchangeサーバとOutlook2007の組み合わせをする場合に同期の失敗に0x8004010fが
記録されます。それはもうググると死ぬほど質問が上がってます。
ほとんどがOAB(オフラインアドレス帳)の同期失敗(ダウンロード失敗)によるものです。
自分も3か月近くハマりました。恥ずかしい話ですが、まるで見当違いの対策をしてました。


今回はドメイン外のクライアントでOutlookの設定をします。
# ドメイン内はどうにでもなるから、どうでもいいです。


対策方法は http://support.microsoft.com/kb/939184/ja に記載されている KB939184 です。
Outlook 2007からAutodiscoverが実装されてメールアドレスを入力すれば
自動的に設定をしてくれるようになったんですが、どうもそれがうまく動いてなかったみたいですね。
Office Service Pack1でようやくこのKBが実装されました。


Outlookが対応してくれたところで、その周辺対応をします。
環境は自分の中ではよくある環境だと思っている


公開サーバは Linux(SMTPリレーサーバ、外部公開用DNSサーバ)、ISA2006(リバースプロキシ)
内部サーバは Exchangeの全部乗せ(1台ですべての機能を賄っている状態)、DC(内部ネームサーバ)
公開ドメイン名は hoge.com、ADドメイン名は local.hoge.com
ユーザーのプライマリメールアドレスは A@hoge.com(要するにプライマリSMTPドメインhoge.com)
証明書は内部でWindows Serverの標準PKIでやる
DNSはlocal.hoge.comをADのDNSが面倒を見る、hoge.comはBINDが面倒を見る


上記の構成で行きます。


最初に書いた0x8004010fでもよく見かける通りにExchangeサーバのIISの設定でOABのディレクトリには
SSLを使わないようにしてください。(Microsoft KBだとチェックするって書いてありますが、誤訳です。)


実際の作業は


1. BINDにSRVレコードを追加する
2.終わり


です。


異常に簡単ですが、最終的にはこういう結果でした。
詳細はAutodiscoverとISAの勉強を http://www.isaserver.org/tutorials/Publishing-Exchange-2007-Outlook-Autodiscover-2006-ISA-Firewalls.html 辺りでしてもらうとして・・・。


srvレコードには


http://www.atmarkit.co.jp/flinux/rensai/bind914/bind914a.html


この辺をみて書式を真似て書きましょう。
この時、_autodiscover のSRVレコードが示すのはISAサーバです。CASじゃないです。
LAN内からワークグループ扱いのクライアントがアクセスした場合はどうするのか?
それはBINDのINTERNALにCASサーバを書いときましょう。


いろいろと前提条件を書きましたが、これだけです。
いつの間にかWindowsMobileのOffice2010からもAutodiscoverできるようになりました。w


# 動作チェックするときはADのDNSとかローカルのDNSのキャッシュを消すのを忘れないようにね。
# 忘れてて30分以上無駄にしました。