ローカルネットワークにNTPサーバを立てる [Linux]
ローカルネットワーク内で時刻を統一するためにLinuxでNTPサーバ(ntpd)を立てる場合のメモ。
ローカルなネットワークなので、外部との接続はなし。
したがってNTPサーバ自身は外部のNTPサーバへの時刻あわせは行わずに、自分自身のローカルクロックを他のPCに提供することとします。
NTPサーバはLinux(Vine Linux 4.2、CentOS 5.3)、クライアントはWindows(WindowsXP、WindowsVista)です。
NTPデーモン(ntpd)は、aptなりyumなりでrpmパッケージを入れていることが前提です。
Vine Linux 4.2の場合は簡単。
設定を変更せずに、そのままでOKです。
CentOS 5.3の場合。
デフォルトの設定で自分自身以外からのアクセスが遮断されているので、ちょっと修正。
Vine Linuxの様にrestrict行をすべてコメントアウトするのもありですが…。
Windows側の設定は、「コントロールパネル」の「日付と時刻」から、「インターネット時刻」タブでサーバに、NTPサーバのIPアドレスを設定するだけです。
ただし、NTPサーバの起動後直後は、しばらく時刻同期が行われないので、「今すぐ更新」ボタンを押しても「*.*.*.* と同期中にエラーが発生しました。タイムサンプルは拒否されました。ピアの階層は、ホストの階層よりも少ないです。」というエラーが出ます。
ntpqコマンドで同期の状態を確認してしてから、時刻あわせをしましょう。
時刻同期の間隔の変更についてはこのエントリを参考に。
時刻同期が出来ていない状態
時刻同期が出来ている状態
ローカルなネットワークなので、外部との接続はなし。
したがってNTPサーバ自身は外部のNTPサーバへの時刻あわせは行わずに、自分自身のローカルクロックを他のPCに提供することとします。
NTPサーバはLinux(Vine Linux 4.2、CentOS 5.3)、クライアントはWindows(WindowsXP、WindowsVista)です。
NTPデーモン(ntpd)は、aptなりyumなりでrpmパッケージを入れていることが前提です。
Vine Linux 4.2の場合は簡単。
設定を変更せずに、そのままでOKです。
# Vine Linux 4.2の/etc/ntp.confファイル(コメント行は削除してあります)>
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 <- Windowsクライアントが接続してくる分にはstratum 10でも問題なしです
driftfile /etc/ntp/drift
multicastclient # listen on default 224.0.1.1
broadcastdelay 0.008
CentOS 5.3の場合。
デフォルトの設定で自分自身以外からのアクセスが遮断されているので、ちょっと修正。
# CentOS 5.3の/etc/ntp.confファイル(コメント行は削除してあります)>
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 <- 自分自身からのアクセスは許可
restrict -6 ::1 <- -6はIPV6の設定みたい。とりあえず気にしない
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap <- ローカルなネットワークからの接続は許可する(追記)
#server 0.centos.pool.ntp.org <- 外部に接続できないので不要(コメントアウト)
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
Vine Linuxの様にrestrict行をすべてコメントアウトするのもありですが…。
Windows側の設定は、「コントロールパネル」の「日付と時刻」から、「インターネット時刻」タブでサーバに、NTPサーバのIPアドレスを設定するだけです。
ただし、NTPサーバの起動後直後は、しばらく時刻同期が行われないので、「今すぐ更新」ボタンを押しても「*.*.*.* と同期中にエラーが発生しました。タイムサンプルは拒否されました。ピアの階層は、ホストの階層よりも少ないです。」というエラーが出ます。
ntpqコマンドで同期の状態を確認してしてから、時刻あわせをしましょう。
時刻同期の間隔の変更についてはこのエントリを参考に。
時刻同期が出来ていない状態
# ntpq -p
remote refid st t when poll reach delay offset jitter
===================================================
LOCAL(0) .LOCL. 10 l 4 64 1 0.000 0.000 0.001
時刻同期が出来ている状態
# ntpq -p
remote refid st t when poll reach delay offset jitter
===================================================
*LOCAL(0) .LOCL. 10 l 4 64 1 0.000 0.000 0.001
(*印がついたらOKです)
コメント 0