BLOG.QuelLENcode

Portrait

ソフトウェア・Linux・好きなモノ・日々のこと

 
 

[Linux]openSUSE 11.1でYaST2を使ったntp(時刻同期サービス)の設定

4月 05 2011

openSUSEの神管理ツールYaST2(皮肉)は,もちろんntpの設定もできちゃいます.鯖のntpの設定をしたついでに,メモをここに残しておこうと思います.

□そもそもntpって?

ntpとは,Network Time Protocolの略語で,ネットワークに接続されている機器の時刻を同期するためのプロトコルです.ntpを利用して正確な時計と同期をとることによって,コンピュータの時計をいつでも正確な時刻に合わせることができます.

GPSや原子時計などがトップとなっていて,そこにntpサーバが接続されており,さらにその下にntpサーバが..っといったように,一種の階層 構造でネットワークが成立しています.Linuxにおけるntpdは,クライアントとして時刻合わせができるのと同時に,サーバとなって別のコンピュータ に時刻同期のサービスを提供することもできます.

詳しくはNetwork Time Protocol – Wikipediaを読んでみてください.

ここでは,公開されている複数のntpサーバを使って自分のサーバの時刻を同期し,さらにクライアントのWindowsマシンの時刻を同期する方法を説明します.

□YaST2でntpdの設定だ!

ではさっそくYaST2を使ってntpdの設定をすすめていきましょう.うちのサーバにはXを導入していないのでコンソール版のYaST2ですが,GUI版のYaST2でもほとんど同じだと思います.

# yast

でYaST2を起動します.GUI版のYaST2の場合は,ランチャからYaST2を起動します.

yast_01

上のスクリーンショットのように,Network Services → NTP Configurationを選択します.

yast_02

すると,上のようなntpサーバの一覧画面に遷移します.デフォルトではntpdが手動でしか起動しないようになっていますが,これを「今すぐ開始し、システム起動時に開始するよう設定」にチェックを入れて,いつでもnptdが動くようにします.

次に公開されているntpサーバを適当に選択して追加していきます.公開されているntpサーバはたくさんありますが,以下のサイトからネットワーク的になるべく近いものをいくつか選択してください.

NTP サーバ一覧

1つだけでも時刻の同期はできますが,複数のサーバを選択しておくことにより,より正確に時刻を同期することができます.

ここでは,東京理科大学のntp.sut.ac.jpを追加してみます.画面下部の「追加 (A)」を選択してください.

 yast_03

上のスクリーンショットのように,「サーバ(S)」を選択して「次へ(N)」を選択します.

yast_04

すると,サーバ設定の画面に遷移するので,上のスクリーンショットのように,アドレス(A)に「ntp.sut.ac.jp」と入力し,有効であるかを確認するために「テスト(T)」を選択します.

yast_05

上のスクリーンショットのような表示が出ればOKです.もしダメならば,他のntpサーバを試してみましょう.

以上の作業を何度か繰り返してサーバを追加したのが以下のスクリーンショットです.

yast_06

あとは「OK(O)」を押してからYaST2を終了すると設定は完了です.ntpdがにょきにょきと立ち上がってくるので,きちんとntpdが動いているか確認してみましょう.以下のコマンドを入力してみてください.

# ntpq -p

以下はその結果の例です.

tppq

サーバアドレスに左に”*”がついているntpサーバが,実際に自分のサーバが同期しているサーバになります.このように,いくつかのサーバが存在する場合,自動的に一番時刻を同期しやすいサーバを勝手に選んでくれるので便利です.

ただし注意してほしいのは,ntpを設定したからといって一気に時刻が変わるわけではないというところです.じわじわ正確な時刻に同期されていきます.もし一気に時刻を変えてしまうと,ファイルのタイムスタンプの不整合が起こったりして,システムに悪影響を及ぼすからです.

□Windowsクライアントを自分のサーバの時刻と同期させよう

これでopenSUSEのサーバがntpサーバとして動作するようになりました.次はクライアントPC(Windows7)の時計を自分のサーバの時刻と同期させてみましょう.

以下のスクリーンショットのように,時計のあたりで右クリックして,「日付と時刻の調整(A)」をクリックします.

win_ntp01 
すると,以下のような画面が出ると思うので,「インターネット時刻」タブを開き,「設定の変更(C)…」を選択します.

win_ntp02 
以下のようなダイアログが出てくるので,自分のサーバのIPアドレスもしくはホスト名を入力して,「今すぐ更新(U)」を押してみましょう.

ちなみに,デフォルトでは「time.windows.com」がサーバとして使われていると思いますが,時間までMicrosoftに支配されるのはシャクなので,ぜひ自分のサーバと同期するようにしましょう!!

win_ntp03

下に時計が正常に同期されたメッセージが出てくればOKです.あとは放っておいても時刻がずれることはなくなるでしょう.

長々と説明してきましたが,以上です.便利なntpを利用して,時刻のズレない堅牢なサーバを目指しましょう.