본문 바로가기
IT/리눅스

리눅스 NTP(Network Time Protocol) 설정 및 동기화 방법

by JGSHIN 2025. 2. 15.
SMALL

NTP(Network Time Protocol)는 시스템의 시간을 동기화하는 프로토콜입니다.
리눅스에서는 chronyd 또는 ntpd 서비스를 사용하여 NTP 서버와 동기화할 수 있습니다.
아래에서 timedatectlchronyd를 사용한 NTP 설정 방법을 설명하겠습니다.

 

1️⃣ 현재 시간 및 NTP 설정 확인

시스템의 현재 시간, 시간대, NTP 동기화 상태 등을 확인하려면:

 
# timedatectl

출력 예시:

 
Local time: Thu 2017-09-21 00:12:58 KST
Universal time: Wed 2017-09-20 15:12:58 UTC
RTC time: Wed 2017-09-20 15:12:58
Time zone: Asia/Seoul (KST, +0900)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

NTP enabled: yes → NTP 활성화 상태
NTP synchronized: no → 아직 동기화되지 않음


2️⃣ 설정 가능한 시간대 목록 확인

설정 가능한 모든 시간대 목록을 보려면:

 
# timedatectl list-timezones

출력 예시:

 
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Asia/Seoul
...

3️⃣ 시간대 변경

한국 시간(서울)로 변경하려면:

 
# timedatectl set-timezone Asia/Seoul

변경 후 확인:

 
# timedatectl

4️⃣ NTP 동기화 활성화

자동 시간 조정을 위해 NTP 동기화를 활성화하려면:

 
# timedatectl set-ntp true

비활성화하려면:

 
# timedatectl set-ntp false

✅ true → NTP 동기화 활성화
✅ false → NTP 동기화 비활성화


5️⃣ NTP 서버 설정 (chronyd)

chronyd는 일반적으로 **부정확한 로컬 하드웨어 클럭(RTC)**을 구성된 NTP 서버에 동기화하면서 계속 추적합니다.
네트워크 연결이 불가능한 경우 /etc/chrony.conf 파일을 통해 설정할 수 있습니다.

🔹 /etc/chrony.conf 설정

 
# vi /etc/chrony.conf

아래 내용을 추가 또는 수정:

 
# NTP 서버 설정
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst

# 커널 RTC 동기화
rtcsync

# 시간 조정 로그 저장
driftfile /var/lib/chrony/drift

# 네트워크 내 로컬 클라이언트 허용
allow 192.168/16

# NTP 명령어 요청 허용
bindcmdaddress 127.0.0.1
bindcmdaddress ::1

# 로그 저장 설정
logdir /var/log/chrony

✅ server → 동기화할 NTP 서버 지정 (DNS 또는 IP 사용 가능)
✅ iburst → 빠른 초기 동기화를 위한 설정
✅ allow 192.168/16 → 해당 IP 대역의 NTP 클라이언트 허용


6️⃣ chronyd 서비스 재시작 및 상태 확인

설정을 적용하려면 chronyd 서비스를 재시작해야 합니다.

 
# systemctl restart chronyd # systemctl enable chronyd # systemctl status chronyd

✅ restart → 서비스 재시작
✅ enable → 부팅 시 자동 실행 설정
✅ status → 현재 서비스 상태 확인


7️⃣ NTP 동기화 상태 확인

NTP 서버와의 동기화 상태를 확인하려면:

 
# chronyc sources -v

출력 예시:

 
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* ntp.server.domain 8 6 17 23 -497ns[-7000ns] +/- 956us

✅ ^* → 현재 동기화된 NTP 서버
✅ ntp.server.domain → 현재 동기화 중인 NTP 서버


8️⃣ 강제 동기화 수행

시간을 즉시 동기화하려면:

 
# chronyc makestep

이 명령어는 시간이 10초 이상 차이가 나면 즉시 동기화합니다.


9️⃣ chronyd 로그 확인

NTP 동기화 관련 로그를 확인하려면:

 
# cat /var/log/chrony

📌 최종 정리

현재 시간 및 동기화 상태 확인: timedatectl
시간대 변경: timedatectl set-timezone Asia/Seoul
NTP 동기화 활성화: timedatectl set-ntp true
NTP 서버 설정: /etc/chrony.conf 편집
chronyd 서비스 적용: systemctl restart chronyd
NTP 동기화 확인: chronyc sources -v
강제 동기화: chronyc makestep

LIST
📧 이메일 문의
by @ 2025 JGSHIN