GNU/Linux >> Linux の 問題 >  >> Linux

NTPを使用して時刻を同期する

ネットワークタイムプロトコル(NTP)を使用すると、システムの日付と時刻を簡単に正確に保つことができます。

サーバーに正確な時計を配置することで、マシンから送信されたタイムスタンプの電子メールが正しいことを確認できます。正確な時計は、特定の時刻のログを確認する必要がある場合に特に役立ちます。

たまにシステム時計を自分で設定しないと、時間は完全に正確な設定からゆっくりとずれていきます。 NTPが役立つのはそのときです。

NTPとは何ですか?

NTPを使用すると、システム時刻をリモートサーバーと自動的に同期できます。NTPを使用して、リモートサーバーを備えたマシンの時計を更新できます。これにより、正確な時刻がわかっているサーバーと同期することで、マシンの時刻が正確に保たれます。 NTPはまた、複数のマシンのクロックを同期させておくため、複数のサーバー間でイベントのログエントリを簡単に照合できます。

マシンのクロックを定期的に調整するようにNTPサーバーを設定するのは簡単です。時計を秒単位ではなくミリ秒単位で正確にする必要がある場合は、もう少し複雑にすることもできます。

インストール

最初に行うことは、NTPサーバーをインストールすることです。実行してパッケージを取得します:

Ubuntuオペレーティングシステム/Debian:

sudo aptitude update
sudo aptitude install ntp

CentOS:

sudo yum install ntp

NTPをインストールした後、次のコマンドを実行することで、起動時にサービスが確実に実行されるようにすることができます。

sudo /sbin/chkconfig ntpd on

Fedora / RHEL:

sudo yum install ntp

NTPをインストールした後、次のコマンドを実行することで、起動時にサービスが確実に実行されるようにすることができます。

sudo chkconfig ntpd on
サービスを開始する

インストール後にNTPサービスが開始されることを確認するには、次のコマンドを実行します。

Ubuntuオペレーティングシステム/Debian/ CentOS / RHEL

sudo /etc/init.d/ntp start

Fedora

sudo /etc/init.d/ntpd start

Linux®サービスでは通常どおり、stopを指定して前のコマンドを実行することにより、NTPサービスを停止または再起動できます。 またはrestart startの代わりに引数として 。

クイックスタート

ほとんどの人はNTPを実行したいだけで、ミリ秒レベルの精度で正確にクロックを同期する必要はありません。この場合、他に何もする必要はありません。 NTPをインストールすると、同期するデフォルトのサーバーが設定されるため、NTPはクロックを自動的に同期します。おめでとうございます!

.ntpconfファイル

NTPを使用して複数のマシンを同期する場合、またはデフォルト以外のNTPサーバーを選択する場合は、NTP構成ファイルを /etc/ntp.confにあります。 。

いくつかの設定を変更できますが、ほとんどのユーザーが関心を持つ設定にはサーバーエントリのみが含まれます。特定のLinuxディストリビューションのデフォルト設定を使用してください。

複数のサーバーエントリがある場合、NTPサーバーはすべてのサーバーにクエリを実行し、ポーリングされたサーバーのほとんどが同意する時間を選択します。 NTPは3つ以上のサーバーを使用するため、1つだけを使用する場合よりも時計の精度が高くなります。

サーバーアドレスの後にiBurstオプションを追加すると、NTPtime同期がわずかに高速化されます。これは役に立ちますが、必須ではありません。

動的オプションは、ある時点で使用できなくなった場合に、構成済みのサーバーを後で再試行できることをNTPに通知します。動的オプションは、インターネットに常にアクセスできるとは限らないマシンでNTPを実行する場合に役立ちます。専用接続のマシンでは必要ありません。

NTPセキュリティ

disable monitorを追加して、NTPサーバー攻撃から身を守りましょう あなたの/etc/ntp.conf ファイル。監視を無効にすると、 monlistなどの古いバージョンのNTPのコマンドを使用する不要なリモートクエリを防ぐことができます。 。

複数のサーバーを同期する

