第16章 ntpd を使用した NTP 設定

16.1. NTP の概要
16.2. NTP Strata (階層)
16.3. NTP の概要
16.4. 誤差ファイルの概要
16.5. UTC、タイムゾーン、および DST
16.6. NTP の認証オプション
16.7. 仮想マシン上での時間管理
16.8. うるう秒の概要
16.9. ntpd 設定ファイルの概要
16.10. ntpd Sysconfig ファイルの概要
16.11. chrony の無効化
16.12. NTP デーモンのインストールを確認する
16.13. NTP デーモン (ntpd) のインストール
16.14. NTP ステータスの確認
16.15. 着信 NTP パケットを許可するファイアウォールの設定
16.15.1. ファイアウォールの設定変更
16.15.2. NTP パケット用にファイアウォールでポートを開く
16.16. ntpdate サーバーの設定
16.17. NTP の設定
16.17.1. NTP サービスへのアクセス制御の設定
16.17.2. NTP サービスへのレート制限アクセスの設定
16.17.3. ピアアドレスの追加
16.17.4. サーバーアドレスの追加
16.17.5. ブロードキャストまたはマルチキャストサーバーアドレスの追加
16.17.6. Manycast クライアントアドレスの追加
16.17.7. ブロードキャストクライアントアドレスの追加
16.17.8. Manycast サーバーアドレスの追加
16.17.9. マルチキャストクライアントアドレスの追加
16.17.10. Burst オプションの設定
16.17.11. iburst オプションの設定
16.17.12. 鍵を使った対称認証の設定
16.17.13. ポーリング間隔の設定
16.17.14. サーバー優先順位の設定
16.17.15. NTP パケットの Time-to-Live (有効期限) の設定
16.17.16. 使用する NTP バージョンの設定
16.18. ハードウェアクロック更新の設定
16.19. クロックソースの設定
16.20. その他のリソース
16.20.1. インストールされているドキュメント
16.20.2. 役に立つ Web ページ

16.1. NTP の概要

Network Time Protocol (NTP) は正確な日時情報を広く行き渡らせ、ネットワークまたはインターネットで共通の参照先に同期しているネットワーク化されたコンピューターシステム上のタイムクロックを維持します。世界中の多くの標準機関には原子時計があり、これが参照先として利用可能になっている場合があります。GPS を構成する衛星には 2 つ以上の原子時計が含まれており、時間信号を非常に正確なものにしています。この信号は、軍事的な理由で意図的に弱められる場合があります。理想的な状況では、各サイトに独自の参照時計があるサーバーがあり、これがサイト全体のタイムサーバーとして機能します。低周波の無線伝送や GPS 経由で日時を取得するデバイスは多く存在します。ただし多くの場合、インターネットに接続され、各地に分散する公開されたアクセス可能なタイムサーバーを使うことができます。これらの NTP サーバーは、協定世界時 (UTC) を提供します。これらのタイムサーバーに関する情報は、『www.pool.ntp.org』 で確認できます。
IT では、多くの理由で正確な時間を維持することは重要です。たとえばネットワーキングでは、パケットとログで正確なタイムスタンプが必要になります。ログはサービスとセキュリティーの問題を調査するために使われるので、異なるシステム上のタイムスタンプは、同期されたクロックで記録される必要があります。システムおよびネットワークがますます高速化するにつれ、これに対応してクロックの正確性と精度の必要性も高まっています。国によっては、正確な同期クロックを保持することが法律で定められているところもあります。詳細情報は、『www.ntp.org』 を参照してください。Linux システムでは、NTP はユーザースペースで実行しているデーモンにより実装されます。 Red Hat Enterprise Linux 7 のデフォルトの NTP ユーザースペースデーモンは chronyd であり、ntpd を使用する場合は、これを無効にする必要があります。chrony についての情報は、15章chrony スイートを使用した NTP 設定 を参照してください。
ユーザースペースのデーモンは、カーネルで実行しているソフトウェアクロックであるシステムクロックを更新します。Linux はシステムクロックにソフトウェアクロックを使用しています。これは リアルタイムクロック (RTC) と呼ばれる通常の組み込みハードウェアクロックよりも精度が高いものです。ハードウェアクロックについての情報は、rtc(4) および hwclock(8) の man ページを参照してください。システムクロックは、さまざまなクロックソースを使用して時間を記録します。通常は タイムスタンプカウンター (TSC) が使われます。TSC は、それが最後にリセットされてからのサイクル数をカウントする CPU レジスターです。これは非常に高速で精度が高く、割り込みがありません。システムクロックはシステム起動時に RTC から時間と日付を読み取ります。RTC が維持している時間は実際の時間と比べて、温度変化によりひと月で最大 5 分間の誤差を生じます。このため、システムクロックは外部の時間参照と常に同期する必要があります。ntpd がシステムクロックを同期している場合には、カーネルは自動的に RTC を 11 分ごとに更新します。