サーバいじくり雑記

2013年2月2日

NTPの設定をする

Filed under: ソフト, FreeBSD, Linux — bompopo @ 2:48 PM

LAN内にマシンが多くなってくるとNTPサーバへのトラフィックが気になってきます。あまり外部のサーバに負荷はかけたくないものです。
ということで、LAN内にNTPサーバを立てて外部との同期は1台であとのLAN内のPCは全部LAN内NTPサーバと同期させることにしました。
というかVBox上のLinuxの内部時間がズレまくってポーリング時間短くしようってのがなければそこまで気にしなかったんですがね。

NTPサーバのntp.confは以下の通り。

# 統計情報の出力
statistics clockstats loopstats peerstats rawstats sysstats
statsdir "/var/log/etc/ntpd/"

filegen clockstats file clockstats type month link enable
filegen loopstats  file loopstats  type month link enable
filegen peerstats  file peerstats  type month link enable
filegen rawstats   file rawstats   type month link enable
filegen sysstats   file sysstats   type month link enable

# デフォルトで全ての通信を拒否する
restrict default ignore
restrict -6 default ignore

# ローカルホストからの問い合わせと状態変更を許可する
restrict 127.0.0.1
restrict -6 ::1

# 上位サーバとの通信を許可する
restrict ntp1.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery
restrict ntp2.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery
restrict ntp3.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery

# 下位クライアントからの問い合わせを許可する
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# 同期対象の上位サーバの設定
server ntp1.jst.mfeed.ad.jp prefer # 優先同期
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

# NTPサーバとの同期に失敗した場合はローカルクロックと同期させる
server  127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

# driftfile
driftfile /var/db/ntpd.drift

同期状態は以下のようになります。

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.jst.mfeed. 210.173.176.251  2 u   21   64  377   20.432   19.084   1.620
+ntp2.jst.mfeed. 210.173.160.56   2 u    7   64  377   20.139   20.474   1.724
+ntp3.jst.mfeed. 210.173.160.56   2 u   32   64  377   20.827   19.616   1.132
 LOCAL(0)        .LOCL.          10 l    6   64  377    0.000    0.000   0.000

次にクライアント側のntp.conf

# 統計情報の出力
statistics clockstats loopstats peerstats rawstats sysstats
statsdir "/var/log/etc/ntpd/"

filegen clockstats file clockstats type month link enable
filegen loopstats  file loopstats  type month link enable
filegen peerstats  file peerstats  type month link enable
filegen rawstats   file rawstats   type month link enable
filegen sysstats   file sysstats   type month link enable

# デフォルトで全ての通信を拒否
restrict default ignore
restrict -6 default ignore

# ローカルホストからの問い合わせと状態変更を許可する
restrict 127.0.0.1 modify query
restrict -6 ::1 modify query

# 上位サーバとの通信を許可する
restrict 192.168.0.1 mask 255.255.255.255 nomodify notrap noquery

# 同期対象の上位サーバの設定
server 192.168.0.1 prefer  minpoll 4 maxpoll 4 # ポーリング時間を最小に設定

# NTPサーバとの同期に失敗した場合はローカルクロックと同期させる
server  127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

# driftfile
driftfile /var/lib/ntp/ntp.drift

同期状態は以下のようになります。(ポーリング時間が16秒なところがポイント)

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.0.1     210.173.160.27   3 u   10   16  377    0.091  995.298 640.900
 LOCAL(0)        .LOCL.          10 l   84   64    2    0.000    0.000   0.004

VMの時間はVMに割り当てられたCPUの数と負荷状態が相乗効果になってしまっているのか、デフォルトMAXポーリング時間内に修正不能になるくらいずれることがあるので、自前NTPサーバへの同期ということもありポーリング時間を最小にしています。というかこの問題のためにNTPサーバを立てたのですが。

今回はVMの時間がどれだけずれるのかが気になっているので統計情報を出せるだけ出していますが、時間合わせるのだけが目的なら統計の部分は丸々カットでOK。
どうせならやったことのないNTP鍵認証を試してみようかと思ったけど途中で面倒になったデスよ。今度する…今度…。

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。