Ubuntu 20.04LTSにNTPサーバーとクライアントをインストールする方法

NTPまたはネットワークタイムプロトコルは、ネットワーク内のすべてのシステムクロックを同期して同じ時刻を使用するために使用されるプロトコルです。 NTPという用語を使用するときは、プロトコル自体と、ネットワーク接続されたコンピューターで実行されているクライアントおよびサーバープログラムを指します。 NTPは従来のTCP / IPプロトコルスイートに属しており、最も古い部分の1つとして簡単に分類できます。

最初に時計を設定する場合、時計が設定されるまでに5〜10分以内に6回の交換が必要です。 ネットワーク内のクロックが同期されると、クライアントは10分ごとにサーバーでクロックを更新します。 これは通常、メッセージの1回の交換(トランザクション)によって行われます。 これらのトランザクションは、システムのポート番号123を使用します。

この記事では、次の方法について段階的に説明します。

  • UbuntuマシンにNTPサーバーをインストールして構成します。
  • サーバーと時間同期するようにNTPクライアントを構成します。

この記事に記載されているコマンドと手順をUbuntu20.04LTSシステムで実行しました。

ホストコンピューターにNTPサーバーをインストールして構成する

ホストUbuntuマシンにNTPサーバーをインストールするには、次の手順に従います。

注:NTPをインストールして構成するために、Ubuntuコマンドラインであるターミナルを使用しています。 ターミナルアプリケーションは、アプリケーションランチャー検索またはCtrl + Alt + Tショートカットのいずれかを使用して開くことができます。

ステップ1:リポジトリインデックスを更新する

インターネットリポジトリから利用可能な最新バージョンのソフトウェアをインストールするには、ローカルリポジトリインデックスがそれらと一致している必要があります。 次のコマンドを次のように実行します sudo ローカルリポジトリインデックスを更新するには:

$ sudo apt-get update

ステップ2:apt-getを使用してNTPサーバーをインストールする

次のコマンドを次のように実行してください sudo APTリポジトリからNTPサーバーデーモンをインストールするには、次のようにします。

$ sudo apt-get install ntp

Ubuntuでソフトウェアを追加、削除、構成できるのは、許可されたユーザーのみであることに注意してください。

システムがパスワードを要求する場合があります sudo また、インストールを続行するためのY / nオプションを提供します。 Enter YをクリックしてからEnterキーを押します。 その後、NTPサーバーがシステムにインストールされます。 ただし、インターネットの速度によっては、処理に時間がかかる場合があります。

手順3:インストールを確認する(オプション)

ターミナルで次のコマンドを実行して、NTPのインストールを確認し、バージョン番号を確認することもできます。

$ sntp –version

NTPサーバーのバージョンを確認する

ステップ4:現在地に最も近いNTPサーバープールに切り替えます

NTPサーバーをインストールすると、ほとんどの場合、適切な時刻を取得するように構成されます。 ただし、サーバープールを現在地に最も近いものに切り替えることができます。 これには、/ etc /ntp.confファイルにいくつかの変更を加えることが含まれます。

次のようにnanoエディターでファイルを開きます sudo 次のコマンドを実行します。

$ sudo nano /etc/ntp.conf

エディターでntp.confファイルを開きます

このファイルでは、プールリストを見ることができます。 上の画像でこのリストを強調表示しています。 ここでのタスクは、このプールリストを現在地に最も近いタイムサーバーのプールに置き換えることです。 pol.ntp.orgプロジェクトは、タイムサーバーの大きなクラスターから信頼性の高いNTPサービスを提供します。 場所に応じてプールリストを選択するには、次のページにアクセスしてください。

https://support.ntp.org/bin/view/Servers/NTPPoolServers

米国のプールリストを検索しました。

NTPプールサーバーを選択します

このページでは、ntp.confファイルに次の行を追加するように指示されています。

サーバー0.us.pool.ntp.orgサーバー1.us.pool.ntp.orgサーバー2.us.pool.ntp.orgサーバー3.us.pool.ntp.org

上記の行を追加した後のファイルの外観は次のとおりです。

ntp.confファイルにプールサーバーを追加します

Ctrl + Xを押してから、yを入力して変更を保存することにより、ファイルを終了します。

ステップ5:NTPサーバーを再起動します

上記の変更を有効にするには、NTPサーバーを再起動する必要があります。 次のコマンドを次のように実行します sudo そうするために:

