chrony 패키지를 활용하여 외부 공개 NTP 서버 동기화와 내부 서버 간 시간 서버 구성(A-B 구조) 방법을 정리합니다.chrony는 리눅스 환경에서 시간을 동기화하기 위한 NTP(Network Time Protocol) 클라이언트/서버 프로그램입니다.| 항목 | 설명 |
|---|---|
server [호스트/IP] iburst | 지정한 NTP 서버와 동기화. iburst는 빠른 초기 동기화를 위해 사용 |
pool [도메인] iburst | 여러 서버를 풀(pool)로 지정 (ex: kr.pool.ntp.org) |
makestep 1.0 3 | 시간 차이가 1초 이상일 때, 초기 3회 업데이트 동안 즉시 보정 |
driftfile /var/lib/chrony/drift | 시스템 클럭 주파수 오차 보정값 저장 |
rtcsync | 하드웨어 시계(RTC)와 자동 동기화 |
allow 192.168.0.0/16 | 해당 네트워크 대역의 클라이언트가 시간 동기화 요청 가능 |
local stratum 10 | 외부 동기화가 불가능할 때 로컬 서버를 기준 시간으로 제공 |
logdir /var/log/chrony | 로그 저장 디렉토리 지정 |
| 기호 | 의미 |
|---|---|
* | 현재 선택된 기준 시간 서버 (synchronized) |
+ | 보조 후보 서버 (동기화는 되지만 *보다 우선순위 낮음) |
- | 동기화는 되지만 현재 선택에서 제외된 서버 |
? | 서버에 연결이 불안정하거나 응답 없음 |
^ | 서버(server) 방식으로 지정됨 |
= | 피어(peer) 방식으로 지정됨 |
# | 로컬 클럭(local clock) 사용 |
# rpm -qa | grep chrony 출력 예시:
chrony-4.5-3.el9.x86_64 설치가 안 되어 있다면 다음 명령어로 설치합니다.
# dnf -y install chrony # mv /etc/chrony.conf /etc/chrony.conf_org # vim /etc/chrony.conf 설정 예시:
# 외부 공개 NTP 서버 지정 (iburst → 빠른 초기 동기화)
server time.google.com iburst
server time.cloudflare.com iburst
server 1.kr.pool.ntp.org iburst
server 1.asia.pool.ntp.org iburst
# 초기 동기화가 1초 이상 차이날 경우 즉시 조정 (makestep)
makestep 1.0 3
# driftfile: clock 주파수 보정값 저장
driftfile /var/lib/chrony/drift
# RTC (하드웨어 시계)와 자동 동기화
rtcsync
# 로그 디렉토리
logdir /var/log/chrony
# 특정 대역 허용 (내부망)
allow 192.168.204.0/24
# stratum 수준 (내부망 마스터 서버 역할)
local stratum 10 # systemctl restart chronyd
# chronyc makestep # chronyc sources 출력 예시:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* time3.google.com 1 6 17 7 +212us[+3345us] +/- 34ms
^+ time.cloudflare.com 3 6 17 7 +1519us[+4652us] +/- 74ms
^+ 121.174.142.81 3 6 17 7 +1202us[+4336us] +/- 42ms
^- 103.186.118.221 2 6 17 7 -155us[ -155us] +/- 33ms
# firewall-cmd --list-services 출력 예시:
cockpit dhcpv6-client ssh # firewall-cmd --add-service=ntp --permanent 출력 예시:
success # firewall-cmd --reload 출력 예시:
success # firewall-cmd --list-services 출력 예시:
cockpit dhcpv6-client ntp ssh # rpm -qa | grep chrony 출력 예시:
chrony-4.5-3.el9.x86_64 설치가 안 되어 있다면 다음 명령어로 설치합니다.
# dnf -y install chrony # mv /etc/chrony.conf /etc/chrony.conf_org # vim /etc/chrony.conf 설정 예시:
# 내부 서버 A 지정 (iburst로 빠른 초기 동기화)
server 192.168.204.230 iburst
# 시간 오차가 크면 즉시 보정
makestep 1.0 3
# driftfile: 주파수 오차 저장
driftfile /var/lib/chrony/drift
# RTC 동기화
rtcsync
# 로그 디렉토리
logdir /var/log/chrony # systemctl restart chronyd
# chronyc makestep # chronyc sources 출력 예시:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.204.230 2 6 17 44 +5847ns[ +31us] +/- 41ms https://youtu.be/xyQ36ZKFsyo 1. 개요 디스크 4개를 RAID 5로 묶어 하나의 큰 볼륨으로 만들고 공유 폴더까지 만드는…
https://youtu.be/6USDMILssg4 1. 개요 OMV는 물리 디스크를 서비스에 노출하기까지 4단계 계층을 거칩니다. 앞 단계를 완료해야 다음…
https://youtu.be/ER-vIKQnXwc 1. 개요 Radxa Penta SATA HAT는 Raspberry Pi 5의 PCIe 인터페이스를 활용해 최대 5개의…
https://youtu.be/aBW_RxoT56U 1. 개요 Raspberry Pi에 설치된 OpenMediaVault(OMV)의 네트워크 인터페이스를 DHCP(자동 IP 할당) 방식에서 고정 IP(Static…
https://youtu.be/3PbaSjpmIgk 1. 개요 OpenMediaVault(OMV) 웹 관리 페이지에서 admin 계정의 비밀번호를 변경하는 방법을 안내합니다. 2. 버전…
https://youtu.be/hlBddMVRL9Q 1. 개요 OpenMediaVault(OMV)는 Debian 기반의 오픈소스 NAS(Network Attached Storage) 운영체제로, 웹 브라우저를 통해 스토리지,…