WindowsをNTPサーバにして、Linuxから同期させる

環境とやりたいこと

こんな感じで、LinuxをWindowと時刻同期させてたい。
※今回の環境でWindowsはドメインに参加していない
NTP_00

1. WidowsのNTPサーバ機能を有効にする

デフォルトでNTPサーバ機能はOFFになっているので、ONに設定する
1. KEY_LOCAL_MACHINE\CurrentControlSet\Services\W32Time\TimeProviders\NtpServerを開く
NTP_04
2. NTPサーバー機能はデフォルトでOffを意味する0になっているため、Onを意味する1に変更する
NTP_05

2. Windowsを信頼できるNTPサーバとして設定

1. HKEY_LOCAL_MACHINE\CurrentControlSet\Services\W32Time\Configを開く
NTP
2. AnnounceFlagをデフォルトの ”a” から、自身が信頼できるNTPサーバであることを示す ”5”に変更する
NTP_02

3. RFC1305に準拠した間隔で同期する設定にする

1. HKEY_LOCAL_MACHINE\CurrentControlSet\Services\W32Time\Parametersを開く
NTP_06
2. RFC1305に準拠した間隔での同期をするという意味のパラメータである0x8に変更する
NTP_07

4. 上位NTPサーバへのポーリング間隔を短くする

デフォルトだと最小間隔はLinuxが64秒、Windowsは1024秒、最大間隔がLinuxが1024秒、Windowsは65536秒である。そのため、今回の関係で下記のようになる。

最小間隔『Linux ⇒ 64秒 ⇒ Windows ⇒ 1024秒 ⇒ time.windows.com
最第間隔『Linux ⇒ 1024秒 ⇒ Windows ⇒ 65536秒 ⇒ time.windows.com

Windowsがその上位のNTPサーバであるtime.windows.comにポーリングする間隔が長すぎて、LinuxはWindowsをNTPサーバとして信用できないのである。そこでWindowsが上位NTPサーバへポーリングする間隔を短くする

①HKEY_LOCAL_MACHINE\CurrentControlSet\Services\W32Time\Configを開く
NTP_08
②MinPollIntervalをデフォルトのaから6に変更する。2の6乗の64秒の間隔になる。
※64秒はLinuxのminpollのデフォルト値
NTP_09
③HKEY_LOCAL_MACHINE\CurrentControlSet\Services\W32Time\Configを開く
NTP_10
④MaxPollIntervalをデフォルトのfからaに変更する。2の10乗の1024秒の間隔になる。
※1024秒はLinuxのmaxpollのデフォルト値
NTP_11

5. Windowの設定変更を反映する

①[ファイル名を指定して実行]を開き、[Service.msc]を実行。サービス一覧の[Windows Time]を再起動する
NTP_03

これでWinodws(NTPサーバ)側の設定は終わり。次にLinuxの設定

1. /etc/ntp.conf を編集する

[root@web01 ~]# cat /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.12.1   ★Windows(NTPサーバ)との通信許可

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst  ★コメントアウト
# server 1.centos.pool.ntp.org iburst  ★コメントアウト
# server 2.centos.pool.ntp.org iburst  ★コメントアウト
# server 3.centos.pool.ntp.org iburst  ★コメントアウト
server 192.168.12.1 iburst    ★Window(NTPサーバ)を指定

#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
[root@web01 ~]#

2. /etc/ntp.conf の変更を反映させる

①service ntpd restart コマンドを実行する
NTP_12

3. 時刻同期できているこを確認する

①ntpq -p コマンドを実行する
※NTPサーバ(192.168.12.1)の横のが同期に成功しているこを意味している
NTP_13

以上

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。