「ほっ」と。キャンペーン
<   2009年 06月 ( 35 )   > この月の画像一覧
(.Net)ProgressBarコントロールでバーの表示をずっとループさせる

よく終わりが見えない(現在の進捗が分からない)処理中に、プログレスバーの表示がずっとループしてるのを見ます。

あれは何か特殊なことしてるんだろうかと思ってましたが、.Net のProgressBarコントロールだと ProgressBar.Style プロパティで、ProgressBarStyle.Marqueeを指定すればOKみたいです。

ただこのスタイルにしておくと、Value プロパティとか調整しても意味がなくなるのと、Windows XP 以上のOSじゃないとダメなようですね。
[PR]
by jehoshaphat | 2009-06-30 23:37 | .Net開発 | Trackback | Comments(0)
(.Net)DataGridViewでセル値がNULL(DBNull)や空文字時に表示するテキストを変えたい

要件としては、DataGridView でセルの値が null,DBNull,空文字時に "値が入っていません" というメッセージを表示するというものです。

最初、 DOBON:DataGridViewでセルの値がnullやDBNull.Valueの時に表示するテキストを変更するで紹介されているように、DefaultCellStyle.NullValue プロパティを使おうと思っていました。
Me.dgv.Columns("a").DefaultCellStyle.NullValue = "値が入っていません"

しかし、この場合だと、セル値が null,DBNull の時しか使えないようです。
結局、CellFormatting イベントを使って、if文で判断するようにしました。
'dgvはDataGridViewコントロール
Private Sub dgv_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
'ホスト名列に値が無い場合は未使用と表記する。
If dgv.Columns("a").Index = (e.ColumnIndex) _
AndAlso (dgv.Rows(e.RowIndex).Cells("a").Value Is DBNull.Value _
OrElse String.IsNullOrEmpty(dgv.Rows(e.RowIndex).Cells("a").Value)) Then
e.Value = "未使用です"
End If
End Sub

空文字もNULLとみなす要件の時は注意が必要ですね。
[PR]
by jehoshaphat | 2009-06-30 23:35 | .Net開発 | Trackback | Comments(0)
XOOPS Cube をインストールしてみた

ちょっとした掲示板(フォーラム)を作るという作業が入ったんで、この際CMSで定評がある XOOPS を使ってみようと思って評価がてらインストールしたメモです。

XOOPS も Linux みたくいろいろなディストリビューションがあるようです。
今回はとりあえず XOOPS Cube Legacy というのを使ってみることに。

ダウンロードは XOOPS Cube 日本サイトから。
インストールについても、WEBサーバに配置して、index.php たたくだけでインストールウィザードが立ち上がってくれます。
また、XOOPS Cube Legacy のインストール方法というのもあるので、かなり楽に入ります。
データベースは MySQL を使いましたが、既存のデータベースを使えるのもうれしいですね。レンタルサーバだと大抵1個のDBしか与えられなくてその一つでいろいろ使い回しをするので。。

XOOPS は基本的に「モジュール」を追加することで機能を実装する仕組みのようです。
XOOPS Cube Legacy はもとから入っているモジュールは非常に少ないです。

ということで、フォーラムのモジュール入れることに。
ここからいろんなモジュールを検索できるようです。

とりあえず今回は Cube Legacy でも使えて結構あちこちで定評ありそうだった d3forum を使ってみることにしました。

D3FORUM モジュールダウンロードページに行くと、インストール手順に
- XOOPS_TRUST_PATH をセットアップする
- 最新のaltsysモジュールをインストールする (0.61以上)

とあります。

まず要件の一つ目である XOOPS_TRUST_PATH をセットアップしました。(詳しくはXOOPS_TRUST_PATH って何?参考。)
これはWEBサーバのドキュメントルートの外に置く XOOPS 関連のパスを指定するようです。確かにWEBサーバから参照される範囲にいろいろファイル置いておくのはセキュリティ的に問題アリですからね。
このパスは基本どこでもいいようです。
ということで、ドキュメントルートの外に xoops_trust_path というディレクトリを作ります。
そして、mainfile.php で下記のように指定します。
define('XOOPS_TRUST_PATH', 'D:/servertest/xoops_trust_path');

最初、このパスを mainfile.php からの相対パスで指定してたんですが、どうやら絶対パスじゃないとダメっぽいです。
相対パスで指定すると、次の ALTSYS モジュールインストール時に真っ白なページに「install the latest altsys」と怒られました。


