NTP (1)

2006/01/29(日) 16:37:27
NTPサーバおよびクライアントに関するスレ

リンクなどは>>2以降で
2010/11/24(水) 17:28:16
>>374
自分のホストのIPアドレスに一番近いプリフィックスのIPアドレスを選んでる
ってわけか。で、一番近いプリフィックスのIPアドレスが1個しかない場合は
その1個が固定的に選ばれるw

ところで、これってNAT環境でプライベートアドレス使ってるホストの中では
意味なくない?

192.168.xx.xx のアドレスを使ってるNAT環境内では、
外向きのグローバルIPアドレスの値に関係なく
192.160.xx.xxに近いプリフィックスが選ばれてしまうw

NICTの例では、192.168.xx.xxのNAT内からは
常に 210.171.226.40 が選ばれてしまうw
2010/11/24(水) 17:33:36
そんなに笑わなくていいよ。
2010/11/24(水) 17:38:10
NICT側としては、今210.171.226.40で運用してるサーバーを
133.243.238.xxx のどこかにIPアドレス振り直すべきだな。
そうすれば、同じ133.243.238.xxx 同士の間では
getaddrinfo()でもラウンドロビンするから。
2010/11/24(水) 17:43:52
mfeedは今日も通常運転
2010/11/24(水) 21:00:23
getaddrinfo()関数内部のソースを読んでみた。
引けた複数のIPアドレスに対して、
わざわざUDP socketを作成し、
そのIPアドレスに空connect()して、
getsockname()で自分のソースIPアドレスを求めている。
UDPの場合、connect()だけ実行してもパケットは飛ばないので
こういう方法もあるんだな。
でも、わざわざsocket()をIPアドレスの分だけ実行するのって何か無駄な感じ。
2010/11/24(水) 21:18:38
アプリ内でやるにはルーティングテーブル取得して、最適なアドレスを
探すという手順を踏まなきゃならんぞ。
カーネルに任せるのは賢い方法だと思うが。
2010/11/24(水) 22:19:41
今のグダグダなIP割り当て状況からするとグローバルIPでも
プリフィックスが近いなんて大した意味はなさそうだ。

つーわけで>>377に同意する、見てるんだろ?>関係者
2010/11/24(水) 22:34:40
IPv4でもプリフィックスが近い方を選ぶと言うgetaddrinfoの意味フな仕様が悪い。
2010/11/24(水) 23:10:31
IPアドレスを直接指定するか使わないかぐらいの感じ
2010/11/25(木) 22:29:41
>>377
ちょww
210.171.226〜の方に収容してるからディレイが少ないとかそんな感じじゃなかった?w
385名無しさん@お腹いっぱい。
垢版 |
2011/01/23(日) 12:05:22
また 210.171.226.40 死んでる?
386名無しさん@お腹いっぱい。
垢版 |
2011/01/23(日) 12:27:49
なおったっぽいけどなんかおかしかくなってたな
2011/01/23(日) 14:36:20
「同じ内容を3行書くのが重要」て言うから同じサーバーを3行指定してたのに、
ntpdが異常終了しちゃったぞ。なんで?
2011/01/23(日) 16:56:48
また落ちてる?
2011/01/23(日) 17:05:21
210.171.226.40と同期すると、2009年11月6日になってしまう
2011/01/23(日) 17:11:52
とりあえずmfeedに避難した
2011/01/23(日) 17:31:00
ファイルサーバーのタイムスタンプがめちゃくちゃになった・・・
392名無しさん@お腹いっぱい。
垢版 |
2011/01/23(日) 17:33:48
またなおったっぽいけど
とりあえずプロバのNTPに退避
銀河美少年を録りそこねるとこだったわ
393名無しさん@お腹いっぱい。
垢版 |
2011/01/23(日) 17:51:23
ntp.nict.jp
12頃に一度なおって。またおかしくなった。


2011/01/23(日) 18:56:15
210.171.226.40を除いた4IPを直指定していた俺は勝ち組ってことでいい?
2011/01/23(日) 22:51:46
210.171.226.40も含めて複数の設定をして、210.171.226.40が信用できない時刻を返すとして
同期する相手の対象から外されていた人が勝ち組。
396名無しさん@お腹いっぱい。
垢版 |
2011/01/24(月) 09:58:59
停電だってさ……
ヒソヒソ( ゚д゚)ヤダァ(゚д゚ )ネェ、キイタ?( ゚д゚)オクサン(゚д゚ )アラヤダワァ

