X



NTP (1)
0412名無しさん@お腹いっぱい。
垢版 |
2011/01/26(水) 16:17:52
起動スクリプトでobsoleteなntpdateを使ってるなんてどこのクソLinuxなんだ?w
ntpdを起動したときのバーストモードで十分だろ。

>>411
意外にnictより先にmfeedの準備が整うとmfeedを使い始めたりもする。
mfeedは時間あたりパケット数を聞いたことが無いからmfeedはiburstを付けて
さっさと同期するようにしてる。
0417名無しさん@お腹いっぱい。
垢版 |
2011/01/26(水) 17:15:53
>>416
話の流れ読もうね。
起動時にクロックが大きくずれているマシンだからntpdateが必要。
でも、それはntpd -gでOKという話。
0420名無しさん@お腹いっぱい。
垢版 |
2011/01/26(水) 19:00:16
>>418-419

> 起動スクリプトでobsoleteなntpdateを使ってるなんてどこのクソLinuxなんだ
の話だよ。でも>>414はうそつき。6年も前にnptd -gに変更されている。

http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc.d/ntpd
Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Sep 14 03:01:38 2004 UTC (6 years, 4 months ago) by seanc
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +5 -0 lines
Stop using ntpdate(1) in our startup proceedure. Replace ntpdate(1) with
calls to ntpd -g. ntpd is noticably slower than ntpdate, but is also more
accurate. This removes the nasty hackery in rc.d/ntpdate that would parse
out ntp servers from /etc/ntp.conf (ntpd knows how to read its own config
file). By default, ntpd *will* sync with its listed time servers. To
turn this off so that ntpd does not sync, ntpd_sync_on_start="NO" can be
added to /etc/rc.conf. If ntpd is not enabled (the default), then time is
not synced on startup. ntpdate's use has been depreciated by the ntpd
authors for quite some time so this change shouldn't be unexpected.
0422名無しさん@お腹いっぱい。
垢版 |
2011/01/26(水) 19:33:28
クロックがバッテリバックアップされていない等、起動時に大きくずれているケースがある。
年単位でずれてるんだから、オプショナルで-gを追加せざるを得ない。

FreeBSDの場合はこう。
http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc.d/ntpd?rev=1.17;content-type=text%2Fplain
if checkyesno ntpd_sync_on_start; then
rc_flags="-g $rc_flags"
fi

だから、今回ようなのはやられる場合がある。
0424名無しさん@お腹いっぱい。
垢版 |
2011/02/01(火) 02:45:38
ntpdは起動後しばらくSLEEPして最初の同期までに時間があって、初回同時時は
高確率でsettimeofdayで時刻がリセットされる。
ところがdovecotのように時刻が逆戻りしたことを検知するとエラーを吐いて死ぬ
デーモンもいるもんだから、
@ntpdateコマンドを使って時刻を直ちに同期
Antpdを起動(ntpdが動いてる間はntpdateは実行できないからこの順番)
B時計に厳しいその他のデーモンを起動

Fedora11はこんな起動シーケンスになってるぞ。RHEL5もそうだったと思う。
0425名無しさん@お腹いっぱい。
垢版 |
2011/02/01(火) 06:52:27
>>424
/etc/init.d/ntpdには確かにntpdateの記述もあるけど、
これはif文で場合分けされていて、
/etc/sysconfig/ntpdにそれ用のオプションを記述してない限り
ntpdateは起動されないよ。
その代わり、ntpd -gで起動される。
-gで、ntpd起動時に限り即時に時刻がセットされるから、
効果はntpdateと同じ。
0426名無しさん@お腹いっぱい。
垢版 |
2011/02/01(火) 07:02:26
>>424
SYNOPSIS
ntpdate [-46bBdoqsuv] [-a key] [-e authdelay] [-k keyfile] [-o version]
[-p samples] [-t timeout] server ...

DESCRIPTION
Note: The functionality of this program is now available in the ntpd(8)
program. See the -q command line option in the ntpd(8) page. After a
suitable period of mourning, the ntpdate utility is to be retired from
this distribution.