次に二つ目の要件の ALTSYS モジュールのインストールです。
ALTSYS モジュールダウンロードページでモジュールファイルをGET。
後は解凍したファイルを XOOPS_TRUST_PATH パスの配下と XOOPS 本体の配下に配置し、管理メニューの「モジュールのインストール」からインストールします。

そして同じように D3FORUM モジュールもインストール。

それでトップページ行くと、メニューにフォーラムが増えていました。
後は、管理メニューから「カテゴリ」と「フォーラム」を作ればつかえました。

しばらく使ってますが、なかなかのものです。
デザインも themes の中のCSSやhtmlをいじればそこそこ思い通りの形に出来ますしね。
[PR]
by jehoshaphat | 2009-06-29 19:07 | サーバがらみ | Trackback | Comments(0)
(.Net)ネットーワーク上のSQL Server インスタンスの一覧取得

クライアントソフト初回起動時に、DBの接続先を設定させる要件で、今までは直に SQL Server のホスト名を指定させてましたが、ユーザビリティを向上させるために、自動的にLAN内の SQL Server を検索する機能を付けてみました。
(SQL Server Management Studio のログインで参照を押した時のような感じです。)

結構ややこしいだろなと思って探すと、あっさり見つかりました。
MSDN:SQL Server のインスタンスの列挙に詳しく取り上げられています。

下記は、ネットワーク上の SQL Server インスタンスを検索し、ListViewコントロールに表示するメソッドです。
''' <summary>
''' ネットワーク上のSQL Server インスタンスを検索し、結果をListViewに表示
''' </summary>
''' <remarks></remarks>
Private Sub SetDatabaseServerListView(ByRef lsvServer As ListView)
'リストビューからいったん情報クリア
lsvServer.Items.Clear()
 
'ネットワーク上の SQL Server Instance取得
Dim instance As SqlDataSourceEnumerator = SqlDataSourceEnumerator.Instance
Dim dtbl As DataTable = instance.GetDataSources()
 
For Each row As DataRow In dtbl.Rows
'ListViewに情報追加
Dim svItems() As String = {row("ServerName"), row("InstanceName"), row("Version")}
Dim listViewItem As New ListViewItem(svItems, 0)
listViewItem.SubItems(0).Name = "SvName"
listViewItem.SubItems(1).Name = "InstanceName"
lsvServer.Items.Add(listViewItem)
Next
End Sub


あまりに簡単にできたので、ちょっと拍子抜け。。

追記(2009/7/6):
row("ServerName"), row("InstanceName"), row("Version") ですが、どうやら値が DBNull になる場合もあるようです。(MSDNには書いてませんが。。。)
なので、

If row("ServerName") Is DBNull.Value OrElse row("InstanceName") Is DBNull.Value OrElse row("Version") Is DBNull.Value OrElse Then
Continue For
End If
Dim svItems() As String = {row("ServerName"), row("InstanceName"), row("Version")}

としたほうが良さそうです。
[PR]
by jehoshaphat | 2009-06-28 23:21 | .Net開発 | Trackback | Comments(0)
外部メディアのオートランで特定のファイルを開く
外部メディア(CD,DVD,フラッシュメモリ)のオートランでメディア内の特定のファイルを開く方法です。
ファイルとフォルダの概念が分かってない初心者にwordファイルを渡して見てもらうという要件なんですが、「マイコンピュータ(Vistaだとコンピュータ)から、CD,DVDのドライブを開いて、○○というファイルをWordで開いてください」といっても通じない可能性が高いので、こういう方法ととることになりました。
(国もさっさと国民全体のITリテラシーの向上をしてほしいものです。ほんとに。。。。)

オートラン自体は autorun.inf ファイルに定義を書いてメディアのルートディレクトリに置くだけで可能なんですが、「ファイルを開く」というのに苦労しました。
最初下記のように autorun.inf を定義していましたが、docファイルが開いてくれません。

[Autorun]
open=テスト.doc


どうやら、open は実行ファイルしかダメっぽいです。

ということで、autorun でランチャ的実行ファイルを起動させ、そのランチャexeがメディア内の特定のファイルを ShellExecute するという方法にすることにしました。
ランチャ的ソフト作ろうかと思ったんですが、ネットで探すとごまんと転がっているので、そちらを使わせていだたくことに。。

