« 自動でメールを受信したらFAXに転送する方法 | トップページ | イベントビューアで壊れて開けないログを削除する方法 »

2006年5月 8日 (月)

AD環境にアプライアンスサーバを設置する場合の注意点

最近私がActive Directoryを構築したお客さんのところに、アプライアンスサーバ(以下ASと省略)を設置する業者さんがいます。このASはメールやグループウェアとファイアウォールを兼ねたすばらしい製品ですので積極的に販売していただくのは構わないのですが、設置の際のネットワーク変更でお客さんがかなり困っています。というか、その苦情が私のところに寄せられて、私が困ってます。すでにこの件で数カ所のお客さんの対応をしました。

そこで一般的なActive Directory環境にASを設置する際の注意点をまとめます。

# ASを販売している業者さんがこのblogを見てくれればいいのだが...。

[Active Directory導入時]
ごくごくシンプルなActive Directory環境です。

Windows Server 2003をドメインコントローラとして構築し、DNSサーバサービスとDHCPサービスを提供します。一般的なブロードバンドルータにはDHCPサービス機能がデフォルト状態でオンになっていますが、Active Directory環境ではルータのDHCPサービスをオフにし、Windowsサーバ側でDHCPサービスを提供するのが一般的です。

DNSサーバはActive Directoryでは必須です。一方、一般的なブロードバンドルータもDNSサーバになることができますが、DHCPを通じてクライアントPCに設定するDNSサーバのアドレスは、あくまでもWindowsサーバ上のDNSサーバを指定します。WindowsサーバのDNSサーバサービスは、Dynamic DNS(DDNS)サービスに対応しているため、毎回IPアドレスが変わる可能性のあるDHCP環境下でも適切にPC名(ホスト名)とIPアドレスとの間の、いわゆる「名前解決」ができるからです。

私がお客さんのところで構築したActive Directory環境は、以上のようにシンプルなLANだったのですが、ここにASが組み込まれることによって問題が発生します。

[Appliance Server導入後]

お客さんから「クライアントPCから共有フォルダを開こうとすると、かなりの時間(数十秒)が掛かる」との連絡を受け、現場を訪ねると、前の図にあったブロードバンドルータが撤去され、代わりに同じIPアドレスに設定されたASが設置されていました。このASはメールやグループウェアとファイアウォール機能まで兼ねた高機能専業サーバです。

クライアントPCのネットワーク設定を確認(ipconfig /all)すると、DHCPサービスがWindowsサーバではなく、ASから提供されていることがわかりました。Windowsサーバ側を確認してみると、ご丁寧にもDHCPサービス本体が削除されていました...。

また、DHCPサービス経由でクライアントPCに設定されるDNSサーバのIPアドレスもASを参照するようになっていました。実はこれが「クライアントPCから共有フォルダを開こうとすると、かなりの時間(数十秒)が掛かる」ようになった原因です。

Active Directoryのない、いわゆるワークグループ環境ではこの設定で問題は発生しません。逆にActive Directory環境では因果応報ともいえる現象です。

Active Directory環境下で、クライアントPCが共有フォルダにアクセスする際、共有フォルダのアクセス権はドメインコントローラであるWindowsサーバが握っています。このときドメインコントローラはホスト名とログオンユーザ名をもとに適切なアクセス権を提供しますが、クライアントPCはWindowsサーバ上のDNSサーバを使わず、AS側のDNSサーバを利用しているため、適切にDDNS機能が働いていません。つまり、Windowsサーバ上のDNSサービスはクライアントPCの名前解決を出来ない状態なのです。このため名前解決に非常に時間が掛かります。最終的にはブロードキャストというレガシーな方法を使うのだと思われますが、とにかく共有フォルダをクリックして開くまでにかなりの時間を要します。それと、毎朝の作業なので気付いていないかもしれませんが、クライアントPC起動後のドメインログオンにもかなりの時間が掛かっているはずです。イベントビューアは真っ赤です。

[解決案]
そこで対策として、AS側のDHCPサービスを停止し、Windowsサーバにもう一度DHCPサーバサービスをインストールし、これを有効にしました。さらに、DHCPオプションとしてクライアントPCに渡すDNSサーバのアドレスを当初の設定通りWindowsサーバのIPアドレスにします。

WindowsサーバのDNSサービスにも手を加えました。せっかくASがインターネット側のDNSサーバの役割(おそらくキャッシュサーバ)をしてくれているので、WindowsサーバのDNSにフォワーディングの設定を行いました。これにより、今後はLAN内の名前解決はWindowsサーバが行い、Windowsサーバが名前解決に失敗した場合(主にインターネット上のホストへの名前解決)はASが名前解決を行ってくれるようになります。

この設定を行うと、というか当初の設定とほとんど変わりませんが、無事クライアントPCはスムースにドメインログオンできるようになり、共有フォルダへのアクセスもすんなり行えるようになりました。

アプライアンスサーバの設定マニュアルを見ると、Windowsネットワークがワークグループのときの設定例しか掲載されていませんでした。Active Directoryのようなドメイン環境下では、管理者なりSIerがきっちりとした設計のもと、導入しろというのが道理だと思います。

# たぶんこのblogを見ていない、ASの販売業者さん
# 世の中広いので、いろいろ勉強してください。

|

« 自動でメールを受信したらFAXに転送する方法 | トップページ | イベントビューアで壊れて開けないログを削除する方法 »

コメント

現在2017年においても興味深くよませていただきました。
涙と汗の滲むような行間を勝手に想像させていただきました。

投稿: たいせい | 2017年7月10日 (月) 12時21分

こんな古いエントリにコメントありがとうございます。

投稿: 頑P | 2017年7月10日 (月) 17時39分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/106247/9960154

この記事へのトラックバック一覧です: AD環境にアプライアンスサーバを設置する場合の注意点:

« 自動でメールを受信したらFAXに転送する方法 | トップページ | イベントビューアで壊れて開けないログを削除する方法 »