SE の雑記

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

Tech・Ed 2009 US の DVD 販売はなさそうですね

leave a comment

去年までは Microsoft Event DVD Store でアメリカの Tech・Ed のセッション DVD が購入できていたのですが
今年は Tech・Ed Online が提供されているので単体での販売はなさそうですね。

Tech・Ed Online

クレジットカード支払いになりますが上記サイトでコンテンツ購読することにより PowerPoint の資料と
セッションの動画をダウンロードすることができます。

購読することで閲覧可能になるのは、上記のリンクから? [Start Now] でサイトに入り、[Channel] の [Track] の
各トラックで鍵アイコンの表示されているセッションです。

1 年間の利用で$249 になります。
私は本日、購読をしてみました。
今、一生懸命セッション資料をダウンロード中です。

2009 のものだけでなく 2008 のセッション動画もダウンロードできるようです。
2008 のものは 2,3 セッションしか確認ができていませんが、セッション資料のダウンロードはなさそうでした。

イベントの開催場所も選択できるようになっており、2008 のセッションについてはヨーロッパで開催されたものも
セッション動画は見れるようでした。
開催場所は日本も選べるようになっており、セッションの内容は公開されていないのですが、今後こちらで公開されるのであれば
参加できなかった方が情報を収集する場としてとても便利なのではないでしょうか。

2010 もこのサイトから資料が公開されダウンロードが可能なのであればかなりお得なサービスかと。

Written by Masayuki.Ozawa

9月 30th, 2009 at 2:38 pm

Posted in セミナー

例外コードの調べ方

leave a comment

Windows を使用していて、例外コードが発生してアプリケーションが終了されることがあります。
例外コードの内容ってどうやって調べるのだろうと思っていたら、@IT に記事がありました。

“Error Code Lookup”ツールでエラー・コードから原因を探る

Windows の例外コードは DDK の ntstatus.h で定義されているようなのですが、上記の記事で紹介されている、
Microsoft Exchange Server Error Code Look-up を使用すると調べることができます。

DDK の ntstatus.ht で定義されていることは以下の KB に記載されています。
NTSTATUS エラー コードをメッセージ文字列に変換する方法

Err Code Lookup の使い方は簡単で、モジュールをダウンロードしたら実行して解凍をして、コマンドプロンプトで
実行するだけです。

以下はコマンドの実行例です。

err.exe [/ヘッダファイル名] <例外コード>

>err.exe 0xC0000142
# for hex 0xc0000142 / decimal -1073741502 :
? STATUS_DLL_INIT_FAILED??????????????????????????????????????? ntstatus.h
# {DLL Initialization Failed}
# Initialization of the dynamic link library %hs failed. The
# process is terminating abnormally.
# 1 matches found for "0xC0000142"

>err.exe /ntstatus.h 0xC0000142
# ntstatus.h selected.
# for hex 0xc0000142 / decimal -1073741502 :
? STATUS_DLL_INIT_FAILED??????????????????????????????????????? ntstatus.h
# {DLL Initialization Failed}
# Initialization of the dynamic link library %hs failed. The
# process is terminating abnormally.
# 1 matches found for "0xC0000142"

?

アプリケーションが終了した場合、例外コードが何を示しているのかを調べるようにすると、一歩進んだ原因の
調査ができるかも知れないですね。

この辺はデバイスドライバの開発をされている方とかはかなり詳しいんでしょうね~。

Written by Masayuki.Ozawa

9月 27th, 2009 at 1:33 pm

Posted in Windows Server

WSFC のログについて

leave a comment

WSFC / MSFC のログについて調べたことをまとめてみました。
久しぶりのクラスタ関連の投稿です。

検証環境が 2008 無印のものしか用意できていなかったため Windows Server 2008 SP1 で確認しています。
そろそろ R2 のクラスタ検証環境も構築しておきたいと思います。

WSFC のログ (状態を把握する情報) は以下の種類があります。

  1. イベントビューア
  2. Cluster.log
  3. Event Tracing for Windows (ETW)

まずはイベントビューアのログから。

[イベントビューア]

以下の 2 個所からクラスタ関連のイベントビューアのログを確認することができます。

  1. システムログ
  2. アプリケーションとサービスログ

それぞれのログの表示の仕方は以下の通りです。

システムログ

  1. サーバー マネージャを実行します。
  2. [診断] → [イベント ビューア] → [Windows ログ] → [システム] を開きます。
    image?
  3. WSFC のログのみを表示するにはソースを [FailoverClustering] でログをフィルタリングします。
    フィルタリングは [操作] の [現在のログをフィルタ] で行います。
    image
  4. [フェールオーバー クラスタ管理] の [クラスタ イベント] で表示される内容もイベントビューアと同様の内容のようですね。
    こちらは直近 24 時間以内の内容でフィルタリングされています。
    image?

