NTPタイムサーバ


NTPタイムサーバ:
NTP(Network Time Protocolネットワーク時間プロトコル)は、コンピュータクロックを同期するためのネットワークプロトコルである.コンピュータを他のサーバまたはクロックソースと時間同期させ、高精度な時間補正を行うことができる.NTPサーバはC/Sアーキテクチャに基づいている.NTPは、1台または複数台のサーバ(クライアント)と時間サーバを(サービス側)間で時間同期(即ちクライアントとサービス側の時間同期)を行い、時間の統一性を保証する;NTPサーバーとクライアント間はUDPプロトコルに基づいて伝送し、UDPの123ポートを使用する;
実験環境:
          OS: rhel6
NTPサーバー:192.168.10.111
NTPクライアント:192.168.10.113
1.まず192.168.10.111 NTPサーバのインストール
   #tar xf ntp-4.2.8p3.tar.gz
   #cd ntp-4.2.8p3
   #./configure  --prefix=/usr/local/ntp  --enable-all-clocks  --enable-parse-clocks
   #make  &&  make install
2.マスタープロファイルの変更
    #vim/etc/ntp.conf
####1.           ,                   ;
restrict default kod nomodify  nopeer noquery            <== IPv4
restrict -6 default kod nomodify nopeer noquery        <== IPv6

restrict 127.0.0.1              <== ,
restrict -6 ::1

restrict 0.0.0.0 mask 0.0.0.0 nomodify  noquery       <==
restrict 192.168.10.0 mask 255.255.255.0 nomodify            <==

####2. , [0|1|2].centos.pool.ntp.org ;              
server 0.cn.pool.ntp.org   prefer                <==prefer
server 0.asia.pool.ntp.org
server 2.asia.pool.ntp.org


####3. keys , ;
driftfile   /var/lib/ntp/drift
keys       /etc/ntp/keys


3.ntpdのmanマニュアルからmanコマンドへの検索パスを出力する
編集/etc/man.config、下に追加すればいい
          MANPATH  /usr/local/ntp/share/man
4.ntpdのライブラリファイルを出力してシステムライブラリへのパスを検索する
   # echo '/usr/local/ntp/share/ntp/lib' >/etc/ld.so.conf.d/ntpd.conf
5.その後、システムをシステムライブラリに再ロードする
   # ldconfig
6.PATH環境変数を修正し、ntpdの関連コマンドを直接使用できるようにする
   # vim/etc/profile.d/ntpd.sh
          export PATH=$PATH:/usr/local/ntp/sbin
7.ntpdサービスを再起動し、電源を入れて自動的に起動させる
   #chkconfig --add ntpd
   #chkconfig ntpd on
   #service ntpd restart
8.クライアント側はntpdateプログラムを使用して同期を実行する
   #ntpdate ntpd-server-ip
9.クライアントに計画タスクを追加する
   #crontab -e
        */5 * * * */usr/sbin/ntpdate 192.168.10.111 &>/dev/null
   #service crond restart
   #crontab -l
PS:
1.restrict命令は、NTP通信が可能なIPアドレスまたはセグメントを指定する.
restrict<サブネットマスク>|<セグメント><サブネットマスク>[ignore|nomodify|noquery|notrap|notrust|nokod]
ignore:すべてのNTPサービスを停止します.
nomodify:クライアントはNTPサーバの時間パラメータを変更できないが、NTPサーバで時間照合を行うことができる.
noquery:NTPサービスは提供されていません.
notrap:trapリモートイベントログイン機能は提供されません.
notrust:認証されていないクライアントを集約します.
kod:kodテクノロジーは「Kiss of Death」パッケージ(DOS攻撃)によるサーバの破壊を組織することができ、このパラメータを使用してこの機能をオンにします.
nopeer:他の同じレベルのNTPサーバと時間同期しない;
オプションが指定されていない場合は、指定されたクライアントがNTPサーバにアクセスする際に制限がないことを示します.
2.server命令はこのNTPサーバーの上層NTPサーバーを指定し、複数の上層NTPサーバーがある場合、preferの優先度を参照して時間同期を行い、preferが小さいほど優先度が高くなる.
           server [IP|FQDN] [prefer]
3.broadcast命令はNTP時間放送を行うセグメントを指定し、このパラメータを指定しない場合、NTPサーバはアクセス可能なすべてのセグメントを放送する.
4.ntpq-pコマンドは、現在のNTPと関連する上位NTPのステータスを表示します.
パラメータの一部について説明します.
remote:NTPホストのIPまたはホスト名、~注意一番左の符号であってもよい.
もし『*』が現在働いている上層NTPを表しているならば;
「+」の代表であれば、オンラインに接続され、次の更新時間の候補者として使用できます.
refid:前の層のNTPホストのアドレスを参照してください.
st:stratum阶层�!
when:数秒前に時間同期化更新の動作をしたことがあります.
Poll:次の更新は数秒後です.
reach:上位NTPサーバに更新を要求した回数;
delay:ネットワーク伝送中に遅延した時間、単位は10^(-6)秒である.
offset:時間補償の結果、単位は10^(-3)秒;
jitter:Linuxシステム時間とBIOSハードウェア時間の違い時間、単位は10^(-6)秒です.