CentOS7 on Raspberry Pi 4 : Chrony의 ntp 서버

CentOS7에서 Chrony에서 ntp 서버를 설정했습니다.



centos7에서 도입된 ntp 서버/클라이언 소프트인 chrony 를 사용해 ntp 서버를 세웠을 때, 클라이언트로부터 ntp 서버에 시간 동기를 걸었을 때에, 접속할 수 없었다.

chrony 에 관해서는 새로운 NTP 클라이언트 & 서버, 크로니 를 참고로 했습니다.

다음은 구성을 보여줍니다.



라즈파이는 RTC(real-time clock)를 가지고 있지 않기 때문에, 기동할 때마다 시간이, 1970년 1월 1일에 리셋 되어 버립니다. 인터넷에 접속되어 있으면, 인터넷상의 ntp 서버에 액세스 해 시각을 동기화해 줍니다.
이번 인터넷에 접속하지 않는 닫힌 네트워크에서 시간 동기화를 실현하기 위해 RTC를 가지고있는 Windows 노트북을 대형 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 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:

그런 다음 방화벽에 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 서버로 두 가지 설정
첫번째는 ntp2.jst.mfeed.ad.jp 라즈파이를 인터넷에 접속할 수 있는 환경에서 움직이면서 참조하는 타임 서버입니다.

두 번째는 방금 만든 라즈파이 (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 서버에 시간 동기화하고 있습니다.

이상

좋은 웹페이지 즐겨찾기