DHCPの冗長構成を考える~その4~

セキュリティで保護された動的更新

DNSの動的更新のセキュリティは3つあります

  • なし
  • 非セキュリティ保護およびセキュリティ保護
  • セキュリティ保護のみ

ここで通常はセキュリティ保護のみに設定します。こうすれば、ADに登録されたオブジェクトからしか動的更新を受け付けることはありません。

最も端的な例としては、外部のユーザーがドメインネットワーク接続しても動的更新によってDNSにアドレスの登録は行うことができないということです。

では動的更新のセキュリティ設定が「セキュリティ保護のみ」に設定されていてDHCPの冗長構成を考えます。ふ~、やっと本題に入れます。

DNS-DHCP

同一セグメントに複数台のDHCPがあると仮定します。ここではDHCP1とDHCP2があります。そしてDHCPの動的更新も行います。ここでDHCP1で登録されたクライアントのレコードがあります。これをClient1とします。このClient1はDHCP1によって登録されたので、このレコードの所有者はDHCP1ということになります。ここで、DHCP1がダウンしてDHCP2のみでの運用となります。ここでClient1が更新を行います。DHCP2はDNSに登録されているClient1の更新をかけますが、所有者がDHCP1のためエラーとなります。

これは問題ですね~

まあ、通常ではDHCPが登録するのはPTRレコードになるので気にすることはないかもしれませんが、DHCPがA,PTRレコード両方を登録する設定になっていたらこれは大問題になります。

そこでADのグループには「DNSUpdateProxy」というグループが用意されています。

この「DNSUpdateProxy」に各DHCPサーバーのコンピューターオブジェクトを登録することにより所有者の問題は解決されます。が、DNSの設定で動的更新のセキュリティ設定が「セキュリティ保護のみ」だと登録がうまくいきません

それはDHCP サーバーが DnsUpdateProxy グループのメンバである場合、DHCP サーバーによって登録される DNS ドメイン名はセキュリティで保護されないからです。

そのためにはどうするか?

DNSの動的更新専用アカウントを作成して、DHCPサーバーに設定すれば解決できます。

DNS-詳細設定タブ

このページの資格情報をクリックして設定します。

まとめ

DHCPの冗長構成を行う場合は

  • DNSUpdateProxyというグループにDHCPのコンピューターオブジェクトを登録する
  • DNSの動的更新専用アカウントを作成して、DHCPサーバーに設定する

ということになりますね。

DHCPの冗長構成を考える~その3~

DHCPサーバーからDNSの動的更新を行う場合考慮しなくてはいけないポイントがあります。

まずは、DNSの動的更新とはどのような動作なのかを理解する必要があります。

以前はDNSのレコードは管理者が登録するものでした。しかし、昨今の環境ではクライアントの名前解決においてもDNSを使用することが一般的になることによって管理者がクライアントのレコードを登録するというのは難しくなってきました。またDHCPを使用している場合動的にIPアドレスが変更されるため尚更難しいということになります。

そこで考え出されたのがDNSの動的更新になります。

まず、クライアントの一般的な動作から考えます。

前提としてTCP/IPの詳細設定において「□この接続のアドレスをDNSに登録する」にチェックが入っていることになります。デフォルトではチェックが入っているので通常は気にしませんね。

tcpip詳細設定

ここで2つのパターンがあります。それは静的IPアドレスと動的IPアドレスの場合です。

静的IPアドレスの場合はクライアントが直接DNSサーバーにAレコードとPTRレコードの登録を行います。

動的IPアドレスの場合(DHCPからIPアドレスを取得した場合)

ここの動作はちょっと解説が必要になります。まず、前提としてDHCPのDNSタブの設定が絡んでくるんです。

DHCP-DNSタブ

デフォルトの状態では「以下の設定に基づいて、DNS動的更新を有効にする」にチェックが入っています。そして「DHCPクライアントから要求があったときのみDNSのAレコードおよびPTRレコードを動的に更新する」にチェックが入っています。

