작은숲:위키노트/NTP
NTP(Network Time Protocol)는 네트워크를 통해 시간을 맞출 수 있는 통신 규약이다. UDP 123번 포트를 사용하고 있으며 대부분의 작은숲:위키노트/리눅스 배포판에서 패키지로 지원한다. 서버에 ntpd를 구동하면 설정한 상위 NTP 서버와 통신해 서버의 시간을 1/1000초 단위까지 맞출 수 있다. 표준 시각은 세슘 원자 시계(Cesium-Beam Frequency Standards) 등으로 구한다. 전세계 표준 시각은 미 해군 천문대(USNO)에서 관리하고, 대한민국 표준시(KST, Korea Stand Time)는 대전에 있는 한국표준과학연구원 시간주파수연구실에서 관리한다. 이런 기관들에서 시간 정보를 제공 받아 네트워크를 통해 다른 컴퓨터의 시간을 맞출 수 있도록 해주는 서버를 타임 서버(Time server)라고 한다. 국내에 운용 중인 공용 타임 서버는 다음과 같다.
- kr.pool.ntp.org
- time.ewha.or.kr
- ntp.kr.cdnetworks.com
- time1.daum.net
- time2.daum.net
아래 서버들은 이전에 많이 사용했던 타임 서버인데, 최근에는 사용할 수 없거나 시간 차이가 많이 난다고 하니 이전에 아래 서버들로 설정했다면 수정하는 것이 좋다.
- time.bora.net
- time.nuri.net
- ntp1.sjtel.net
리눅스에서 NTP 설치와 설정
# yum -y install ntp
설치가 끝나면 /etc/ntpd.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 iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server kr.pool.ntp.org
server time1.daum.net
server time2.daum.net
server time.ewha.or.kr
설정 파일의 수정이 끝나면 데몬을 기동하고, 서버 부트할 때 데몬이 실행되도록 등록한다.
# service ntpd start
Starting ntpd: [ OK ]
# chkconfig ntpd on
# chkconfig --list | grep ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ntpq 명령으로 타임 서버에서 시간을 제대로 가져오는지 확인할 수 있다.
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+mail.funix.net 211.233.40.78 3 u 14 128 377 2.434 2.390 0.583
-211.233.78.116 212.26.18.43 3 u 16 128 377 1.130 6.869 1.066
+110.45.212.249 118.189.211.186 2 u 14 128 377 1.336 -2.278 0.450
*114.207.245.166 141.223.182.106 2 u 74 128 377 2.806 0.128 0.570
remote– 시간 정보를 가져오는 타임 서버*–remote앞에 붙어있는*표시는 현재 시간 정보를 가져오고 있는 서버를 나타낸다.+– 시간 정보를 가져올 수 있는 서버 (대상 서버 목록에 포함된 서버)#– 시간 정보를 가져올 수 있지만, 거리가 최대값을 넘는 서버-– 대상 서버 목록에서 제외된 서버- 비어 있는 경우 – 접속할 수 없는 서버
refid– 대상 서버의 상위 타임 서버st– 대상 타임 서버의 계층 단계t– 타임 서버의 형태 (u: 유니캐스트, b: 브로드캐스트, l: 로컬)when– 마지막 응답을 받은 후 지난 시간 (초)poll– 시간 정보 확인 간격 (초)reach– 대상 타임 서버로의 접속 성공 여부 (8진수, 377은 모든 시도가 성공했다는 것을 의미한다)delay– 타임 서버까지의 전송 시간 (ms)offset– 타임 서버와의 시간 차이 (ms)jitter– 타임 서버의 오류 범위 (ms)