$ sudo service ntp restart

手順6:NTPサーバーが実行されていることを確認します

次に、次のコマンドを使用してNTPサービスのステータスを確認します。

$ sudo service ntp status

NTPサーバーのステータスを確認する

アクティブステータスは、NTPサーバーが稼働中であることを確認します。

手順7:クライアントがNTPサーバーにアクセスできるようにファイアウォールを構成する

最後に、着信接続がUDPポート番号123でNTPサーバーにアクセスできるように、システムのUFWファイアウォールを構成します。

次のコマンドを次のように実行します sudo 着信トラフィック用にポート123を開くには:

$ sudo ufwは、任意のポートから任意のポートに許可します123 proto udp

NTPサーバーへのアクセスを許可するようにファイアウォールを構成する

これで、UbuntuホストマシンがNTPサーバーとして使用されるように構成されました。

NTPサーバーと時間同期されるようにNTPクライアントを構成する

次に、UbuntuクライアントマシンをNTPサーバーと時間同期するように構成しましょう。

ステップ1:ntpdateをインストールする

ntpdateコマンドを使用すると、NTPサーバーとの接続構成を手動で確認できます。 クライアントマシンでターミナルアプリケーションを開き、次のコマンドを次のように入力します。 sudo:

$ sudo apt-get install ntpdate

ntpdateプログラムをインストールします

ステップ2:hostsファイルでNTPサーバーのIPとホスト名を指定します

NTPサーバーをクライアントマシンのホスト名で解決するには、/ etc / hostsファイルを構成する必要があります。

次のようにhostsファイルを開きます sudo 次のコマンドを入力して、nanoエディターで次の操作を行います。

$ sudo nano / etc / hosts

次に、NTPサーバーのIPを追加し、このファイルで次のようにホスト名を指定します。

Ctrl + Xを押してファイルを終了し、yを入力してファイルを保存します。

ステップ3:クライアントマシンの時刻がNTPサーバーと同期されているかどうかを確認します

次のntpdateコマンドを使用すると、クライアントシステムとサーバーシステムの間で時刻が同期されているかどうかを手動で確認できます。

$ sudo ntpdateNTP-server-host

出力は、理想的には2つのシステム間の時間オフセットを示す必要があります。

ステップ4:クライアントでsystemdtimesyncdサービスを無効にする

クライアントがNTPサーバーと時刻を同期するようにしたいので、クライアントマシンでtimesyncdサービスを無効にしましょう。

Enter これを行うには、次のコマンドを使用します。

timesyncdを無効にする

ステップ5:クライアントにNTPをインストールする

次のコマンドを次のように実行します sudo クライアントマシンにNTPをインストールするには:

$ sudo apt-get install ntp

手順6:/etc/ntp.confファイルを構成して、NTPサーバーを新しいタイムサーバーとして追加します

ここで、クライアントマシンが独自のNTPホストサーバーをデフォルトのタイムサーバーとして使用するようにします。 このためには、クライアントマシンで/etc/ntp.confファイルを編集する必要があります。

次のコマンドを次のように実行します sudo Nanoエディターでファイルを開くには:

$ sudo nano /etc/ntp.conf

次に、ファイルに次の行を追加します。ここで、NTP-server-hostは、NTPサーバーに指定したホスト名です。

サーバーNTP-サーバー-ホストはiburstを優先します

タイムサーバーを指定した後のファイルは次のようになります。

NTPサーバーをntp.confファイルに追加します

Ctrl + xを押してファイルを終了し、yと入力して変更を保存します。

ステップ7:NTPサーバーを再起動します

上記の変更を有効にするには、NTPサービスを再起動する必要があります。 次のコマンドを次のように実行します sudo そうするために:

$ sudo service ntp restart

ステップ8:時刻同期キューを表示する

これで、クライアントマシンとサーバーマシンが時間同期されるように構成されました。 次のコマンドを実行すると、時刻同期キューを表示できます。

$ ntpq -ps

NTP-server-hostをキュー内の時刻同期ホスト/ソースとして表示できるはずです。

したがって、ネットワーク化されたUbuntuマシンで時刻を同期するためのNTPのインストールと構成について知っておく必要があるのはこれだけです。 このプロセスは少し面倒に思えるかもしれませんが、上記のすべての手順を1つずつ注意深く実行すると、マシンはすぐに同期されます。