|
|
NTPインストールntpのインストール・設定 NTPとは?NTP(Network Time Protocol)はネットワークを介して、コンピュータ同士の時間を同期させるためのプロトコルです。 UTC(協定世界時「グリニッジ標準時」に同期したコンピュータを元に、ツリー構造によって時刻同期を行っています。上位層から提供される情報を元に時刻を同期させ、下位の階層に時刻情報を提供させることも出来ます。 階層は「stratum」と呼ばれ最上位の階層が、stratum1と呼ばれその下位の階層がstratum2、さらに下位層がstratum3と分けられています。 色々と難しく説明してきましたが簡単にいうと、時刻合わせるための仕組みです。 なぜ、時刻合わせをするのか? 簡単に言ってしまうと、サーバの時刻が狂っていると当然ですがログに記録される時間も正確なものではなくなりますよね。 ということは、いつ何が起きたのか正確な情報が分からないということになってしまいます。 障害発生時にログの時間が正確ではない場合、障害解析時にものすごく苦労しますよ・・・また、時刻の狂ったメールサーバからメールを送信した場合に未来や過去からの時間のメールを送ってしまい、受信者を混乱させてしまったりすることもありえます。 ですので、正確な時刻を保つということは管理者として基本中の基本なのです。 ntpインストール実行環境
今回の作業は、CentOS4.4で行っています。 ダウンロードCentOSにはntpがデフォルトでインストールされていと思うのですが、インストールされていない場合はyumもしくはパッケージからインストールするか、ソースをダウンロードしてきてインストールする必要があります。 ソースのダウンロードは http://ntp.isc.org/bin/view/Main/SoftwareDownloads よりntpソフトをダウンロードしてきます。最新バージョンは以下のとおりとなっています。(2007/01/10現在)Stable (安定版) 4.2.4 2006/12/28 インストールyumでのインストール # yum -y install ntp ソースからのインストール方法 $ tar xzfv ntp-4.2.0.tar.gz以上で、インストールは完了です。 ntpの設定/etc/ntp.confの設定ntpの設定は/etc/ntp.confというファイルで設定をします。 # cp -p /etc/ntp.conf /etc/ntp.conf_yyyymmdd/etc/ntp.confの基本設定例 # アクセスコントロール restrict default ignore restrict 127.0.0.1 restrict ntp1.jst.mfeed.ad.jp restrict ntp2.jst.mfeed.ad.jp restrict ntp3.jst.mfeed.ad.jp restrict 192.168.0.0 mask 255.255.255.0 noquery nomodify nopeer notrust notrap # 自サーバのハードウェアクロックと同期 # server 127.127.1.0 # local clock # fudge 127.127.1.0 stratum 10 # 同期するNTPサーバ server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp # 時刻情報記録ファイル driftfile /var/lib/ntp/drift # driftfileの場所は任意の場所でよいです。 # ブロードキャストでの遅延時間 broadcastdelay 0.008 # 認証を使用するか authenticate no設定項目の説明
restrict(アクセスコントロール)の設定について
記述例を上記で記述したntp.confを例にして説明します。 restrict default ignore
すべての通信を拒否するという設定です。
restrict 127.0.0.1 自分自身(ローカルホスト)と、時刻を問い合わせする上位サーバは制限なしで許可するという設定 最初に、全ての通信を拒否すると設定しているので時刻同期を行うサーバと通信できる設定をしておかないと、上位サーバから時刻情報の同期をすることができませんので注意してください。 restrict 192.168.0.0 mask 255.255.255.0 noquery nomodify nopeer notrap 192.168.0.0/24のネットワークからは時刻の問い合わせのみ許可する設定 ignore 全てのNTPパケットを無視する。 driftfileファイルの作成ntp.confで設定されている場所にdriftファイルが無い場合は、driftファイルを作成しなくてはいけません。 ファイルがある場合は特に作業は必要ありません。 # touch /var/lib/ntp/drift ntpの起動/etc/ntpd.confとdriftfileの作成が完了しましたら、ntpdを起動します。 ntpdは同期を取るサーバと時刻があまりにもかけ離れている場合などは同期を取ることが出来ない場合があります。 ですので、ntpを一番最初に起動させる前にntpdateコマンドにて強制的に時刻を同期することをお勧めします。
ただ注意する点は、ntpdateコマンドでの時刻合わせを行うとサーバの時間が一気に変更されしまい、
他のサービスに影響が出てしまう場合がありますので、実行する場合は影響の少ない時間帯に行ったほうが良いです。
# ntpdate ntp1.jst.mfeed.ad.jp
上記の実行結果は、ntp1.jst.mfeed.ad.jp 追記 2007.04.02ntpデーモンが起動していても、-u オプションをつければntpdateコマンドを実行できるようです。 -u オプションなしの場合NTPソケットを使用しているといわれてntpdateが失敗します。 # ntpdate ntp1.jst.mfeed.ad.jp -u オプションありの場合123番ポート以外を使用するのでntpdateコマンドが成功します。 # ntpdate -u ntp1.jst.mfeed.ad.jp ntpdの起動CentOSの場合# /etc/init.d/ntpd startFreeBSDの場合 # /usr/sbin/ntpd 起動確認
ntpdの起動が完了しましたら、時刻情報の同期が取れているかの確認を行います。 # ntpq -p サーバ名の頭に*が出ていれば、そのサーバと同期が取れている証拠ですので問題ないでしょう。 ntpq が出力する項目の説明
ntpの自動起動設定CentOS 4.4の場合Redhat系OSならばこれでいけると思います。 # chkconfig ntpd onFreeBSDの場合 FreeBSDでntpdの自動起動を設定する為には、/etc/rc.conf に以下の設定を記述します。 # vi /etc/rc.confrc.confに追加する設定 FreeBSD4.x系の場合 xntpd_enable="YES"FreeBSD5.x系以降の場合 ntpd_enable="YES" 同期させるサーバの選択ntp.confにて設定する時刻情報を取得するサーバの選択方法について記述します。 1. 契約しているISPが提供しているサーバを使う同期させるNTPサーバを選択する上で重要な点、それはネットワーク的に近くて混雑していないサーバを選択するということです。 感覚的にはStratum 2よりStratum 1のほうがより正確に時刻同期できるような気がしますが、そうではありません。 ネットワーク的に遠かったり混雑しているStratum 1のサーバを選んでしまった場合は、ネットワーク遅延等の影響で時刻情報の精度が落ちてしまうからなのです。 なので、契約しているISP(プロバイダ)でNTPサーバを公開しているのだったら、そこに同期させるのがネットワーク的にも負荷的にも一番良いと思います。 2. ISPでNTPサーバを公開していなかった場合ISPでNTPサーバを公開していないところもあると思います、そんなときはどうすればよいのでしょうか? そんな場合「mfeed.ad.jp」 や「nict.jp」のNTPサーバを参照するのが良いらしいです。なぜならば「mfeed.ad.jp」は多くのISPからネットワーク的に近い場所にあるらしく、 「nict.jp」は毎秒100万リクエスト以上を処理できる性能を有しているということです。 NICT (独)情報通信研究機構 (Stratum 1)ntpd.confでの指定方法 server ntp.nict.jpmfeed インターネットマルチフィード (Stratum 2) ntp.confでの指定方法 複数設定が可能な場合 server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp server ntp3.jst.mfeed.ad.jp 1つのみ設定が可能な場合 server ntp.jst.mfeed.ad.jp ※ntp.jst.mfeed.ad.jpで設定するとDNSでラウンドロビンされるそうです。 IPアドレスでの指定 server 210.173.160.27 server 210.173.160.57 server 210.173.160.873. Stratumの値が違う上位サーバを混在させて指定しないこと 通信がStratum値の小さいサーバに集中してしまい精度が低下する恐れがあります。 (精度を保つためには、同じStratumのサーバを3つ程度指定するのが良いみたいですよ) もっと知りたいNTPもっとNTPのことを知りたい人は WikipediaのNTPや こちらのサイトに色々と詳しく書いてありますので読んでみてください。 |
|