さて、ここでDHCPクライアントから要求~とありますがどういうことかというと、DHCP オプションであるクライアント FQDN オプション (オプション 81) を考慮する必要があるんです。

Windows Server 2003 で DNS 動的更新を構成する方法

以下参考リンクより抜粋~~

このオプションを使用すると、クライアントから FQDN を DHCPREQUEST パケットで DHCP サーバーに送信することができます。これで、クライアントは必要なサービス レベルを DHCP サーバーに通知できます。

FQDN オプションには、次の 6 つのフィールドがあります。

  • Code
    このオプションのコード (81) を指定します。
  • Len
    このオプションの長さ (4 以上) を指定します。
  • Flags
    サービスの種類を指定します。

    • 0
      クライアントが “A” (ホスト) レコードを登録します。
    • 1
      クライアントが DHCP に “A” (ホスト) レコードを登録させます。
    • 3
      クライアントの要求にかかわらず、DHCP が “A” (ホスト) レコードを登録します。
  • RCODE1
    サーバーがクライアントに送信する応答コードを指定します。
  • RCODE2
    RCODE1 の追加記述を指定します。
  • Domain Name
    クライアントの FQDN を指定します。

クライアントがリソース レコードを DNS に登録するよう要求した場合、クライアントは、RFC (Request for Comments) 2136 に従って、動的 UPDATE 要求を生成します。すると、DHCP サーバーが PTR (ポインタ) レコードを登録します。
このオプション 81 が、Windows Server 2003、Microsoft Windows 2000、または Microsoft Windows XP を実行する DHCP が利用できるコンピュータなどの有効な DHCP クライアントによって発行されたものであるとします。この場合、Windows Server 2003 ベースの DHCP サーバーによってオプションが処理および解釈されて、サーバーがクライアントのために更新をどのように開始するかが判断されます。

ここまで~~

ここで重要なのはクライアントからのオプション81のデフォルトはFlagsが0ということです。通常この設定を変えることはありません。

では話は戻って、DHCPサーバーの設定は「DHCPクライアントから要求があったときのみDNSのAレコードおよびPTRレコードを動的に更新する」になっています。そしてクライアントはFlagsが0なのでクライアントが “A” (ホスト) レコードを登録します。

ということで、デフォルトの動作ではクライアントがAレコード、DHCPサーバーがPTRレコードを登録するということになります。

そして、DHCPサーバーの設定を「DNSのAおよびPTRレコードを常に動的に更新する」にチェックを入れると、DHCPサーバーがクライアントのA、PTRレコードを登録するという動作になります。

ここで冗長構成の動作を考えると問題になることがあります。

それは次回に・・・

DHCPの冗長構成を考える~その2~

前回は同一セグメントにDHCPサーバーを複数台おいて冗長構成するお話をしましたが、こんな構成もありますね~

DHCP冗長化1

1台は同一セグメントにDHCPサーバーをたてて、それがダウンしたらリレーエージェントで別セグメントにあるDHCPサーバーに飛ばす方法。別セグメントには元のセグメントと同じアドレス範囲のスコープを設定しておく。クライアントがDHCPに問い合わせする際にアドレス情報を持っているので適切なスコープからアドレスをもらうことができます。

他にはこんな感じ

DHCP冗長化2

クライアントが存在するセグメントにはDHCPサーバーはなく、リレーエージェントを設置するか、ルーターにDHCPパケットを転送させるかしてDHCPサーバーが存在するセグメントにパケットを飛ばす方法。

なんか、こっちのほうがいいかも

そもそも、ネットワーク設計をする際にはセグメントは小さいほうが効率よくネットワークを使用することができます。ですのでL3スイッチを使用して社内ネットワークを分割している企業は多いはず。その際に各セグメントにDHCPサーバーを置くのは大変だし非効率的になります。この構成を使えば複数のセグメントのDHCPとして使用できるし、冗長化にもなる。

ということで、私の考える冗長構成のベストプラクティスは後者になります。

DHCPの冗長構成を考える

さて、かなり枯れた技術としてDHCPサービスがあります。このDHCPサービスですが、私の今までの経験ではDHCPデータベースが壊れるという事態に遭遇したことはありません。かなり安定しているサービスではないでしょうか?

そうはいってもDHCPサーバーを提供しているサーバーがダウンすることはあります。

そのような事態に対応するにはDHCPの冗長構成を考慮する必要があります。

ではDHCPの冗長構成を考える場合どのような構成があるのでしょうか?思い浮かぶ所で3つの方法があります。

  • スコープの分割
  • DHCPのクラスタ構成
  • コールドサーバーの用意

でしょうか?

DHCPのクラスタ構成ですが、コストが高すぎてあまり現実的ではありませんね。そして、コールドサーバーの用意ですが運用中のDHCPサーバーがダウンしたら用意しておいたサーバーにDHCPサービスをインストールして運用する。これはこれでありですが、若干の問題を抱えます。それは今まで配布していたアドレス情報を持っていないのでIPアドレスのバッティングが発生する可能性があるということです。しかし、これはDHCPサーバーの設定画面で「検出の試行回数」の項目を2あたりにすることによって回避は可能になります。

DHCP

この「検出の試行回数」を入力する数字によって、DHCPサーバーがクライアントにIPアドレスをリースする前に、そのアドレスでpingを使用して既存端末が存在するかを確認します。この数字は2を超えない値が推奨されています。

そして最も現実的な冗長構成としてはスコープの分割があります。

これは複数のサーバーをDHCPサーバーとして構成します。その際のスコープ構成として除外範囲を利用します。

DHCP冗長化

アドレス範囲は同じですがそれぞれ除外範囲はことなるのでバッティングすることはありません。

ただし注意点としては予約をしている際にはすべてのDHCPサーバーで同じ設定をする必要があります。

次回はDHCPとDNSとの連携について考えてみます。

DNSのフォワーダ

DNS設定でフォワーダの構成を行う際の注意点があります。

ではそもそも、フォワーダの動作はどのようになるのか?

フォワーダの仕組み

通常DNSの動作としては、クライアントから再帰クエリとしてDNSサーバーが受け取ります。そして、DNSサーバーは目的のホストが見つかるまで反復クエリを繰り返して、最終的に権限のある応答として目的のホストアドレスを受け取ります。そしてクライアントへの応答してアドレスを返答します。

フォワーダの設定を行うと、DNSがクライアントと同じ動作を行います。よって、クライアントから再帰クエリを受け取り、それを再度DNSサーバーに再帰クエリとして送信します。

これは外部DNSと内部DNSを分離して、内部DNSにフォワーダの設定をするシナリオによく使用されます。

では設定画面を確認します。

フォワーダのプロパティ設定

ここで着目してほしい場所があります。それは「フォワーダが利用可能な場合にルートヒントを使用する」というチェックボックスになります。では、ここで英語版の設定画面を見ます。

フォワーダのプロパティ英語

原文では「Use root hints if no forwarders are available」になっています。

ん!これは・・・本当なら「フォワーダが利用不能な場合にルートヒントを使用する」が正しい翻訳になるぞ

ということで、日本語の意味が全く逆になります。

では、このチェックの利用方法は?

そもそも、これはDNSの排他モードと非排他モードの設定になります。

  • 排他モード
    フォワーダがDNSクエリを解決できない場合、フォワーダーを利用する側のDNSサーバーは元のDNSクエリの発行者にクエリの失敗を返します。その際、DNSサーバーは自分でDNSクエリを解決しようとはしません
  • 非排他モード
    フォワーダがDNSクエリを解決できない場合、フォワーダを利用する側のDNSサーバーがDNSクエリを解決しようとします。

ということで、正しい翻訳を元に考えると「排他モード」はチェックオフで、「非排他モード」はチェックオンになります。

2009年2月4日追記

実機検証した結果、どうやらチェックオンが「排他モード」になりました。ということは英文が間違っているということになるようです。実際には、[Don’t use root hints if no forwarders are available]になり、[フォワーダが利用不能な場合でもルートヒントは使用しない]になりますね~

この結果を踏まえて現在マイクロソフトに問い合わせ中ですので詳細が分かり次第追記します。

2009年2月25日追記

マイクロソフトからの正式回答が来ました。

ここから~

– 動作について

「フォワーダが利用可能な場合にルートヒントを使用する」および、「Use root hints if no forwarders are available」 共にチェックの ON、OFF では下記の動作となります。

※ 結果として、Windows Server 2008 においても、Windows Server 2003 と同様の動作となります。

– チェックが有効 (ON) な場合

フォワーダのみでルートヒントは利用しない (排他モード)

– チェックが無効 (OFF) な場合

フォワーダに問い合わせて応答が無いとルートヒントに問い合わせる (非排他モード)

上記動作について、弊社上位部署に確認させていただきましたところ、今回の現象は、2 重の問題が関係していることが判明致しました。

1. 英語版の UI の表記が実際の動作とは、反対の動作になっている

2. 日本語版の UI の表記が英語版の UI を誤訳している

本件につきましては、上位部署に報告させていただいており、公開情報の作成を検討しております。

しかしながら、現時点では具体的な公開日については、明確となっておらず、公開日についてご案内することができません。

ここまで~

どうやらKB化されるようです。

まとめ

フォワーダの設定を行う場合は、一般的な環境では「フォワーダが利用可能な場合にルートヒントを使用する」チェックボックスをオフ「オン」にする「排他モード」にします。なぜ排他モードにするかというと、フォワーダによるDNSクエリが失敗した際に、フォワーダを利用する側のDNSサーバーが反復クエリを行い「再帰の処理」を実行したところで、結果はフォワーダと同様に失敗すると考えられるからになります。

所属グループを調べる

ユーザーが所属しているグループを調べることがありますが、一般的な方法として「ADユーザーとコンピュータ」スナップインを使用して、対象ユーザーのプロパティから「所属するグループ」をみて確認すると思われます。

しかし、この方法ではビルトインのグループや、ネストして参加しているグループは解りません。

その際に便利なコマンドがあります。

whoami /groups

になります。

このコマンドを使用すると、現在ログインしているユーザーが所属している直接、間接的なグループが表示されます。他にもスイッチがあり意外と便利なコマンドになります。

ただし、テストしてみるとなぜか「Domain Users」は表示されませんでした・・・なぜだろう?仕様かな~

ちなみにXPにはこのコマンドはありません。

デフォルトではWindows Server 2003,2008,Vistaで使えます。

セキュリティの構成ウィザード(SCW)

セキュリティの構成ウィザード(SCW)の考察

セキュリティの構成ウィザードはWindows Server 2003 SP1より搭載された機能になります。ただしSP1を導入したらすぐに使えるわけではなく自分で追加インストールする必要があることから以外に使われていなかったりするんですよね~

当然、Windows Server 2008にも搭載されています。これはWindows Server 2008をインストールするとすぐに使えます。

このSCWはセキュリティ ポリシーの作成、編集、適用、またはロールバックを表示される手順に従って行うことができます。要するにこのツールの目的は、役割ベースのセキュリティ管理ツールで自動的に使用されていない役割やサービスを無効にしてセキュリティを高めることになります。特徴として、既に50以上の役割があらかじめ用意されていることも利点になります。

Windows Server 2003環境においてのセキュリティ構成を行う場合は、マイクロソフトが用意したセキュリティテンプレートを使うのが一般的になります。これをベースにカスタマイズして使用することにより企業の負担を減らすことが可能になります。SCWではこれらのテンプレートに相当するものがあらかじめ入っているのはいいところですね~

参考

セキュリティの構成ウィザード