同期するマシンが複数ある場合は、1台をマスターNTPサーバーとして指定することをお勧めします。マスターサーバーを外部のNTPサーバーに接続するように設定してから、他のマシンをマスターに同期させます。この設定により、発信接続の数が減り、すべてのマシンの時間が同じ値に設定されることが保証されます。この構成では、 ntp.confのサーバー設定を変更する必要があります 各マシンのファイル。

マスターマシンで使用する外部サーバーをセットアップします。たとえば、NTPプールサーバーを使用する場合は、マスター ntp.confでサーバー値を設定できます。 ファイル先:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

ntp.confをポイントします 時刻を同期する必要がある他のすべてのマシンのマスターサーバーに送信します。たとえば、マスターサーバーが main.example.comの場合 、 ntp.confを変更します サーバーエントリが次のようになるように、セカンダリマシン上のファイル:

server main.example.com iburst

サーバーパラメータを設定し、iptablesエントリがメインのNTPサーバーへの接続をブロックしないことを確認したら、各マシンでNTPサービスを再起動して同期させます。

iptablesの調整

NTPは、UDPポート123を使用して、別のNTPサーバーに接続するか、着信接続を受け入れるかのいずれかでビジネスを行います。クラスタ内のメインNTPサーバーで着信トラフィックをフィルタリングするiptablesがある場合は、ポート123を開く必要があります。 他のサーバーがUDPトラフィックに接続できるようにするためにUDPトラフィックに接続します。ポート123を開くことができます 次のiptables引数を使用するUDPトラフィックの場合:

-I INPUT -p udp --dport 123 -j ACCEPT
-I OUTPUT -p udp --sport 123 -j ACCEPT

NTPサーバーの選択

NTPを介して1つ以上のマシンを同期する場合、信頼できる外部サーバーから少なくとも1台のマシンの時刻を設定する必要があります。そこにある多くのパブリックサーバーは、原子時計から直接同期されるか(絶対的に正確な時刻を保証します)、原子時計に同期する別のサーバーから同期されます。

パブリックNTPサーバーリスト

パブリックNTPサーバーのリストの最適なソースは、mainNTPサイトのNTPServersWebHomeです。このサイトには利用可能なサーバーの説明があり、サイドバーにはプライマリ、セカンダリ、プールの3つのレベルのNTPサーバーへのリンクがあります。

同期するサーバーのタイプを決定することは、サーバーがどれだけ正確である必要があるかによって異なります。

NTPプールサーバー

ほとんどのユーザーにとって、プールサーバーが最良の選択です。プールサーバーは、NTPサーバーを一般に公開することを志願したマシンです。通常、セカンダリNTPサーバーから同期するため、時間は正確ですが、必ずしもミリ秒単位で正確であるとは限りません。

ほとんどのユーザーは、ミリ秒単位で正確なマシン時間を必要としません。彼らはただそれが何時か知りたいだけです。正確な精度が必要な場合を除いて、プールサーバーを使用してください。

NTPプールサーバーの使用は、 ntp.confでサーバーエントリを設定するのと同じくらい簡単です。 ファイル先:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

自国または地域のプールサーバーにのみ接続するようにするには、プールサーバーのページにアクセスしてより具体的なアドレスを確認してください。ほとんどの人にとって、上記のエントリで十分です。これらのアドレスは、世界中のボランティアNTPサーバーの膨大なリストの間でローテーションするため、1台のマシンの負荷が大きくなりすぎることはありません。

NTPserverの設定後にNTPプールに貢献したい場合は、poolwebsiteからその方法の詳細を入手してください。

プライマリサーバーとセカンダリサーバー

NTPサーバーの他の2つの層は、プライマリサーバーとセカンダリサーバーです。プライマリサーバーは、原子時計から直接(または原子時計を使用するGPS衛星から)時刻を取得します。原子時計は高価であるため、プライマリサーバーは多くありません。極端な科学的精度を求めているのでない限り、プライマリサーバーを使用する必要はありません。

セカンダリサーバーは通常、プライマリサーバーから時間を取得します。ミリ秒レベルまでの精度が必要な場合は、 ntp.confに3つのセカンダリサーバーがあります うまく機能します。

