DebianにNTPサーバーとクライアントをインストールして構成する方法


ネットワークタイムプロトコル(NTP)は、企業が社内のすべてのシステムのクロックを同期するための独自の機能を提供します。時間の同期は、アプリケーションのタイムスタンプからセキュリティ、適切なログエントリに至るまで、さまざまな理由で重要です。

組織のシステムがすべて異なる時刻を維持している場合、トラブルシューティングの観点から、特定のイベントがいつどのような条件で発生する可能性があるかを判断することは非常に困難になります。

NTPは、すべてのシステムが正しい時刻を維持することを保証する簡単な方法を提供します。これにより、管理者/技術サポートの負担を大幅に簡素化できます。

NTPは、「ストラタム0」サーバーとも呼ばれる基準クロックとの同期を前提として機能します。他のすべてのNTPサーバーは、参照サーバーからの距離に基づいて、下位レベルの階層サーバーになります。

NTPチェーンの開始は、常にストラタム0の基準クロックに直接接続されているストラタム1サーバーです。ここから、下位レベルの階層サーバーは、ネットワーク接続を介して上位階層サーバーに接続されます。

より明確な概念については、下の図を参照してください。

ストラタム0またはストラタム1サーバーのセットアップは実行できますが、セットアップにはコストがかかるため、このガイドでは下位ストラタムサーバーのセットアップに焦点を当てます。

Tecmintには、次のリンクにNTPの基本的なホスト構成があります。

  1. How to Synchronize Time with NTP Server

このガイドが異なるのは、ネットワーク上のすべてのホストがパブリックNTPサーバーにクエリを実行するのではなく、1つ(またはより良い方法では複数)のサーバーがパブリックNTPシステムに接続し、内のすべてのホストに時間を提供することです。地元のネットワーク。

多くの場合、内部NTPサーバーは、ネットワーク帯域幅を節約するだけでなく、NTP制限と暗号化によってセキュリティを強化するのに理想的です。これが最初の図とどのように異なるかを確認するには、以下の2番目の図を参照してください。

ステップ1:NTPサーバーのインストール

1.内部NTP構造を設定するための最初のステップは、NTPサーバーソフトウェアをインストールすることです。 「NTP」と呼ばれるDebianのソフトウェアパッケージには、現在、NTP階層を設定するために必要なすべてのサーバーユーティリティが含まれています。システム構成に関するすべてのチュートリアルと同様に、ルートまたはsudoアクセスが想定されています。

# apt-get install ntp
# dpkg --get-selections ntp          [Can be used to confirm NTP is installed]
# dpkg -s ntp                        [Can also be used to confirm NTP is installed]

ステップ1:NTPサーバーの構成

2. NTPがインストールされたら、どの上位層サーバーが時間を照会するかを構成します。 NTPの構成ファイルは「 /etc/ntp.conf 」に保存されており、任意のテキストエディタで変更できます。このファイルには、上位レベルサーバーの完全修飾ドメイン名、このNTPサーバーに設定された制限、およびこのNTPサーバーにクエリを実行するホスト用のその他の特別なパラメーターが含まれます。

構成プロセスを開始するには、上位レベルのサーバーを構成する必要があります。 Debianはデフォルトで、DebianNTPプールを設定ファイルに入れます。これらはほとんどの目的で問題ありませんが、管理者はNISTにアクセスして、特定のサーバーを指定したり、ラウンドロビン方式ですべてのNISTのサーバーを使用したりできます(NISTが推奨する方法)。

このチュートリアルでは、特定のサーバーを構成します。構成ファイルはいくつかの主要なセクションに分かれており、デフォルトでIPv4とIPv6用に構成されています(IPv6を無効にする場合は、後で説明します)。構成プロセスを開始するには、構成ファイルをテキストエディターで開く必要があります。

# nano /etc/ntp.conf

最初のいくつかのセクション(driftfile、statsdir、およびstatistics)は、デフォルトに正しく設定されています。次のセクションには、このサーバーが時間を要求するための上位レベルのサーバーが含まれています。各サーバーエントリの構文は非常に単純です。

server <fully qualified domain name> <options>
server time.nist.gov iburst â     [sample entry]

通常、このリストから選択する上位層サーバーをいくつか用意することをお勧めします。このサーバーは、リスト内のすべてのサーバーにクエリを実行して、どのサーバーが最も信頼できるかを判断します。この例のサーバーは、http://tf.nist.gov/tf-cgi/servers.cgiから入手しました。

ステップ3:NTP制限の構成

3.次のステップは、NTP制限を構成することです。これらは、ホストがNTPサーバーと対話することを許可または禁止するために使用されます。 NTPのデフォルトは誰にでも提供できる時間ですが、IPv4接続とIPv6接続の両方での構成は許可されていません。

このサーバーは現在IPv4ネットワークでのみ使用されているため、IPv6は2つの方法で無効にされました。 NTPサーバーでIPv6を無効にするために最初に行われたことは、デーモンが起動するデフォルトを変更することでした。これは、「/etc/default/ntp 」の行を変更することで実現されました。

# nano /etc/default/ntp
NTPD_OPTS='-4 -g' [Add the ' -4 ' to this line to tell NTPD to only listen to IPv4]

メイン構成ファイル( /etc/ntp.conf )に戻ると、NTPデーモンは、すべてのIPv4/6ホストと時間を共有するように自動的に構成されますが、構成は許可されません。これは、次の2行で確認できます。

NTPDは、拒否されない限り、許可された状態で機能します。 IPv6が無効になっているため、「 limit -6 」行を削除するか、「」でコメントアウトできます

これにより、NTPのデフォルトの動作が変更され、すべてのメッセージが無視されます。これは奇妙に思えるかもしれませんが、アクセスが必要なホストのこのNTPサーバーへのアクセスを微調整するためにrestrict句が使用されるため、読み続けてください。

ここで、サーバーは、誰がサーバーに時間を照会できるか、およびNTPサーバーで他に何ができるかを知る必要があります。このサーバーでは、172.27.0.0/16のプライベートネットワークを使用して制限スタンザを構築します。

この行は、172.27.0.0/16ネットワークのすべてのホストがサーバーに一定時間アクセスできるようにすることをサーバーに通知します。マスクの後のパラメーターは、サーバーにクエリを実行するときに、このネットワーク上の任意のホストが実行できることを制御するのに役立ちます。これらの制限オプションのそれぞれを理解するために少し時間を取ってみましょう。

  1. Limited: Indicates that if a client should abuse the number of packets rate control, the packets will be discarded by the sever. If the Kiss of Death packet is enabled, it will be sent back to the abusive host. The rates are configurable by an admin but the defaults are assumed here.
  2. KOD: Kiss of Death. If a host violates the limit of packets to the server, the server will respond with s KoD packet to the violating host.
  3. Notrap: Decline mode 6 control messages. These control messages are used for remote logging programs.
  4. Nomodify: Prevents ntpq and ntpdc queries that would modify the server’s configuration but informational queries are still permitted.
  5. Noquery: This option prevents hosts from querying the server for information. For example without this option hosts can use ntpdc or ntpq to determine where a particular time server is getting it’s time from or other peer time servers that it may be communicating with.