ntpd 不具合

ntpサーバーが止まっているという連絡があったので確認.再起動後になぜかntpdが起動しない模様.環境は以下の通り.

  • OS FreeBSD-5.3R
  • NTP ntp-4.2.0?
    • /usr/sbin/ntpd をそのまま使用している.

ntp.conf

server ntp-tk01.ocn.ad.jp
server ntp-tk02.ocn.ad.jp
server ntp-os01.ocn.ad.jp

psコマンドで確認すると

$ ps auxww | grep [n]tpd
root       366  0.0  0.7  2944 1800  ??  Ss    2:19PM   0:00.10 /usr/sbin/ntpd -p /var/run/ntpd.pid -f /var/db/ntpd.drift
root       377  0.0  0.7  2944 1824  ??  S     2:19PM   0:00.00 /usr/sbin/ntpd -p /var/run/ntpd.pid -f /var/db/ntpd.drift

というふうにntpdの起動は確認できたが、ntpqコマンドでは

$ ntpq -p
No association ID's returned

というふうに有効なntpサーバーが見つけられなかったようである.
ntpdを再起動すると

$ sudo sh /etc/rc.d/ntpd restart
Stopping ntpd.
Starting ntpd.
$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-tk01.ocn.ad 202.234.233.104  3 u   33   64    1   35.279  790.573   0.004
 ntp-tk02.ocn.ad 203.139.161.118  3 u   32   64    1   33.919  788.948   0.004
 ntp-os01.ocn.ad 202.234.233.104  3 u   31   64    1   44.678  790.301   0.004

と無事に起動することが出来た.
ここではdnsサーバーは自分自身で動かしているdnscacheを参照しているが、起動時に名前解決ができないため.ntpdの起動に失敗しているとみられる.
解決法としては

  1. ntp.conf のntpサーバーをipアドレスで記入する.
  2. ntpdの起動タイミングを変更する.
  3. namedの起動タイミングを変更する.

の3点.ipアドレス決め打ちはチョット避けたいのだが.さてどうするか.