Windows 2008 Server R2 で NTPサーバ(タイムサーバ)を構築してみる
- 2010.11.05 Friday
- 21:18
Windows 2008 Server R2のNTPサーバ(タイムサーバ)の構築方法をいろいろ探してみたのだが、
全くといっていいほど文献がないので(ほとんどがコマンドかレジストリをいじる方法で、場合により再起動が必要になる
また、顧客へ納めるサーバとかの場合、レジストリと言うだけで難色を示すが、レジストリをいじらない方法に関しての文献が少ない)、
そこで、GUIから設定(グループポリシー)できる方法を覚え書きしてみる。
見た目はGUIでの操作ですが、結局レジストリをいじっていることには大筋代わりありません。
w32tmコマンドがなれている方はそちらからの設定をお薦めします。
また、グループポリシーをいじるとコンパネ(日付と時刻)からの設定操作ができなくなってしまいます。
クライアントの設定方法は続きの記事をご覧ください。
参考URL
Windows Server 2008 の Windows タイム サービスとこれにより発生するインターネット通信
Windows 2008 Server R2、Windows 7 Professional、Windows7 Ultimate 版で試しています。
それ以外は分かりません
※XPでもできるようです。一番下(続きの)に追記
細かいチューニングもできるようですが、ここでは必要最低限の設定しか投稿していませんので、
分からない場合は、文献をあさって調べてください。
たぶん質問されても答えられません・・・
■NTPサーバを構築してみる
※画像はクリックすると大きくなる(と思います。)
1.スタート→ファイル名を指定して実行を選択
※windows8やwindows 2012 sever の場合のgpeditの出し方は、続きの末尾に補足しました。
2.gpedit.mscと入力してOK
今後もよく使うようであれば、下記URLの方法でコントロールパネルに追加できるようです。
管理ツールにグループポリシー(gpedit.msc)を追加したい
3.ローカルグループポリシーエディターから
Windowsタイムサービスを探し出して(下記)、
タイムプロバイダーのWindows NTPサーバを有効にするをダブルクリックして開く
4.有効を選択してOK
5.管理ツールのサービスを開いてWindows Timeサービスを再起動する。
これでおしまい。
※補足
サービスは再起動してしまうと停止してしまうので、
自動(遅延開始)を設定しておく必要があります。自動では起動できないようになっているので、注意です(下記参照)。
参照
Windows 7 および Windows Server 2008 R2 のスタンドアロン環境で Windows Time サービスが自動的に起動しない
あとは、クライアントから設定すればたぶん接続できるはず。
もし、出来なかったよという場合は続きをどうぞ
追記
簡単な確認方法として、コマンドプロンプトからnet timeコマンドを打ってみると良い
net time ¥¥サーバ名orIP /set /y
もし、システムエラー5が出る場合は認証されていないので、
net use ¥¥サーバ名orIP パスワード /user:ユーザー名 & net time ¥¥サーバ名orIP /set /y
で認証と時刻同期ができる。
(net useで認証して、net timeでも可)
※¥は半角
追記101111
■接続できなかった場合の対処
つながらなかった場合の一例
ピアに到達できません や タイムアウト っていうのもある。
1.Windowsタイムサービスの直下にあるグローバル構成設定をダブルクリックで開く
2.有効にして、
オプションの中程にある一般パラメータのAnnounceFlagsを5にして、OK
※余談
参考URLのWindows タイム サービスの構成設定という部分に数値の内容が書かれている。
5=1+4の設定であるので、
1:常にタイム サーバーとなります。
4:常に信頼できるタイム サーバーとなります。
という意味合いを持つNTPサーバだよって設定になる(たぶんね)
3.サービスからWindows Timeサービスを再起動してみる。
これでもつながらない場合はたぶんファイアーウォール
■ファイアーウォールを設定してみる
1.コントロールパネルからファイアウォールを選択して、詳細設定をクリック。
2.セキュリティが強化されたWindowsファイアウォールの
受信の規則から、新しい規則を選択してウイザードにしたがって、ポートの登録をする。
3.規則の種類からポートを選択
4.プロトコルおよびポートからUDPを選択して、
特定のローカルポートに123を入力する(NTPサーバの設定によってポート番号を設定)
※受信はローカルポートだけ設定します。リモートポートに設定しているとクライアントから接続できない場合があります。
5.操作から接続を許可するを選択
6.プロファイルは対象のプロファイルをもれなく選択
7.適当な名前をつけて、完了
8.たまにつながらないので、試しにWindows Timeサービスを再起動してみる。
クライアント側も根気よく連打すればつながることもある?
●DNSを設定してみる
例えば、ドメイン名で取得するような場合、DNSが設定されていないと取得できないことがある。
試しにIP直打ちで取得できる場合は、DNSが正しく設定されていないこともあるので確認してみるとよい。
または、hostsファイルでIPと名前が解決できていないなども考えられるので、
その辺も確認してみると良いかもしれない。
さらに続く(クライアント側での設定)
追記
gpedit.mscの項目の並びがやや異なりますが、
XPの場合でも同じようにできます。
補足
windows8やwindows 2012 serverのgpeditの出し方は次の通りです。
スタートかディスクトップかで画面右をマウスでポイントし、チャーム一覧を出します。
チャームの中の検索チャームをクリックし、
検索欄に、gpedit.mscと入力すればgpeditが左欄に検索されるので、
それを実行します。
追記
設定がうまくいっていない様子ならば、システムログから同期が正しく行われているか確認してみると良い。
こちらのページが参考になるかと思う
NTP時刻同期サービスのトラブルシューティング