● 인터넷이 안되는 환경(isolated network)에서 NTP구성을 할 때 사용하는 방법을 정리
[1] NTP Local Server 설정
offline-ntpserver [root:/root] $ grep ^[^#] /etc/chrony.conf server 127.127.1.1 iburst local stratum 10 allow 192.168.0.0/16 manual |
server 는 127.127.1.0 127.127.1.1 IP 주소를 사용합니다. (또는 server 항목을 삭제)
시간 소스에 동기화되지 않은 경우에도 시간 제공
# Serve time even if not synchronized to a time source.
local stratum 10
manual
"manual" 지침은 Chronyc에서 Settime 명령에 대한 런타임 지원을 활성화합니다.
"manual" 지시문이 포함되지 않으면 Chronyc에서 Settime 명령을 사용하려고 하면 오류 메시지가 표시됩니다.
offline-ntpserver [root:/root] $ systemctl restart chronyd
offline-ntpserver [root:/root] $ systemctl status chronyd
[2] NTP Local Client 설정
offline-ntp-client [root:/root] $ grep ^[^#] /etc/chrony.conf server offline-ntpserver iburst |
timedatectl 로 확인하면, 동기화 yes 라고 표시되면 정상적으로 연결이 된 상태입니다.
System clock synchronized: yes
NTP service: active
Stratum이 11로 적용된 것을 알 수 있습니다. ntpserver가 Stratum 10으로 설정되어 있어, 이후 설정 값이 반영된 내용입니다.
chronyc sources와 chronyc tracking을 확인합니다. Leap status 가 Normal로 표시되면 정상입니다.
아래 그림을 보면, ntpserver가 Stratum 10으로 설정되어 있습니다. 위에 ntp client 는 자동으로 Stratum 11로 반영됩니다.
date로 시간 설정이 같은지 확인 합니다.
[3] NTP Client에서 동기화가 안되는 경우
간혹 System clock synchronized: No 로 변경이 되면서, 시간 값이 달라지는 경우가 있습니다.
대안으로 crontab에 주기적으로 chronyd를 재기동하는 방법도 있습니다. 아래는 1시간마다 재기동하는 crontab 입니다.
offline-ntp-client [root:/root] $ crontab -l 00 * * * * /usr/bin/systemctl restart chronyd |
[4]. hwclock
set the hardware clock from the current system time (현재 OS시간을 HW로 적용)
현재 OS가 NTP Client로 동기화가 되어 있을 경우에, HW의 시간도 같이 적용하는 경우에 사용.
Crontab에 등록해서 주기적으로 적용하는 것도 하나의 방법입니다.
/sbin/hwclock --systohc
set the system time from the hardware clock (현재 HW 시간을 OS시간으로 적용)
/sbin/hwclock --hctosys
[5]. 참고. 즉시 동기화 명령
# chronyc -a makestep
200 OK
200 OK
[6]. 참고. 방화벽 포트 OPEN
UDP 123 포트 open
# firewall-cmd --add-service=ntp --permanent
# firewall-cmd --reload
[APPENDIX] 테스트 환경
○ Rocky Linux release 8.7 (Green Obsidian)
○ Kernel 4.18.0-477.10.1.el8_8.x86_64
○ chrony-4.2-1.el8.rocky.0.1.x86_64
NTP Server nslookup
$ date -s "2023-12-15 18:02:00"
$ date -s "2022-04-01 19:41:00"
$ /usr/bin/timedatectl set-ntp yes
$ /usr/bin/chronyc -a makestep
https://opensource.com/article/18/12/manage-ntp-chrony
https://linux-hacking-guide.blogspot.com/2015/05/configure-ntp-using-chrony-for-isolated.html
https://zetawiki.com/wiki/공용_NTP_서버_목록
'Linux' 카테고리의 다른 글
Linux NTP ntp.conf (0) | 2023.12.15 |
---|---|
Linux netstat TCP UDP port 와 PID 확인 (0) | 2023.12.15 |
Rocky Linux 8.8 Download - ISO 파일 USB 부팅 이미지 만들기 (1) | 2023.12.08 |
MegaRAID DISK show detail (0) | 2020.05.04 |