時刻を正確にするNTP

サーバーの時刻が少しずれていると、ログ管理などで不整合が生じてしまうので、できるだけ正確な時間に設定しておきたい。時刻合わせにはGPSを利用する方法もあるが、一般には公開されているNTPサーバーを参照し、同期することで時刻を正確に補正する。

参照先のNTPサーバーとしては日本標準時プロジェクトのサーバーがベストだろう。

ntp.nict.jp

以下、導入手順。Debianの場合、ntpパッケージを導入すればデーモンとして動作するNTPが導入され、コマンドのntpdateをインストールしたい場合は、ntpdateを指定する。

コマンドのみの場合

# aptitude install ntpdate
# ntpdate ntp.nict.jp

これでJST(日本標準時)の時刻合わせが完了する。

デーモンとして常に動作させておきたい場合

aptitude install ntp

ntpパッケージを導入すると参照先NTPサーバーの設定もされているのでこのままで機能する。動作はntpqコマンドで確認できる。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 vs01.typo3hosti 133.243.238.243  2 u    1   64    1   12.764    1.408   0.000
 laika.paina.jp  131.113.192.40   2 u    -   64    1    1.930    0.236   0.000
 hachi.paina.jp  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 pache.auto-id.w .INIT.          16 u    -   64    0    0.000    0.000   0.000

参照先のNTPサーバーは、/etc/ntp.confファイルで、

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

のように設定されているので、このまま運用してもよい。ntp.nict.jpを使う場合は、該当行を#でコメントアウトし、

server ntp.nict.jp iburst

のように記述しておく。

NTPサーバーとしてはntp.nict.jpのほかに、IXが運用しているntp.jst.mfeed.ad.jpや国立天文台・水沢VLBI観測所が運用しているs2csntp.miz.nao.ac.jpがあるので、これらを列挙した設定ファイルにしておくというのも良い運用方法だろう。

server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
server s2csntp.miz.nao.ac.jp iburst

 IPv6を無効化する(IPv4のみにする)

デフォルト環境では、大抵の場合IPv6およびIPv4の両対応になっている。IPv6が有効になっている場合に無駄な名前解決やトラフィックが走りトラブルになることもあるので、IPv4サーバーしか使わないのであれば限定しておいたほうがいい。netstatで確認してみるとudp6の無駄なものがある状態が確認できるだろう。

# netstat -natup | grep ntpd
: udp 0 0 0.0.0.0:123 0.0.0.0:* 5902/ntpd udp6 0 0 :::123 :::* 5691/ntpd

このudp6の待機を削除するには、/etc/ntp.confを編集しがちだがその必要はない。起動時オプションで指定する。Debianの場合は、/etc/default/ntpを編集する。

# vi /etc/default/ntp

NTPD_OPTS='-g'

↓

NTPD_OPTS='-g -4'

これでntpの再起動をかければOKだ。

# /etc/init.d/ntp restart
# netstat -pantu | grep ntpd
:
udp        0      0 0.0.0.0:123             0.0.0.0:*                           5970/ntpd