0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7 on Raspberry Pi 4 : Chrony で ntpサーバー

Last updated at Posted at 2020-02-23

CentOS7でChrony で ntpサーバーを立てた

centos7から導入された ntp サーバー/クライアン ソフトである chrony を使って ntp サーバーを立てた際、クライアントからntpサーバーに時間同期をかけた際に、接続できなかった。

chrony に関しては、新しいNTPクライアント&サーバ、chronyを参考にさせて頂きました。

以下、構成を示します。

1582429167049.jpg

ラズパイは RTC(real-time clock)を持っていないので、起動のたびに時間が、1970年1月1日にリセットされてしまいます。インターネットに接続されていれば、インターネット上の ntpサーバーにアクセスし時刻を同期してくれます。
今回、インターネットに接続しない閉じたネットワークで時刻同期を実現するために、RTCを持っているWindowsノートPCを、大本のntpサーバーとして利用しています。

ラズパイのntpクライアン(複数台想定)は、1第のラズパイ(192.168.100.1)で動いている ntp サーバーにアクセスするような構成です。

ラズパイ(192.168.100.1)の各種設定

ラズパイ(192.168.100.1)の ntp サーバーの chrony の設定

/etc/chrony.conf
# Allow NTP client access from local network.
allow 192.168.100.0/24

port 123

セグメント 192.168.100.0/24 から ntp サーバーへの接続を許可します。
ntp サーバーの利用ポートを 123 に設定します。

chronyd を再起動します。

# systemctl restart chronyd
# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 木 1970-01-01 09:54:29 JST; 50 years 1 months ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 961 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 957 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 959 (chronyd)
   CGroup: /system.slice/chronyd.service
           mq959 /usr/sbin/chronyd

 1月 01 09:54:29 mame-s01 systemd[1]: Starting NTP client/server...
 1月 01 09:54:29 mame-s01 chronyd[959]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH ...6 +DEBUG)
 1月 01 09:54:29 mame-s01 chronyd[959]: Frequency 14.006 +/- 5.749 ppm read from /var/lib/chrony/drift
 1月 01 09:54:29 mame-s01 systemd[1]: Started NTP client/server.
 1月 01 09:58:54 mame-s01 chronyd[959]: Selected source 192.168.100.5
 1月 01 09:58:54 mame-s01 chronyd[959]: System clock wrong by 1582422507.662771 seconds, adjustment started
 2月 23 11:47:21 mame-s01 chronyd[959]: System clock was stepped by 1582422507.662771 seconds
Hint: Some lines were ellipsized, use -l to show in full.

ラズパイ(192.168.100.1) のfirewall の設定です。
私は、firewall の zone を public ではなく local というのを追加して、local を active にして利用しています。

CentOS 7 firewalld よく使うコマンドを参考にしました。

# firewall-cmd --list-all --zone=local
local (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

次に、firewall に ntp サービスを登録します。

# firewall-cmd --permanent --zone=local --add-service=ntp 
success
# firewall-cmd --reload
success
# firewall-cmd --list-all --zone=local
local (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ntp ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

きっとこれで 外部から port 123 にアクセスできるはず。

ラズパイ(192.168.100.11)の各種設定

ラズパイ(192.168.100.11)の ntp クライアント chrony の設定

/etc/chrony.conf
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst

server ntp2.jst.mfeed.ad.jp iburst
server 192.168.100.1 iburst
# server 192.168.100.5 iburst

ntp サーバーとして2つ設定してあります
1つ目は、ntp2.jst.mfeed.ad.jp ラズパイを、インターネットに接続できる環境で動かしたさいに参照するタイムサーバーです。

2つ目は、先程建てた ラズパイ(192.168.100.1)で動いている ntp サーバーです。

コメントアウトしている箇所(192.168.100.5)は、Windows10で動いている ntp サーバーです。

chrony を再起動します。

# systemctl restart chronyd
# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2020-02-23 13:31:06 JST; 2s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 743 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 739 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 741 (chronyd)
   CGroup: /system.slice/chronyd.service
           mq741 /usr/sbin/chronyd

 2月 23 13:31:06 mame-s11 systemd[1]: Starting NTP client/server...
 2月 23 13:31:06 mame-s11 chronyd[741]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +...BUG)
 2月 23 13:31:06 mame-s11 chronyd[741]: Frequency 16.177 +/- 5.870 ppm read from /var/lib/chrony/drift
 2月 23 13:31:06 mame-s11 systemd[1]: Started NTP client/server.
Hint: Some lines were ellipsized, use -l to show in full.

chronyc sources で ntpサーバーへの接続状況を確認します。

# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.100.1                 5   6    17    26    +75ns[+8883ns] +/-  145ms

^* が付いている IPアドレスの ntpサーバーに時刻同期しています。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?