実はWindows Server 2003以前の環境において特にスタンドアロン環境では、「セキュリティの構成と分析」スナップインを使用してセキュリティテンプレートを適用させることが推奨されていました。しかし、これには問題があってロールバックができなかったんです。ということは一旦適用させたセキュリティテンプレートは元に戻すことができないということになります。これを元に戻すにはあらかじめNtbackupツールを使用してシステムをバックアップしておき、それを復元するしかありません。

企業においては、カスタマイズしたセキュリティテンプレートを作成したのちテストを繰り返して本番環境に適用させますがこのテストがやりずらかったというのが現状になります。

通常は、ドメイン環境でテストしたのちスタンドアロン環境に適用させるなどの手段を取っていたのではないでしょうか?ドメイン環境ならばGPOのリンクを外すことにより容易にロールバックができるからです。

そこでWindows Server 2003 SP1よりSCWが追加されました。そしてWindows Server 2008でも機能強化されて搭載されています。

Windows Server 2008においては役割に基づいたサーバーマネージャーにより必要なものだけをインストールするのでそもそもSCWを使用する機会は減るかもしれません。ただし、次のようなことを考える管理者にとっては有用なツールになります。

  • セキュリティに関して重要度が高い
    SCWを使用することによって本当に必要な役割と機能を構成することができる
  • さまざまなコンポーネントの関係を理解する
    SCWは役割、機能、サービス、NWポート間の関係が記載されてxmlファイルを吐き出す

またマイクロソフトの動向を探ってみると、SCWに対応したxmlファイルの配布を行っているので、今後はこのSCWが主流になるような気がします(例えばExchange 2007を導入するとExchange2007.xmlが入っている)。

ではGPOを使用してのセキュリティの割り当ては無くなるのか?これはノーです。どちらかというと、棲み分け的にはドメイン環境では相変わらずGPOを使用し、スタンドアロン環境ではSCWという使い方になると思われます。

さて、ここで問題になってくることは今までGPOを使用してベースラインセキュリティを各サーバーに適用させていた企業があります。当然ながらスタンドアロン環境においてもそのベースラインセキュリティを適用させたいと考えます。その場合は該当するセキュリティテンプレートの.infファイルをSCWに取り込むことができます。

その逆はどうでしょうか?

SCWで作成した.xmlファイルをドメイン環境で使用したいという場合はどうするのか?実はこれもできるんです。SCWで作成した.xmlファイルをGPOに変換することが可能です。

scwcmd transform /p:<ポリシーファイル名>.xml /g:<GPOの表示名>

ただし注意しなくてはいけないのが、SCWとセキュリティテンプレートは完全なイコールではないということです。この点は移行時に考慮する必要があります。

セキュリティ設定の優先順位

では2つ一緒に使用した場合にはどうなるのか?これは次のことを覚えておく必要があります。

  • ADベースのGPOはSCWより優先
  • GPO間の優先順位はscwcmdで設定されたポリシーに依存しない。よって今まで通りL-S-D-OUという順番。
  • SCWのxmlとそれに添付したinfは競合の場合SCWのxmlが優先。
  • SCWのxmlに添付した複数のinfは上位に表示されているものが優先。

まとめ

Windows Server 2008になって少々影が薄くなったSCWですが、これを使用することによってかなりセキュアな環境を簡単に作成することができます。特にすごいのは、サービス関連ですかね~。現在使用しているサービスと使用していないサービスをほとんど正確に導き出してくれるのはGoodです。

管理者でセキュリティを重視した管理を行う方はぜひ一度お試しあれ

RODC設計(その前に知っておきたいこと)

さまざまなHPやブログでRODCのインストール方法などが紹介されていますが、その前に知っておきたいことがあります。それを知っているとなぜRODCをインストールするべきなのかがわかります。また、設計におけるヒントにもなります。

そもそもRODCとは、その役割は?

Windows Server 2008から新しい形態のドメインコントローラーであるRODCがサポートされました。このRODCとは読み取り専用ドメインコントローラーと呼ばれています。

RODCの利用用途としては、セキュリティに不安があるようなブランチオフィスなどに設置するなどとよく言われています。しかし、そもそもなぜRODCという機能ができたのか?を知ることによって設計手法も導き出せると考えます。

