| *講義内容
サーバ導入に関しての考察とレンタルサーバホスティングとの比較
サーバの選定と回線・ISP選択とドメインの準備
OSのインストール (RedHat Linux8.0)
How to
PC-Unix(Linux) 超簡素UNIX入門講座
基本システム構築編
第一教程 ネットワークの設定
第二教程 DNSサーバの設定
第三教程 メールサーバの設定
第四教程 Webサーバの設定
第五教程 FTPサーバの設定
第六教程 時刻の同期(NTPD)設定
各種用途に答える システム拡張編
第七教程 DHCPとIPマスカレード設定
第八教程 プロキシサーバ設定
第九教程
バーチャルホスティング ・IPベースとネームベース ・サブドメイン
第十教程 ハードディスクの割当容量を制限する
基本運用管理編
第一教程 ユーザとグループの管理 (登録と削除)
第二教程 システムのアップデート
第三教程 管理コマンドとログ解析
以後順次公開予定
|
■時刻の同期(NTPサーバ)の設定
《教程の目的と作業のポイント》
サーバ内の時計を外部のNTP(ネットワーク・タイム・プロトコル=時刻合わせ(同期)専用の通信語)サーバに問い合わせて常に正確な時間に合わせます。インターネット上では時刻もネットを通じて上位のNTPサーバに問い合わせて合わせることが出来ます、問合せを受けたNTPサーバはさらに上位のNTPサーバに問合せをして時刻を合わせています(階層構造)。貴方のサーバでNTPサーバが起動しだすと今度はその下の階層の計算機からの時刻問合せに貴方のNTPサーバが答えるようになります。NTPクライアント兼サーバなのです。通信にありがちな遅延も考慮されていて、ちゃんと時刻を正確に合わせてくれます、便利なシステムですね。ここでは複数の上位NTPサーバに時刻を問い合わせ、しっかりとサーバの時計を常時正確に合わせておけるようにします。
その後、ちゃんとNTPサーバが時刻同期をおこなっているか確認します。 |
さて、サーバの時計がずれているとどのような不具合があるのでしょうか?
メールサーバなどでは、メールの送信時間がおかしなことになってしまいます。未来からメールが送られてきたりして、これは受け取った人にとってはメールのやりとりの前後など解らなくなってしまって困ることも多々あり、私的メールではさしたる問題も無いのでしょうが、もしもこれが重要な商談のメールとなれば事は深刻です。また、各種のLog(ログ)の記録時刻が合っていないと、Logを取る意味が根本的になくなってしまいます。仮に不正アクセスを受けて、そのアクセス時間のログを根拠に、アクセス者のリモートホストであるISPに善処を求めようにも、肝心のアクセスした時間が、ホンとは何時だったのか?正確な日時が解らなければ相手を特定して追及のしようがありません。そんな訳でして、サーバの時計は正確さが大切なのです。
では、さっそくNTPサーバの設定に取り掛かりましょう。
と、その前にまずサーバ内の時計があっているか確認してみましょう。
Xウインドウを立ち上げていれば時計を確認出来ますがコンソールでは時計はありませんから以下のコマンドで時刻を確認します。修正も簡単に出来ます、ついでにサーバ内のハード側の時計(サーバ本体内部の機械式時計)もソフト側の時刻に一致させます。
#date
火 1月 11 09:46:13 JST 2003 ←現在の日時
#date 01101800 ←1月10日午後6時00分に修正
さらにサーバ自体のハード側時計を今直した時刻に修正するには
#clock -w
以上で事前準備は完了です。(時刻修正にはroot権限が必要です)
NTPサーバの設定ファイルは/etc/ntp.confです。
ピコエディタで開いて編集します。このサーバの設定はしごく簡単ですのでものの1〜2分で完了します、その後の確認の方が時間がかかりますが・・・・。
その前に、お決まりでNTPサーバがインストールされているかどうか、確認して見て下さい。無い場合は、インストールの要ありです。
以下の一連のコマンドはそろそろ省略します。
/etc/ntp.confのファイルが開けましたか?
ntp.conf(全文)
# Prohibit general access to this service.
#restrict default ignore ←#を付けて無効化する
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
#restrict 127.0.0.1 ←#を付けて無効化する
# -- CLIENT NETWORK -------
# Permit systems on this network to synchronize with this
# time service. Do not permit those systems to modify the
# configuration of this service. Also, do not use those
# systems as peers for synchronization.
# restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap
# --- OUR TIMESERVERS -----
# or remove the default restrict line
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
# restrict mytrustedtimeserverip mask 255.255.255.255 nomodify notrap noquery
# server mytrustedtimeserverip
# --- NTP MULTICASTCLIENT ---
#multicastclient # listen on default 224.0.1.1
# restrict 224.0.1.1 mask 255.255.255.255 notrust nomodify notrap
# restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap
# --- GENERAL CONFIGURATION ---
#
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. The
# default stratum is usually 3, but in this case we elect to use stratum
# 0. Since the server line does not have the prefer keyword, this driver
# is never used for synchronization, unless no other other
# synchronization source is available. In case the local host is
# controlled by some external source, such as an external oscillator or
# another protocol, the prefer keyword would cause the local host to
# disregard all other synchronization sources, unless the kernel
# modifications are in use and declare an unsynchronized condition.
#
#server 127.127.1.0 # local clock ←#を付けて無効化する
#fudge 127.127.1.0 stratum 10 ←#を付けて無効化する
#
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /etc/ntp/drift
broadcastdelay 0.008
#
# Authentication delay. If you use, or plan to use someday, the
# authentication facility you should make the programs in the auth_stuff
# directory and figure out what this number should be on your machine.
#
#authenticate yes ←#を付けて無効化する
#
# Keys file. If you want to diddle your server at run time, make a
# keys file (mode 600 for sure) and define the key number to be
# used for making requests.
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
#keys /etc/ntp/keys ←#を付けて無効化する
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
又は
server 210.173.160.27 server 210.173.160.57
server 210.173.160.87
|
編集は簡単、青字の行の先頭に#を付けて無効化します。
緑色の行があるか確認し、先頭に#が無いのも確認して下さい。
最後に、接続する上位のNTPサーバを記入して終わりです。
例では正確性を期すため、3箇所のNTPサーバを記入しました。
これは、ホスト名ではなく、IPアドレスでも構いませ、確認先は1箇所でもOKですが、より精度を上げる為、3箇所を記入しています。
問合せ先は国内に正式なstratum2サーバ(皆さん方のサーバの直ぐ上位のNTPサーバのこと)が存在しない為、公開期限未定の暫定実験サーバで通信総合研究所とNTT、IIJ、インターネットマルチフィードが共同で公開しているサーバを記入していますが、契約先ISPにNTPサーバがある場合はそちらを記入されても結構です。
さて、NTPサーバ自体の設定はあっという間に完了。
早速、NTPサーバを起動させ、さらにサーバの起動時からサービス提供するように#ntsysvで起動設定をしておきます。
#/etc/init.d/ntpd start
#ntusysv
これを怠るとサーバの再起動時などにNTPサーバが起動しません。
最後のテストがまだでしたね。先ほど登録した上位のNTPサーバに時刻を聞きに行って結果が反映されるまでに5分〜10分程度かかりますので、ちょっと時間を置いてから下記コマンドを実施し、NTPサーバが稼動しているか確認します。
#ntpq -p
コマンドを実施して上記の様に表示されれば貴方のNTPサーバはしっかり稼動しています。
簡単にコマンドの結果を説明します。
*や+は、*が今貴方のサーバが時刻合わせに使っているサーバ。+はその次となります。
remote 貴方のサーバが問合せに行ったサーバのホスト名
refid そのリモートサーバがさらに問合せをしている親サーバ
st サーバの深さで第二階層であることを示しています。(stratumの略)
when 登録サーバに以前問い合わせてからの経過時間(秒)
poll 問合せの間隔
delay 登録してある上位サーバとの時間差 |
|
|