今回は使用したのは、Autorunファイル作成というソフトです。
GUIで簡単にautorun.inf も作ってくれるので、楽です。
後は、生成した autorun.inf と run.exe と run.adf(開くファイルパス)をメディアに焼いてあげればいいだけです。

ちなみに、USBメモリのオートランは Vista では可能でしたが、昨今のウイルス事情でWindowsの更新で無効にされるかもしれませんね。。。

セキュリティ的には歓迎ですが初心者相手の作業がたまにある身となると、ちょっとなぁ、、という感じです。

参考:
autorun.infの作り方(訂正版)
[PR]
by jehoshaphat | 2009-06-28 23:19 | 豆知識 | Trackback | Comments(0)
MCP70-642の試験結果
昨日、MCP70-642を受験してきました。


結果は、なんとか合格でした。

実質3週間弱で、リモートアクセスアクセス以降はほぼ一夜漬けでしたが、なんとかなるもんです。
1問目からヤマはずしてたネットワークモニタが出てのはビビりましたが、あとは赤本の要点さえ覚えておけば何とかなるレベルでした。

やはりDNSの問題が多かったように思います。

最後の終了ボタン押す時はほんと勇気がいりますね。
何せ押した瞬間、合否が出るんですから。。。

試験後にもらえるレポートですが、5年前に 70-215 受けた時とはずいぶん変わってました。
あの時は合格か否かくらいしか情報が出ませんでしたが、今回は得点に加えセクション別の正答率もわかるようになっています。

ということで、レポートの一部のっけてみました。
e0091163_21585765.jpg

やはり斜め読みだけで済ましたファイル・印刷サービスと、ネットワークインフラストラクチャの監視・管理の正答率が悪いです。
点数が833点なので、おおよそ40問位はあっていたことになりそうですね。

さっそく今日米国のMSからメール届いて、米国のMCP公式サイトからロゴやら認定証やらがダウンロードできるようになったということなので、ダウンしてみました。(しかし、なんで英語メールなんでしょう。読むのに時間かかって困ります。)
MCTSのロゴもこのブログの右ペインに貼り付けてみました。
前回の時は初回合格だったんで、MCPカードやらビルゲイツ署名入りのなんとかやらいろいろ送付されてきましたが、今回はどうなんでしょう?

まあ何はともあれ、久々の資格試験が合格してよかったです。
[PR]
by jehoshaphat | 2009-06-28 22:08 | 思ったこととかニュースとか。。 | Trackback | Comments(0)
(MCP70-642)3.2 ネットワークアクセス保護(NAP)

MCP70-642 Windows Server 2008 Network Infrastructure, Configuring のメモです。
参考書は下記を使用。
MCP教科書 Windows Server 2008 Network編(試験番号:70-642) (MCP教科書)


これはまだ使ったことないので、なかなか難解な部分です。。。

■3.2.1 ネットワークアクセス保護(NAP)
セキュリティ要件を満たしていないPCを隔離(検疫)する機能。


■3.2.2 NAP実施環境の要素
下記の要素があるらしい。

NAPクライアント
 NAPクライアント機能が有効化されてないとダメ。

ネットワークポリシーサーバ(NPS)
 クライアントに対するポリシーを定義しておく。
 また、ポリシーにOK、ポリシーにNG、NAP非対応時の動作も定義できる。

修復サーバー
 ポリシー満たしていないクライアントに対して、ポリシーを満たさせるためのパッチや手順等を提供するサーバ。

アクセスデバイス(NAP実施サーバ)
 NAPクライアントとNPSとの間にある機器。NAP実施方法により、配置物は変わるらしい。

NAPの動作
NAPではネットワーク的に3つのゾーンとなるらしい。
・検疫ゾーン:ポリシーNG、NAP非対応のクライアントがいるゾーン
・境界ゾーン:アクセスデバイス、修復サーバ
・セキュアゾーン:保護されてるサーバ達

NAP実施方法として以下5つが提供されている。
・DHCP NAP
 アクセスデバイス:DHCPサーバ。
 クライアントがDHCPサーバーからIP取得するときにNAPを実施する。
 DHCPオプションやサブネットで区別。
・VPN NAP
 アクセスデバイス:RRASサーバ。
 VPNクライアントが接続するときにNAPを実施。
 ポリシーNGな場合は、パケットフィルタで、限定的アクセスを強制。
