|
|
NTP SSH DHCPサーバーの構築
|
NTPサーバーについてntpdの設定(WBEL3,CentOS3)ntpdの設定(WBEL4,CentOS4)ntpdの設定(CentOS5)ntpdのコントロールntpdの動作チェックSSHサーバーについてsshdの設定(WBEL3,CentOS3)sshdの設定(WBEL4,CentOS4)sshdの設定(CentOS5)sshdのコントロールsshdの動作チェックポートフォワーディングの設定DHCPサーバーについてDHCPのインストールと設定DHCPのコントロールDHCPの動作チェック |
ntpdの構築に必要なファイル(WBEL4,CentOS4)この コンテンツ に従って普通に WBEL4 や CentOS4 を インストール すると、 ntpd とその設定に必要なファイル類は既に 構築中のLinuxサーバー にインストールされているはずです。 以下に、WBEL4やCentOS4にインストールされているntpdで、操作や設定が必要なファイルを示します。 それ以外の ディストリビューション をお使いの場合や、標準添付以外のパッケージをインストールした場合には、ファイル名やディレクトリの パス が以下とは異なる場合がありますので注意してください。
ntpdの必要ファイル一覧 ntpdの本体プログラムは"/usr/sbin/ntpd"ですが、これを直接呼び出すことはまずありません。 実際にはこの"/usr/sbin/ntpd"を用いて、起動や終了を容易にコントロールできるように記述された スクリプト である "/etc/rc.d/init.d/ntpd" を用います。 また"/etc/rc.d/init.d/"の シンボリックリンク が"/etc/init.d/"になっていますので、スクリプトは "/etc/init.d/ntpd" でも呼び出すことができます。 例えば、 "/etc/init.d/ntpd start" →ntpdの起動 "/etc/init.d/ntpd stop" →ntpdの停止 という使い方になります。
"/etc/rc.d/init.d/"
には
パス
が通っていません
また、先ほど説明したとおり、ntpdの設定ファイルは "/etc/ntp.conf" です。 ntpdはほとんどの動作についてこの"/etc/ntp.conf"の内容を参照しますから、設定に関して書き換えが必要なファイルはこの"/etc/ntp.conf"だけだと思ってよいでしょう。
|
||||||||||||||
"/etc/ntp.conf"の編集(WBEL4,CentOS4)
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
|
|||||||||||||||
|
|
それから
su
コマンド
で
ユーザーアカウント
を
"root"
に変更し、
cp
コマンドでバックアップを作成した後、
nano
エディタで
"/etc/ntp.conf"
を開きます
↓
nanoで"/etc/ntp.conf"を開く "/etc/ntp.conf/" は、 ntpd が動作中でも自由に書き換えることができます。 ただし、 WBEL4 や CentOS4 の サーバー アプリケーション は通常、設定ファイルを保存しただけでは設定は反映されません。もちろんntpdも例外ではありません。 サーバーアプリケーションの設定ファイルは、通常サーバーアプリケーションの起動時に参照されて読み込まれますから、設定ファイルの保存後にサーバーアプリケーションの再起動を行うか、設定ファイルの再読み込みのコマンドを実行しなければ、設定ファイルの修正は有効になりませんので注意してください。
ntpdの再起動、設定ファイルの再読み込みについては、
|
||||||||||||||
ntp.confの編集(WBEL4,CentOS4)以下に編集前の"/etc/ntp.conf"の内容を示します。
"#" で始まる行はコメント行として無視されます。つまり、この"/etc/ntp.conf"の内容の大部分は設定のための解説文で、実際の設定パラメータはごく一部です。 "restrict"〜NTPで接続するホストを指定する行の先頭が "restrict" というキーワードで始まる設定は、 NTP による通信の許可、拒否を決定するためのものです。このキーワードによる設定は最も優先されます。 |
|||||||||||||||
|
|
従って、他のキーワードで具体的な ホスト とのNTPによる通信設定を行っても、この"restrict"キーワードで許可されていないホストとは通信できません。 キーワード"restrict"は、"/etc/ntp.conf"中に複数記述することができます。 デフォルト の"/etc/ntp.conf"では、
の二つの設定値だけが有効になっていますが、"restrict"は先に記述された行から順に解釈され、後に記述された行の設定が優先となります。 つまり、前の記述内容と、後の記述内容が矛盾する場合には、 後の記述内容が有効になる 、という具合になるわけです。 従って、 1. で 「とりあえず全てのNTP通信を拒否しておく」 という初期化の設定を行い、その後に 2. で 「 ループバックアドレス 、つまり自分自身からのみNTP通信を許可する」 という設定を記述にすることで、 構築中のLinuxサーバー が自分自身以外のホストとの通信を行わないようにしているわけです。 もしも、この 1. と 2. の記述順序を入れ替えてしまうと、ntpdは自分自身を含めてすべてのNTP通信を行わなくなってしまいます。 しかしながらここでは敢えて "restrict" に関する設定を一切行わないことにします。 現在有効になっている 1. と 2. を "#" でコメントアウトしてください。
ntpd は"restrict"キーワードで通信制御を行わない場合、 「全てのホストとNTP通信を行う。」 という振る舞いになりますから、この二行の設定を無効にすると、すべてのホストと自由にNTP通信を行うことができるようになります。 「そんなことをして セキュリティ 上問題はないの?。」
と思われるかもしれませんが、ここでもう一度、現在構築中のネットワーク構成を思い出してください
つまり、ntpdが稼動する 構築中のLinuxサーバー は、 ルーター の NAT + IPマスカレード により、 WAN 空間からの一方的なアクセスに対して遮断されている LAN 内に設置されていますから、外部からのNTPによる不正アクセスが 構築中のLinuxサーバー に対して行われることはあり得ない、というわけです。 もちろん、 ポートフォワーディング でNTPによる通信を外部から直接受けるような設定を行う場合は、きちんと"restrict"を設定しなければなりませんが、今回はntpdにサーバーとしての役割は持たせませんから、ポートフォワーディングの設定も行いません。 結果として、すべてのNTP通信を許可しても、セキュリティ上の問題は発生しない、というわけです。 "server"〜参照するNTPサーバーを指定する行の先頭が "server" で始まるキーワードは、参照先の NTP サーバー の指定です。 ここで指定したNTPサーバーの時刻を参照して 構築中のLinuxサーバー は自分自身の時刻を修正します。 書式は、 server [参照するNTPサーバーの IPアドレス または FQDN ] となります。 参照先のNTPサーバーとしては、 ISP や任意団体、大学、企業などが運営しているものが任意に利用できます。 設定条件としては、 1.通信経路の負荷を減らすため、できるだけ自分が契約しているISPのサーバーを利用する。 2.通信経路の負荷を減らすため、自宅からできるだけ近い場所にあるNTPサーバーを利用する。 3.精度を上げるためと通信障害に備える意味で、3種類のNTPサーバーを指定するのが望ましい。 を目安とすると良いでしょう。 デフォルト では、
となっていますが、これらのNTPサーバーは、 pool.ntp.org the internet cluster of ntp servers がCentOS用に提供しているものです。 もちろんこれをそのまま利用しても問題はないのですが、日本国内にお住まいであれば、
と一番近い場所に設定を変更したほうがベターです。 |
||||||||||||||
| 一つくらい繋がらないNTPサーバーがあっても、実用上困ることはありませんが...。 |
ただ、この "x.*.pool.ntp.org" のNTPサーバーは性能に対して利用者が多いためか時々接続できないサーバーが出てきますから、現状ではあまりおすすめという訳にはいきません。 比較的安定して利用できるのは、 インターネットマルチフィード時刻情報サービス for Public のNTPサーバーです。 ここを利用する場合はFQDNで、 |
||||||||||||||
|
よく解説書などには、
名前解決
によるタイミングのずれの減らすため、NTPサーバーの指定は
「FQDNよりもIPアドレスが望ましい。」 と書かれている場合があります。 これは一見もっともなアドバイスのように思えますが、実はあまり重視すべきことではありません。 常にアクセスを行うNTPサーバーの名前解決は、 ホスト機 の DNSキャッシュ に蓄えられているから、というのが主な理由です。 DNSキャッシュによる名前解決は一瞬で行われますので、これが時刻調整に与える影響は微々たるものです。 |
あるいはそれぞれのIPアドレスで、
と書き換えます。 一般で利用できるNTPサーバーについては、 Webブラウザ から 「NTPサーバー」 、 「タイムサーバー」 などのキーワードでインターネット上で検索を行うと調べることができます。 |
||||||||||||||
|
タイムサーバーの草分けともいうべき福岡大学のNTPサーバーは、心無い通信機器メーカーの無断利用などで毎秒1000件近いアクセスがあり、管理者を悩ませているとのことです。
公に利用できる施設は、 「利用させてもらう。」 という気持ちで利用しましょう。 もちろん、 WBEL4 や CentOS4 などの無料の ディストリビューション も同じ気持ちで利用しましょう。 |
その中には、例えば福岡大学のタイムサーバーのように、アクセス負荷が大きすぎて運用に支障をきたしているものもありますので、利用させてもらう際は状況をよく調べ、マナーを守るようにしましょう。 さて、 デフォルト の"/etc/ntp.conf"には、次のような"server"キーワードが記述されています。
|
||||||||||||||
|
|
つまり現在は、 「ntpdは ホスト機 本体のマザーボードの時計の時刻を参照する。」 という設定になっているわけです。 これは、参照するNTPサーバーが具体的に設定されないケースに対処するための設定ですから、この部分の設定は "#" でコメントアウトしてください。
"fudge"〜NTPサーバーを宣言する行の先頭が "fudge" で始まるキーワードは、指定した ホスト を独立した NTP サーバー として宣言する設定です。 デフォルト の"/etc/ntp.conf"には、次のような"fudge"キーワードが記述されています。
つまり現在は、 「ntpdは ホスト機 本体の マザーボード の時計の時刻をNTPサーバーとして動作させる。」 という設定になっているわけです。 これは、参照するNTPサーバーが具体的に設定されないケースに対処するための設定です。また、 構築中のLinuxサーバー ではNTPサーバーを明示的には運用させませんから、この部分の設定は "#" でコメントアウトしてください。
"driftfile"〜誤差修正用ファイルを指定する行の先頭が "driftfile" で始まるキーワードは、 ntpd が ホスト機 の時刻の進み方と、 NTP サーバー の時刻の進み方との誤差を記録するファイルを指定する設定です。 ntpdは、参照するNTPサーバーと時刻を同期するとき、一時間あたりの誤差をこの"driftfile"に記録しておきます。 そしてもしも一時間以上NTPサーバーから時刻情報が得られないときには、その"driftfile"に記録された時間を元に暫定的に時刻調整を実施します。 デフォルト の"/etc/ntp.conf"には、次のような"driftfile"キーワードが記述されています。
この設定はそのまま利用しますので修正は行いません。 "broadcastdelay"〜通信で生じる誤差を指定する行の先頭が "broadcastdelay" で始まるキーワードは、 ntpd が NTP サーバー と時刻を同期するときに ブロードキャスト で生じる同期タイミングの遅れを修正するパラメータの設定です。 デフォルト の"/etc/ntp.conf"には、次のような"broadcastdelay"キーワードが記述されています。
通信環境は場所により様々ですから、もちろんこの値は絶対的なものではありません。しかし実際のタイミングの遅れを測定してこの値の微調整を行っても、実用上の影響はありません。 従ってこの設定はそのまま利用します。 "keys"〜ntpdで認証機能を利用する行の先頭が "keys" で始まるキーワードは ntpd が NTP サーバー として利用されるときに、認証を行う際のキーファイルの所在を指定するキーワードです。 デフォルト の"/etc/ntp.conf"には、次のような"keys"キーワードが記述されています。
構築中のLinuxサーバー ではNTPサーバーを明示的には運用させませんから、この部分の設定は、
のように "#" でコメントアウトしてください。
|
||||||||||||||
"/etc/ntp.conf"の例(WBEL4,CentOS4)以上の内容で作成した "/etc/ntp.conf" は、こちらをクリックすると表示できます。 この テキスト ファイルには余分な文字は入っていませんから、開いてコピー&ペーストで使用するか、 ダウンロード して使用してください。 もちろん、書き換えが必要な部分は適宜書き換えてください。
記述が終わったら
"/etc/ntp.conf"
を保存し、nanoエディタを終了してください
"/etc/ntp.conf"
の編集が終わったら、
ntpd
の起動または再起動を行って設定を有効化してください
|
|
|
NTPサーバーについて
<<Previous
|
Next>>
ntpdのコントロール
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |