728x90
NTP (Network Time Protocol) 개요
NTP(Network Time Protocol)는 인터넷상의 시간을 정확하게 유지하기 위한 통신망 시간 규약입니다. NTP는 라디오나 원자 시계에 맞추어 시간을 조정하며, 밀리초(1/1000초) 단위까지 시간을 맞출 수 있습니다.
NTP의 계층 구조
NTP는 stratum이라는 계층 구조를 가지고 있습니다.
- Stratum 0: GPS나 세슘 원자 시계 등 시간 기준 장비를 의미합니다.
- Stratum 1: Stratum 0에서 직접 시간을 동기화하는 서버입니다.
- Stratum 2: Stratum 1 서버와 동기화하며, 트리 구조로 다른 서버와 연결됩니다. 일반적으로 Stratum 2에서 동기화를 수행하고, 이 서버가 Stratum 3 서버와 연결되어 부하를 줄입니다.
NTP는 UDP 123 포트를 기본으로 사용합니다(포트 개방 필요).
한국에서 운영되는 NTP 서버
- kr.pool.ntp.org
- time.bora.net
- time.nuri.net
NTP 설치
NTP는 yum을 통해 설치할 수 있습니다.
yum install ntp
설치 과정은 다음과 같습니다.
Package Arch Version Repository Size
===============================================================================
Installing:
ntp x86_64 4.2.4p8-3.el6.centos base 444 k
Installing for dependencies:
libedit x86_64 2.11-4.20080712cvs.1.el6 base 74 k
ntpdate x86_64 4.2.4p8-3.el6.centos base 58 k
Transaction Summary
===============================================================================
Install 3 Package(s)
NTP 설정
NTP 서버를 설정하기 위해 /etc/ntp.conf 파일을 수정합니다. 기본적으로 입력되어 있는 서버를 주석 처리하거나 삭제하고, 국내 NTP 서버로 대체합니다.
vi /etc/ntp.conf
예시:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server kr.pool.ntp.org
server time.bora.net
server time.kornet.net
NTP 서비스 등록 및 시작
NTP 서비스를 시작 프로그램에 등록합니다.
chkconfig ntpd on
NTP 서비스 등록 확인:
chkconfig --list | grep ntpd
NTP 서비스를 시작합니다:
/etc/init.d/ntpd start
NTP는 동기화하기까지 5~10분이 걸릴 수 있으니 여유를 갖고 기다려주세요. 동기화 상태 확인은 다음 명령어로 가능합니다.
ntpq -p
출력 예시:
remote refid st t when poll reach delay offset jitter
=============================================================================
*121.182.147.191 .GPS. 1 u 24 64 377 9.611 9.432 4.998
+time.bora.net 90.1.14.51 2 u 1 64 177 7.049 -4.907 12.329
+ntp1.sjtel.net 192.168.18.6 2 u 4 64 377 9.096 10.322 5.248
- *: 현재 동기화를 받고 있음을 의미합니다.
- +: NTP 알고리즘에 의해 접속 가능하지만 동기화하지 않음을 의미합니다.
- -: NTP 알고리즘에 의해 접속 가능하나 동기화 가능 리스트에서 제외됨을 의미합니다.
- 빈칸: 접속이 불가능함을 의미합니다.
NTP 서버 설정
자체 NTP 서버를 구축하려는 경우, 아래의 설정이 도움이 될 수 있습니다.
vi /etc/ntp/ntp.conf
예시 설정:
restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
# Stratum 2 server list
server ntp.ewha.net
server ntp1.epidc.co.kr
server time.bora.net
server time.wonkwang.ac.kr
server time.korserve.net
server noc6-3.koren21.net
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
Restrict 설정 설명
- restrict default nomodify notrap noquery: 기본적으로 모든 권한을 제한합니다.
- restrict 127.0.0.1: 서버 자신에게는 모든 권한을 부여합니다.
- restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap: 192.168.0.0 ~ 192.168.0.255의 C 클래스 네트워크는 질의할 수 있는 권한을 가집니다.
설정을 마쳤다면 다음 명령어로 NTP 데몬을 재시작하고, 동기화 상태를 확인합니다.
service ntpd restart
ntpq
마무리
NTP는 리눅스 시스템에서 시간을 정확하게 유지하는 데 필수적인 요소입니다. 올바른 설치 및 설정을 통해 안정적인 시간 동기화를 구현할 수 있습니다. 이러한 지식을 바탕으로 NTP 서버를 효율적으로 운영할 수 있습니다.
728x90