○ ntpのインストール (クライアント) 4 Xen

*メインのNTPサーバをLinuxルータに置き、上位のNTPサーバと同期させます
*その他のサーバ・クライアントマシンは、このNTPサーバに同期させます
*ntp-4.2.6p2をソースからインストールし、共通鍵認証の設定をします
*ドメインUでは設定しません、ドメインUの時計はドメイン0が管理します
*make はメンテナンスマシンで行っています

**以降はコメントです
*新規インストールした opensslを使います
*エディタ、ファイラーの操作は省略します
*説明文 (英文) を読みましょう
*Enterキーを省略します

*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:ntp-4.2.6p2.tar.gz  (http://www.ntp.org/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)
opensslのインストール

○インストール環境

:OS CentOS 5.5
:selinux disabled
:インストール先  /usr/local
:作業 /usr/src
:言語 LANG=en_US.UTF-8 
:ユーザー rootで実行
:マシン名 earth.528p.com
:IPアドレス 192.168.0.2

*メンテナンスの場合は一般ユーザから行います



○ntp-4.2.6p2

○ntpユーザ・ディレクトリの作成

# mkdir /etc/ntp
# useradd -u 38 -d /dev/null -s /bin/false ntp
# mkdir /var/lib/ntp
# chown ntp:ntp /var/lib/ntp

○ソースの展開・インストール

*openssl-develを必要とします

# cd /usr/src
# tar zxvf ntp-4.2.6p2.tar.gz
# chown -R root:root ntp-4.2.6p2
# cd ntp-4.2.6p2
# make distclean
# ./configure CFLAGS="-O2 -march=pentium3" \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-kernel-fll-bug \
--enable-linuxcaps \
--with-crypto

*CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
*--enable-linuxcaps (linuxでntpdの -u オプションを有効にする)
*該当しない場合は指定しない
*オプションは半角を入れて続けて記入した方が良い

# make
# make uninstall
# make install
# cd ..
# tar jcvf ntp-4.2.6p2-100709.tar.bz2 ntp-4.2.6p2/

○step-tickersの作成

*起動スクリプトで読み込みます
*ntpdateで最初に時刻合わせをします

:/etc/ntp/step-tickers

# echo "192.168.0.1" >> /etc/ntp/step-tickers

○共通鍵認証用のkeyファイルをコピーします

*上位のntpサーバ(Router)のkeyファイルをコピーします
*ntpkey_MD5keyファイルの "key ID" 10,20 をmd5keysとして保存します

:/etc/ntp/md5keys

10 MD5 |YgrnX.^\n48=p%;u?]A  # MD5 key
20 SHA1 cc0d2ac9881f06e913a1c9dc04dfc3e70eb5fcf1  # SHA1 key

*パーミッションを変更します

# cd /etc/ntp
# chown root:root md5keys
# chmod 600 md5keys

○ntp.confの作成

*SHA1を使えない古いntpでは "key ID" 10(MD5)のkeyを使用します

*ローカルネットワークでの共通鍵認証を行います
*serverのオプションとして key 20 を設定します
紫色部分 鍵ファイルと "key ID" の指定
*md5keysファイルの "key ID" 20 のkeyを使用します

: /etc/ntp.conf

restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.0.2

restrict 192.168.0.1 mask 255.255.255.255 nomodify notrap
server 192.168.0.1 key 20

server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay  0.008

keys    /etc/ntp/md5keys
trustedkey 20

○ntpd起動用スクリプトを作ります

/étc/rc.d/init.d/ntpd (別記)

○起動オプションの設定

:/etc/sysconfig/ntpd

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"

○ntpdの起動

*port123 (UDP) が開放されていること
*起動後 "ntpq -p" コマンドで同期の確認します
*"key ID" が上位のサーバと異なる場合 refidの部分が .INIT. と表示されます

# service ntpd start
# chkconfig --add ntpd

*少し休憩!

# ntpq -p

○内部時計との同期用スクリプトを作ります

*hwclockでハードウェアクロックに書き込みます オプションは -w でも良いです
*/etc/cron.weeklyに配置して、7日に1回動作させます

:/etc/cron.weekly/sys2ohc (root root 755)

#!/bin/bash
/sbin/hwclock --systohc

○iptablesの設定

Netfilter (iptables) で制御している場合、ポートを開けてください

Netfilter (iptables) の設定参照



○一時的なNTPサーバとの同期 (正確さ必要でない場合)

○ntpサーバの停止

# service ntpd stop
# chkconfig --level 235 ntpd off

○外部時計との同期用スクリプトを作ります

*ntpdateコマンドを -u オプション付きで動作させます
*hwclockでハードウェアクロックに書き込みます オプションは -w でも良いです
*/etc/cron.dailyに配置して、1日1回動作させます

: /etc/cron.daily/xntpsync (root root 755)

#!/bin/bash
/usr/local/bin/ntpdate -u 192.168.0.1
/sbin/hwclock --systohc



○(参考) ドメインUでNTPサーバ

*kernelパラメータでドメイン0の制御から独立します

*ドメインUが起動中の場合

# echo 1 >/proc/sys/xen/independent_wallclock

*ドメインU起動時から動作を変更する場合
*/etc/sysctl.confに以下の行を追加します

# For ntpd on Xen DomU
xen.independent_wallclock = 1

○ Copyright(c) 528p.com All Rights Reserved.