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サーバーをインストールする
APTリポジトリからNTPサーバーデーモンをインストールするには、sudoとして次のコマンドを実行してください。
$ sudo apt-get install ntp
Ubuntuでソフトウェアを追加、削除、構成できるのは、許可されたユーザーのみであることに注意してください。
システムはsudoのパスワードを要求し、インストールを続行するためのY/nオプションも提供する場合があります。 Yと入力し、Enterキーを押します。その後、NTPサーバーがシステムにインストールされます。ただし、インターネットの速度によっては、処理に時間がかかる場合があります。
ステップ3:インストールを確認する(オプション)
ターミナルで次のコマンドを実行して、NTPのインストールを確認し、バージョン番号を確認することもできます。
$ sntp --version
ステップ4:現在地に最も近いNTPサーバープールに切り替えます
NTPサーバーをインストールすると、ほとんどの場合、適切な時刻を取得するように構成されます。ただし、サーバープールを現在地に最も近いものに切り替えることができます。これには、 / etc /にいくつかの変更を加えることが含まれます ntp .conf ファイル。
次のコマンドを実行して、nanoエディターでsudoとしてファイルを開きます。
$ sudo nano /etc/ntp.conf
このファイルでは、プールリストを見ることができます。上の画像でこのリストを強調表示しています。ここでのタスクは、このプールリストを現在地に最も近いタイムサーバーのプールに置き換えることです。 pol.ntp.orgプロジェクトは、タイムサーバーの大きなクラスターから信頼性の高いNTPサービスを提供します。場所に応じてプールリストを選択するには、次のページにアクセスしてください。
https://support.ntp.org/bin/view/Servers/NTPPoolServers
米国のプールリストを検索しました:
このページでは、ntp.confファイルに次の行を追加するように指示されています。
server 0.us.pool.ntp.org server 1.us.pool.ntp.org server 2.us.pool.ntp.org server 3.us.pool.ntp.org
上記の行を追加した後のファイルの外観は次のとおりです。
Ctrl + Xを押してから、yを入力して変更を保存することにより、ファイルを終了します。
ステップ5:NTPサーバーを再起動します
上記の変更を有効にするには、NTPサーバーを再起動する必要があります。これを行うには、sudoとして次のコマンドを実行します。
$ sudo service ntp restart
ステップ6:NTPサーバーが実行されていることを確認します
次に、次のコマンドを使用してNTPサービスのステータスを確認します。
$ sudo service ntp status
アクティブステータスは、NTPサーバーが稼働中であることを確認します。
ステップ7:クライアントがNTPサーバーにアクセスできるようにファイアウォールを構成します
最後に、着信接続がUDPポート番号123でNTPサーバーにアクセスできるようにシステムのUFWファイアウォールを構成します。
次のコマンドをsudoとして実行して、着信トラフィック用にポート123を開きます。
$ sudo ufw allow from any to any port 123 proto udp
これで、UbuntuホストマシンがNTPサーバーとして使用されるように構成されました。
NTPサーバーと時間同期されるようにNTPクライアントを構成する
次に、UbuntuクライアントマシンをNTPサーバーと時間同期するように構成しましょう。
ステップ1:ntpdateをインストールする
ntpdateコマンドを使用すると、NTPサーバーとの接続構成を手動で確認できます。クライアントマシンでターミナルアプリケーションを開き、sudoとして次のコマンドを入力します。
$ sudo apt-get install ntpdate
ステップ2:ホストファイルでNTPサーバーのIPとホスト名を指定します
NTPサーバーをクライアントマシンのホスト名で解決するには、/ etc/hostsファイルを構成する必要があります。
次のコマンドを入力して、nanoエディターでhostsファイルをsudoとして開きます。
$ sudo nano /etc/hosts
次に、NTPサーバーのIPを追加し、このファイルで次のようにホスト名を指定します。
Ctrl + Xを押してファイルを終了し、yと入力してファイルを保存します。
ステップ3:クライアントマシンの時刻がNTPサーバーと同期されているかどうかを確認します
次のntpdateコマンドを使用すると、クライアントシステムとサーバーシステムの間で時刻が同期されているかどうかを手動で確認できます。
$ sudo ntpdate NTP-server-host
出力は、理想的には2つのシステム間の時間オフセットを示す必要があります。
ステップ4:クライアントでsystemdtimesyncdサービスを無効にする
クライアントがNTPサーバーと時刻を同期するようにしたいので、クライアントマシンでtimesyncdサービスを無効にしましょう。
これを行うには、次のコマンドを入力します。
ステップ5:クライアントにNTPをインストールする
クライアントマシンにNTPをインストールするには、sudoとして次のコマンドを実行します。
$ sudo apt-get install ntp
ステップ6:NTPサーバーを新しいタイムサーバーとして追加するように/etc/ntp.confファイルを構成します
ここで、クライアントマシンが独自のNTPホストサーバーをデフォルトのタイムサーバーとして使用するようにします。このためには、クライアントマシンで/etc/ntp.confファイルを編集する必要があります。
Nanoエディターでファイルを開くには、sudoとして次のコマンドを実行します。
$ sudo nano /etc/ntp.conf
次に、ファイルに次の行を追加します。ここで、NTP-server-hostは、NTPサーバーに指定したホスト名です。
server NTP-server-host prefer iburst
タイムサーバーを指定した後のファイルは次のようになります。
Ctrl + xを押してファイルを終了し、yと入力して変更を保存します。
ステップ7:NTPサーバーを再起動します
上記の変更を有効にするには、NTPサービスを再起動する必要があります。これを行うには、sudoとして次のコマンドを実行します。
$ sudo service ntp restart
ステップ8:時刻同期キューを表示する
これで、クライアントマシンとサーバーマシンが時間同期されるように構成されました。次のコマンドを実行すると、時刻同期キューを表示できます。
$ ntpq -ps
NTP-server-hostをキュー内の時刻同期ホスト/ソースとして表示できるはずです。
したがって、ネットワーク化されたUbuntuマシンで時刻を同期するためのNTPのインストールと構成について知っておく必要があるのはこれだけです。このプロセスは少し面倒に思えるかもしれませんが、上記のすべての手順を1つずつ注意深く実行すると、マシンはすぐに同期されます。