トップ回答者
Linuxからの時刻同期

質問
回答
-
チャブーンです。
状況から、Windows Server 2008はワークグループ端末であると認識しています(違う場合はお知らせください)
ワークグループ端末でNTPサーバをセットアップする場合、以下の作業が必要です。
- NTPサーバ機能をONにする
デフォルトではOFFになっているため、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer\Enabledを1に設定します。 - 時刻同期間隔を調整する
デフォルトの時刻同期間隔は長すぎる(長すぎると不適格なNTPサーバとして動作しません)ので、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollIntervalに86400より小さい値(秒数です)を設定します。この後Windows Timeサービスの再起動が必要です。 - Windowsファイアウォールの設定を変更する
Windowsファイアウォールで、ローカルポート・リモートポート共、123/udpの通信を外部から受け付ける設定に変更する必要があります。
うえの具体的な操作方法や注意点については、したのページに書いてあるようですので、参考にしてください。
2014年3月6日 6:24 - NTPサーバ機能をONにする
-
チャブーンです。
Linuxの場合は、上記Windowsの設定ではNGでしたので、以下を実施したところ同期可能となりました。
・NTPサーバの同期モードを0x8に変更
・時刻同期間隔: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
MinPollIntervalを6に変更
MaxPollIntervalを10に変更はい。この方がよりよいと思います(推奨です)。ただ、私が検証した限り、Windowsが「一定間隔で時刻同期が必要な場合」の設定になっていた場合(同期モードが0x9/同期間隔は120秒)も、Linuxサーバのntp.confに既定で必要な値の他に、以下の一行を加えれば、ntpdとして同期を行うようになりました。
restrict <ntpサーバ名> mask 255.255.255.255 nomodify notrap noquery
あと、Windows Server 2008 R2以降の場合、Windows Timeサービスはタスクスケジューラで1週に1度ずつ起動する設定になっているため、この設定を無効化して常時起動させる必要があります。方法については、したのMSの資料をご覧になってください。
http://support.microsoft.com/kb/2385818/ja
2014年3月12日 12:50
すべての返信
-
チャブーンです。
状況から、Windows Server 2008はワークグループ端末であると認識しています(違う場合はお知らせください)
ワークグループ端末でNTPサーバをセットアップする場合、以下の作業が必要です。
- NTPサーバ機能をONにする
デフォルトではOFFになっているため、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer\Enabledを1に設定します。 - 時刻同期間隔を調整する
デフォルトの時刻同期間隔は長すぎる(長すぎると不適格なNTPサーバとして動作しません)ので、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollIntervalに86400より小さい値(秒数です)を設定します。この後Windows Timeサービスの再起動が必要です。 - Windowsファイアウォールの設定を変更する
Windowsファイアウォールで、ローカルポート・リモートポート共、123/udpの通信を外部から受け付ける設定に変更する必要があります。
うえの具体的な操作方法や注意点については、したのページに書いてあるようですので、参考にしてください。
2014年3月6日 6:24 - NTPサーバ機能をONにする
-
情報提供ありがとうございます。
ご推察の通り、ワークグループ環境です。
「1.NTPサーバ機能をON」にするだけは、Linuxサーバから同期できていません。
http://www.atmarkit.co.jp/ait/articles/1301/24/news105.html
上記URLに記載がある「NTPサーバの動作モードの変更」は必須になりますでしょうか。
また、NTPクライアントがWindowsとLinuxの混在環境での考慮事項などありましたら情報展開いただきたく。
よろしくお願いいたします。
2014年3月6日 6:45 -
チャブーンです。
1の操作だけでは、ムリです。2と3の操作も行ってください。2を行う際には2種類の選択肢がありますが、RFC1305の挙動の理解が困難だったり、ワークグループ環境の[日付と時刻のプロパティ]-[インターネット時刻]から操作したい場合、「一定間隔での時刻同期が必要な場合」を選択してください。(その前提で2のレジストリ情報を書いています)。
あと念のため伺いますが、OSはWindows Server 2008 「R2」だったりしませんか?R2の場合、Windows Timeサービスの動作に関する設定を一部追加変更する必要があります。
2014年3月9日 10:50 -
NTPクライアントは、RedHatEnterpriseLinux 6.3とWindows Server 2008 R2を想定しています。
Windowsの場合は、NTPサーバ機能の有効化、時刻同期間隔の調整により正常に同期が可能になります。
Linuxの場合は、上記Windowsの設定ではNGでしたので、以下を実施したところ同期可能となりました。
・NTPサーバの同期モードを0x8に変更
・時刻同期間隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
MinPollIntervalを6に変更
MaxPollIntervalを10に変更
ちなみに、内部NTPサーバはWindows Server 2008です。R2ではありません。
参考までR2の場合はどのような設定が追加変更になりますでしょうか。
2014年3月11日 9:07 -
チャブーンです。
Linuxの場合は、上記Windowsの設定ではNGでしたので、以下を実施したところ同期可能となりました。
・NTPサーバの同期モードを0x8に変更
・時刻同期間隔: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
MinPollIntervalを6に変更
MaxPollIntervalを10に変更はい。この方がよりよいと思います(推奨です)。ただ、私が検証した限り、Windowsが「一定間隔で時刻同期が必要な場合」の設定になっていた場合(同期モードが0x9/同期間隔は120秒)も、Linuxサーバのntp.confに既定で必要な値の他に、以下の一行を加えれば、ntpdとして同期を行うようになりました。
restrict <ntpサーバ名> mask 255.255.255.255 nomodify notrap noquery
あと、Windows Server 2008 R2以降の場合、Windows Timeサービスはタスクスケジューラで1週に1度ずつ起動する設定になっているため、この設定を無効化して常時起動させる必要があります。方法については、したのMSの資料をご覧になってください。
http://support.microsoft.com/kb/2385818/ja
2014年3月12日 12:50