・IPSec NAP
 セキュアゾーンにアクセスにIPSecを強制。
 認証に正常性証明書とやらを使うらしい。なにやら複雑そう。
・IEEE802.1x NAP
 アクセスデバイス:802.1x対応のスイッチ、アクセスポイント。
 有線でも無線でもOK。ポリシーNGは違うVLANにするなどができる。
・ターミナルサービスゲートウェイNAP
 RDPをHTTPSでカプセル化したのがTSゲートウェイ。
 ポリシーNGだと、ターミナルサーバへのアクセス拒否。


■3.2.2 NAPコンポーネント
システム正常性エージェント(SHA)
 クライアントの状態検査と、検証。サーバのSHVと対になる。
システム正常性検証ツール(SHV)
 SHAに対応するNPS側コンポーネント。ポリシーのチェックをするのかな。
検疫エージェント(QA)
 SHAの情報をECに渡す。
実施クライアント(EC)
 動作を強制するクライアントコンポーネント。ESに正常性ステートメントを送信する。
実施サーバ(ES)
 ECから渡された情報をSHVに中継。
検疫サーバ(QS)
 SHVから来た正常性ステートメント応答(SoHR)を受け取り、RADIUSを使ってアクセスデバイスに送信。


■3.2.3 NAPクライアントの構成
・セキュリティセンター
・Network Access Protection Agentサービス
・NAP実施クライアント
が有効になってないとダメ。
※現状では Vista と XP SP3 が対応。

これらがグループポリシーで有効化できる。(AD環境)
NAP実施クライアントをローカルで指定するにはnapclcfg.mscの「NAPクライアントの構成」から有効にできる。


■3.2.4 DHCP強制
クライアントはDHCPを使わないといけない。
ポリシーNGのときは下記のDHCPオプションをリースする。
・サブネットマスク : 255.255.255.255
・デフォルトゲートウェイなし
・設定した非準拠用DHCPオプション

DHCP NAPは最も制限の緩やかな方法。クライアントが手動でIP構成すると制限が適用されないから。
ただし、お手軽感あり。

DHCP NAP構成ポイント
NAPサーバ側
管理ツール「ネットワークポリシーサーバ」→「NAPを構成する」から可能。(ネットワーク接続の方法でDHCPを選択)
・NPSとDHCPサーバが別コンピュータのときは「RADIUSクライアント」を追加する。
 この場合、DHCPサーバにもNPSをインストールし、RADIUSプロキシとして構成する。
 ※アクセスデバイスとNPS間は RADIUS 通信が必要のため。
DHCPサーバ側
・DHCPサーバのスコープでNAPを有効化するには、管理ツール「DHCP」のプロパティで、「ネットワークアクセス保護」タブ→「このスコープに対して有効にする」で可能。
・ポリシーNG時の構成を変更するには、管理ツール「DHCP」の「スコープオプション」右クリ「オプションの構成」→「詳細設定」タブで可能。

■3.2.5 VPN強制
VPN NAP構成ポイント
NAPサーバ側
管理ツール「ネットワークポリシーサーバ」→「NAPを構成する」から可能。(ネットワーク接続の方法で仮想プライベートネットワークを選択)
・RADIUSに関してはDHCP NAPと同じ。
・「認証方法の構成」で EPP-TLS , PEAP-MS-CHAP のどちらかを選択。
VPNクライアント側(RRASサーバではなくVPNクライアント側の設定となる)
・VPN接続プロパティで「詳細(カスタム設定)」→「拡張認証プロトコルを使う(EAP)」で、認証方法選択。
 後は、サーバの証明書を検証するすばやい再接続を有効化する検疫のチェックを有効にするでOK。


■3.2.6 IPSec強制
正常性証明書
 これを用いてコンピュータ認証を行う。
 ポリシーがOKなクライアントのみ、これを受けてとれる。ポリシーNGになったらクライアントは証明書を削除する。
正常性登録機関
 IPSec NAP におけるアクセスデバイスのこと。

セキュアゾーンのサーバはIPSec出ないと通信できない。
境界ゾーンはIPSecと通常の通信両方ともOK。
※NAPポリシーOKなクライアント間でもIPSecで安全な通信ができる。(エンドtoエンドで安全なのはIPSec NAPだけ)

