NTP

2005/07/10

NTPDを設定してハマる

私んちでは、2台のPCでWebサーバとFileサーバをたてています。
WebサーバがVineLinux Ver2.6、ファイルサーバがVine Linux Ver3.1 です。
で、2台ともNTPサーバ(NTPD)を動かして時間を合わせています。
2台とも外部に問い合わせているのですが、それだとムダなので、常時起動しているWebサーバを我が家のNTPサーバにしてしまおうと思い立ったのであります。
NTPDの設定は何度もやっているので、特に難しいこともないだろうと軽い気持ちで始めたのですが・・・。

WebサーバのNTPDの設定をしようと思い、
/etc/ntp.conf
を開いたところ、思っていたような設定になっていませんでした。
なんかデフォルトの設定のような・・・。
このサーバ、NTPDの設定してなかったっけ??
ps -C ntpd
としてみたところ、起動しているみたいです。
setup とコマンドして、テキストのセットアップ画面から、デーモンの設定を見たところ、ちゃんとNTPDを起動するようになっています。
ということは、設定ファイルを書き換えているはずなんだけどなあ。

ネットで調べた所、IPの取得をDHCPで行うと、なんと dhcpcd ってのが ntp.conf を勝手に書き換えてしまうそうだ。
JM Project の dhcpcd
そういえば、Webサーバを設定したときに、IPはルータ側で設定し、DHCPで取得していたような・・・。
Webminを起動して、ネットワークの設定を見たところ、やっぱりDHCPを使ってました。

Webminを起動して、
ネットワーク→ネットワーク設定→ネットワークインターフェイス
「起動時にインターフェイスをアクティブ」の「IPアドレス」がDHCPになっているので、
IPアドレスの項目でstaticを選択して、IPを記入。
これで、IPを固定することができました。

これでOK!と思って、ntp.conf を設定し、
/etc/init.d/ntpd restart
としてNTPDを再起動したところ、ログにエラーが出てます。
外部のNTPサーバに接続できないらしい。
なんで~???

よく考えたら、DHCPを使っていないので、自分のIPしか知らんのだこいつは・・・。
ルータはWebサーバのIPを知っているので、他のPCからはWebサーバが見えているから、気づくのが遅れました。(汗)

Webminを起動し、
ネットワーク→ネットワーク設定→ルーティングとゲートウェイ
で、デフォルトルートのインターフェイス eth0 のゲートウェイをルータのIPに設定し、
ネットワーク→ネットワーク設定→DNSクライアント
で、DNSサーバにルータのIPが入っているのを確認し、Webサーバを再起動したら、ntpdが正常に動くようになりました。


今度は、ファイルサーバ側の設定です。
こちらはCRONで15分置きにWebサーバを見に行くことにしました。
/etc/init.d/ntpd stop
としてntpdを停止させ、
アプリケーション→システムツール→サービスの設定
で、ntpd を起動しないようにします。

rootシェルを起動し、
crontab -e
としてCRONの設定をします。
*/15 * * * * /usr/sbin/ntpdate Webサーバのアドレス
と編集。
crontab -l
として、いちおう確認。

これで設定完了です。

NTPDの設定に関しては、パソコンおやじさんのNTPDのページが大変詳しいです。
CRONの設定に関しては、JM Project の CRONTAB が詳しいです。

| | コメント (0) | トラックバック (0)