読者です 読者をやめる 読者になる 読者になる

サーバの時刻あわせ

自宅サーバにntpdを入れてみた
といっても時刻合わせのために公開サーバにアクセスするだけ

手順
1.ntpdをインストール

$ sudo apt-get install ntp

2.設定
ntpサーバを公開するわけではないので時刻合わせのための公開ntpサーバを指定するのみ
設定ファイルは/etc/ntp.conf

server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

上記の設定で3つのどれかによって時刻調整が行われる

日本国内の公開ntpサーバはこちらにまとまっている
http://wiki.nothing.sh/page/NTP/%BF%E4%BE%A9%B8%F8%B3%AB%A5%B5%A1%BC%A5%D0

3.iptablesの変更
ntpが使うportを許可する必要がある(udpの123番)
iptables.sh

# udpの123番から外向きのパケットを許可
iptables -A OUTPUT -p udp -s $MY_IP --sport 123 -j ACCEPT
# セッション確立後のパケットを許可
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

4.ntpの動作確認
設定を行ったのでデーモンを立ち上げ直す

$ sudo service ntp restart

以下のコマンドで同期の状態を確認

$ sudo ntpq -p

デーモン立ち上げ直して10分後くらいに上記コマンドを実行して以下のようになっていればOK
ちなみに行頭の*が時刻合わせに用いているサーバ、+が予備のサーバ

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp1.jst.mfeed. 172.29.3.50      2 u  168  512  377   12.907    0.902   4.466
*ntp2.jst.mfeed. 172.29.3.60      2 u  440  512  377   16.863    0.637   4.813
+ntp3.jst.mfeed. 172.29.3.60      2 u   79  512  377   13.728    1.391  82.894
+golem.canonical 193.79.237.14    2 u   80  512  277  280.636   -2.879   4.566

デーモン立ち上げ直後だと同期が進んでおらずこんな感じになる

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.jst.mfeed. 172.29.3.60      2 u   14   64    1   10.122  -36243.   0.002
 ntp2.jst.mfeed. 172.29.2.50      2 u   15   64    1    9.097  -36243.   0.002
 ntp3.jst.mfeed. 172.29.3.60      2 u    9   64    1    9.572  -36244.   0.002
 golem.canonical 193.79.237.14    2 u    3   64    1  277.600  -36245.   0.002