ntpサーバの構築

ログとかファイルのタイムスタンプとかシステム時刻が正しくないと何かとだめだと勝手に思っているのでntpサーバを設定する。
パッケージがまだ入っていないので入れる。
# apt-get install ntp

ntpの設定ファイルをいじる。今回使うntpサーバはmfeedにする。
本当はネットワーク的に近いところを複数指定しませう。
ローカルネットワークからの問い合わせには答える。外からは無視。
そんなかんじ。てことで元からのファイルは脇に寄せて新しく作る。
restrictにはIPを書くべし。オプションは以下。

ignore :すべてのNTPアクセスを無視
notrust :時刻問い合わせに対する応答パケットを無視
noquery :時刻問い合わせパケットを無視
nomodify:設定変更要求パケットを無視
notrap :指定したサーバに対して状変時にトラップを報告しない

# mv /etc/ntp.conf /etc/ntp.conf.old
file: /etc/ntp.conf

# アクセス管理
# すべてのアクセスは基本的に無視
restrict default ignore
# 自ホストはフルアクセス可
restrict 127.0.0.1
# ローカルネットワークはアクセス可 応答は無視
restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap
# 上位のNTPサーバにはNTPアクセス可 こちらへのアクセスは無視
restrict 210.173.160.27 mask 255.255.255.255 nomodify notrap noquery
restrict 210.173.160.57 mask 255.255.255.255 nomodify notrap noquery
restrict 210.173.160.87 mask 255.255.255.255 nomodify notrap noquery
# 参照する上位サーバの指定 (mfeed)
server ntp3.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp1.jst.mfeed.ad.jp
# 切断時など用に自ホストも指定
server  127.127.1.0
fudge   127.127.1.0 stratum 10
# 認証しない
authenticate no
# ログファイル指定
logfile /var/log/ntpd.log
# 時刻の変動を記録するファイル
driftfile /etc/ntp/drift
# ブロードキャスト関連
broadcastdelay  0.008

一度時刻を合わせてからntpサーバを起こす。-uオプションは任意のポートの使用。
ついでに自動起動も設定する。
# ntpdate -u ntp3.jst.mfeed.ad.jp
# /etc/init.d/ntpd start
# chkconfig ntpd on

有効を確認する
# chkconfig --list ntpd
ntpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

いくらか時間を置いて、時刻が合っているか確認。左に * が付いていれば同期している。
# /usr/sbin/ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp3.jst.mfeed. 210.173.160.86   2 u   25   64   77   29.778   30.224  14.250
*ntp2.jst.mfeed. 210.173.176.4    2 u   32   64   77   29.192   30.144  13.826
+ntp1.jst.mfeed. 210.173.176.4    2 u   26   64   77   29.071   20.327   7.262
 LOCAL(0)        LOCAL(0)        10 l   23   64  377    0.000    0.000   0.001

加えてシステムクロックにハードウェアクロックを同期させるスクリプトを作る。
file: /etc/cron.daily/clock.cron

#!/bin/sh

#ハードウェア時間の同期
/sbin/clock -w

#chmod 755 /etc/cron.daily/clock.cron