NTP ServersWebHomeからいずれかのリストを選択すると、どちらの層で使用可能なパブリックサーバーを確認できます。サーバーを選択して使用する前に、そのサーバーの詳細を次のように確認してください。

  • ISO: ISO列には、その特定のサーバーの原産国が一覧表示されます。
  • AccessPolicy: AccessPolicyフィールドは、そのサーバーのアクセスポリシーを示します。 オープンアクセス サーバーが持つ通知要件に従って、サーバーを一般の人々が使用できることを意味します。
  • 通知: セカンダリサーバーの[通知]フィールドには、NTPサーバーと同期する前に通知する必要があるかどうかに関するサーバー管理者の設定が一覧表示されます。通知を希望する管理者は通常、サーバーへのトラフィックを管理しようとしているため、通知に関する希望を尊重してください。プライマリサーバーは、使用前に通知を要求していると常に見なされることに注意してください。
  • サービスエリア: 使用するプライマリサーバーまたはセカンダリサーバーを選択した場合は、リストでそのホスト名をクリックして、そのサーバーの詳細を表示します。リストされている詳細の中には、 ServiceAreaがあります。 彼らがサービスを提供しようとしている地理的または人口統計学的グループを説明するフィールド。そのフィールドが公開の場合 、サーバーを使用するために特定の地域にいる必要はありません。より具体的なサービスエリアをリストしている場合は、その点でサーバー管理者の希望を尊重してください。

ntpdateを使用したテスト

外部NTPサーバーを使用して時刻を同期する前に、マシンからサーバーに実際に接続できることを確認する必要があります。幸い、NTPサーバーに含まれているntpdateというツールがあります。 。

ntpdate コマンドは、時計をNTPサーバーと同期します。これは、NTPサーバーが定期的に実行することと似ています。 ntpd programは、Ubuntu®オペレーティングシステムとDebian®の別個のパッケージです。他のディストリビューションはntpdateをインストールします ntpdのインストール時。 ntpdateを使用するには 、UbuntuオペレーティングシステムとDebianユーザーは最初にそれをインストールする必要があります。

sudo aptitude install ntpdate

cronを使用して、指定した時間に同期するように時計を設定します ntpdateを実行するには 。それ以外の場合は、NTPサーバーを実行します。これは、使用する帯域幅が少なく、時間の経過に伴う時計のドリフトを追跡し、それに応じて調整することで、時間をより正確に保つためです。 ntpdateを使用する テスト目的のみ。

ntpdate NTPサーバーの実行中はコマンドは実行されません。 ntpdateの場合 「NTPソケットが使用中です」などの応答が返されます。これは、NTPサーバーが実行中であることを意味します。ディストリビューションに適したコマンドで停止します:

Ubuntuオペレーティングシステム/Debian

sudo /etc/init.d/ntp stop

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd stop

これで、ntpdateを実行できます 引数として同期するサーバーを使用します。たとえば、ntpdateに伝えるには 「pool.ntp.org」と同期するには、次のコマンドを実行します。

sudo ntpdate pool.ntp.org

テストが終了したら、NTPを再起動することを忘れないでください:

Ubuntuオペレーティングシステム/Debian

sudo /etc/init.d/ntp start

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd start
概要

幸い、NTP時間の同期は非常に簡単です。タイムサーバーを設定してNTPサービスを開始すると、バックグラウンドで静かに機能します。

NTPに問題がある場合は、システムログに記録されます。システムログは、とにかく定期的に確認する必要があります。

NTPサーバーの設定と使用可能なオプションの詳細については、NTPドキュメントサイトにアクセスしてください。 NTPがどのように機能するかについて詳しく知りたい場合は、メインのNTP Webサイトにアクセスすると、すべてが表示されます。


Linux
  1. Time Sync Linux

  2. Linuxサーバー時間をネットワークタイムサーバーと同期する

  3. 更新時刻:ntpdate[3108]:NTP ソケットは使用中です。終了しています

  1. Time Sync Linux

  2. Linuxでタイムゾーンを設定してサーバー時間をNTPと同期する方法

  3. NTP分散とは何ですか? また、それを制御するにはどうすればよいですか?

  1. Linux – Ntp Time Syncには長い時間がかかりますか?

  2. UbuntuサーバーでNTPを使用して時刻を同期する方法は?

  3. 専用サーバーを使用する場合