NTP (1)
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/01/29(日) 16:37:27リンクなどは>>2以降で
0360名無しさん@お腹いっぱい。
2010/11/21(日) 07:54:20質問してるんじゃなくて、「障害報告」してるんだろw
>>359
NICTの推奨無視してDNSラウンドロビンに登録されてる
個々のホストを個別指定した方が障害に強いってことだよな。
0361名無しさん@お腹いっぱい。
2010/11/21(日) 09:34:350362名無しさん@お腹いっぱい。
2010/11/21(日) 09:59:37ntp.nict.jpのDNSラウンドロビンでは現在5個のIPアドレスが引ける。
うち4個は逆引き可能で、ntp-[ab][23].nict.go.jp
残りの1個が問題の 210.171.226.40 で、逆引き不可。
で、210.171.226.40は(少なくとも外部から)アクセス不可。
getaddrinfo()関数を使ってIPアドレスを引くと、何度引いても
常に 210.171.226.40 が1番に引ける。
(異なるドメインの異なるOSで再現性確認)
hostコマンドやgethostbyname()を使うと
IPアドレスが引ける順番は毎回変わるので問題なし。
ntpdはgetaddrinfo()を使ってるっぽい。
>>141 >>148
あたりで議論されているように、
ntp.confに server -4 ntp.nict.jp の同じ行を3行書いても
常に 210.171.226.40 だけが引ける。
結果、210.171.226.40 が落ちてるので同期しない。
0363名無しさん@お腹いっぱい。
2010/11/21(日) 10:05:05http://www.nict.go.jp/contact.html
0364名無しさん@お腹いっぱい。
2010/11/21(日) 10:46:20ぐぐったらgetaddrinfo (+glibcなのかな)はかなり問題っぽいね
ntpじゃDNSラウンドロビンは使えてないということか
アクセス状況で気付けよ>提供者
0365名無しさん@お腹いっぱい。
2010/11/23(火) 22:50:45ntpdみたいに複数のサーバから最適なサーバを探し出せる機能が付いてるソフトには使えないから
IPアドレスを公表して変更した時も何らかの文書を出すようにしてほしいよね。
0366名無しさん@お腹いっぱい。
2010/11/24(水) 00:15:485アドレスを登録するだけの話じゃないの?
0367名無しさん@お腹いっぱい。
2010/11/24(水) 00:51:09IPアドレスの無効通知をntpdの仕様に含めておけば良かった
0368名無しさん@お腹いっぱい。
2010/11/24(水) 01:46:55udpだし、詐称されたら困るからそれは無いだろ
0369名無しさん@お腹いっぱい。
2010/11/24(水) 07:27:19全クライアントが全アドレスにパケ飛ばしたら負荷が高いから
ntpd起動時にDNSラウンドロビンで引いた1個のIPだけ使ってもらい
負荷分散しようって設計だったと思うんだ。でも結果は>>362
0370ななし
2010/11/24(水) 08:12:07getaddrinfo()を使っていてもアドレスファミリにAF_UNSPECを指定
すればラウンドロビンされるので。
0371名無しさん@お腹いっぱい。
2010/11/24(水) 08:40:27getaddrinfo()でAF_UNSPECを指定しても、
ラウンドロビンされないよ。(確認済み)
正確には、getaddrinfo()が何らかのルールで並べ替えるみたい。
で、その並べ替えルールでは、
210.171.226.40以外の4つのIPアドレスについてはラウンドロビンするが、
210.171.226.40だけは常に1番先に来る。
(例)1回目
210.171.226.40
133.243.238.244
133.243.238.163
133.243.238.164
133.243.238.243
2001:2f8:29:100::fff3
2001:2f8:29:100::fff4
2400:3000:20:100::40
(例)2回目
210.171.226.40
133.243.238.243
133.243.238.244
133.243.238.163
133.243.238.164
2400:3000:20:100::40
2001:2f8:29:100::fff3
2001:2f8:29:100::fff4
AF_UNSPECを指定してる証拠にIPv6も引けてる。
0372名無しさん@お腹いっぱい。
2010/11/24(水) 12:25:490373名無しさん@お腹いっぱい。
2010/11/24(水) 13:43:27というか、>>372 自身で適当なサンプルプログラムで実験してみればわかることだろ。
0374名無しさん@お腹いっぱい。
2010/11/24(水) 17:08:17正しい動作。DNSラウンドロビンによる負荷分散は時代遅れ。
Rule 9: Use longest matching prefix.
When DA and DB belong to the same address family (both are IPv6 or
both are IPv4): If CommonPrefixLen(DA, Source(DA)) >
CommonPrefixLen(DB, Source(DB)), then prefer DA. Similarly, if
CommonPrefixLen(DA, Source(DA)) < CommonPrefixLen(DB, Source(DB)),
then prefer DB.
Source(D)は
We write Source(D) to indicate the selected source address for a
destination D. For IPv6 addresses, the previous section specifies
the source address selection algorithm. Source address selection for
IPv4 addresses is not specified in this document.
0375名無しさん@お腹いっぱい。
2010/11/24(水) 17:28:16自分のホストの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
0376名無しさん@お腹いっぱい。
2010/11/24(水) 17:33:360377名無しさん@お腹いっぱい。
2010/11/24(水) 17:38:10133.243.238.xxx のどこかにIPアドレス振り直すべきだな。
そうすれば、同じ133.243.238.xxx 同士の間では
getaddrinfo()でもラウンドロビンするから。
0378名無しさん@お腹いっぱい。
2010/11/24(水) 17:43:520379名無しさん@お腹いっぱい。
2010/11/24(水) 21:00:23引けた複数のIPアドレスに対して、
わざわざUDP socketを作成し、
そのIPアドレスに空connect()して、
getsockname()で自分のソースIPアドレスを求めている。
UDPの場合、connect()だけ実行してもパケットは飛ばないので
こういう方法もあるんだな。
でも、わざわざsocket()をIPアドレスの分だけ実行するのって何か無駄な感じ。
0380名無しさん@お腹いっぱい。
2010/11/24(水) 21:18:38探すという手順を踏まなきゃならんぞ。
カーネルに任せるのは賢い方法だと思うが。
0381名無しさん@お腹いっぱい。
2010/11/24(水) 22:19:41プリフィックスが近いなんて大した意味はなさそうだ。
つーわけで>>377に同意する、見てるんだろ?>関係者
0382名無しさん@お腹いっぱい。
2010/11/24(水) 22:34:400383名無しさん@お腹いっぱい。
2010/11/24(水) 23:10:310384名無しさん@お腹いっぱい。
2010/11/25(木) 22:29:41ちょww
210.171.226〜の方に収容してるからディレイが少ないとかそんな感じじゃなかった?w
0385名無しさん@お腹いっぱい。
2011/01/23(日) 12:05:220386名無しさん@お腹いっぱい。
2011/01/23(日) 12:27:490387名無しさん@お腹いっぱい。
2011/01/23(日) 14:36:20ntpdが異常終了しちゃったぞ。なんで?
0388名無しさん@お腹いっぱい。
2011/01/23(日) 16:56:480389名無しさん@お腹いっぱい。
2011/01/23(日) 17:05:210390名無しさん@お腹いっぱい。
2011/01/23(日) 17:11:520391名無しさん@お腹いっぱい。
2011/01/23(日) 17:31:000392名無しさん@お腹いっぱい。
2011/01/23(日) 17:33:48とりあえずプロバのNTPに退避
銀河美少年を録りそこねるとこだったわ
0393名無しさん@お腹いっぱい。
2011/01/23(日) 17:51:2312頃に一度なおって。またおかしくなった。
0394名無しさん@お腹いっぱい。
2011/01/23(日) 18:56:150395名無しさん@お腹いっぱい。
2011/01/23(日) 22:51:46同期する相手の対象から外されていた人が勝ち組。
0396名無しさん@お腹いっぱい。
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系の運用を停止いたします。
> 利用者の皆様には大変ご迷惑をおかけいたしました。深くお詫び申しあげます。
0397名無しさん@お腹いっぱい。
2011/01/24(月) 12:53:100398名無しさん@お腹いっぱい。
2011/01/24(月) 13:13:37もちろん、getaddrinfo()がDNSラウンドロビンを無視して210.171.226.40に1局集中アクセスします(笑)
0399名無しさん@お腹いっぱい。
2011/01/24(月) 13:18:570400名無しさん@お腹いっぱい。
2011/01/24(月) 14:07:220401名無しさん@お腹いっぱい。
2011/01/24(月) 14:18:130402名無しさん@お腹いっぱい。
2011/01/25(火) 00:27:410403名無しさん@お腹いっぱい。
2011/01/25(火) 00:47:53ntpdateしてみたら、ヒドすぎて噴いたww
0404名無しさん@お腹いっぱい。
2011/01/26(水) 02:06:020405名無しさん@お腹いっぱい。
2011/01/26(水) 08:49:390406名無しさん@お腹いっぱい。
2011/01/26(水) 09:12:340407名無しさん@お腹いっぱい。
2011/01/26(水) 10:27:170408名無しさん@お腹いっぱい。
2011/01/26(水) 13:42:480409名無しさん@お腹いっぱい。
2011/01/26(水) 13:53:55って指摘あるけど、ntpdの起動スクリプトで先にntpdateを実行するように
なってるから、ntpdateの段階でいくらずれていても強制追従するんだよな。
たまたま問題の時間にホストを起動した場合とか、
ntpdの同期が外れているのに気づいてntpdをリスタートした場合に
時刻が大きくずれるのは防げなかったはず。
0410名無しさん@お腹いっぱい。
2011/01/26(水) 14:17:070411名無しさん@お腹いっぱい。
2011/01/26(水) 15:14:080412名無しさん@お腹いっぱい。
2011/01/26(水) 16:17:52ntpdを起動したときのバーストモードで十分だろ。
>>411
意外にnictより先にmfeedの準備が整うとmfeedを使い始めたりもする。
mfeedは時間あたりパケット数を聞いたことが無いからmfeedはiburstを付けて
さっさと同期するようにしてる。
0413名無しさん@お腹いっぱい。
2011/01/26(水) 16:31:41iburstでもずれ過ぎのサーバーに強制セットされるから問題は同じだよ
0414名無しさん@お腹いっぱい。
2011/01/26(水) 16:40:54>起動スクリプトでobsoleteなntpdateを使ってるなんてどこのクソLinuxなんだ?w
FreeBSD8.1ですが、なにか?
0415名無しさん@お腹いっぱい。
2011/01/26(水) 16:52:54「FreeBSD8.1が使っている」んじゃなくて「>>414がFreeBSD8.1で使っている」が正しい。
0416名無しさん@お腹いっぱい。
2011/01/26(水) 17:03:47-g 付けたらntpdateと一緒の問題が発生するだろw -g 外さなきゃ。
0417名無しさん@お腹いっぱい。
2011/01/26(水) 17:15:53話の流れ読もうね。
起動時にクロックが大きくずれているマシンだからntpdateが必要。
でも、それはntpd -gでOKという話。
0418名無しさん@お腹いっぱい。
2011/01/26(水) 17:18:56で、ntpdateであろうが ntpd -g であろうが問題が発生するだろw
話の流れはこっちなんだがw
0419名無しさん@お腹いっぱい。
2011/01/26(水) 17:20:27ntpd -g じゃ解決にならんでしょ。
0420名無しさん@お腹いっぱい。
2011/01/26(水) 19:00:16> 起動スクリプトで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.
0421名無しさん@お腹いっぱい。
2011/01/26(水) 19:16:280422名無しさん@お腹いっぱい。
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
だから、今回ようなのはやられる場合がある。
0423名無しさん@お腹いっぱい。
2011/01/27(木) 06:09:530424名無しさん@お腹いっぱい。
2011/02/01(火) 02:45:38高確率でsettimeofdayで時刻がリセットされる。
ところがdovecotのように時刻が逆戻りしたことを検知するとエラーを吐いて死ぬ
デーモンもいるもんだから、
@ntpdateコマンドを使って時刻を直ちに同期
Antpdを起動(ntpdが動いてる間はntpdateは実行できないからこの順番)
B時計に厳しいその他のデーモンを起動
Fedora11はこんな起動シーケンスになってるぞ。RHEL5もそうだったと思う。
0425名無しさん@お腹いっぱい。
2011/02/01(火) 06:52:27/etc/init.d/ntpdには確かにntpdateの記述もあるけど、
これはif文で場合分けされていて、
/etc/sysconfig/ntpdにそれ用のオプションを記述してない限り
ntpdateは起動されないよ。
その代わり、ntpd -gで起動される。
-gで、ntpd起動時に限り即時に時刻がセットされるから、
効果はntpdateと同じ。
0426名無しさん@お腹いっぱい。
2011/02/01(火) 07:02:26SYNOPSIS
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:37ntpdateもそれはそれで便利だし、このまま結局消えないに1票。
0428名無しさん@お腹いっぱい。
2011/02/01(火) 14:26:18ntpdateの方はまだ習慣で使っちゃってるなぁ
0429名無しさん@お腹いっぱい。
2011/02/03(木) 23:33:38そいつらを相互に同期させておけば嘘時計が混ざってもすぐ発見できるし、
ローカル内の時刻の同期は保たれると思うけど、そういう設定はどう書くの?
0430名無しさん@お腹いっぱい。
2011/02/04(金) 00:15:50トンネルを介してるから相当ディレイがあるかと思ったら
意外にも1ミリ秒ほど早いw
0431名無しさん@お腹いっぱい。
2011/02/04(金) 09:17:250432名無しさん@お腹いっぱい。
2011/02/04(金) 13:02:22例えばローカルにサーバが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
0433名無しさん@お腹いっぱい。
2011/02/04(金) 16:19:56ありがとうございます。
peerがポイントですね?
>>431
パケットが往復する時間かな?
0434名無しさん@お腹いっぱい。
2011/02/04(金) 16:48:340435名無しさん@お腹いっぱい。
2011/02/13(日) 04:38:430436名無しさん@お腹いっぱい。
2011/02/13(日) 06:13:29ttp://web.archive.org/web/20060822040313/http://tips.kajiki.com/adjtmbyradio/
0437名無しさん@お腹いっぱい。
2011/02/13(日) 08:26:55残念ながらプログラムはftpで配布されてたようで、IAに残っていない。
0438名無しさん@お腹いっぱい。
2011/02/13(日) 23:17:35ありがとうございます。
0439名無しさん@お腹いっぱい。
2011/05/04(水) 16:29:08.00の意味がマニュアル見てもぜんぜん分からないので、
だれかお母さんみたくやさしく根気強く教えてください
0440名無しさん@お腹いっぱい。
2011/05/04(水) 19:47:26.090441名無しさん@お腹いっぱい。
2011/05/08(日) 17:31:18.230442名無しさん@お腹いっぱい。
2011/05/08(日) 19:45:50.78可哀想に…生まれてから虐待ばかりで親身に接してくれなかったんだな
0443名無しさん@お腹いっぱい。
2011/05/14(土) 17:26:30.80それなりに正しく保ちたいとき、ふつうにNTP使っても
うまくいかないですよね。(途中で死ぬ)
こういうとき、うまくやる方法としては何がありますか?
0444名無しさん@お腹いっぱい。
2011/05/14(土) 17:52:58.43人間は世界中で10人に満たないだろうから、世界で1人だけのデバッガーになる
可能性が高い。まず、捨てることを考えた方が良い。
もしかして、emacsスレにいたイジメにあってる人?
0445名無しさん@お腹いっぱい。
2011/05/14(土) 17:54:44.140446名無しさん@お腹いっぱい。
2011/05/14(土) 18:30:41.70まあいわゆるVMがらみなんですけどね
emacsは使わないから知らん
>>445
愛が足りないだろ
0447名無しさん@お腹いっぱい。
2011/05/14(土) 18:44:41.16VMWareで時刻がずれまくるってやつだろ?
@vmware-toolsでどうにかならないか?
Aマシン本体のBIOSの設定でEISTまたはSpeedStepを無効化。
あと最新型でTurboBoostがある場合はコレも無効化。
要するにCPUクロック周波数を固定化する。
0448名無しさん@お腹いっぱい。
2011/05/14(土) 19:43:08.08クロックは落としたいし。
Emacs スレのいじめられてる人ワロタw
0449名無しさん@お腹いっぱい。
2011/05/14(土) 19:49:33.72ずれないqemu
0450名無しさん@お腹いっぱい。
2011/05/14(土) 19:58:26.49VirtualBoxなんだけど、3分おきくらいにしか修正してくれないんだ
周波数も固定してんだけどまあずれることずれること
>>449
VBoxってqemuがベースになってるはずなのにね
どうしてこんなことに・・・
0451名無しさん@お腹いっぱい。
2011/05/14(土) 21:08:00.54WindowsでもGuestaddtionがよきにはからってくれるはず。
こんな記述があるな。
http://www.virtualbox.org/manual/ch09.html#changetimesync
0452名無しさん@お腹いっぱい。
2011/05/14(土) 22:43:47.34adjtimexでKernel Timeとのずれを調整する、ってのが定番だった。
一定の割合でずれていく場合に有効なので、VMに適用できるかどうかわからないけど。
0453名無しさん@お腹いっぱい。
2011/05/15(日) 19:45:54.990454名無しさん@お腹いっぱい。
2011/05/15(日) 20:48:32.37時計の針を進めることはできる
0455名無しさん@お腹いっぱい。
2011/05/16(月) 20:03:44.64ゲンドウさんみたいで格好いいな
0456名無しさん@お腹いっぱい。
2011/05/17(火) 08:42:40.32http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427
カーネルパラメーターで解決できるかも。
VMware用だけど、Virtualboxでも多分うまくいく。
0457名無しさん@お腹いっぱい。
2011/05/17(火) 16:51:41.26Drift が 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どっかに計算式があった気がするが忘れたな・・・
0459名無しさん@お腹いっぱい。
2011/05/17(火) 21:12:27.35これでNTPデーモン動かしてちゃんと動作してくれるかな・・・
■ このスレッドは過去ログ倉庫に格納されています