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


一般にNTPと呼ばれるネットワークタイムプロトコルは、ネットワーク内のシステムクロックの同期を担当するプロトコルです。 NTPは、ネットワークシステム上にあるサーバープログラムとともに、プロトコルとクライアントシステムの両方を指します。

このガイドでは、Ubuntu18.04にNTPサーバーとクライアントをインストールする方法を説明します。

このガイドは、次のことを達成することを目的としています。

  • Installing and configuring NTP server on Ubuntu 18.04 server.
  • Installing NTP client on Ubuntu 18.04 client machine and ensure that it is synched by the Server.

始めましょう !

Ubuntu18.04サーバーにNTPサーバーをインストールして構成する

以下は、NTPサーバーをインストールし、ネットワークで目的の時刻同期を実現するために必要な変更を加える手順です。

まず、図のようにシステムパッケージを更新することから始めましょう。

$ sudo apt update -y

システムパッケージがすでにインストールされている状態で、を実行してNTPプロトコルをUbuntu 18.04LTSにインストールします。

$ sudo apt install ntp 

プロンプトが表示されたら、 Y と入力し、Enterキーを押してインストールプロセスを完了します。

NTPプロトコルが正常にインストールされたことを確認するには、コマンドを実行します。

$ sntp --version

デフォルトでは、NTPプロトコルには、以下の/etc/ntp.confファイルに示されているように、構成ファイルですでに構成されているデフォルトのNTPプールサーバーが付属しています。

これらは通常、同じように正常に機能します。ただし、現在地に最も近いNTPサーバープールへの変更を検討することもできます。以下のリンクから、最も優先されるNTPプールリストを選択できるページに移動します。

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

この例では、示されているようにヨーロッパにあるNTPプールを使用します。

デフォルトのNTPプールサーバーを置き換えるには、図のように、お気に入りのテキストエディターを使用してNTP構成ファイルを開きます。

$ sudo vim /etc/ntp.conf

図のように、ヨーロッパのNTPプールリストをコピーして構成ファイルに貼り付けます。

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

次に、テキストエディタを保存して終了します。

変更を有効にするには、NTPサービスを再起動し、コマンドを使用してそのステータスを確認します。

$ sudo systemctl restart ntp
$ sudo systemctl status ntp

UFWファイアウォールが有効になっている場合は、クライアントマシンがNTPサーバーにアクセスできるように、ファイアウォール全体でNTPサービスを許可する必要があります。

$ sudo ufw allow ntp 
OR
$ sudo ufw allow 123/udp 

変更を実装するには、図のようにファイアウォールをリロードします。

$ sudo ufw reload

加えられた変更を確認するには、コマンドを実行します。

$ sudo ufw status

完璧! Ubuntu 18.04LTSシステムにNTPサーバーを正常にセットアップしました。次に、クライアントシステムでNTPを設定しましょう。

Ubuntu18.04クライアントにNTPクライアントをインストールして構成する

このセクションでは、Ubuntu 18.04NTPサーバーシステムによって同期されるようにUbuntu18.04クライアントシステムにNTPクライアントをインストールして構成します。

開始するには、を実行してシステムを更新します。

$ sudo apt update -y

ntpdateは、システムがNTPサーバーにクエリを実行して時刻と日付を同期できるようにするユーティリティ/プログラムです。

ntpdateをインストールするには、コマンドを実行します。

$ sudo apt install ntpdate

クライアントシステムがホスト名でNTPサーバーを解決するには、NTPサーバーのIPアドレスとホスト名を/ etc/hostsファイルに追加する必要があります。

したがって、お気に入りのテキストエディタを使用してファイルを開きます。

$ sudo vim /etc/hosts

図のようにIPアドレスとホスト名を追加します。

10.128.0.21	bionic

クライアントシステムがNTPサーバーの時刻と同期しているかどうかを手動で確認するには、コマンドを実行します。

$ sudo ntpdate NTP-server-hostname

この場合、コマンドはになります。

$ sudo ntpdate bionic

NTPサーバーとクライアントシステム間のタイムオフセットが次のように表示されます。

クライアント時間をNTPサーバーと同期するには、クライアントシステムでtimesynchdサービスをオフにする必要があります。

$ sudo timedatectl set-ntp off

次に、クライアントシステムにNTPサービスをインストールする必要があります。これを実現するには、コマンドを発行します。

$ sudo apt install ntp

プロンプトが表示されたら Y を押し、Enterキーを押してインストールプロセスを続行します。

このステップの目的は、NTPサーバーとして機能するように以前に構成されたNTPサーバーを使用することです。これを行うには、/ etc /ntp.confファイルを編集する必要があります。

$ sudo vim /etc/ntp.conf

以下の行を追加します。ここで、 bionic はNTPサーバーのホスト名です。

server bionic prefer iburst

構成ファイルを保存して終了します。

変更を有効にするには、図のようにNTPサービスを再起動します。

$ sudo systemctl restart ntp

クライアントとNTPサーバーが同期していない場合は、コマンドを実行して同期の詳細を表示できます。

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
  bionic          71.79.79.71      2 u    6   64  377    0.625   -0.252   0.063

これで、このガイドは終わりです。この時点で、Ubuntu 18.04 LTSでNTPサーバーを正常に構成し、クライアントシステムをNTPサーバーと同期するように構成しました。フィードバックをお寄せください。