アプリケーションとサービスログ

  1. サーバー マネージャを実行します。
  2. [診断] → [アプリケーションとサービス ログ] → [Microsoft] → [Windows] → [FailoverClustering] → [Operational] を開きます。
    image

こちらのログはクラスタの操作ログが出力されるようですね。
細かな動作の内容に関しては [Windows ログ] ではなく、こちらのログを確認したほうがよいかと思います。

[Cluster.log]

Windows Server 2003 まではデフォルトで出力されていたログですね。
Windows Server 2008 ではこのログはデフォルトでは出力されていません。

以下のコマンドを実行して、必要に応じて都度出力する必要があります。

cluster log /generate
または
cluster log /g

?

このコマンドを実行すると [Cluster.log] が [C:WindowsClusterReports] に出力されます。
[/node:] オプションを指定しない場合は、クラスタを構成する各ノード上にログが出力されています。

image

このファイルは以前からクラスタを触られている方であれば馴染みのある形式ですよね。
クラスタのログは Tech Center の以下の投稿がとても参考になります。
Cluster Log Level

クラスタのログのレベルは 1 ~ 5 までの 5 段階で設定ができ、デフォルトでは 3 となっています。

Level Error Warning Info Verbose Debug
0 ? ? ? ? ?
1 ? ? ? ?
2 ? ? ?
3 ? ?
4 ?
5

?
以下は [Cluster log] コマンドのヘルプになります。
[/LEVEL] は [0 ~ 10] となっていますが、6 以上は将来の予約値となっているようで現在はまだ使われていないようです。
# R2 になって使用されるようになっているかまではまだ調べられていません。

>cluster log /?
このコマンドの構文は次のとおりです:

CLUSTER [[/CLUSTER:]クラスタ名] LOG <オプション>
<オプション> =
? /G[EN[ERATE]] [/COPY[:"ディレクトリ"]] [/NODE:"ノード名"]
? [/SPAN[MIN[UTE[S]]]:分] ]
? /SIZE:MB 単位のログ サイズ
? /LEVEL:ログ レベル

注意:
? /SIZE は 8 ~ 1024 MB の間である必要があります。
? /LEVEL は 0 ~ 10 の間である必要があります。

CLUSTER LOG /?
CLUSTER LOG /HELP

ログのレベルを変更したいときは、[Cluster log /LEVEL:<レベル>] で変更します。
サイズはデフォルトでは [100 MB] になっていますので変更したい場合は [Cluster log /LEVEL:<サイズ>] で変更します。
現在の設定値を確認したい場合は、[Cluster prop] コマンドで確認することができます。
以下は、コマンドの出力結果です。
[ClusterLogLevel] [ClusterLogSize] が現在の設定値になります。

T? クラスタ???????????? 名前?????????????????????????? 値
— ——————– —————————— ———————–
M? 2008-wsfc-01???????? AdminExtensions
D? 2008-wsfc-01???????? DefaultNetworkRole???????????? 2 (0x2)
S? 2008-wsfc-01???????? Description
B? 2008-wsfc-01???????? Security Descriptor??????????? 01 00 14 80 … (288 バイト)
M? 2008-wsfc-01???????? GroupsAdminExtensions
M? 2008-wsfc-01???????? NetworksAdminExtensions
M? 2008-wsfc-01???????? NetworkInterfacesAdminExtensions
M? 2008-wsfc-01???????? NodesAdminExtensions
M? 2008-wsfc-01???????? ResourcesAdminExtensions
M? 2008-wsfc-01???????? ResourceTypesAdminExtensions
D? 2008-wsfc-01???????? QuorumArbitrationTimeMax?????? 20 (0x14)
D? 2008-wsfc-01???????? QuorumArbitrationTimeMin?????? 7 (0x7)
D? 2008-wsfc-01???????? DisableGroupPreferredOwnerRandomization 0 (0x0)
D? 2008-wsfc-01???????? ClusSvcHangTimeout???????????? 60 (0x3c)
D? 2008-wsfc-01???????? ClusSvcRegroupStageTimeout???? 7 (0x7)
D? 2008-wsfc-01???????? ClusSvcRegroupOpeningTimeout?? 5 (0x5)
D? 2008-wsfc-01???????? ClusSvcRegroupPruningTimeout?? 5 (0x5)
D? 2008-wsfc-01???????? ClusSvcRegroupTickInMilliseconds 300 (0x12c)
D? 2008-wsfc-01???????? HangRecoveryAction???????????? 3 (0x3)
D? 2008-wsfc-01???????? SameSubnetDelay??????????????? 1000 (0x3e8)
D? 2008-wsfc-01???????? CrossSubnetDelay?????????????? 1000 (0x3e8)
D? 2008-wsfc-01???????? SameSubnetThreshold??????????? 5 (0x5)
D? 2008-wsfc-01???????? PlumbAllCrossSubnetRoutes????? 0 (0x0)
D? 2008-wsfc-01???????? CrossSubnetThreshold?????????? 5 (0x5)
D? 2008-wsfc-01???????? BackupInProgress?????????????? 0 (0x0)
D? 2008-wsfc-01???????? RequestReplyTimeout??????????? 60 (0x3c)
D? 2008-wsfc-01???????? WitnessRestartInterval???????? 15 (0xf)
D? 2008-wsfc-01???????? SecurityLevel????????????????? 1 (0x1)
D? 2008-wsfc-01???????? ClusterLogLevel??????????????? 3 (0x3)
D? 2008-wsfc-01???????? ClusterLogSize???????????????? 100 (0x64)
D? 2008-wsfc-01???????? WitnessDatabaseWriteTimeout??? 300 (0x12c)