0427名無しさん@お腹いっぱい。
垢版 |
2011/02/01(火) 12:39:37
「将来のバージョンでは廃止」と言いつつ、結局消えなかったnslookupと同じ匂いがする。
ntpdateもそれはそれで便利だし、このまま結局消えないに1票。
0429名無しさん@お腹いっぱい。
垢版 |
2011/02/03(木) 23:33:38
例えば、ntpdで時刻を合わせてるマシンがローカルネット内にいっぱいあるなら
そいつらを相互に同期させておけば嘘時計が混ざってもすぐ発見できるし、
ローカル内の時刻の同期は保たれると思うけど、そういう設定はどう書くの?
0430名無しさん@お腹いっぱい。
垢版 |
2011/02/04(金) 00:15:50
実はIPv6でアクセスした方がディレイが少なくなる?
トンネルを介してるから相当ディレイがあるかと思ったら
意外にも1ミリ秒ほど早いw
0432名無しさん@お腹いっぱい。
垢版 |
2011/02/04(金) 13:02:22
>>429
例えばローカルにサーバが3台あるなら、以下のように書けばOK
ローカルのNTPサーバがそれぞれ異なるNTPサーバを参照して、
ローカル同士では相互に時刻を参照しあう。

#サーバ1
server ntp1.jst.mfeed.ac.jp
peer localserver2.example.jp
peer localserver3.example.jp
#サーバ2
server ntp2.jst.mfeeed.ad.jp
peer localserver1.example.jp
peer localserver3.example.jp
#サーバ3
server ntp3.jst.mfeed.ad.jp
peer localserver1.example.jp
peer localserver2.example.jp
0439名無しさん@お腹いっぱい。
垢版 |
2011/05/04(水) 16:29:08.00
iburst dynamic
の意味がマニュアル見てもぜんぜん分からないので、
だれかお母さんみたくやさしく根気強く教えてください
0443名無しさん@お腹いっぱい。
垢版 |
2011/05/14(土) 17:26:30.80
1分に10秒くらい遅れる時計を持ったPCの時刻を
それなりに正しく保ちたいとき、ふつうにNTP使っても
うまくいかないですよね。(途中で死ぬ)
こういうとき、うまくやる方法としては何がありますか?
0444名無しさん@お腹いっぱい。
垢版 |
2011/05/14(土) 17:52:58.43
ntpd.confのtinkerでいろいろできるらしいけど、そんな腐ったブツにであった
人間は世界中で10人に満たないだろうから、世界で1人だけのデバッガーになる
可能性が高い。まず、捨てることを考えた方が良い。

もしかして、emacsスレにいたイジメにあってる人?
0447名無しさん@お腹いっぱい。
垢版 |
2011/05/14(土) 18:44:41.16
>>446
VMWareで時刻がずれまくるってやつだろ?
@vmware-toolsでどうにかならないか?
Aマシン本体のBIOSの設定でEISTまたはSpeedStepを無効化。
 あと最新型でTurboBoostがある場合はコレも無効化。
 要するにCPUクロック周波数を固定化する。
0450名無しさん@お腹いっぱい。
垢版 |
2011/05/14(土) 19:58:26.49
>>447
VirtualBoxなんだけど、3分おきくらいにしか修正してくれないんだ
周波数も固定してんだけどまあずれることずれること

>>449
VBoxってqemuがベースになってるはずなのにね
どうしてこんなことに・・・
0452名無しさん@お腹いっぱい。
垢版 |
2011/05/14(土) 22:43:47.34
初代玄箱(Debian化)のハードウェアクロックがずれまくるので、
adjtimexでKernel Timeとのずれを調整する、ってのが定番だった。
一定の割合でずれていく場合に有効なので、VMに適用できるかどうかわからないけど。
0457名無しさん@お腹いっぱい。
垢版 |
2011/05/17(火) 16:51:41.26
>>443
Drift が 500PPM を超えている場合は tickadj コマンドを使う(非推奨)
http://www.eecis.udel.edu/~mills/ntp/html/tickadj.html

あるいは文書化されていないが ntp_tick_adj というカーネルパラメーター
を用いても同様のことができる
http://lxr.linux.no/linux+v2.6.38/kernel/time/ntp.c#L950

