2005年08月04日

ntp の時刻合わせ

Internet Server を管理するような人で、ntp を利用していない人はいないことでしょう。
私の管理化の全てのサーバが ntp による時刻あわせを行ってます。
さて、この ntp での時刻合わせですが、ソフトウェアとしては、
xntpd か Windows Time かが標準だと思います。
(前者が Linux/Unix 系、後者が Windows 系)

私は Windows の技術者なので、後者については特に何の問題もありません。
前者についても特に難しい設定は無いので問題はないはずだったのですが・・・。
なぜか時刻の合っていない Linux サーバを発見したところから、謎がはじまります。

そのサーバは RedHat Enterprise Server 3.0 でした。(確か)
サーバには当然のように xntpd が入っており動作していました。
でも、なぜか時刻はずれています。
こういう場合はとりあえず ntpq で状況をみますよね?
すると複数のサーバがリストアップされていますが、
どれとも時刻合わせを行っていない状況が表示されます。

まぁ、大体においてこういう場合はパケットフィルタが原因のことが多いので、
iptables -L -n -v とかでフィルタルールを確認しても、
何の問題もありません。
あれれれーーー???
# ちなみに /etc/init.d/ntp start のときに自動で port を開けてくれるようです。
いまだに原因がわかってません。

うーんうーん。
とりあえず、date --set=" 時刻 " で時刻合わせしましたが、
(時刻は遅れていたので、ジャンプする分には問題ない)
原因がわかりません。
明日また調べてみます。。。
うーーーぅん。

-- 追記 23:09 --
えーっと、 drift ファイルを初期化 (cp /dev/null drift) したところ、
どうやら ntpq で時刻調整に入ったらしきことが確認できました。
drift ファイルって、今まで意識したことなかったんだけどなぁ・・・。
状況が好転したら、また追記で書き込みまーす。

-- 追記 23:30 --
無事に xntpd による時刻あわせができるようになりました。
ところで ntpq -p によるサマリと、ntpq を起動した後に peers を
実行したときの結果が微妙に違います。
UNIX で実行したときはいっしょなのに、Linux で実行すると違うんです。
多分、xntpd のバージョン違いによるものだと思うけれど・・・。
(peers での結果よりも ntpq -p での結果の方が情報がすくない)
おかげで peer してないのかと思ってはまりかけたのはナイショです。
ビミョーにコマンド結果が違うのはちょっと。。。。
# ある程度以上突っ込んだ内容では、はまりやすくていやな感じです。。。。

-- 追記 25:16 --
ごめんなさい。一つ前の追記はうそかいてます。
ntpq -p と ntpq のインタラクティブモードでの peers は全く同じ結果を表示します。
単に実行時期がたまたまずれたから、違っているように見えただけのようです。
ntpd が安定するまで予想以上に時間がかかったために、
私が誤解してしまったようです。
ってことで、ただの勘違いでした・・・。
(要は ntpq -p でオッケーよってことね。)

-- 追記 26:00 --
有用なドキュメントを探すのに手間取りました。
http://www.asahi-net.or.jp/~aa4t-nngk/ntpd.html
http://opt-1.matsc.kyutech.ac.jp/xntpd.html
後者の方が詳しく、前者の方が読みやすいです。
ファイアウォールだけではなく、restrict 設定したい人は是非読んでみて下さい。

Posted by k-square : 2005年08月04日 22:54 | Linux/UNIX
コメント
コメントする









名前、アドレスを登録しますか?