[Cluster.log] はコマンドの実行の都度、生成されますがその情報は Event Tracing for Windows (ETW) で出力された
情報がベースになっているようです。

[Cluster log /g] コマンドを実行すると、[CPrepSrv.exe] が [C:WindowsSystem32winevtLogs] ディレクトリにある、
[ClusterLog.etl.001] [ClusterLog.etl.002] [ClusterLog.etl.003] を読み込み、[Cluster.log] を生成しています。

image

[Event Tracing for Windows (ETW) ]

最後に ETW のログです。

ETW は Event Tracing for Windows の略で、OS で提供されている汎用トレース機能になります。
この機能により、クラスタの状態が ETL ファイルに出力がされています。
ETW は OS の内部状態を確認するために使用することがあるようなのですが、私は全然詳しくありません・・・。
IT Pro 向けの ETW / XPerf 関連の情報を集めたいなと思っているのですが手付かずです。

ETW によりデバッグおよびパフォーマンス調整を改善する

クラスタの ETW はイベントトレースセッションで自動的に実行されるようになっています。

イベントトレースセッションの設定は以下から確認することができます。

  1. サーバー マネージャを実行します。
  2. [診断] → [信頼性とパフォーマンス] → [データ コレクタ セット] → [イベント トレース セッション] を開きます。

image?

[FailoverClustering] がクラスタのイベントトレースセッションの設定になります。

自動的に実行されているのは [スタートアップ イベント トレース] で [FailoverClustering] が [自動] で設定されているからのようですね。

image

この機能で出力されているのが、[Cluster.log] のベースになっている、[C:WindowsSystem32winevtLogs] に出力さている、
[ClusterLog.etl.xxx] ファイルになります。

このファイルを直接開いて内容を確認することはできないのですが、[tracerpt] というコマンドを使用すると、CSV や XML で
出力することができます。
以下はコマンドの例になります。

tracerpt ClusterLog.etl.001 ClusterLog.etl.002 ClusterLog.etl.003 -o log.txt ?of CSV
tracerpt ClusterLog.etl.001 ClusterLog.etl.002 ClusterLog.etl.003 -of XML

クラスタの場合は ETW を開くより、cluster.log にして開くことのほうが多いと思いますので、使用する機会は
多くないかも知れないですね。

ETL ファイルですので、xperf や xperfview で開くことも可能です。
xperf / xpwerfview は以下のリンクから WPT Kit をダウンロードすることで入手可能です。

Windows Performance Analysis

パフォーマンス系の情報が入っていないからなのか、開いても寂しい表示ですが。

image?

以上が、クラスタのログになります。
クラスタで障害が発生した場合は、これらのログを使用して状況を把握していくことになります。
ETW は Cluster.log で確認ができるので、実際にはイベントビューアと cluster.log の 2 種類を使用することになりますね。

この記事はずっと下書きに入っていたのですが、ようやく投稿まで持っていくことができました。

Written by Masayuki.Ozawa

9月 26th, 2009 at 3:19 pm

Posted in MSCS/WSFC(MSFC)

ISA でリバプロ ? HTTPS 編 ? その 2

leave a comment

HTTPS で ISA を公開するための手順の続きです。

[Web リスナ の作成? (SSL) ]

