Linux // NTP
NTP(Network Time Protocol)
- 인터넷상의 시간을 정확하게 유지시켜 주기 위한 통신망 시간 규약
- 라디오나 원자시계에 맞추어 시간을 조정하며 밀리초 1/1000초 단위까지 시간을 맞출 수 있다. 기본적으로, NTP 방식은 straum 이라는 계층구조를 가지는데 straum 0 은 GPS 나 세슘 원자 시계등 시간을 구하는 장비를 말하며, straum 1은 GPS 나 세슘 원자 시계등에서 직접 시간을 동기화하는 서버를 의미한다.
-strum 2 부터는 트리 구조를 형성하게 된다. 보통 straum 2에서 동기화를 하고, 이 동기화를 받은 straum 3 서버에서 나머지 같이 운영하는 서버들을 peer로 해서 동기화를 시키므로써 straum 1 서버들의 부하를 줄인다.
우리나라 NTP 서버 리스트
1) ntp.ehwa.or.kr 이대부속 초등학교
2) time.bora.net LG U+
3) time.kornet.net KT
4) time.kriss.re.kr 한국 표준 과학 연구원 (KRISS)
Stratum 0 - 세슘 원자 시계, GPS, 표준 주파수 등을 이용하여 시간을 측정해주는 장비 (Primary Referance Clock)
Stratum 1 - Stratum 0 장비와 직접 연결되어 시간을 동기화 시킨 서버 (Primary Time Server)
Stratum 2 - 트리 구조로 구성되어 Stratum 1계층의 서버와 시간을 동기화 한다.
Stratum 3 - Server-A
Stratum 4 - Server-B
설치 # yum install ntp yum 사용하지 못한다면, 커널 버전을 확인한 후 인터넷을 통해 패키지를 받을 수 있다.
Port *NTP 는 UDP 123 을 기본 포트로 사용한다. 포트개방 필요
메인 서버 (master)
#Vi /etc/ntp.conf
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 100.100.100.0 mask 255.255.255.0 nomodify notrap (# 로컬 서버들이 시간 정보를 가져갈 수 있도록 접근제한을 풀어준다.)
# 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 time.kornet.net
server 127.127.1.0(선택)
기본적으로 입력되어있는 server 0.centos.pool.ntp.org 등을 주석처리 하거나 삭제하고 국내 NTP 서버로 대체한다.
> ntp 서버로 설정한 Server-A 는 time.bora.net의 시간을 동기화 받고 있음
client 설정(설치 동일)
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.rhel.pool.ntp.org // 기존에 설정된 server 들을 모두 사용하지 않습니다.
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
server 100.100.100.110 //사설망 내 시간 기준 서버를 지정
> Server-B 는 현재 Server-A 의 시간을 동기화 받고 있음
* 은 현재 sync 를 받고 있음을 의미
+ 은 ntp 알고리즘에 의해 접속은 가능하지만 sync 를 하고 있지는 않음을 의미
- 은 ntp 알고리즘에 의해 접속은 가능하지만 sync 가능 리스트에서 제외 blank 은 접속이 불가능함을 의미