OpenNTPDによる正確な時刻設定法、教えます

文:Vincent Danen(TechRepublic) 翻訳校正:原井彰弘
2008-01-25 12:00:00
  • このエントリーをはてなブックマークに追加

 Linuxのシステム上では、伝統的にntpd(network time protocol daemon)で時刻の同期が行われてきた。しかし、かなり以前からOpenSSHの開発者らは、安全でシンプル、かつ設定が簡単な新しいNTPデーモンを作成してきた。OpenNTPDと呼ばれるそのアプリケーションは、今や多くのディストリビューションで提供されている。しかし、残念ながらデフォルトのNTPDサービスとしてそれを利用している人はまれである。

 Linuxディストリビューションに含まれている伝統的なNTPサービスは、クライアント/サーバモデルで動作している。クライアントであるntpdateは、NTPサービスに接続してシステムクロックをできる限り正確に保つように設定を行う。ntpdも同様のことを行うのだが、ntpdの場合は、タイムサーバのチェックを継続的に行ってシステムクロックを正確に保つと同時に、他のクライアントに対してntpdサーバとしても動作する。

 ただし、多くのディストリビューションに含まれているNTPパッケージを見れば、実際にはntpdate、ntpd、ntpq、ntp-keygen、ntpstatなど、さまざまなアプリケーションが含まれていることが分かるだろう。OpenNTPDはこれとは違う。OpenNTPDに含まれているのはntpdという一つのアプリケーションのみなのだ。この一つのアプリケーションがクライアントの役割もサーバの役割も果たすのである。また、設定ファイルは非常に直感的であり、ntpdがクライアントとしてのみ動作するのか、それともサーバとクライアント両方の役割を果たすのかも設定できる。ちなみに、デフォルトではntpdはクライアントとしてのみ動作する。

 ntpdは起動も非常に単純であり、オプションの数も少ない。OpenNTPDが含まれているディストリビューションには普通、起動を行うためのinitscriptも含まれている。しかし、initscriptが存在しない場合でも、ただ単に以下のコードを/etc/rc.d/rc.local、もしくは同様の一度のみ動作する起動スクリプトに追加すればよい。

/usr/sbin/ntpd

 このコードを実行するとntpdサービスが開始され、設定されたリモートのNTPサーバに直ちにアクセスが行われて時刻チェックが開始される。そして、必要に応じて時刻が調整される。

 もし、ntpdをサーバとして動作させたい場合は、/etc/ntpd.confを編集し、以下のように「listen」の行を一つアンコメントすればよい。

listen on 192.168.0.10

 この設定では、ntpdはIPアドレス192.18.0.10、ポート番号123へのリクエストを待ち受けることになる。

 また、複数のマシンを所有しており、一つのマシンをローカルネットワーク内でプライマリNTPサーバとして動作させたい場合は、NTPのサーバは以下のように設定すればよい。

listen on 192.168.0.10

servers pool.ntp.org

 一方、クライアント側は以下のようになる。

server 192.168.0.10

 この設定を行うと、すべてのクライアントはローカルネットワーク内のNTPサーバに接続することになり、世界のNTPサーバへの無駄なトラフィックを削減できる。プライマリNTPサーバは世界のNTPサーバにアクセスして時刻を調整し続け、その情報は多数のクライアントへ容易に伝えられるのである。

  • コメント(2件)
#1 tma   2008-03-12 21:47:15
listenの設定には 'on' が要りませんか?

記事中の設定は下記のようになると思います。
listen on 192.168.0.10
#2 大野晋一   2008-03-13 13:26:46
おっしゃるとおりです。修正しました。
  • 新着記事
  • 特集
  • ブログ