• ベストアンサー
  • すぐに回答を!

ntpのstratumについて

  • 質問No.6384061
  • 閲覧数5423
  • ありがとう数1
  • 回答数1

お礼率 47% (76/160)

RedHat ES4で、NTPサーバを起動させて、外部NTPサーバとの同期はとれるようになりました。

しかし、社内のWindowsサーバ(workgroup)から、同期しようとすると以下の結果になります。


・ 日付と時刻のプロパティで、「インターネット時刻」タブで、LinuxサーバのIPアドレスを指定し「いますぐ更新」をクリックすると、

192.168.10.xxは同期中にエラーが発生しました。タイムサンプルは拒否されました。ピアの階層は、ホストの階層よりも少ないです。

というメッセージ


・質問1
ネットでいろいろとしらべてみましたが、LinuxサーバのStratumの値が、Windowsサーバのそれよりも小さいのでは?という記述がありました。

最上位のNTPサーバのstratumは1のはずですので、「ホストの階層より少ない」=「stratum値が大きい」ということなのでしょうか?

・質問2
LinuxサーバのStratum値をWindwosサーバより「大きく」するためには、どうしたらよいのでしょうか?


ちなみに、念の為、ntp.conを確認しましたら、現状stratum値は、明示的に指定していませんでした。(コメントアウトしてました)

よって、Linuxサーバのstratum値は、初期値?になっているものと思います。(この初期値もわからないのですが・・・)


ご面倒おかけしますが、よろしくお願い致します。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 100% (12/12)

社内のWindowsサーバから、構築されたRedhat ES4のNTPサーバへ、時刻同期
の為の問い合わせをしたいということでよろしいでしょうか?
それを前提に記述いたします。
それと、Windowsの時刻同期のエラーログを何処まで信用して良いのかが若干
疑問なので、考えられる原因を書いておきます。

a. Redhat ES4のNTPサーバが、参照先NTPサーバと同期関係が成立していない
  私の記憶が若干曖昧ですが、同期関係が成立していない場合は、他からの
  参照を受けつけなかったと思います
  「ntpq -p」等で同期先サーバの先頭に「*」があり、しばらく間をおいて
  もありつづければ同期関係が成立しております。
  しばらく間をおいてpollの値が1024とか大きな数字になっていれば、なお
  良いです。
b. Redhat ES4のNTPサーバが、時刻同期の参照アクセスを許可していない
  ntpd.confのrestrictで、WindowsサーバのIPアドレスからのアクセスを拒
  否している。またはデフォルトが拒否設定となっており、それが適用され
  ている
c. WindowsサーバからRedhat ES4への、128/udpの通信が落とされている
  Redhat ES4側で「tcpdump -i eth? -n udp port 123」とかで、Windowsサー
  バのIPアドレスから通信が来て応答を返しているかを確認してください
  (eth?は、適切なインタフェースを指定してください)

a.は原因がさまざまです。
1. 参照先サーバとRedhat ES4のサーバの時刻差が大きい
2. システムクロックの誤差が大きい
1の場合は、「時刻を一気に修正」「過去に時刻が戻る可能性」といった事が
発生しても害がないようであればntpdateで時刻を合わせてください。
害があるようであれば、ntpd.confに「tinker panic 0」とかを追記してくだ
さい
2の場合は、ntpdを一旦停止してadjtimexでtickを補正してください。(freqは、
ntpdが手を加える対象ですので補正不要です)

b.は、ntp.confに以下の設定を追加してみてください
「restrict WindowsサーバのIPアドレス kod notrap nomodify nopeer noquery」

c.は、Windowsのファイアウォール、通信経路上のファイアウォール、Redhat
のファイアウォールのどれかが原因になります

質問1
RedHat ES4で稼働しているNTPサーバのStratumは、同NTPサービスが参照して
いる先のNTPサーバのStratum次第になります。
参照先のNTPサーバのStratumがxの場合、Redhat ES4で稼働しているNTPサーバ
のStratumは、x+1になります。
「ntpq -p」を実行し、先頭に「*」が付いている項目の「st」の値を確認する
事で、自身のStratumが判ります。

Stratum自体は設定で変更できますが、自サーバ以外で変更した事がないので、
これについては申し訳ありませんが判りません。
試しに、ntp.confのserver設定を全てコメントアウトして、server設定を以下の設定
のみでntpdを稼働して
server 127.127.1.0
fudge 127.127.1.0 stratum 1
ntpdで同期関係の成立後に、Windowsサーバ側から時刻同期を行ない、それで
もエラーがでるようであれば、原因は別にあるかと思います

質問2
Stratumは、小さい方が優先度が高くなります。
Stratum 1は、原子時計等から時刻を合わせています。Stratum 2は、Stratum
1を参照しているサーバになります。
この為、Stratumの数字が増える程、誤差や通信の遅延による揺らぎを受けて
精度が落ちます。
「より精度の劣るNTPサーバを参照したがる」とは考えにくいので、参照先に
対して、自身が期待するStratumより小さい事を期待しているのだと思います。

もし、解決しないようであれば、差し支えなければで結構ですのでntp.confの
設定を一度見せていただけませんでしょうか?
お礼コメント
tarabooo

お礼率 47% (76/160)

お礼が遅くなり申し訳ございません。

結局自己解決してしまいましたため、コメントを確認致しておりませんでした。

ありがとうございました。
投稿日時:2011/01/12 10:32
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