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

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

・新規インストールした opensslを使います
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

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

○関連サイト

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

○参照ファイル

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

○インストール環境

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

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



○ntp-4.2.6p3

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

[root@earth:~]
# 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
[root@earth:/usr/src]
# tar zxvf ntp-4.2.6p3.tar.gz
# chown -R root:root ntp-4.2.6p3
# cd ntp-4.2.6p3
[root@earth:/usr/src/ntp-4.2.6p3]
# 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 ..
[root@earth:/usr/src]
# tar jcvf ntp-4.2.6p3-110410.tar.bz2 ntp-4.2.6p3/

○step-tickersの作成

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

:/etc/ntp/step-tickers

# cd ~
[root@earth:~]
# 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 25Pk?m&Cacm6hXQO?1)!  # MD5 key
20 SHA1 6b6eb66ca93b1a25fcfb71abe14ab91f859baec1  # SHA1 key

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

# cd /etc/ntp
[root@earth:/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. と表示されます

# cd ~
[root@earth:~]
# 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サーバの停止

[root@earth:~]
# 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が起動中の場合

[root@earth:~]
# 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.