作成の手順は証明書関連を除くと HTTP のときとほとんど同じです。
同じ箇所は画像は省略して手順を記載しています。

  1. [スタート] → [すべてのプログラム] → [Microsoft ISA Server] から [ISA Server の管理] を開きます。
  2. [ファイアウォール ポリシー] を選択し、[ツールボックス] → [ネットワーク オブジェクト] → [Web リスナ]
    → [右クリック] → [新しい Web リスナ] をクリックします。
  3. 任意の [Web リスナ名] を入力し、 [次へ] をクリックします。
  4. [クライアントとの SSL セキュリティ保護接続を必要とする] を選択し、[次へ] をクリックします。
    image
  5. 外部からの要求を受け付ける IP アドレスが指定されているネットワークを選択し、[次へ] をクリックします。
  6. ネットワークに複数の IP を割り当てている場合は IP 単位で証明書を設定できるようです。
    今回は単一の IP を割り当てていますので、[この Web リスナに 1 つの証明書を使う] を選択し、[証明書の選択] を
    クリックします。
    image
  7. 証明書の設定が完了していると、サイト用の証明書が選択できるようになっています。
    使用する証明書を選択し、[選択] をクリックし、[次へ] をクリックします。
    image
  8. [クライアントが ISA Server に~] は [認証なし] を選択し、[次へ] をクリックします。
  9. [次へ] をクリックします。
  10. [完了] をクリックします。

これで SSL を使用するリスナーの作成は終了です。
あとは HTTP のときと同様にこのリスナーを使用するポリシーを作成します。

[ファイアウォール ポリシーの作成]

こちらも HTTP のときと同じ箇所の画像は省略で。

  1. [タスク] → [Web サイトの公開] をクリックします。
  2. 任煮の [公開ルール名] を入力し、[次へ] をクリックします。
  3. [許可] を選択し、[次へ] をクリックします。
  4. [1 つの Web サイトまたは付加分散装置を公開する] を選択し、[次へ] をクリックします。
  5. 今回は Web サーバー側も SSL を適用したサイトで作成しているのでこちらの設定を使用しています。
    [公開された Web サーバーまたはサーバー ファームへの接続に SSL を使用する] を選択し、[次へ] をクリックします。
    クライアント ←→ ISA 間は SSL で保護されているので、 ISA ←→ Web サーバー間は SSL を使用しないという
    考え方もあるかも知れません。
    その場合は下のラジオボタンを選択します。
    今まで、SSL のサイト展開をした経験がないのでわからないのですが、一般的にはどちらが多いんでしょう??
    image
  6. [内部サイト名] と、必要に応じて [コンピュータ名または IP アドレス~] を有効にして、入力を行い [次へ] をクリックします。
  7. [内部公開の詳細] はデフォルトのままで [次へ] をクリックします。
  8. [パブリック名] に外部公開のドメイン名を入力し、[次へ] をクリックします。
  9. [Web リスナ] に作成した SSL 用のリスナ名を選択し、[次へ] をクリックします。
    image
  10. 認証方式は、[委任できません。クライアントは直接認証できません] を選択し、[次へ] をクリックします。
    作成したルールを RD ゲートウェイで使用する場合は、ゲートウェイ側と ISA 側の設定にもよるかも知れませんが、
    [委任できません。クライアントは直接認証できます] に設定しないと RD ゲートウェイへの接続時に認証ダイアログに
    ユーザー情報を指定してもログインできないことがあります。
    # 設定を [クライアントは直接認証できます] にしてもユーザー名にはきちんとドメイン名を入力しないと
      接続できませんでした。
    RD ゲートウェイには SSL ブリッジという機能があるんですね~。いままで気づきませんでした。
    image
  11. [次へ] をクリックします。
  12. [完了] をクリックします。
  13. [適用] をクリックして、今までの設定を反映させます。

これで HTTPS 経由でのリバースプロキシとして使用することが可能です。

ISA のプロキシ機能がうまく使えると検証環境を柔軟に構成変更できる環境にできそうです。

Written by Masayuki.Ozawa

9月 26th, 2009 at 12:59 pm

Posted in ISA

ISA でリバプロ ? HTTPS 編 ? その 1

leave a comment

HTTPS で ISA を公開する場合の手順になります。
HTTP の設定と大きく異なるのは証明書の設定です。

手順としては

  1. ルート証明書のインポート
  2. サイト用証明書のインポート
  3. Web リスナ の作成? (SSL)
  4. ファイアウォール ポリシーの作成

になります。

まずは [その 1] として証明書のインポート関連の手順をまとめてみたいと思います。

verisign 等の証明機関から発行されている証明書を使用する場合は [ルート証明書のインポート] は不要です。
私は AD CS (Active Directory 証明書サービス) で発行している証明書を使用しており、ISA はワークグループの
環境で配置しているため、AD CS のルート証明書をインポートしています。