てゆうかそもそも linux の時刻管理機能は絶望的にぶっ壊れてるから
メンテナを更迭してゼロから作り直さない限りどうしようもないと思う
http://lists.ntp.org/pipermail/bugs/2009-November/010837.html

>David L. Mills wrote:

>I have no interest in Linux stupidity other than to recommend they
>learn form FreeBSD, who have got it rightr. You should tell them that.
0458名無しさん@お腹いっぱい。
垢版 |
2011/05/17(火) 17:30:31.53
NTPで補正できるのって何パーセントの遅れまでだっけか
どっかに計算式があった気がするが忘れたな・・・
0459名無しさん@お腹いっぱい。
垢版 |
2011/05/17(火) 21:12:27.35
なんかごちゃごちゃいじって 時計の遅れを1%以下にしたぞ・・・
これでNTPデーモン動かしてちゃんと動作してくれるかな・・・
0461 忍法帖【Lv=2,xxxP】
垢版 |
2011/05/30(月) 19:33:59.13
そういやJJYで合わせてる時計に異常が出てるという話があるけど
影響出てる人いる?
0463名無しさん@お腹いっぱい。
垢版 |
2011/06/19(日) 16:08:34.71
NTP って UDP だけど、ソースアドレスを詐称されたパケットが(偽)サーバから
やってきたらデタラメな時刻に変更されちゃうの?
いちおう公開鍵認証のしくみもあるみたいだけど、mfeed とか nict とかでは
使えないから意味ないよね? 認証なしでもある程度は防げたりとかしないの?
0464名無しさん@お腹いっぱい。
垢版 |
2011/06/20(月) 01:13:48.07
ソースアドレスを詐称されると完全に防ぐのは無理だろうな。
試しにNICTと同期した時のパケットをキャプチャしてみたけど、
一応NTPサーバの応答電文中に「Reference Clock ID」なる
フィールドがあって、このフィールドにASCII4文字でNICTと
書いてある。でもいくらでも詐称できそうだ。
不安ならntpdateを定周期で実行し、ntpdateの起動前後にUDP123
をブロックするiptablesルールを上げ下げするとか。これで攻撃が
成功するのはntpddateが実行されているごく短時間だけになる。

またはデータセンターとかで予算もあるならGPS衛星や電波時計を
タイムソースに使うNTP専用サーバーマシンもある。
GPSベースのNTPタイムソースはUSB接続のGPSアンテナとLinux
用ドライバのソースとC言語の知識があれば個人で作ることも不可能
ではない。「USB GPS」で検索するとデバイス自体は5000円位で手に
入るようだ。
0465名無しさん@お腹いっぱい。
垢版 |
2011/06/20(月) 02:03:13.22
ズレてる時計は嘘時計として撥ねる機能があるから、詐称されたパケットを飲まされたくなかったら
少なくとも2つか3つのサーバの時刻を参照していればいいんじゃないの?
0466名無しさん@お腹いっぱい。
垢版 |
2011/06/20(月) 10:52:18.85
DNSでやってるみたいなsource port randomizationってNTPでも使えないかしら。
そうすれば、16bitの乱数を一致させなきゃ嘘時刻を注入できない。
問い合わせのソースポートが123じゃなきゃダメなんてルールはないよね?
ダメならNAPTの裏にいるホストからNTPが使えないし。
0467名無しさん@お腹いっぱい。
垢版 |
2011/06/20(月) 11:07:08.13
man ntp.confしてみたら、restrict ... ntpportと設定することで
123以外からのパケットを蹴れるんだな……。
port randomizationすると、サーバの設定によってはダメってことか。
0472名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 00:28:11.00
UDP なら簡単。

ただし、まともな ISP では詐称パケットがネットワークをまたいで
よそに出ていかないようなフィルタをかけてることが多い。
0473名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 04:16:29.17
バレずにやるのは非常に難しいと思うけどね。

時刻を取得する相手をすべて把握してその相手へのリクエストが行われたあとに
その相手のレスポンスよりも先に嘘時刻を叩き込むということをすべての相手に対して行う。
しかもその嘘時刻は嘘時刻と認識されないギリギリのズレでなければならない。

