xntpd の実装   ( 環境:Solaris8 )


NTPサーバの設定
[1] xntpdとは…

[2] xntpdの入手
[3] 設定ファイルの作成
[4] xntpdの起動と停止
[5] xntpdの動作確認

NTPクライアントの設定
[1] Solaris8サーバ
[2] Windowsサーバ / Windowsパソコン
[3] ルータ


NTPサーバの設定

[1] xntpdとは…
時刻同期サーバ(NTPサーバ)の事です。サーバやルータなどネットワーク機器は正確な時刻を保持する事が重要です。何故ならログを調べたりするときには秒単位での誤差も問題となってくるからです。そこで各機器のNTPクライアント機能を使ってNTPサーバと同期を取ります。NTPサーバはインターネット上の上位NTPサーバと同期して正確な時刻を配布します。xntpdはUNIXで標準のNTPサーバデーモンです。


[2] xntpdの入手

○ Solaris2.6以降では、xntpdは標準でインストールされている。
○ ソースからインストールする場合は以下のサイトからダウンロード出来る。
ftp://ftp.st.ryukoku.ac.jp/pub/network/ntp/ntp/htp4
ntp-4.1.1b.tar.gz


[3] 設定ファイルの作成
○ ntp.conf の作成
/etc/inet/ntp.conf  (Solaris8の場合)
 /etc/inet/ntp.server をコピーして作成する。


$ cd /etc/inet/
$ cp -p ntp.server ntp.conf
$ vi ntp.conf

# Either a peer or server. Replace "XType" with a value from the
# table above.
server 130.34.11.111 # NTP Server :ntp.tohoku.ac.jp (ping is ok)
fudge 127.127.1.0 stratum 0

#broadcast 224.0.1.1 ttl 4

# の行はコメントアウトで無効にしてあります。
ここでは東北大学のNTPサーバを上位に設定しています。ここはpingにReplyが返ってくるので接続確認ができるからです。
一般的にはネットワーク的に近い場所にあるNTPサーバを指定するのが望ましいです。
また自ネットワーク内に複数のNTPサーバを設置する場合には、上位に同期しに行くのはマスターの1台だけにして、あとはマスターへ同期させるのが良いでしょう。

※上位NTPサーバと通信出来ない時には、下位のクライアントに時刻の配布が出来ない。よってインターネットに接続出来ない状態では原則として時刻同期の動作確認は取れない。

[4] xntpd の起動と停止

○ 実行ファイル
/etc/init.d/xntpd

○ 起動コマンド
$ /etc/init.d/xntpd start

○ 停止コマンド
$ /etc/init.d/xntpd stop

○ Solaris再起動時に自動起動させる方法
/etc/rc2.d に S74xntpd というファイルが最初から入っているので、特に設定せずとも
デフォルトで自動起動してくれる。

[5] xntpdの動作確認

○ プロセスを確認
$ ps -ef | grep ntp
root 687 686 0 09:36:47 ? 0:00 /usr/lib/inet/xntpd

○ 時刻の取得を確認(ホスト名で表示)
$ ntpq -p
remote refid st t when poll reach delay offset disp
==============================================================================
*gpsntp.miz.nao. .GPS. 1 u 18 1024 377 41.49 0.178 0.26
 ※ここでは前述とは別のNTPサーバと同期しています。。。

○ 時刻の取得を確認(アドレスで表示)
$ ntpq -pn
remote refid st t when poll reach delay offset disp
==============================================================================
*133.40.41.175 .GPS. 1 u 11 1024 377 41.49 0.178 0.26


○ 補足説明
(1) ntpq コマンド
NAME
ntpq - standard Network Time Protocol query program
SYNOPSIS
/usr/sbin/ntpq [ -inp ] [ -c command ] [ host ] [ ... ]

(2) 各項目のパラメータ

remote 直近のNTPサーバ
refid 上位のNTPサーバ
st 大元のNTPサーバまでのステップ数
poll 時刻同期を取る周期(ポーリング)
offset 時刻同期のズレ(修正値)



NTPクライアントの設定

[1] Solaris8サーバ
(1) ntp.clientをコピーして設定ファイルntp.confを作成する。
$ cd /etc/inet/
$ cp -p ntp.client ntp.conf
$ vi ntp.conf


(2) ntp.conf の変更
 デフォルトではマルチキャスト( 224.0.0.1 )を使用してNTPサーバを探し、同期を取るように設定されている。サーバとクライアントが同じサブネット内にある場合にはこのままでよい。
multicastclient 224.0.1.1

他のサブネット上にある場合にはNTPサーバのアドレスを指定して設定する。
server 192.168.1.10

(3) 起動と停止
○ 実行ファイル
/etc/init.d/xntpd

○ 起動コマンド
$ /etc/init.d/xntpd start

○ 停止コマンド
$ /etc/init.d/xntpd stop

※xntpdは時刻のズレに合わせて徐々に同期をかける間隔を広げていく。

(4) 手動で同期させる場合
$ ntpdate 192.168.1.10
26 Apr 17:08:38 ntpdate[1603]: adjust time server 192.168.1.10 offset 0.000282sec

○ 補足説明
上記コマンドで以下のエラーが出たら、ポート123をxntpdデーモンが占有しているので、いったんデーモンを終了させてからntpdateコマンドをすると良い。
※そのさいxntpdデーモンを再起動するのを忘れぬように…。

$ ntpdate ntp.dsdc.jp
26 Apr 17:08:07 ntpdate[1600]: the NTP socket is in use, exiting
$ ps -ef | grep xntpd
root 1389 1 0 Apr 25 ? 0:00 /usr/lib/inet/xntpd
$ kill -9 1389
$ /usr/lib/inet/xntpd
$ ps -ef | grep xntpd
root 1605 1 0 17:08:54 ? 0:00 /usr/lib/inet/xntpd



[2] Windowsサーバ / Windowsパソコン

「桜時計」をインストールする。

○ 入手先
http://www.forest.impress.co.jp/library/skrw.html

○ インストール方法
(1) 解凍したskrw021フォルダをProgram files の下などに配置する。
(2) SKRWATCH.EXEのショートカットを以下に作成する。
C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\
(3) アンインストールはskrw021フォルダを削除する。

○ 設定方法
(1)「NTPサーバ名/IPアドレス」欄にNTPサーバ名(又はIPアドレス)を入力。
(2) 毎日電源を落とす場合には「起動時にオンラインにする」をチェックする。
(3) 常時稼動させるなら「常駐する」にチェックする。




[3] ルータ
(config)# sntp server 192.168.1.10




TOPへ