[ルート証明書のインポート]

  1. ルート証明書をエクスポートします。
    Windows Server 2008 の AD CS の場合には、管理ツールの [証明機関] を実行して、証明機関のプロパティを開き、
    [証明書の表示] → [詳細タブ] → [ファイルにコピー] からルート証明書をエクスポートし、エクスポートしたファイルを
    ISA にコピーします。
    # 検証で証明書を使っているので塗りつぶしだらけです・・・。
    image image
  2. ISA でファイル名を指定して実行から [mmc] を起動します。
  3. [ファイル] → [スナップインの追加と削除] →[証明書] → [追加] をクリックします。
    image
  4. [コンピュータ アカウント] を選択し、[次へ] をクリックします。
    image
  5. [完了] をクリックして、スナップインを追加します。
  6. [信頼されたルート証明機関] → [右クリック] → [すべてのタスク] → [インポート] をクリックします。
    image
  7. [次へ] をクリックし、[参照] でコピーしておいた証明書を選択し、[次へ] をクリックします。
  8. [証明書をすべて次のストアに配置する] が選択され、[信頼されたルート証明機関] が表示されていることを確認し、
    [次へ] をクリックします。
    image
  9. [完了] をクリックし、ルート証明書をインポートします。

これで、AD CS で発行された証明書が有効なルート証明機関から発行された証明書として認識できるようになります。

[サイト用証明書のインポート]

続いてサイト用の証明書をインポートします。

IIS 7.0 では IIS マネージャからドメイン証明書が簡単に作成できます。
サイト用の証明書はこの機能を使用して作成しました。
以下、簡単ですがサイト用証明書の作成手順です。
[Domain Admins] のメンバーで操作をしないとうまくいかないかも知れないです。
# [Cert Publishers] で大丈夫かなと思っていたのですが駄目でした・・・。

  1. IIS マネージャを起動します
  2. サーバーを選択して、[サーバー証明書] をクリックします。
    image
  3. [ドメイン証明書] の作成をクリックします。
    image
  4. [一般名] に SSL を使用するサイトの名称を入力し、他の情報も入力して [次へ] をクリックします。
    一般名を [*.ドメイン名] として証明書を作成しておくと複数のサイト用の証明書として使用できます。
    [*.test.local] で証明書を作成した場合は、[www.test.local] [www2.test.local] というサイト名を
    一つの証明書で使用することが可能となります。
    image
  5. [オンライン証明機関の指定] で AD CS サーバーを選択し、[フレンドリ名] を入力し、[終了] をクリックします。
    フレンドリ名は実際のサイト名とは異なる証明書の管理名を入力すれば問題ありません。
    # AD CS サーバーの構築が正常に終了していないと [選択] ボタンで AD CS のサーバーを選択できないようです。
    IIS 7.0: IIS 7.0 でドメイン サーバー証明書を作成する

これでサイト用の証明書の作成は終了です。
IIS マネージャのサーバー証明書に以下のような表示がされていれば成功です。
この証明書は AD CS 側では自動的に [発行した証明書] として設定されています。
image

証明書を右クリックして [エクスポート] をするとファイルにエクスポートすることが可能です。
image image

これでファイルにエクスポートした証明書を ISA にコピーして登録します。

  1. MMC を実行して、スナップインを追加するところまでは [ルート証明書のインポート] と同じです。
  2. [個人] → [右クリック] → [すべてのタスク] → [インポート] をクリックします。
    image
  3. [次へ] をクリックし、[参照] でコピーしておいた証明書を選択し、[次へ] をクリックします。
    IIS マネージャでエクスポートした証明書は [pfx] のファイルですので、ファイルの種類で [*pfx,*p12] を選択しておきます。

    image

  4. パスワードの入力画面では、エクスポート時に指定したパスワードを入力し、[次へ] をクリックします。
    image
  5. [証明書をすべて次のストアに配置する] が選択され、[個人] が表示されていることを確認し、[次へ] をクリックします。
    image
  6. [完了] をクリックし、サイト用証明書をインポートします。

これで ISA で SSL サイトを設定するための事前準備が完了です。
次の投稿で実際に HTTPS でサイトを公開するための ISA の設定をまとめたいと思います。
# リモートデスクトップ ゲートウェイ (以前の TS ゲートウェイ) を公開するときの設定も少し書きたいと思っています。

Written by Masayuki.Ozawa

9月 24th, 2009 at 2:32 pm

Posted in ISA

ISA でリバプロ ? HTTP 編 –

leave a comment

簡単ですが ISA 2006 でリバースプロキシを試してみましたので、設定方法を投稿しておきたいと思います。
HTTP / HTTPS の両方を試してみました。

まずは HTTP 編から。

基本的な設定手順としては、

  1. Web リスナ の作成
  2. ファイアウォール ポリシーの作成

の 2 手順となります。
Web リスナはファイアウォール ポリシーの作成時に一緒に作成することもできますが、別の手順として
まとめておいたほうがわかりやすそうなので手順を分けています。