とか。地味過ぎる。
0474名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 06:18:45.72
仮に少しずつ時刻をずらす攻撃が成功したとして
攻撃側のメリットって何があるんだろう
時刻が飛ばないんだから、ログを誤魔化すには至らないよな
時間制限物を引き延ばすにしても誤差レベルでしかないし。
0475名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 08:55:57.49
この前経路か何かの問題でmfeedのIPv6のサーバーのディレイが大きくなってて
そのサーバが100msくらいズレた時刻を返してるように見えてたけど、
そのレベルでもう嘘時計扱いになってたよ?
だから少なくともそれ以下にずれた嘘時刻を256秒とか512秒とか1024秒ごとに
ターゲットに喰わせないといけない。

ほんと手間の割に得られるものが少ないよね?
0476名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 20:18:03.07
しいて言えばKerberos5認証みたいに端末とサーバーの時刻が大きくずれると
認証できないメカニズムを破綻させることくらいだろうな。たしかKerberos5は15分
以上のずれがあると暗号がかみ合わずに認証失敗する仕様だったろ?
たとえばWindowsのActiveDirectory認証とかで認証サーバーにうその時刻を教え
込むと、あわよくばドメインの機能を停止させられるかもしれない。
0478名無しさん@お腹いっぱい。
垢版 |
2011/06/21(火) 23:48:22.99
ちょっと話はそれるのですが、nictが配信している時刻は日本標準時間。
その他サーバだと大抵は世界標準時。この2つの実質的な違いは、うるう
秒の丸めタイミングだけという理解で正しいですか?
0480名無しさん@お腹いっぱい。
垢版 |
2011/06/22(水) 21:58:44.69
>>478
全部間違ってる。
NTPサーバはJSTでもUTCでもなくてNTP時間を配信している。
うるう秒は全世界同時に挿入/削除される。
0481名無しさん@お腹いっぱい。
垢版 |
2011/06/25(土) 16:11:11.13
NTP Timeはプロトコル上の時刻表現方法に過ぎなくて、実体はUTCそのものでしょ
NTP Timeという時刻系が運用されてるわけじゃない

ちなみにNICTのNTPサーバは JSTを生成する原子時計を時刻源と
しているから、JSTを配信していると言っても間違いではないと思う
0483名無しさん@お腹いっぱい。
垢版 |
2011/06/25(土) 20:19:03.92
WindowsってUnix系のOSみたくミリ秒のオーダーって合わせてくれないの?
0487名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 01:52:42.20
>>486
NTPの配信時刻にはタイムゾーンは無い。つまり世界協定時ベースの時刻なんだけど、
やっぱりうるう秒の丸めとかのように日本の暦としてあえて世界協定時を外している部分
の扱いが他のNTPサーバと違うんじゃないか?
0491名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 09:01:41.12
NICTが作ってるUTC/TAIと称するものは、あくまでもNICTが所有している
原子時計を計測して決めたUTC/TAIであって本当のUTC/TAIではない。本当の
UTC/TAIは、各国の機関が作ったTAIの加重平均から最終的に求められる。

一方、日本標準時というのは、UTC(本物)+9 ではなく、UTC(NICT)+9という
ことになっている。UTC(本物)とUTC(NICT)の差は 10ns未満になるように調整
されているとはいえ、誰が決定したかという観点では違う。

NICT NTPサーバは、UTC(NICT)を配信しているが、それを機械的に+9すれば
直ちに正確な日本標準時が得られるので(NTPによる誤差は除く)、JSTを配信
していると言っても過言ではないという理屈。実際NICT自身も日本標準時を
配信していると言ってる。
http://www2.nict.go.jp/w/w114/tsp/PubNtp/index.html
0492491
垢版 |
2011/06/26(日) 09:23:50.19
>>490
ここまで厳密な話をすると、UTC(本物)もUTC(NICT)も(UTC(GPS)も)、
差は0ではないので、うるう秒の挿入タイミングも完全に同時ではない
ことになる。
0493名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 09:27:16.07
定義はそうだけど、NTPのソースとして見る場合には
UTC(本物)=UTC(NICT)と考えて差支えないのでは。

