![]() |
LINUX |
ntpのインストール (サーバ)
*メインのNTPサーバをLinuxルータに置き、上位のNTPサーバと同期させます
*その他のサーバ・クライアントマシンは、このNTPサーバに同期させます
*ntp-4.2.6p2をソースからインストールし、共通鍵認証の設定をします
*make はメンテナンスマシンで行っています
**以降はコメントです
*エディタ、ファイラーの操作は省略します
*説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :ntp-4.2.6p2.tar.gz | (http://www.ntp.org/) |
参照ファイル:パッケージの追加
:最初の設定 (Router)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | permissive |
| :インストール先 | /usr/local |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
| :マシン名 | venus.528p.com |
| :IPアドレス | 192.168.0.1 |
*メンテナンスの場合は一般ユーザから行います
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
ソースの展開・インストール
# 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-all-clocks \
--enable-parse-clocks \
--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-rt-100709.tar.bz2 ntp-4.2.6p2/
step-tickersの作成*起動スクリプトで読み込みます
*ntpdateで最初に時刻合わせをします
:/etc/ntp/step-tickers
# echo "130.69.251.23" >> /etc/ntp/step-tickers
共通鍵認証用のkeyファイルを作成します*rpmパッケージの場合はインストールされたものを使います
*ntp-keygenのデフォルトでは公開鍵認証用のkeyファイルが作成されます
*"authenticate no"の場合でも設定しておいた方が良い
:/etc/ntp/ntpkey*
# dd if=/dev/urandom of=/root/.rnd bs=1024 count=1 # cd /etc/ntp # ntp-keygen -M # ls -l ntpkey_md5_venus.528p.com -> ntpkey_MD5key_venus.528p.com.3469649758 ntpkey_MD5key_venus.528p.com.3469649758
*パーミッションを変更します
# chmod 600 ntpkey*
*ntpkey_MD5keyの内容(MD5 keyとSHA1 key が設定されています)
1 MD5 `ZKz:+~X;U%?IQ)Vx'aq # MD5 key
2 MD5 Dw6EuCwy{:Q`u0,P!4Oi # MD5 key
3 MD5 q7n)AZ0MME_vf{C9MbCr # MD5 key
4 MD5 g05u;v8R`9_3fvR%V,tb # MD5 key
5 MD5 f~yTcBIi*"`xMCNcL4bR # MD5 key
6 MD5 ,Ap6ySv_"{Y/AW9*&+,q # MD5 key
7 MD5 Sw{H,jSdV+W/XA*.orUR # MD5 key
8 MD5 :QjXuxHZH4y`MV=!`7t: # MD5 key
9 MD5 ?]D03m7T4k&a9Ybzw$T3 # MD5 key
10 MD5 |YgrnX.^\n48=p%;u?]A # MD5 key
11 SHA1 c6b7e086d2d626b3c8ef3f8285eecfe5cfdc087e # SHA1 key
12 SHA1 b81b1c1eca43388f37972e6298d2f53519665698 # SHA1 key
13 SHA1 6ebeadb7c9593c7efe87050ebb0d4355372cf420 # SHA1 key
14 SHA1 1e4b6f34b2c1cfcb783effe9f5c6c8c9c7b30f32 # SHA1 key
15 SHA1 0b0e69baf4db4e7d424ad462dc1db06575da9d67 # SHA1 key
16 SHA1 9af686894ae8de58b932a4f7f1f35353ccf9731f # SHA1 key
17 SHA1 34307250865143b35dec61387cdbb47c951fbad2 # SHA1 key
18 SHA1 57f82a4073a986b0c98cd505884c99020ff0ec17 # SHA1 key
19 SHA1 68eb3054c542e944a94a539736541d20ed4dadfc # SHA1 key
20 SHA1 cc0d2ac9881f06e913a1c9dc04dfc3e70eb5fcf1 # SHA1 key
ntp.confの作成*ローカルネットワークでの共通鍵認証を行います
*紫色部分 鍵ファイルと "key ID" の指定
*ntpkey_MD5keyファイルの "key ID" 10,20 のkeyを使用します
*SHA1 keyをサポートしない古いntpのために MD5 keyを含めます
:/etc/ntp.conf
restrict default nomodify notrap noquery restrict 127.0.0.1 restrict 192.168.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 130.69.251.23 mask 255.255.255.255 nomodify notrap noquery restrict 130.34.11.117 mask 255.255.255.255 nomodify notrap noquery
server 130.69.251.23 server 130.34.11.117
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/ntpkey_md5_venus.528p.com
trustedkey 10 20
:外部公開ntpサーバ例
*mfeedのntpはntptraceで情報を返さないので注意
ntp.nc.u-tokyo.ac.jp (130.69.251.23) Stratum 1 ntp1.tohoku.ac.jp (130.34.11.117) Stratum 1 ntp2.tohoku.ac.jp (130.34.48.32) Stratum 1 ntp1.jst.mfeed.ad.jp (210.173.160.27) Stratum 2 ntp2.jst.mfeed.ad.jp (210.173.160.57) Stratum 2 ntp3.jst.mfeed.ad.jp (210.173.160.87) Stratum 2
ntpd起動用スクリプトを作ります
起動オプションの設定
:/etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
ntpdの起動*事前にinternetに接続されていること
*port123(UDP)が開放されていること
*起動後 "ntpq -p" コマンドで同期の確認します
# 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) で制御している場合、ポートを開けてください
selinuxヘの対応 (selinuxが有効の場合):新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr/local # restorecon -Rv /var
一時的な外部NTPサーバとの同期 (正確さ必要でない場合)
/etc/ntp.confを修正します*ntpサーバをハードウェア・クロックと同期させます
*1日1回、外部ntpサーバと同期させます
restrict default nomodify notrap noquery restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
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/ntpkey_md5_venus.528p.com
ntpdの再起動# service ntpd restart
外部時計との同期用スクリプトを作ります*ntpdateコマンドを -u オプション付きで動作させます
*hwclockでハードウェアクロックに書き込みます オプションは -w でも良いです
*/etc/cron.dailyに配置して、1日1回動作させます
:/etc/cron.daily/ntpsync (root root 755)
#!/bin/bash /usr/local/bin/ntpdate -u 210.173.160.27 /sbin/hwclock --systohc
![]() |
Copyright(c) 528p.com All Rights Reserved. |