[Web リスナの作成]

  1. [スタート] → [すべてのプログラム] → [Microsoft ISA Server] から [ISA Server の管理] を開きます。
  2. [ファイアウォール ポリシー] を選択し、[ツールボックス] → [ネットワーク オブジェクト] → [Web リスナ]
    → [右クリック] → [新しい Web リスナ] をクリックします。
    image
  3. 任意の [Web リスナ名] を入力し、 [次へ] をクリックします。
    image
  4. [クライアントとの SSL セキュリティ保護接続を必要としない] を選択し、[次へ] をクリックします。
    image
  5. 外部からの要求を受け付ける IP アドレスが指定されているネットワークを選択し、[次へ] をクリックします。
    今回の検証環境は NIC 1 枚で全プライベート IP アドレスを [内部] に設定している環境のため、
    [内部] を選択しています。
    image
  6. [クライアントが ISA Server に~] は [認証なし] を選択し、[次へ] をクリックします。
    プロキシサーバーの認証を必要とする場合にはここで設定をするのだと思います。
    まだ、勉強中でほとんど調べられていないのですが、単純なリバプロとして使用する場合は無認証にしておけば検証ができます。
    image
  7. [次へ] をクリックします。
    image
  8. [完了] をクリックします。
    image

これでリスナーの作成は完了です。
続いて、リバプロに使用するファイアウォールポリシーを作成します。

[ファイアウォール ポリシーの作成]

  1. [タスク] → [Web サイトの公開] をクリックします。
    image
  2. 任煮の [公開ルール名] を入力し、[次へ] をクリックします。
    image
  3. [許可] を選択し、[次へ] をクリックします。
    image
  4. [1 つの Web サイトまたは付加分散装置を公開する] を選択し、[次へ] をクリックします。
    image
  5. [公開された Web サーバーまたはサーバー ファームへの接続に、セキュリティで保護されていない接続を使用する] を
    選択し、[次へ] をクリックします。
    ?image
  6. [内部サイト名] と、必要に応じて [コンピュータ名または IP アドレス~] を有効にして、入力を行い [次へ] をクリックします。
    [内部サイト名] は LAN のブラウザから開くときの URL のサイト名になるそうです。
    単純な検証をする場合は、外部公開のサイト名と同じものを指定すればよさそうです。
    ISA 2006 はワークグループ環境に構築ができますので、ドメイン内の DNS を使用しない場合などはサーバーの IP を
    [コンピュータ名または IP アドレス] に入力します。
    ?image
  7. この辺は勉強不足で最適な設定の検証がぜんぜんできていません・・・。
    設定が正しくないと、ブラウザでアクセスした際に、

    エラー コード: 500 Internal Server Error. 対象のプリンシパル名が間違っています。 (-2146893022)

    が表示されるみたいです。

  8. [内部公開の詳細] はデフォルトのままで [次へ] をクリックします。
    特定のフォルダだけ公開させることも可能なようです。
    今回は全公開なので未入力としています。
    image
  9. [パブリック名] に外部公開のドメイン名を入力し、[次へ] をクリックします。
    image
  10. [Web リスナ] に作成した HTTP 用のリスナ名を選択し、[次へ] をクリックします。
    image
  11. 認証方式は、[委任できません。クライアントは直接認証できません] を選択し、[次へ] をクリックします。
    image
  12. [次へ] をクリックします。
    image
  13. [完了] をクリックします。
    image

以上で設定は完了です。

ISA は設定を変更した場合、最終的な確定には必ず [適用] が必要となります。
[適用] をクリックして、今までの設定を反映させます。

image

これで ISA に HTTP 要求があった場合、URL によってどのサーバーに割り振るかを変更できるようです。

ひとつのグローバル IP で複数のサーバーをポート 80 で公開するためにはこの辺の知識が必要になってくるので、
ネットワーク関連の知識として勉強が必要だな~と感じました。

この設定だと、各サーバーへの要求は ISA からの要求として処理がされるので、実際アクセスされたクライアントのログとしては
各サーバーに出力がされないんですよね。

作成した公開ルールを開くと、[公開先] のタブに、以下の設定があり、
image

[元のクライアントからの要求にする] を選択することによって、IIS のアクセスログに実際の要求元の IP アドレスを残すことが
できるのですが、この場合は各 IIS のサーバーのデフォルトゲートウェイを ISA に設定しないといけないようです。
いまは、かなり乱雑なネットワークで検証環境を構築してしまっているのでどこかで見直さないと。

Written by Masayuki.Ozawa

9月 23rd, 2009 at 2:03 pm

Posted in ISA

ISA でリバプロの参考資料

leave a comment

ISA でリバースプロプロキシを構築する際に参考となりそうな資料をメモとして。

