過去の投稿

04 September 2009 の投稿一覧です。
カテゴリー: OSについて
投稿者: shinichi
NTPの設定について①の続き

ntp.confの書き方。
"restrict"は接続サーバーを指定するのに使います。接続する先についても、接続してくる元についても書く必要があります。

"restrict default ignore"でまず、どこからのアクセスも拒否します(はじめに一切合切拒否するのはセキュリティ設定ではふつうのことです)。

"restrict 127.0.0.1"でローカルホストからのアクセスを許可します。これは、時刻サーバーにつながらないときには127.127.0.0をstratum 12の時刻サーバーとして時刻調整をする動きとなるので必要です。

"restrict 123.456.789.098"でこちらがアクセスする時刻サーバー/自サーバーを時刻サーバーとしてアクセスしてくるサーバーのIPを記述します。サーバー名で指定することも出来ますが、hostsファイルへの参照が必要になるのでIPの方が早いとのこと。

"server 123.456.789.098 minpoll 9 maxpoll 10"で時刻サーバーへの同期間隔を指定します。
"minpoll"で最短間隔を指定します。
"maxpoll"で最長間隔を指定します。
minpoll/maxpollを指定しない場合、minpollが64秒、maxpollが1024秒に設定されます。

同期感覚は3~17までを指定することが出来ます。また、指定した数字が直接秒数になるわけではなく、ここで指定する数字は2の指数となります。ですので、設定可能範囲は2^3秒(8秒)~2^17秒(約36時間)となります。

"fudge 127.127.0.0 stratum 12"で時刻サーバーと通信が出来ない場合に自サーバーを一時的に時刻サーバーと認識させます。stratumは時刻サーバーのランクで、最高が1になります。NICTの時刻サーバーなどがstratum1となり、NICTを参照している時刻サーバーがstratum2となり・・・と、一番正確な時刻サーバーから離れるにつれて数字が大きくなっていきます。

"driftfile /var/lib/ntp/drift"では自分のクロック周波数を記録しておくファイルを指定します。指定した時刻サーバーにアクセスできない場合には自分が仮の時刻サーバーになるからです。このファイルは毎時間更新されます。

RHEL3/4で確認
カテゴリー: OSについて
投稿者: shinichi
Linux
The Linux Documentation ProjectLinuxのHOWTOや様々なガイドが公開されています。
The Network Time Protocol (NTP) DistributionNTPについて詳しく書かれています。大変役に立ちました。
CUPS Software Users ManualLinuxを使う上で鬼門の一つであろう印刷についてです。一通りオプションの使用法がわかります。
カテゴリー: OSについて
投稿者: shinichi
僕が管理を引き継いだシステムでNTPデーモンが停止する事象が半年で3回くらい発生しました。

ログを見てみると、
"
dd MMM HH:DD:SS ntpd[xxxx]: frequency error -503 PPM exceeds tolerance 500PPM
dd MMM HH:DD:SS ntpd[xxxx]: kernel time sync desabled 0001
dd MMM HH:DD:SS ntpd[xxxx]: time correction of 30 seconds exceeds sanity limit (30); set clock manually to the correct UTC time.
"
と出ていた。最終的には時刻サーバーとの時刻差が30秒に達し、設定値を超えたので終了しますというメッセージです。

ntp.confを確認すると
"
tinker panic 30 step 30
restrict default ignore
restrict 127.0.0.1
restrict 123.456.789.098
server 123.456.789.098 minpoll 9 maxpoll 10
fudge 127.127.0.0 stratum 12
driftfile /var/lib/ntp/drift
"
という設定になっていた。上から意味を書いていくと

時刻サーバーとのずれが30秒になったらデーモンを停止します。また、時刻サーバーとのずれが30秒になったら時刻を一気に修正します。
どのサーバーとの通信も拒否します。
127.0.0.1との通信は許可します(127.0.0.1はローカルホスト)。
123.456.789.098との通信も許可します。
123.456.789.098を時刻サーバーとします。時刻確認は512秒か1024秒です。
時刻サーバーにつながらないときには127.127.0.0をstratum 12の時刻サーバーとして時刻調整をします。
driftfileは/var/lib/ntp/driftにあります。


まず、1行目があり得なかった。30秒ずれると落ちるのに30秒ずれないと時刻をあわてて直さない設定なのです(ここで疑問なのは30秒もずれるのか)。

ntp.confの書き方。
"tinker panic"は時刻サーバーとのずれが設定した秒数を超えるとデーモンが停止するということ。0に設定するとずれ幅の如何に関わらず、デーモンは停止しない。
"tinker step"は時刻サーバーとのずれが設定した秒数を超えると一気に時刻を修正する。設定をしないと128ミリ秒以上ずれると一気に修正する。通常の時刻調整は1秒に0.5ミリ秒となっている(が、実際には数ミリ秒)。

RHEL3/4で確認