IPSecで必要な設定
・セキュア、境界ゾーンのコンピュータに正常性証明書を配布。
・IPSecポリシー設定
 セキュアゾーン:正常性証明書によるIPSec通信必須。
 境界ゾーン:IPSecと通常の通信両方許可。
 クライアント:IPSecで要求されたら、IPSec通信で応答する。
・正常性登録機関(アクセスデバイス)とCAを設定(正常性証明書を配布)
・NAPポリシー作成(NPS
・NAPクライアントの構成(セキュリティセンター、NAPサービス、NAP実施クライアントの有効化)


と、ここでタイムアウト。。。
試験本番まで残り数時間しかないので、あとは赤本を斜め読みでなんとか踏ん張るのみです。。。
残っているはNAPの802.1x、無線LAN、ファイウォールと、ファイルおよび印刷サービスの構成、ネットワークの監視と管理です。。
赤本でのこりおよそ240頁ほど。。

さあて、どうなることやら。。。。
[PR]
by jehoshaphat | 2009-06-27 00:48 | サーバがらみ | Trackback | Comments(0)
(MCP70-642)3.1 リモートアクセスを構成する
MCP70-642 Windows Server 2008 Network Infrastructure, Configuring のメモです。
参考書は下記を使用。
MCP教科書 Windows Server 2008 Network編(試験番号:70-642) (MCP教科書)


ここから第3章のネットワークアクセスの構成に入ります。Windows Serverが提供している各種ネットワーク関連の構成方法ですが、覚えれるかどうか。。

■3.1.1 リモートアクセスとは
リモートアクセスにはダイアルアップとVPNがある。
リモートアクセスサーバをインストールには、サーバの役割「ネットワークポリシーとアクセスサービス」→「ルーティングとリモートアクセスサービス」で行う。


■3.1.2 ルーティングとリモートアクセスサービス(RRAS)の有効化
RRAS はインストール直後は無効なので、有効化しないといけない。(DHCPサービスも同じ)

インストールの手順のポイントだけ。。
・「IPアドレスの割り当て」 
 「自動」 : RRASサーバがDHCPサーバーからIPを取得し、リモートクライアントに割り当てる。
     この際、10個分のアドレスブロックをリースして、クライアントに割り当てる。
 「指定したアドレス範囲」 : RRASサーバ自体がクライアントにIPを割り振る。

・DHCPリレーエージェント
 RRASがIPアドレスの割り当てを「自動」(他のDHCP使用)にした時、DHCPリレーエージェントを入れるかどうか聞いてくる。
 リレーエージェントインストールした:DNSやWINSの値もDHCPからクライアントに割り当てられる。
 リレーエージェントインストールしない:RRASサーバ自身のTCP/IP設定がクライアントに割り当て。



■3.1.3 リモートアクセスの認証
ユーザ認証のとき、
 ・RRASサーバのローカルユーザ
 ・Active Directory のドメインユーザ
のどちらでも認証できる。

認証の方式は下記の手順で構成。
 管理ツール「ルーティングとリモートアクセスサービス」
 サーバ名のプロパティ→「セキュリティ」タブ。
 「認証プロバイダ」で「Windows認証」を選択し、「認証方式」ボタンより、認証プロトコルを選ぶ。

ユーザー名とパスワードの認証プロトコル
PAP
 ユーザ名、パスワードをクリアテキストで送信する。脆弱な認証方式なので普通使わない。
CHAP
 チャレンジレスポンス方式で認証するが、暗号化レベルが高くないのでこれも推奨されない。
MS-CHAP
 MSがCHAPを拡張したもの。 MS-CHAP v2 がよりセキュリティが確保されている。

証明書による認証プロトコル
EAP-TLS
 EAPの一種。サーバ認証、クライアント認証ともに証明書を使う。
PEAP
 サーバ、クライアント間の暗号化行い、他の認証プロトコルを補う。無線LANクライアント認証なで使用。
 PEAP-EAP-MS-CHAP v2
  サーバ認証はサーバ側の証明書を利用。ユーザ認証はユーザ名とパスワードを使う。
 PEAP-EAP-TLS
  EAP-TLSを利用するPEAP。標準では最強らしい。

※サーバ、クライアント間で複数の認証方式が使えるときは、最もセキュリティレベルが高いものが自動的に選択。
 よって必要ない認証プロトコルはサーバ側で無効化しておくとよい。


■3.1.4 リモートアクセスプロトコル
ダイアルアップは定番のPPPを使用。以下のVPN用プロトコルも、PPPをカプセル化してるのが多い。

PPTP
 制御用コネクション TCP 1723 を使用。
 暗号化の機能はない。(MSの拡張として MPPE と MS-CHAP を組み合わせて暗号化)
 Win2k以前の古いOSでもOK。特に設定もなくお手軽。

L2TP
 Win2k以降から標準搭載。
 暗号化の機能がないため、IPSecと組み合わせて使う。
 L2TP/IPSec の場合、IPSecのコンピュータ認証方式として、事前共有キーコンピュータ証明書(クライアント、サーバ共にインストール)がある。

SSTP
 Server 2008 で新しくサポート。クライアントは Vista SP1 以降。
 HTTPS(443ポート)を使う。
 ファイアウィールやNATやプロキシを越えやすい。
 サーバにサーバー証明書が必要。クライアントにもルートCAの証明書が必要。
 拠点間VPNには使えない。標準化されていない。


■3.1.5 リモートアクセスポリシー
管理ツール「ネットワークポリシーサーバー」から設定可能。(これは、管理ツール「ルーティングとリモートアクセスサービス」から「NPSの起動」で起動させないといけない)
時間帯、アクセス許可するグループ、接続最大時間、暗号化強度などが制限できる。

ポリシー作成ウィザード
・条件
・制約(アイドルタイムアウト、セッションタイムアウト(接続時間)、日付と時刻の制限などができる)
・アクセス許可(許可、拒否の指定)
・認証方法


Windowsのユーザアカウントプロパティにも「ダイヤルイン」にてリモートアクセス許可が設定できるが、リモートアクセスポリシーとどちらを優先するかは、ポリシー作成ウィザード中の「ユーザダイヤルインプロパティ(NPSポリシーよりも優先される)によってアクセスを判断する」で決定できる。

複数のポリシーを作った場合、「処理順序」の値の小さいものから順に適用される。条件に完全一致すれば、次のポリシーは評価されない。

なんかポリシーの適用順というか条件がややこしいけど、本文の図3.33を見ればなんとなくわかる。

また、「条件の指定」と「制約の構成」をうまく使い分けること。


■3.1.6 VPNサーバーへの接続
「接続またはネットワークのセットアップ」ウィザードから実行。
「接続に使用するインターネットアドレスを入力してください」で、VPNサーバのIPアドレスを入れる。(IPアドレスということは、接続先が動的IPならこの方法は難しいということ? と思ったら、URLでもOKらしい。)


■3.1.7 RADIUSサーバーの構成
RADIUSとは?
・認証(ユーザの識別)
・承認(アクセスの可否判断)
・アカウンティング(ログのこと)
の機能を有している。ダイヤルアップ接続時代のもの。

Windows Server 2008では「ネットワークポリシーサーバー」(NPS)が RADIUS サーバ機能を提供してる。
(Windows Server 2002ではインターネット認証サービスで提供されてた)

RDIUSサーバを使った認証はこんな感じ。

クライアント<------>RRAS<------------>NPS<-------->ActiveDirectoryドメコン
(リモート (RADIUSサーバ) (ActiveDirectory使う場合)
アクセスサーバ)


RADIUS認証に UDP 1812 RADIUS アカウンティングに UDP 1813 を使う。
構成として、RRAS(VPNサーバ)をDMZに配置し、NPS(RADIUSサーバー),ActiveDirectoryを内部におくという構成もあり。

RADIUSのインストール
「ネットワークポリシーとアクセスサービス」の役割から、「ネットワークポリシーサーバー」でOK。
ActiveDirectoryドメインのユーザ認証するには、ActiveDirectory にある RAS and IAS Servers セキュリティグループに NPS コンピュータアカウントを追加しないとダメ。


RADIUSサーバー(NPS)側でRADIUSクライアントを指定
管理ツール「ネットワークポリシーサーバ」を起動。
「RADIUSクライアント」を右クリで、「新規RADIUSクライアント」。
設定項目は下記。
・フレンドリ名(項目識別のタイトル)
・アドレス(クライアントのIPかDNS名)
・共有シークレット(クライアント、サーバ間でのパスワード文字列)

RADIUSクライアント(RRAS)側でRADIUSサーバーを指定
管理ツール「ルーティングとリモートアクセスサービス」を起動。
サーバープロパティの「セキュリティタブ」で、「認証プロバイダ」を「RADIUS認証」にする。
後は構成で、サーバ名や共有シークレットを追加していく。


RADIUSプロキシ
RADIUSプロキシを使うと、認証先の振り分けができる。
[PR]
by jehoshaphat | 2009-06-24 17:39 | サーバがらみ | Trackback | Comments(0)
(MCP70-642)2.5 クライアントコンピュータの名前解決構成
MCP70-642 Windows Server 2008 Network Infrastructure, Configuring のメモです。
参考書は下記を使用。
MCP教科書 Windows Server 2008 Network編(試験番号:70-642) (MCP教科書)


NetBIOSという負の遺産はいつまで引きずるんだろと思う今日この頃です。


■2.5.1 名前解決順序
下記の順序
 ホスト名解決 (DNSクライアントキャッシュ(HOSTS)→DNS)
  ↓
 GlobalNamesゾーン (単一ラベル。2.2.4参考
  ↓
 LLMNR (新機能)
  ↓
 NetBIOS名解決 (負の遺産)


■2.5.2 ホスト名解決
 DNSリゾルバキャッシュ(クライントのキャッシュ。HOSTSファイル含む。)
  ↓
 DNS の順で解決。

DNSリゾルバキャッシュは TTL で定められた期間メモリ上に保存する。
HOSTファイル( system32\drivers\etc\hosts 拡張子なし)に書かれたものは永続的に保存。

下記コマンドでリゾルバキャッシュを参照できる。
>ipconfig /displaydns
下記コマンドでリゾルバキャッシュを削除できる。
>ipconfig /flushdns



■2.5.3 LLMNR
Windows Vista , Server 2008以上でサポート。
同一サブネット内で解決できる。NBT(NetBIOS oerver TCP/IP)に代わるもの。IPv6はNBTをサポートしてないらしい。)
LLMNR はマルチキャスト(224.0.0.252 , FF02::1:3)を使って名前解決をする。
通信に使うのは UDP 5355 ポート。
クエリパケットを受信し、それが自分なら応答を返すという仕組み。NBTと似てるかも?
また、名前解決できるレベルも単一ラベルのみ。フルホスト名(FQDN)はできない。


■2.5.4 NetBIOS名解決
これにも下記のような順番で解決するらしい。
 NetBIOS名キャッシュ
  ↓
 WINS
  ↓
 ブロードキャスト
  ↓
 LMHOSTS

NetBIOS名キャッシュ
一定期間メモリにキャッシュする。(TTLは10分。その間に再度アクセスしてもTTLの更新はされない)

WINS
ルータを超えた名前解決が可能。けど、今はあんま使われてない。説明もほとんどなし。。

ブロードキャスト
そのまま。サブネットブロードキャストパケット投げる。これのせいでLANをパケットキャプチャすると見にくい。

LMHOSTS
静的な名前登録。HOSTのNetBIOS版。LMHOSTSによって名前解決されると順序で一番上位の NetBIOS名キャッシュ に保存される。


NetBIOSノードタイプ
また、覚えにくいものが。。。
NetBIOS名解決の順序と手段が幾つか設定できるらしい。
・Bノード : ブロードキャストで解決。
・Pノード : WINSで解決。
・Mノード : ブロードキャスト → WINS
・Hノード : WINS → ブロードキャスト(既定値)


■2.5.5 サフィックスの検索順序
NICのTCP/IP詳細設定ダイアログのDNSタブでサフィックスの設定ができる。

(例)
プライマリDNSサフィックス : dom1.jehupc.com
この接続のDNSサフィックス : dom2.jehupc.com

「プライマリおよび接続専用のDNSサフィックスを追加する」オプション
 単一ラベルのホストが指定>されたら、プライマリDNSサフィックスおよび接続固有のサフィックス(同じダイアログで設定)を、単一ラベルの後に追加して FQDN にする設定。
 (例) pc1 が指定→ pc1.dom1.jehupc.com および pc1.dom2.jehupc.com で名前解決する。

「プライマリDNSサフィックスの親サフィックスを追加する」チェック
 単一ラベルの後ろにプライマリDNSサフィックスを付けてダメなら、DNSサフィックスを一階層減らして再度名前解決を試みる。これをデボルブというらしい。
 (例) pc1 が指定→ pc1.dom1.jehpc.com(名前解決失敗)→ pc1.jehu.com で解決試みる。

「以下のDNSサフィックスを順に追加する」
 プライマリDNSサフィックス、接続固有のDNSサフィックスは無視し、このリストの順番でサフィックスを付け解決を図る。

この接続のDNSサフィックス
 そのまま。この接続のDNSサフィックスで、プライマリDNSサフィックスにプラスαされる。


■2.5.6 グループポリシーを使用したクライアントの管理
グループポリシーでも管理できる項目が増えたらしい。

「非修飾複数ラベル名へのDNSサフィックスの追加を許可する」
 ドットがあってもDNSサフィックスをすべて指定していない非修飾複数ラベルのとき、DNSサフィックスを追加するかどうかが指定できるらしい。

「マルチキャスト名前解決をオフにする」
 これが有効だと、LLMNR による解決をOFFになる。


これでようやく第2章が終了。
章末の練習問題は 13/15 。 うーん、ちょっと微妙。
しかし、あと3日しかないのに、残り330頁もあります。
これは非常にヤバい。。。
[PR]
by jehoshaphat | 2009-06-24 14:40 | サーバがらみ | Trackback | Comments(0)
(MCP70-642)2.4 DNSの管理と監視
MCP70-642 Windows Server 2008 Network Infrastructure, Configuring のメモです。
参考書は下記を使用。
MCP教科書 Windows Server 2008 Network編(試験番号:70-642) (MCP教科書)



■2.4.1 エージングと清掃
DNSサーバの運用時に発生する可能性のある問題。
・古いコードがのこる
・DNSデータベース肥大化
・ゾーン転送量増大
・動的更新で登録されたレコードが残る

エージング
 古いレコードを削除するかどうかの判別する処理。

清掃
 実際にレコードを削除する処理。

非更新間隔
 DNSサーバは REFLESH (内容変更しないタイムスタンプのみの更新) は受け付けず、 UPDATE (内容変更伴う更新) を受け付ける
更新間隔
 REFLES,UPDATE ともに受け付ける。

非更新間隔、更新間隔中(合わせてエージング期間) に一切の更新処理が行われないと、清掃される。
レコードのタイムスタンプに基づいてエージング、清掃の判断を行っている。

静的レコードはタイムスタンプがつかないので、エージング、清掃の対象とするには手動でタイムスタンプを設定すること。

エージングと清掃の設定
・DNSサーバーのエージング設定
 DNSマネージャーから「すべてのサーバーに対しエージング/清掃を設定する」。ここで、非更新間隔、更新間隔を設定(デフォルト7日)。
 「この設定を既存のActiveDirectory統合ゾーンに適用する」とすると、ActiveDirectoryも対象に。
・DNSサーバーの清掃設定
 DNSサーバプロパティの詳細設定タブにて、「古いレコードの自動清掃を有効にする」。清掃期間はデフォルト7日(7日毎に清掃)。
・ゾーンのエージング、清掃設定
 DNSサーバプロパティの全般タブにて、「エージング」→「古いリソースレコードの清掃を行う」をチェック。

※今すぐ清掃するには? DNSサーバプロパティで、「古いリソースレコードの清掃」を実行。


■2.4.2 サーバーキャッシュの消去
DNSマネージャでキャッシュ表示するには「表示」メニュー→「詳細設定」チェックしてないとダメ。

TTL
 キャッシュとして保存する期間のこと。

キャッシュの消去
 DNSマネージャでサーバ右クリックの「キャッシュの消去」でOK.
 コマンドは

dnscmd サーバ名 /clearcache



■2.4.3 ゾーン情報・リソースレコードの確認
なにやらコマンドがちと多い章で。。

ゾーン一覧表示

dnscmd サーバ名 /enumzones


ゾーン情報確認

dnscmd サーバ名 /zoneinfo ゾーン名(FQSN)


ゾーン情報をファイルエクスポート

dnscmd サーバ名 /zoneexport ゾーン名(FQSN) ファイル名


nslookup
これは日常よく使うコマンド。。。けど、あんまり詳しい使い方は知らない。

set all パラメータ :nslookup の現在の設定を表示
set domain パラメータ :既定のDNSドメイン名を指定した名前に変更。(??????)
set q || type パラメータ:レコードの種類を変更。

[PR]
by jehoshaphat | 2009-06-23 01:08 | サーバがらみ | Trackback | Comments(0)