TechNet バーチャル ラボ: ISA Server 2006 と Forefront Server Security による Exchange、SharePoint の安全な利用
セキュリティ バーチャル ラボ
TS ゲートウェイの ISA Server シナリオを構成する
Outlook Web Access のプロキシ サーバーを構成する方法

基本的な作業としては

  1. Web リスナを作成
  2. ファイアウォールポリシーで内部 URL と関連付け

の手順となりそうです。

ISA の日本語の書籍ってほとんどないんですね~。
研修のカタログを見ても実施されていないようです。

洋書は何冊か出ているみたいですね。
いい加減、英語嫌いも克服しないとこの先 SE としてお先真っ暗な気がしてきました・・・。

Written by Masayuki.Ozawa

9月 23rd, 2009 at 12:53 pm

Posted in ISA

Exchange 2010 でエッジトランスポートを構築

3 comments

検証環境の Exchange はメールのリレーサーバとしてエッジトランスポートを DMZ に配置しています。

Exchange 2010 も少し触っておこうと思い、まずは既存の環境への影響が少ない、エッジトランスポートを
2010 で構築してみました。
エッジトランスポートはワークグループ環境かつ既存の Exchange 組織内の役割とも競合しないので
手軽に入れ替えることができます。

今回はせっかくなので Windows Server 2008 R2 にインストールをしてみました。

  1. 必要な役割 / 機能の追加
    まずはエッジトランスポートに必要な役割 / 機能の追加です。

    以下のコマンドを実行して、[.NET Framework 3.5.1] と [Active Directory Lightweight Directory Service] を
    インストールします。
    Windows Server 2008 R2 なので Dism コマンドを使用して追加してみました。

    dism /Online /Enable-Feature /FeatureName:NetFx3
    dism /Online /Enable-Feature /FeatureName:DirectoryServices-ADAM
  2. インストール言語の選択
    インストールメディアを挿入し、セットアップを起動後にインストールする言語オプションを選択します。
    言語の選択は [言語バンドルからすべての言語をインストールする] と [DVD に含まれる言語のみをインストールする] の
    2 種類から選べます。
    今回は [言語バンドル~] を選択してみました。
    この方法ではインターネットから言語バンドルがダウンロードされます。
    ?image
  3. エッジトランスポートの役割のインストール
    [Microsoft Exchange のインストール] でカスタムインストールを選択し、エッジトランスポートをインストールします。
    image image
    image image

エッジトランスポートのインストールは Exchange 2007 のときと変わりませんね。
管理コンソールの基本的な構成も Exchange 2007 と同じですね。
image

軽く、インターネット経由のメール送受信ができるか試したところ正常に動作しました。
製品版が出たらスムーズに置き換えができそうです。

Written by Masayuki.Ozawa

9月 21st, 2009 at 2:20 pm

Posted in Exchange

1 台で App-V サーバーを構築した場合に、Application Virtualization Management Server が起動していないことがある

leave a comment

忘れないようにメモ。

App-V サーバーでは SQL Server が必要となるため、1 台で完結させたサーバーを構築する場合には
App-V と SQL Server を共存させる構成になります。

この構成の場合、稀に [Application Virtualization Management Server] サービスが起動していないことがあります。

image

上記サービスは SQL Serve への接続が必要であるため、SQL Server のサービスが起動していない状態で、
Application Virtualization Management Server サービスが起動すると起動に失敗することがあります。

SQL Server を別のサーバーに構築することも考えられるので依存関係の設定はされていないんですよね。

image

SQL Server と依存関係を設定するためにはコマンドプロンプトで以下のコマンドを実行します。
# SQL Server の既定のインスタンスと依存関係を設定しています。
  Express Edition を使用している場合は [MSSQL$SQLEXPRESS] と依存関係を設定します。

sc config AppVirtServer depend= MSSQLSERVER

# depend= の後ろに半角スペースが必要です。

これで SQL Server と依存関係が設定されます。

image?

依存関係を削除する場合は

sc config AppVirtServer depend= “”

で依存関係を解除することができます。

これで SQL Server と依存関係が設定されます。

この状態で SQL Server のサービスを停止しようとすると依存関係が設定されているため、App-V の
サービスも停止されます。

image

App-V のサービスを開始すると依存関係により、SQL Server のサービスも開始されます。

いざ、サービスを手動で開始しようとしてみると依存関係で SQL Server のサービス開始後に App-V の
サービスが起動するのですがエラーとなってしまうんですよね。

image?
SQL Server のスタートアップが終わる前に接続しようとして、エラーとなっている感じがします。
# 一度エラーになったあとに、再度手動で起動すると正常にサービスが起動できるんですよね。
?
ひとまず、依存関係を設定して、サービスの起動を [自動 (遅延開始)] にし、回復でエラー発生時に
[サービスを再起動する] にして回避しています。