では、RODCがなかったころ・・・要するにWindows Server 2003の頃問題となったのはどういうことか?

それは、支社において管理者や、セキュリティ領域(サーバールームなど)がなく運用管理やセキュリティに不安がある場所においても書き込み可能なドメインコントローラー(DC)を置かないといけない場合があった。そうなるとDCにはドメインの資格情報(パスワードなど)が格納されているのでDCのコンピューター自体が盗まれ、解析されてしまうなどのリスクを持つことになります。

この問題を解決するための手段としてRODCが開発されたと考えます。

では、なぜそのような場所にDCを置かなくてはいけないのか?その大きな一つの要因は

  • クライアントユーザーのログイン速度を上げたい

ということになります。

でも支社にDCを置いたからその支社のユーザーはすべてローカルに存在するDCを使ってログインするのか?実はある仕組みが必要になります。それはADのサイトを本社、支社に分け、支社のサイトに支社で使用するDCを配置します。そうすることによって、クライアントはサイトのサブネット設定により自分のサイトのDCを知ることができるのでログイントラフィックの封じ込めが可能になります。しかし、実はこれだけではありません。それは、サイトごとにGCやDNSを置くべきなんです。それはクライアントのログインプロセスに起因します。クライアントはまずDNSのSRVレコードを参照してDCを探します。そしてDCはGCカタログを参照することによってユニバーサルグループに入っているがどうかを確認します。これらのプロセスも同じサイトにないとログイントラフィックの封じ込めが中途半端になります。そしてサイト内のDCからユーザー情報を取得してログインを行います。

ただし、Windows Server 2003以降からはサイトの設定で、ユニバーサルグループメンバーシップのキャッシュをサポートしているので必ずしもGCをサイト内に設置する必要はありません。

RODCの要件とは

RODCを展開するためにはある一定条件が必要になります。それは

  • フォレストの機能レベルが Windows Server 2003以上にする
  • ドメインの機能レベルを Windows Server 2003以上にする
  • 同一ドメイン内に少なくとも一台以上Windows Server 2008が必要

参考

RODC の展開に必要な前提条件

RODCの利点

RODCの管理にはドメインレベルの権限を一切付与せずにRODC用に委任されたローカル管理者を設定することができる。これにより、支社(RODC)のみの管理を任せることができます。

パスワードレプリケーションポリシーを設定することにより、設定された資格情報のみがRODCに配置される。想定されるのは支社のユーザーの資格情報をRODCに配置することによってログオントラフィックを封じ込めができます。よって、RODC自体が盗まれて解析されてもドメイン全体に影響を及ぼすのではなく、その支社の資格情報が危険にさらされるのみとなります。そのような場合は本社側でRODCの資格情報をリセットすれば支社の資格情報も守られることになります。

想定されるRODCの前提とは(まとめ)

RODCは今までDCを配置してログイントラフィックの封じ込めを行っていた場所に対する代替の方法になる。ということは、サイト設計を行いサイトの分離を行う。そして支社のサイトにはDCは置かずに1台のRODCが配置される。またメンバーサーバーもあるかもしれませんね。さらにRODC上にDNSやGCを配置するのは強い推奨となると思われます。ただし、セキュリティを考慮するとGCを配置するよりもユニバーサルグループメンバーシップのキャッシュを設定するほうがよりセキュリティレベルは高くなるでしょう。そうすればRODCが配置されたサイトで、ユーザーがログインしたときのみキャッシュが登録されるからです。

RODCを配置する場合の注意事項

  • サイトにRODCを追加(RODCを複数立てると資格情報の不整合が発生する場合がある)
  • サイトにDCを追加(RODCを導入する意味がない)
  • サイトを作らずにRODCの追加(これも意味がない)

今回は技術的な話というよりは、設計を行う上での考慮点ということになりますね~

GPOの基本設定

Windows Server 2008のGPOを眺めていると「基本設定」という項目があります。