ちなみにUTC(本物)ってNICTのような機関向け以外にも配信されてるの?
0495名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 10:14:47.08
>491
他の人も言っているけどもし 10ns レベルの話を気にしているのなら
NW経由ではなんの意味もない違いだし、それどころかPC内部でも
意味を持たないズレというか「観念上の違い」以外の何者でもないよね?
0496491
垢版 |
2011/06/26(日) 10:33:27.13
>>495
観念上の違いというと具体的にそれらを決定しているNICTやBIPMの人に
さすがに失礼かもしれないが、NTPで使う限り問題となる違いはない
というのはその通り。
>>490は「NICTがNTPで配ってるのはJSTではない!」という的外れな
指摘に対してのコメントのつもり。時刻の決定方法や誤差を無視すれば、
UTCもJSTもUNIX TimeもNTP Timeも機械的に相互変換可能なのだから、
NTPがどれを配ってるなんて議論自体が無意味になってくる。
0497名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 11:01:30.19
そういうことを気にするわりに時刻の修正は時間の連続性を失う方法を使ってるんだろ?
ntpdateとか桜時計(爆)とかw
0499名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 15:56:12.58
普通のパソコンの時刻のズレは、まともなOSならば、
時刻のズレを一気に縮めて修正するのではなくて、
NTPを基準にし、じわりじわりと加速するか減速させて、
時間の連続性を維持しようとプログラミングされている。
鯖ならDB上での時間の扱いの不都合を埋め合わせするため。
0500名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 16:07:11.55
けどWindowsってUNIX系のadjtime見たいなAPIが無かったんじゃね?
そもそもUNIX系と違ってWindowsはソフトウエアクロックを持ってないから
HW側がadjtime相当の機能を搭載しない限りクロックの加減速なんて
不可能な気がする。
0501名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 16:21:57.01
ドザではないけど、この時を刻む正確さの課題は、商取引上、重要なので
もしも今の最新OSの機能としてなければ、次期OSから搭載するんでないの?
0502名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 17:22:35.96
>>497
まさにそれを使ってるんだけど、実際どうしたらいいのかな。
NTPだと、1分に1秒狂うような時計は修正できないし
それに対応したNTPソフトがあるならぜひ乗り換えたい。
0503名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 17:52:02.23
MS純正標準装備のW32Timeサービスをw32tmコマンドを使って設定することで
クロックのオフセットみたいな機能が働くという噂。
0505名無しさん@お腹いっぱい。
垢版 |
2011/06/26(日) 18:52:12.67
XPまでならW32timeのレジストリにあるLastClockRateでも一応確認できる
Vista以降ならw32tmコマンドでもクロックレートを表示できる
0506名無しさん@お腹いっぱい。
垢版 |
2011/06/27(月) 01:01:37.39
>>496
NTPタイムスタンプは正のうるう秒とその直後の秒を区別できない。
だから「UTCもJSTもUNIX TimeもNTP Timeも機械的に相互変換可能」
というのは間違い。
0507496
垢版 |
2011/06/27(月) 01:50:44.64
時間に依存しない関数ではNTP TimeとUTCの1対1対応は無理というだけで、
NTP Timeの進みとLIを認識できる関数ならNTP TimeからUTCへの機械的変換は可能。
時刻扱うシステムが、時間依存しない関数しか使えないという仮定はさすがに
無理があるだろう。
0510名無しさん@お腹いっぱい。
垢版 |
2011/06/28(火) 01:31:43.06
NTPにはうるう秒による暦上の秒の追加/削除が実施された前後に、その事実を
示すためのフラグフィールドがあるんだそうな。
このフィールドを見てうるう秒補正が実施された直後だったら1秒前後のズレを
正当な時差とみなす実装が可能だそうだ。
0511名無しさん@お腹いっぱい。
垢版 |
2011/06/28(火) 07:01:49.12
でも leap indicator が LEAP_NOWARNING だったとしても
receive timestamp がうるう秒じゃないとは限らないし、
逆に LEAP_ADDSECOND だったとしても transmit timestamp が
うるう秒だとは限らないよね?
レスを投稿する


ニューススポーツなんでも実況