OpenNTPDでローカルNTPDサーバ構築

2008–03–13

我が家にはPCが4台あるけど、きちんと時刻合わせしてませんでした。 時刻合わせは、いつ、何が起きたかを知る上で重要な作業なんですが、ついついサボってました。反省。 そこで、今頃って感じですが、NTPサーバで時刻合わせをすることにしました。 それぞれが外部のNTPDサーバに個別にアクセスしていては、ネットワークに優しいとは言えないので、 ローカルNTPDサーバを建てることに決定。 以前、ファイルサーバーをどうしようか悩んでいたOpenBSD4.2マシン、 こいつにNTPDサーバとしても働いてもらうことにしました。

OpenBSDをインストールすれば、OpenNTPDも一緒にインストールされます。 OpenNTPDは精度こそそこそこだけども、シンプルでセキュアなNTPサーバ&クライアントです。

インストールはされているので、設定を行います。 /etc/ntpd.confを編集します。 このファイルにはntpクライアントとしての設定とntpサーバとしての設定を一つのファイルで兼ねてます。 クライアントとして同期を行うサーバと、サーバとして公開するネットワークを設定します。

# ntpdサーバとして公開
listen on *

# 同期を行う外部のntpdサーバを設定。YahooBBと近場の大学をチョイス
servers ntp.bbtec.net
servers ns.kobe-u.ac.jp	  

ntpdを起動

 $ sudo /usr/sbin/ntpd	  

再起動時にもntpdが起動するように/etc/rc.conf.localに下記を追加

 /ntpd_flags=""	  

/var/log/daemonに吐かれるログに、"clock is now synced"とでれば同期完了です。

続いてクライアントの設定をしましょう。 クライアントがOpenBSDなら、上記の設定とほぼ同じで、サーバとしての設定を抜けばよいだけ。 クライアントがGentoo Linuxならopenntpdは下記でインストール完了です。

 $ sudo emerge openntpd	  

/etc/ntpd.confを編集します。ローカルNTPサーバを192.168.100.10とすると

servers 192.168.100.10	  

ntpdを起動

 $ sudo /etc/init.d/ntpd start	  

再起動時にもntpdが起動するように/etc/rc.conf.localに下記を追加

 $ sudo rc-update add ntpd default	  

これでローカルマシンの時刻が正確に同期できます。