今まではスルーしていたんですが、Windows Server 2008 リソースキット<グループポリシー編>を読んでいるとこの話が出ていました。実は私が行っているトレーニングではこの話は一切出てこないのでリソキを読むまで知りませんでした。

ちなみにこのリソキの監修はフィールドSEあがりの安納ですでおなじみの安納さんが行っています。

GPO

この基本設定を設定すればいろんなことができるんだ~なんて思っていましたが、大事な前提があります。それは次の通り。

<グループポリシーの基本設定のCSE>

W2008では、グループポリシーに「基本設定」という項目群が新設された。

これらの項目の設定内容を受け取って適用するには、クライアント側コンピュータに「基本設定」用のCSE(client-side extensions)がインストールされている必要がある。

・W2008の場合

「基本設定」用CSEはすでにインストールされている。

・Vista、2003sp1、XPsp2の場合

各OSバージョンごとの「基本設定」用CSEをダウンロードし、別途インストールする必要がある。

ダウンロードサイトは下記。

http://support.microsoft.com/kb/943729/en-us

http://support.microsoft.com/kb/943729/ja

なお、グループポリシーの「基本設定」という項目群の設定が行えるのは

W2008またはRSATをインストールしたVistaSP1の、GPMCのグループポリシー管理エディタである。

参考:Windows Server 2008リソースキット グループポリシー編 p331

ということで、この基本設定の機能を使いたい場合にはクライアント側にCSEをインストールする必要があります。

WINSの罠

Windows Server 2008にも以前と変わらずにWINSが搭載されています。まあ、役割ではなく機能に入っているのは愛嬌ですけどね(笑)

さて、昔からある資源を活用するために(NTの環境を使う)WINSサーバーを活用する企業もあるでしょう。そこで注意しなくてはいけないことがあります。

Windows Server 2008上でWINSを導入してサーバーの「プロパティ」の「間隔」タブを確認すると以下のようになっています。

wins

ここでWINSの管理をしている方は、ピンとくるかもしれません。

実はTechnetなどで確認するとWindows Server 2008のWINSに関するドキュメントはなくWindows Server 2003のドキュメントにリンクされています。ということは、テクノロジの変化はないということになります。

ここで問題になるのは規定値が想定されているものと異なるということです。

参考

WINS サーバーの既定値を変更する

ここで設定されているのは以下の通り

  • 更新間隔 : 40 分
  • 廃棄期間 : 40 分
  • 廃棄タイムアウト : 1 日

このときの該当するレジストリを見ると、値は、0 となっています。

ただ、プロパティを [OK] で閉じると、相当するレジストリが反映されます。

また、”既定値の戻す” をクリックすると、以下になり、レジストリも反映される。

  • 更新間隔 : 6 日
  • 廃棄期間 : 4 日
  • 廃棄タイムアウト : 6 日

これが本来想定される規定値になります。

さて、ここで疑問になるのが一体どの値が採用されて動作するのかということです。

さすがに解らなかったのでマイククロソフトのサポートに連絡して調べてもらいました。

ということでマイクロソフトからの回答がこちら

– 見解

本現象について、エスカレーション部隊とともに調査しました結果、弊社製品の不具合で発生している現象であることがわかりました。

さらに、初期設定されている、[更新間隔] 等の期間においても実際にメモリ上に存在し、動作に依存する値であることがわかりました。

恐れ入りますが、Windows Server 2008 にて WINS サービスを実行する際にはプロパティ画面より、[既定値に戻す] ボタンをクリックし、Windows Server 2003 と同様の初期値に設定いただきますようお願いいたします。

– ここまで

この数値で運用を行うと、クライアントからのトラフィックが頻発することになりますね~

ということで、Windows Server 2008でWINSを使用する場合は必ず、[既定値に戻す] ボタンをクリックして数値を適切な値にしてから使用することが必要になります。

まあ、次回のサービスパックで直っていると良いですね。

2011年4月18日 追記

残念なことにWindows Server 2008 R2 でも症状は同じでした・・・