【いま何時?】NTPサーバ【ソーネダイタイネー】
ntpdって鯖マシンの時間をどれぐらいの
定期で時刻合わせてるの? >34
一回ntpdateで合わせておいて、ntpd立ち上げればいいだろ。
それも面倒くさいなら、cronで定期的にntpdate走らせればいいだろ。 友達がntp鯖公開してるから仲間内でそれ使ってる。 Windowsが提供してるNTPサーバー
久しぶりに今日使ってみたんだが、
1秒で同期取れるようになってるよ。。。。
メチャハヤス Windowsで利用できるのはNTPではなくてSNTPだったりする罠。
Unixなどで利用できるNTPは「システムクロックを基準に何かをしている
ソフトウエアに影響を及ぼさないようにするため、時計が戻ることがないように
時計の進み具合を速くしたり遅くしたりして調整する」仕組みなのに対して、
WindowsのSNTPクライアント機能は一発調整。現在のシステムクロックに関係なく
進もうが戻ろうがおかまいなしに一発セットなので、ソフトウエアによっては
使用期限が勝手に切れたりする場合がある。 それがめんどいのでntpdateで一発調整してからntpd起動・・・ 数年前、福大から取得してたうちの頂点のntpサーバが取り損なってから
使ってないなあ 誰か電波時計と連動させてStratum1サーバ立てろよ。 >>48
電波時計より、GPSの方が高精度ではある。
それよりNICTのStrarum1につないだ方が楽で精度もそこそこ高い。 しかし、GPSの時計は相対性理論の時間の遅れの影響分の補正もしてるとは
知らなかったぜ・・・ しかし、電波の時計は電波による修正を前提としていい加減な精度で作ってあるとは
知らなかったぜ・・・ 5年ほど前からGPSを使った自前NTP鯖をLAN内に立てています。リアルタイム
で補正しているのでntp専用マシンになっています。
当時はあまり情報もなくて、大学や企業で使うようなものは高価でしたし、自宅鯖
で使うのはもったいないですから色々探し回ったあげく、SONY IPS-5200を手に入
れました。
もう手に入らないので故障したらどうするか、そろそろ考えているところです。
うーん、電波時計は候補に入ってません。 >>53
http://www.miz.nao.ac.jp/staffs/hisa/00TEsympo.html
2000年の論文だな。この中で使われているよ。
まぁ営業に値段聞いてみて、それでも良いなら買えば?
#予想としてはかなり高そう。 >>53
3年ほど前に値段聞いてみたことある。
20万円くらいだったと思う。
このあたりは個人ユースではないので、自宅で自前NTP鯖作るなら
ttp://www.spa-japan.co.jp/
>>43
Windows でも ntp クライアントなら ntpd 使えば良いじゃん?
(PPS-API とか kernel PLL は未対応だった。)
NTP port for Windows NT/2000/XP,
including GUI setup program, full HTML documentation,
OpenSSL (Version 0.9.7g) DLLs
ttp://www.meinberg.de/english/sw/ntp.htm
海外のNTPサーバー使ってる。確かに精度には問題があるが。
でも忘れた頃に死なれても面倒だからまず消滅しなさそうな所を選んで
利用している。 そこらのntpサーバじゃ遅れても進んでも数秒程度じゃないですか。
折角ntpd立ててるのにもったいないと思いませんか?
Strarum Ore は、俺が半定期的に電波を受信して気が向いたときに適当に時間を変えています。
場合によっては数時間単位で時刻が補正される場合もあり、
ntpdがその能力を遺憾なく発揮できるNTPサーバとなっております。
>>57
だったら JST でいいじゃん。
ntp1.jst.mfeed.ad.jp >>58
個人レベルでStratum1を使用するのはどうかと
思いますが、ntpdをmfeedに向けておけばずれない
ようになるはずなので、それで特に問題ないのでは? >58 は「Strarum 俺」だろ。
何言ってるんだかなかなか理解出来ず何度も読み返してしまった orz >>60
個人でStratum1使って何が悪い。俺様の勝手だ。
もっとも俺の腹時計に接続されているから1なんだけどな。 >>62
Stratum1 というよりStratum Oreですね。 自鯖のNTPを公開したって、他人が使わないでしょ。
正確かも分からないのに。
GPS直結だとしても、信用出来ない。
俺は自己満足の為だけにGPS時計作りたいが。 >>65
GPSはビルの谷間だとほとんど衛星が捕捉できないので
かなり開けた場所か屋上が使えるような状況にないと
ちょっと精度の良いクオーツ時計になりはててしまう
ちょっと悲しい
今日ふとしたことからノーパソ (Windows XP Home Edition)
で netstat してみたんですが、すると 123/udp が空いている
じゃあありませんか。 Windows XP Home Edition って、
NTP サーバの機能も持ってましたっけ? ntpdate であるホスト host_a に同期しようとしてもできません。
ntpdate -vq host_a などとすると確かに時刻は取れているようです。
ただし、自分が stratum 11 で host_a が stratum 16 のためか
no server sitable for synchronization found と表示され、
同期してくれないようです。これを強制的に同期させることは
できますか? 自分が Stratum 11 ということは、少なくともひとつの Stratum 10 の時刻源から
時刻を得てるわけですよね。その時刻ではいけないのですか?
また、host_a がStratum 16 という事はその NTP は信用できる時刻源ではないので、
むしろ host_a の方をどうにかしないといけないのではないでしょうか。 Windows XPでSNTPではなく、NTPサーバーとして機能する一番良いソフトは何ですか? >>74
ありがとうございます。
やっぱりこれしかないんですね。
設定方法について、詳しく書かれているページはご存じないですか? >>75
ntp.confで検索すれば馬鹿にでも解るサイトが山のように出てくるだろ。 74のソフトをインストールして、設定ファイルもいじりましたが、
ntpq -pを実行しても、*が表示されず同期されません。
何が原因ですか? >>77
5〜20分ほど経過しないと同期が完了しないわけだが、それでもダメか? >>77
5〜20分しても同期されません。
ntpdateを実行するとちゃんと同期されます。 >>79
そっちのことかよ。
ntpdはntpdateと違って少しずつ(1ms以下)時刻を合わせていく仕様で、
これは時刻の巻き戻りやスキップによる影響が動作中のアプリケーションに
及ばないように、との配慮からだ。
それがイヤならntpdateと併用すれ。 漏れ様は起動時にntpdateを走らせて後は全部ntpdだ。
まぁ起動(再起動)する機会ってあんまりないけど。 >>77
ルーター使ってる場合、ソイツが原因の場合もある。
自分コレガのBAR-Pro3でntpdがどうやっても同期してくれなかった。
設定の見直ししまくってもダメでした。ルータ替えたら何の問題も無く同期はじめましたが。
実際は、自分のルータ設定ミスの可能性も有りますけどねorz UDPだから、うっかりパケットフィルタをかけちゃってても気づかなかったりするよね? まずNTPとSNTPが混同されているケースが多いが
NTPの方が(アルゴリズム的に?)精度が高いというのは分かった…のですが
WinSRV2003はレジストリ編集してNTPにはなれないのでしょうか?
Webで必死に探しても英語サイトばかりで萎えます(T_T) >>84
なれない。NTPサーバになるためにはまず時刻の補正についてクロック動作を速めたり
遅くしたりする機能 (adjtime() API) が必要だが、Windowsにはそれがない。
この機能があれば「時刻をスキップさせずに時刻修正を行なう」という技ができる。
たとえば 1 [秒] を 1.1 [秒] でカウントしておけば時刻が早まることになるし、
1 [秒] を 0.9 [秒] でカウントすれば時刻が遅くなる。
http://docs.hp.com/ja/B2355-60104-05/adjtime.2.html
Windowsではこういう機能がないので、SNTPを使って時間を一気にずらす意外に手段が
無いというわけだ。 W32Timeサービスのレジストリから想像すると、そういう動作をしてくれるような気もするけど。 >85
いくらWinが糞だからと言っても、adjtime() 相当のAPIが無いとは
思えないんだが。そんなんでは業務用鯖には使えないだろ。
時刻の整合性が無くなったら、データの時系列も崩壊して恐ろしい
事になりうるのだが。
それにPOSIX認証にも通らないと思うがな。
adjtime() がsever editionにしかないといった話なら、「やっぱり
MSは...」と納得もできなくは無いが。
>88
そのURLを参考にして、後は@IT等で調べてレジストリをいじってみたのですが
Network機器(Ciso等)は時刻をWin2003から取れなかったです。
>85
どうもありがとうございます。
まだちゃんとみてないのですが、頂いたヒントをもとに
色々と確認します。助かります。 >>89
WinのNTPはSNTPだから、その機器が対応してないとだめだと思うよ。
f5(かノーテルのどっちか忘れたけど)のL2S/Wは確か出来たが、シスコはシラネ。 >91
そうですよね。Winは(某HPでは)NTPと言っているが
SNTPですよね…(このへんがややこしいですね)
というよりは、Win2003がNTPクライアントにはなれるけど
鯖にはなれないってことみたいですね。うぅ〜む。
ネットワーク機器はほとんどNTPじゃないと時刻同期出来ないっぽいです。 >>92
VBやパール等で、ソケットプログラムかいて起動させればおk
なんだけどね。パールなら数行で書けそうな予感。
>94
NTPはVer.4が最新じゃなかったでしたっけ?
Ver.3からイケるってことでしょうか。
>95
プロトコルのバージョンを上げる方法…???
無知で申し訳ありません。 サーバに関してはNTPもSNTPも関係なかった気が…
クライアントがNTP、SNTPどちらで接続するかはクライアント次第なのだし
そのサーバがNTPかSNTP、どちらのクライアントなのかが問題なのであって
サーバとしての機能はどちらも同じだったような
違ったっけ? >>87
POSIXのrequirementには入ってないよ。
>>88
よく読めばわかるが "最大何秒進めるか" "最大何秒遅らせるか" という設定値が
あるところからも「時刻をスキップさせずに調整する」機能が存在しないことが
わかる。本当の意味で時刻同期をするのであればそんな設定値は存在し得ないはず。
>>97
NTPサーバとしての機能は確かにいずれでも同じ。
ただ>>85という事情があるのでNTPクライアントとしての動作はSNTPと同レベルになる。 Microsft社曰く、W32Time (Windows Time Synchronization サービス) は、SNTP に完全準拠した実装だそうです。( NTP ではない )
W32Time の動き
クライアントは、認証しているドメイン コントローラにコンタクトします。
2台のコンピュータ間の通信待ち時間を決定するために、パケットが交換されます。
W32Time は、ローカルで統一すべき現在時刻を決定します。
クライアントは、ローカル時刻を調整します。
サーバの時刻とクライアント時刻でクライアントが遅れている時は、クライアント時刻は、サーバの時刻に即座に設定されます。(時間を進める)
サーバの時刻とクライアント時刻でクライアントが進んでいる場合は、その差が 3 分を超えていなければ、2 つの時刻が合うまで、クライアントの時計を遅く進めます。 3 分 以上の差がある場合、時刻は即座に設定されます。
クライアントは定期的なチェックを行います。
クライアントは、各 "周期" に 1 回、認証しているドメイン コントローラに接続します。
最初のデフォルトの周期は 45 分です。
時刻の同期試行が 3 回連続して成功した場合は、周期は 8 時間に増えます。
時刻の同期試行が 3 回連続して成功しない場合は、45 分にリセットされます
こんなのあるけどttp://www.venus.dti.ne.jp/~yoshi-o/NTP/W2K_Time_synchronization.html >100
C:\>tracert ntp.nict.jp
11 25 ms 23 ms 24 ms tokyo-core1-10G15-0.sinet.ad.jp [150.99.196.25]
12 25 ms 25 ms 23 ms tokyo-core2-P0-0.sinet.ad.jp [150.99.197.230]
13 24 ms 23 ms 24 ms nii-IX2-G2-0-4091.sinet.ad.jp [150.99.63.254]
14 25 ms 25 ms 24 ms nii-ix-3550-63.10.sinet.ad.jp [150.99.63.10]
15 23 ms 23 ms 24 ms CRL.gw.sinet.ad.jp [150.99.198.198]
16 28 ms 25 ms 26 ms 133.243.240.1
17 * * * Request timed out.
C:\>tracert ntp*.sinet.ad.jp
11 25 ms 25 ms 24 ms tokyo-core1-10G15-0.sinet.ad.jp [150.99.196.25]
12 24 ms 25 ms 25 ms nii-S1-P4-0.sinet.ad.jp [150.99.197.22]
13 25 ms 25 ms 24 ms ntp*.sinet.ad.jp [150.99.100.*]
Trace complete.
だめじゃん。 >>103
途中経路がICMP echoに応答してないだけだろ。
っていうか、今更tracerouteの結果を知って何をしようというのだ? その人の環境次第の事をダメとか遠くのよりとか言ってもしょうがないじゃない >>85
>時刻の補正についてクロック動作を速めたり遅くしたりする機能
Windows にもあるよ。
NT 3.5 以降(2000 と XP も含む)なら使える。
API は、
SetSystemTimeAdjustment
GetSystemTimeAdjustment
前科からM$が信用できないのは分かるけどこれくらいはある。
試しに正確な時刻から1分ずらした時刻をセットした上で、
WindowsTime サービスを有効にすると時刻が合うまで
ちゃんと秒針の速度が変わる。
>>104
hop数が少ないほど良いと解説しているサイトがあるから、
それを見たんでしょ。
どっちも25msくらいで返って来てるから、たいして差はない。 NMEAのGPSレシーバつないでPPS同期のntpd走らせてる。
$ ntpdc -c kerninfo
pll offset: 6.537e-06 s
pll frequency: 108.147 ppm
maximum error: 0.002883 s
estimated error: 2e-06 s
status: 2107 pll ppsfreq ppstime ppssignal nano
pll time constant: 10
precision: 9.89e-07 s
・・・・
仕事がらみで走らせてるけど、まあ気持ちいいかも。 >>107
その、「じわじわっと」ずらせてくれるNTPクライアントのプログラムってどこかで
手に入りませんか?
あるいはNTPクライアントを自分で作るための資料はどこかで手に入りますか? >>112
>>111の言うところのソフトはどこにあるのじゃ? あい、112のntpdってやつ。
ttp://www.meinberg.de/english/sw/ntp.htm
と言うかいわゆるNTPソフトではっきりNTPです(SNTPじゃなく)って
書いてあるものなら大体は遅延制御(とでも言うのかな?)されてないかな?
ほんとはNTPと遅延制御は別問題だけどNTP対応を作るほどなら対応してそうな気がする。
普通に使うならGUIの利いた一般的なのの方が使いやすいかもだけど。 >>117
一般にNTPと書いてあればRFC1305準拠という意味なので遅延制御にも対応してるだろう。
GPSや電波時計使った自前NTP鯖あると気分的にいいよ。 >>120
>>121
今もあわなかった
なんででしょうね >>125
普通にPCカードとかUSB接続のGPSカードを買ってくれば簡単だぞ。
電源を入れたまま放っておけばGPS衛星を捕捉して時刻を自動修正してくれる。
PCからのアクセスはシリアル(RS-232C)で4800bpsってのが標準だから、
あとはちょこっとプログラムを書いて時刻を修正すればいい。
ntpdと協調させたいのならドライバを書けばいい。 自鯖で自前NTP鯖やるのであれば、業務用の高価なものは不要だと思う。
俺はSonyのGPSユニットをシリアルで繋げて使っているけど、このユニットも
もう手に入らないのでどうするか考慮中。予算は出しても3万までだな。
参考URL
電波時計を使ったPCの時刻補正
http://www.c-dex.co.jp/main/1.html
GPSユニットを使った時刻同期
http://www.rakuten.co.jp/gps/387357/387363/
秋月電子の電波時計キットで十分だろう。
ntp.orgので標準対応してるし。 ntpd って大幅に時刻がずれているときには同期してくれないけど、
ntpdate だといきなり同期してしまってそれはそれで困ることがある。
逆行してしまうこともあるし。なので、その中間的な時刻同期は
できないものかと考えているんだけど、何かいい方法有りませんかね? >>130
OS起動時にntpdate→ntpdでずれ防止 下のログが延々と吐かれるようになってしまいました。頻度は不定期です。
何か解決方法はないでしょうか。
>Oct 16 08:00:07 host ntpd[6387]: frequency error 510 PPM exceeds tolerance 500 PPM
ntpq -pの結果は下記です
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp01.so-net.ne 210.132.247.45 2 u 21 64 377 6.235 38.586 10.036
設定
restrict default ignore
restrict 127.0.0.1
restrict 192.168.1.0 mask 255.255.254.0 nomodify notrap
restrict 210.139.246.140 no modify notrap noquery
server ntp.so-net.ne.jp
driftfile /etc/ntp/drift >>132
/etc/ntp/driftを消し、touch /etc/ntp/driftで空のファイルを付くって
再起動させてみれ。おそらくdriftに書かれたクロックの誤差値が正しくないため、
本来あるべき以上にクロックがズレてるはず。
(1) そのログが出るよりも前にCPUの種類やクロックを変えたのであれば、
driftファイルに書かれた値は正しくなくなる。
(2) Pentium-M,4,CoreDuo,Core2Duoであれば発熱時に強制的にクロックを落とす機能が
あるので、CPUクーラーが正しく動作していない場合にクロックがズレる。
(3) その他マイナーな問題(メモリエラーとかATAバスエラーとか)が原因かもしれない。