遅延開始は Vista 以降でしか使用できないので Windows Server 2003 で構築する場合は別の方法を
考える必要がありますね。

サービスの遅延開始もコマンドで設定ができます。

sc config AppVirtServer start= delayed-auto

?

App-V 関連では、ステップバイステップからの抜粋になりますが、RTSPS を使用する場合の
設定箇所もメモとしてどこかで投稿しておきたいです。
数ヶ月前、少し調べたのですが投稿しようと思ってずっと手付かずのままです・・・。

Written by Masayuki.Ozawa

9月 20th, 2009 at 6:35 am

Posted in MDOP

コンピュータアカウントのパスワード、変更されたのは何時?

leave a comment

クライアントのコンピュータアカウントのパスワード格納場所

の続きとして投稿しようと思っていたのですが本日まで手付かずでした。
記憶も薄れつつあるのでここでまとめておきたいと思います。

以前の投稿で記載しましたがコンピュータアカウントのパスワードは

– [HKEY_LOCAL_MACHINESECURITYPolicySecrets$MACHINE.ACC]

に格納されているようです。

この中には [CupdTime] / [OupdTime] という 2 種類のキーがあり、この値に変更された日付が入っていそうです。
# 具体的なドキュメントは見つかっていないので [ここかな~] というレベルです。違っているかも・・・。

image

上記の画像が、キーの値を表示したものになります。

4a 30 31 af 44 30 ca 01

という値が入っていますがこのままでは何のことやらさっぱりです。

この値を日付に変換するためには [nltest.exe] を使用します。
[nltest.exe] は Windows 2000 Server / Windows Server 2003 のサポートツールに含まれています。

Windows 2000 SP4 サポート ツール
Windows Server 2003 Service Pack 2 32-bit Support Tools

Windows 7 / Windows Server 2008 R2 では標準で含まれていそうです。

このコマンドとレジストリの値を使用すると日付に変換することができます。
以下がコマンドの実行結果です。

nltest /time:af31304a 01ca3044
af31304a 01ca3044 = 9/8/2009 14:24:48
コマンドは正常に完了しました

レジストリに設定されている値を以下の順で変換します。

  1. 値を 8 桁 + 8 桁にします。
    4a 30 31 af 44 30 ca 01
  2. 値を 2 桁一組として逆から並べ替えます
    af31304a 01ca3044

この値を使用して nltest を実行すると日付が取得できます。
# 最初のブロックと最後のブロックの間には半角スペースを入れます。
今回の値だと [2009/9/8 14:24:48] になりますね。

このタイミングでドメインに参加をさせていますので、コンピュータアカウントのパスワード変更日付の
設定値としては有効かなと思います。

ADSI エディットを使用して、コンピュータアカウントの [pwdLastSet] を確認すると以下の値が設定されています。

[2009/9/8 14:24:49]

image

コンピュータのレジストリの値とほぼ同一の時刻が設定されています。

上記画像は Windows Server 2008 の ADSI エディットで表示したものですが、残念ながら 2008 より前の
ADSI エディットでは日付で表示されません。
下の画像は Windows 2000 Server の ADSI エディットを使用して [pwdLastSet] を取得したものです。

image

[128968610899088750]

このままだと何の値かわからないですよね・・・。
これも日付に変換することが可能です。

  1. 16 進数に変換できる電卓を実行します。
    # 2008 までは関数電卓 / R2, 7 ではプログラマ電卓で変換できます。
    ?image
  2. 10 進数の状態で、[pwdLastSet] の値を貼り付けます。
    image
  3. 16 進数に変換します。
    image?

    そうすると

    1CA3044AFD0D56E

    という値に変換ができます。これを [nltest.exe] で実行できる形式に変換します。

  4. 最初に [0] をつけます。
    01CA3044AFD0D56E
  5. 8 桁 + 8 桁に分割します。
    01CA3044 AFD0D56E
  6. 最初のブロックと最後のブロックを入れ替えます。
    AFD0D56E 01CA3044

これで値の変換は完了です。
変換した値を使用して [nltest.exe] を実行してみます。

nltest /time:AFD0D56E 01CA3044
afd0d56e 01ca3044 = 9/8/2009 14:24:49
コマンドは正常に完了しました

< p>2008 の ADSI エディットと同じ値が取得できました。

Mechanics of User Identification and Authenication: Fundamentals of Identity Management

という書籍にこの辺の内容が書かれていそうなのですが英語なのとお値段がそれなりにするので買えていません・・・。
面白そうな本なのでどこかで読んでみたいとは思っているのですが。

AD 関連では備忘録としていくつか残しておきたいことがあるので時間を見て少しずつ投稿していきたいと思います。

Written by Masayuki.Ozawa

9月 15th, 2009 at 1:59 pm

Posted in Active Directory