NTP(ネットワークタイムプロトコルの略)は、クライアントシステムのシステムクロックをサーバーのクロックと同期させるために使用されます。これは、ネットワークアプリケーションが正確な時刻を取得するのに役立ちます。この記事では、NTPサーバーを構成し、NTPクライアントマシンのクロックを同期する方法について説明します。コマンドの実行と手順の説明には、Ubuntu20.04LTSを使用します。
前提条件
- 2台のUbuntuマシン(NTPホストとNTPクライアント用)
- 両方のUbuntuマシンのSudoユーザー
NTPサーバーの構成
ホストマシンにNTPサーバーをインストールして構成するには、次の手順に従います。
ステップ1:ホストサーバーにNTPをインストールする
NTPサーバーをインストールするには、最初にシステムのローカルリポジトリを更新します。ホストシステムでコマンドラインターミナルを開き、次のコマンドを発行します。
$ sudo apt update
次に、sudoパスワードを入力します。
次に、ホストシステムにNTPをインストールします。ターミナルに次のコマンドを入力し、Enterキーを押します。
$ sudo apt install ntp
確認を求められたら、 yを押します 、その後、システムはNTPのインストールを開始します。
完了したら、次のコマンドからインストールを確認できます。
$ sntp --version
ステップ2:NTPサーバーを構成する
デフォルトでは、NTPはインターネットサーバーから時間をプルするように構成されています。ただし、地理的な場所に基づいて最寄りのプールから時間を取得するように手動で構成できます。
NTP構成ファイルを次のように編集します。
$ sudo nano /etc/ntp.conf
構成ファイルには、NTPがデフォルトで使用するプールのリストが表示されます。
お住まいの地域に最も近いプールを追加するには、support.ntp.org Webサイトにアクセスして、お住まいの地域を選択してください。
たとえば、ヨーロッパを選択すると、以下のスクリーンショットに示すようなプールのリストが表示されます。
構成ファイルで、デフォルトのプールのリストを削除し、 support.ntp.orgからコピーしたプールのリストを挿入します。 Webサイト。私たちのシステムでは、ヨーロッパ地域のプールを追加しました。
完了したら、 Ctrl + xを押します 。変更を保存するかどうかを確認するメッセージが表示されたら、 yを押します。 。
ステップ3:NTPサービスを再起動します
/etc/ntp.confに変更を加えた後 ファイルの場合は、次のコマンドを使用してNTPサービスを再起動します。
$ sudo service ntp restart
ステップ4:ファイアウォールでNTPを許可する
ファイアウォールがNTPホストで実行されている場合は、ファイアウォールの通過を許可するルールを追加する必要があります。ターミナルで次のコマンドを発行して、ファイアウォールにルールを追加します。
$ sudo ufw allow ntp
ルールが正常に追加されたかどうかを確認するには、ターミナルで次のコマンドを入力し、Enterキーを押します。
$ sudo ufw status
これで、NTPサーバーがホストマシンで構成されました。それでは、NTPクライアントの構成に移りましょう。
NTPクライアントマシンのクロックをNTPサーバーと同期する
次に、時計をNTPサーバーと同期するようにNTPクライアントマシンを構成します。
ステップ1:クライアントマシンにntpdateをインストールする
Ntpdateコマンドは、NTPサーバーへの1回限りの同期に使用されます。クライアントマシンでターミナルを開き、次のコマンドを発行してntpdateをインストールします。
$ sudo apt install ntpdate
次に、sudoパスワードを入力します。
確認を求められたら、 yと入力します 、その後、システムはntpdateのインストールを開始します。
ステップ2:ntpdateを使用してNTPクライアントをNTPサーバーと手動で同期する
この手順では、NTPクライアントをNTPサーバーに手動で同期して、時刻が正確で、差が1024秒以下であるかどうかを確認します。これを行うには、ターミナルで次のコマンドを発行して、
$ sudo ntpdate <server-IP>
この場合、NTPサーバーのIPアドレスは 192.168.72.157です。 、したがって、コマンドは次のようになります。
$ sudo ntpdate 192.168.72.157
上記の出力から、時差はわずか0.008231秒であることがわかります。
ステップ3:systemdtimesyncdサービスを無効にする
システム時刻をNTPサーバーと同期するため、システム時刻同期サービスを無効にします。これを行うには、次のコマンドを実行します。
$ sudo timedatectl set-ntp off
ステップ4:クライアントマシンにNTPをインストールする
フォームをご覧になったように、時差が非常に少ないntpdateコマンドの出力が非常に少ないため、クライアントマシンでntp.confを構成して、NTPサーバーと自動的に同期できるようになりました。
まず、クライアントマシンにNTPをインストールする必要があります。ターミナルで次のコマンドを入力します:
$ sudo apt install ntp
確認を求められたら、 yと入力します 、その後、システムはNTPのインストールを開始します。完了したら、次の手順で説明するようにNTPを構成できます。
ステップ5:クライアントマシンでntp.confを構成して、NTPサーバーと自動的に同期するようにします
このステップでは、クライアントマシンをNTPサーバーと自動的に同期するようにnpt.confを構成します。
クライアントマシンで、ntp.confファイルを次のように編集します。
$ sudo nano /etc/ntp.conf
server <NTP-server-hostname> prefer iburst
完了したら、 Ctrl + xを押します 。ここで、変更を保存するかどうかを確認するメッセージが表示されたら、 yを押します。 。
/etc/ntp.confに変更を加えた後 ファイルの場合は、次のコマンドを使用してNTPサービスを再起動します。
$ sudo service ntp restart
これで、クライアントマシンは、時刻同期のためにホストシステムに接続されました。
NTP同期ステータスの表示
NTPの現在の同期ステータスを表示するには、ターミナルで次のコマンドを発行します。
$ ntpq -p
出力では、接続されたタイムサーバーとして「ubuntu」が他の情報とともに表示されます。
これですべてです。この記事では、UbuntuマシンでNTPサーバーを構成してから、NTPクライアントマシンのクロックを同期する方法を学習しました。これで、NTPサーバーを簡単にセットアップし、複数のクライアントマシンを接続して時刻を同期させることができます。