http://jjy.nict.go.jp/
> 障害情報とお詫び
> 2011年1月23日にIX系において2回誤った時刻が送出されました。
> 一回目
> 10時19分15秒〜12時17分55秒
> 二回目
> 16時17分55秒〜17時19分06秒
> いずれも停電に伴う機器の誤動作によるものと思われますが、原因は
> 現在調査中です。 原因が解明できるまでIX系の運用を停止いたします。
> 利用者の皆様には大変ご迷惑をおかけいたしました。深くお詫び申しあげます。
2011/01/24(月) 12:53:10
停電で狂うNTPサーバなんて公開するなよ…(´・д・`)
2011/01/24(月) 13:13:37
ntp.nict.jpをハードコーディングして組み込んで出荷済みなので変更できません。
もちろん、getaddrinfo()がDNSラウンドロビンを無視して210.171.226.40に1局集中アクセスします(笑)
2011/01/24(月) 13:18:57
おい、nictの中の奴。見てるんだろ。何とかしろ。
2011/01/24(月) 14:07:22
ワロタ
2011/01/24(月) 14:18:13
見てませんよ。
2011/01/25(火) 00:27:41
time.windows.comの酷さに比べたらまだかなりまともw
2011/01/25(火) 00:47:53
>>402
ntpdateしてみたら、ヒドすぎて噴いたww
2011/01/26(水) 02:06:02
まあ、でも標準時間を管理している組織にしてはずいぶんずさんだと思うけどね>ntp.nict.jp
2011/01/26(水) 08:49:39
ラウンドロビンから210.171.226.40が外されたようだ
2011/01/26(水) 09:12:34
getaddrinfoの問題に気づいてじゃないんだろうな。
407名無しさん@お腹いっぱい。
垢版 |
2011/01/26(水) 10:27:17
スラドでスレ立ってたので、指摘して来た。> ラウンドロビン
2011/01/26(水) 13:42:48
してたね
2011/01/26(水) 13:53:55
時刻が大きくずれたらntpdは追従せずに無視するから問題ない、
って指摘あるけど、ntpdの起動スクリプトで先にntpdateを実行するように
なってるから、ntpdateの段階でいくらずれていても強制追従するんだよな。
たまたま問題の時間にホストを起動した場合とか、
ntpdの同期が外れているのに気づいてntpdをリスタートした場合に
時刻が大きくずれるのは防げなかったはず。
2011/01/26(水) 14:17:07
nictを使うのが失敗というお話だったのさ
2011/01/26(水) 15:14:08
mfeedとかと一緒に参照する設定にしても、Stratum1の方を優先するから意味なかったんだろうなぁ
2011/01/26(水) 16:17:52
起動スクリプトでobsoleteなntpdateを使ってるなんてどこのクソLinuxなんだ?w
ntpdを起動したときのバーストモードで十分だろ。

>>411
意外にnictより先にmfeedの準備が整うとmfeedを使い始めたりもする。
mfeedは時間あたりパケット数を聞いたことが無いからmfeedはiburstを付けて
さっさと同期するようにしてる。
2011/01/26(水) 16:31:41
>>412
iburstでもずれ過ぎのサーバーに強制セットされるから問題は同じだよ
2011/01/26(水) 16:40:54
>>412
>起動スクリプトでobsoleteなntpdateを使ってるなんてどこのクソLinuxなんだ?w

FreeBSD8.1ですが、なにか?
2011/01/26(水) 16:52:54
ntpdに-g付ければ解決。
「FreeBSD8.1が使っている」んじゃなくて「>>414がFreeBSD8.1で使っている」が正しい。
2011/01/26(水) 17:03:47
>>415
-g 付けたらntpdateと一緒の問題が発生するだろw -g 外さなきゃ。
2011/01/26(水) 17:15:53
>>416
話の流れ読もうね。
起動時にクロックが大きくずれているマシンだからntpdateが必要。
でも、それはntpd -gでOKという話。
2011/01/26(水) 17:18:56
>>417
で、ntpdateであろうが ntpd -g であろうが問題が発生するだろw
話の流れはこっちなんだがw
2011/01/26(水) 17:20:27
>>409の話だよね。
ntpd -g じゃ解決にならんでしょ。
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.
2011/01/26(水) 19:16:28
そこはつっこんでもあんまり意味なくね。
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

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

Fedora11はこんな起動シーケンスになってるぞ。RHEL5もそうだったと思う。
2011/02/01(火) 06:52:27
>>424
/etc/init.d/ntpdには確かにntpdateの記述もあるけど、
これはif文で場合分けされていて、
/etc/sysconfig/ntpdにそれ用のオプションを記述してない限り
ntpdateは起動されないよ。
その代わり、ntpd -gで起動される。
-gで、ntpd起動時に限り即時に時刻がセットされるから、
効果はntpdateと同じ。
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.

2011/02/01(火) 12:39:37
「将来のバージョンでは廃止」と言いつつ、結局消えなかったnslookupと同じ匂いがする。
ntpdateもそれはそれで便利だし、このまま結局消えないに1票。
2011/02/01(火) 14:26:18
でもnslookupはさすがにdigよりは不便だから使ってないよ
ntpdateの方はまだ習慣で使っちゃってるなぁ
2011/02/03(木) 23:33:38
例えば、ntpdで時刻を合わせてるマシンがローカルネット内にいっぱいあるなら
そいつらを相互に同期させておけば嘘時計が混ざってもすぐ発見できるし、
ローカル内の時刻の同期は保たれると思うけど、そういう設定はどう書くの?
2011/02/04(金) 00:15:50
実はIPv6でアクセスした方がディレイが少なくなる?
トンネルを介してるから相当ディレイがあるかと思ったら
意外にも1ミリ秒ほど早いw
2011/02/04(金) 09:17:25
RTTが? それとも時刻自体が?
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
2011/02/04(金) 16:19:56
>>432
ありがとうございます。
peerがポイントですね?

>>431
パケットが往復する時間かな?
2011/02/04(金) 16:48:34
それがRTT
2011/02/13(日) 04:38:43
テレビとかラジオのポッポッポッポーンって音を使って修正するなにかってある?
2011/02/13(日) 06:13:29
いつの間にかサイトなくなってたのか。
ttp://web.archive.org/web/20060822040313/http://tips.kajiki.com/adjtmbyradio/
2011/02/13(日) 08:26:55
>>436
残念ながらプログラムはftpで配布されてたようで、IAに残っていない。
2011/02/13(日) 23:17:35
あるだろうと思ったらあったのかw
ありがとうございます。
439名無しさん@お腹いっぱい。
垢版 |
2011/05/04(水) 16:29:08.00
iburst dynamic
の意味がマニュアル見てもぜんぜん分からないので、
だれかお母さんみたくやさしく根気強く教えてください
2011/05/04(水) 19:47:26.09
>>439 うちの母親だったら自分で調べなさいって怒ると思う
2011/05/08(日) 17:31:18.23
まずおちんちんをだします
2011/05/08(日) 19:45:50.78
>>440
可哀想に…生まれてから虐待ばかりで親身に接してくれなかったんだな
2011/05/14(土) 17:26:30.80
1分に10秒くらい遅れる時計を持ったPCの時刻を
それなりに正しく保ちたいとき、ふつうにNTP使っても
うまくいかないですよね。(途中で死ぬ)
こういうとき、うまくやる方法としては何がありますか?
2011/05/14(土) 17:52:58.43
ntpd.confのtinkerでいろいろできるらしいけど、そんな腐ったブツにであった
人間は世界中で10人に満たないだろうから、世界で1人だけのデバッガーになる
可能性が高い。まず、捨てることを考えた方が良い。

もしかして、emacsスレにいたイジメにあってる人?
2011/05/14(土) 17:54:44.14
そんな壊れたマシンは捨てる。
2011/05/14(土) 18:30:41.70
>>444
まあいわゆるVMがらみなんですけどね
emacsは使わないから知らん

>>445
愛が足りないだろ
2011/05/14(土) 18:44:41.16
>>446
VMWareで時刻がずれまくるってやつだろ?
@vmware-toolsでどうにかならないか?
Aマシン本体のBIOSの設定でEISTまたはSpeedStepを無効化。
 あと最新型でTurboBoostがある場合はコレも無効化。
 要するにCPUクロック周波数を固定化する。
2011/05/14(土) 19:43:08.08
VMWare でのズレはあきらめてるなあ。
クロックは落としたいし。

Emacs スレのいじめられてる人ワロタw
2011/05/14(土) 19:49:33.72
ずれるvmwareより
ずれないqemu
2011/05/14(土) 19:58:26.49
>>447
VirtualBoxなんだけど、3分おきくらいにしか修正してくれないんだ
周波数も固定してんだけどまあずれることずれること

>>449
VBoxってqemuがベースになってるはずなのにね
どうしてこんなことに・・・
2011/05/14(土) 21:08:00.54
FreeBSDホストのVirtualBoxは全然ずれないぞ。
WindowsでもGuestaddtionがよきにはからってくれるはず。

こんな記述があるな。
http://www.virtualbox.org/manual/ch09.html#changetimesync
2011/05/14(土) 22:43:47.34
初代玄箱(Debian化)のハードウェアクロックがずれまくるので、
adjtimexでKernel Timeとのずれを調整する、ってのが定番だった。
一定の割合でずれていく場合に有効なので、VMに適用できるかどうかわからないけど。
2011/05/15(日) 19:45:54.99
時刻に対して外からツッコミを入れると時間が逆行したぞエラーが出るよね。
2011/05/15(日) 20:48:32.37
逆行すればね
時計の針を進めることはできる
2011/05/16(月) 20:03:44.64
>>454
ゲンドウさんみたいで格好いいな
2011/05/17(火) 08:42:40.32
>>450
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

カーネルパラメーターで解決できるかも。
VMware用だけど、Virtualboxでも多分うまくいく。
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.
2011/05/17(火) 17:30:31.53
NTPで補正できるのって何パーセントの遅れまでだっけか
どっかに計算式があった気がするが忘れたな・・・
2011/05/17(火) 21:12:27.35
なんかごちゃごちゃいじって 時計の遅れを1%以下にしたぞ・・・
これでNTPデーモン動かしてちゃんと動作してくれるかな・・・
2011/05/17(火) 21:26:11.47
>>458-459
500ppm = 0.05% だから無理だろうね
2011/05/30(月) 19:33:59.13
そういやJJYで合わせてる時計に異常が出てるという話があるけど
影響出てる人いる?
2011/06/01(水) 19:54:45.79
何故かmfeedのIPv4とIPv6で時間がズレてるw
2011/06/19(日) 16:08:34.71
NTP って UDP だけど、ソースアドレスを詐称されたパケットが(偽)サーバから
やってきたらデタラメな時刻に変更されちゃうの?
いちおう公開鍵認証のしくみもあるみたいだけど、mfeed とか nict とかでは
使えないから意味ないよね? 認証なしでもある程度は防げたりとかしないの?
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円位で手に
入るようだ。
2011/06/20(月) 02:03:13.22
ズレてる時計は嘘時計として撥ねる機能があるから、詐称されたパケットを飲まされたくなかったら
少なくとも2つか3つのサーバの時刻を参照していればいいんじゃないの?
2011/06/20(月) 10:52:18.85
DNSでやってるみたいなsource port randomizationってNTPでも使えないかしら。
そうすれば、16bitの乱数を一致させなきゃ嘘時刻を注入できない。
問い合わせのソースポートが123じゃなきゃダメなんてルールはないよね?
ダメならNAPTの裏にいるホストからNTPが使えないし。
2011/06/20(月) 11:07:08.13
man ntp.confしてみたら、restrict ... ntpportと設定することで
123以外からのパケットを蹴れるんだな……。
port randomizationすると、サーバの設定によってはダメってことか。
2011/06/20(月) 12:00:03.35
一定以上ずれてたらずれ過ぎってことで修正されなくなるでしょ。
2011/06/20(月) 12:40:22.95
なるほど、ちょっとだけズレた時刻を何度も繰り返し注入しつづければいいんだ。
2011/06/20(月) 19:47:31.70
でも嘘時刻を流し込むことで「同期を外させる」攻撃はできるってことか
2011/06/20(月) 23:53:00.26
ソースIPアドレスの詐称って簡単にできるモノなの?
2011/06/21(火) 00:28:11.00
UDP なら簡単。

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

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

とか。地味過ぎる。
2011/06/21(火) 06:18:45.72
仮に少しずつ時刻をずらす攻撃が成功したとして
攻撃側のメリットって何があるんだろう
時刻が飛ばないんだから、ログを誤魔化すには至らないよな
時間制限物を引き延ばすにしても誤差レベルでしかないし。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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