kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

OS

리눅스 NTP 시간 동기화 설정

까마기 2014. 10. 29. 21:33
728x90
반응형

1. NTP

 - 시간을 맞추기 위한 통신망 시간 프로토콜

 - UDP 123을 사용, 포트 오픈 필요

 - 우리나라에서 운영되는 NTP 서버

     kr.pool.ntp.org

     time.bora.net

     time.nuri.net

 

2. NTP 설치

$ yum install ntp

 

 

3. ntpd 사용 설정

$ systemctl enable ntpd

 

 

4. NTP 설정

 - 시간 동시화를 받기위한 peer 설정

 - /etc/ntp.conf에서 기본 설정을 주석처리 후, 국내 NTP 서버 또는 IP 입력

vi /etc/ntp.conf
...
#server 2.centos.pool.ntp.org
server time.bora.net
server 192.168.56.100

시간 동기화 기준으로 잡을 ntp 서버 주소는 /etc/ntp.conf 파일에 기록한다.

[root@test]# cat /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
# ...생략...

server time.bora.net

 

:wq

 

5. ntpd 재시작

$ systemctl restart ntpd

 

ntp 데몬(daemon)은 ntpd 명령으로 띄울 수 있는데, SLEW 옵션으로 -x 을 주게 되면 서서히 시간이 변경된다.

[root@test]# ntpd -x

 

그리고 프로세스가 잘 떠있나 ps -ef 명령으로 확인해본다.

[root@test]# ps -ef | grep ntp | grep -v grep
root     30224     1  0 10:20 ?        00:00:00 ntpd -x

 

6. NTP 확인

$ ntpq -pn

* : 현재 sync 중

+ : 접속은 가능하지만, sync하고 있지는 않음

- : 접속은 가능하지만, sync 가능 리스트에서 제외

blank : 접속이 불가능 함

 

[root@test]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter

원칙적으로는 표준 시간과 시간차가 많이 나는 경우에는, 1. 해당 서버의 서비스를 모두 중단 →  2. 강제로 시간 설정(ntpdate 명령 이용) → 3. ntpd 실행의 순서로 진행해야겠으나, 이미 서비스가 운영 중이고 게다가 데이터베이스(DB, 오라클 DBMS 등...)를 운영 중인 서버라면, 무중단 상태에서 ntpd 실행 시 서버 시간이 역행하여 서비스에 문제를 일으킬 수 있으므로, 시간 역행(Time Backward) 방지하고, 시간을 서서히 맞추도록 slew 옵션(-x)을 주었다. ntpq -p 및 ntpstat 명령을 쳐보면, offset 차이가 처음엔 9000 ms 정도였으나, 3시간 정도 지난 지금은 4000 ms 정도로 서서히 줄어들고 있는 것을 확인할 수 있다.역주행 방지

 

 

참고1. ntpdate 명령어 사용하여 시간 동기화

(1) ntp 데몬 중지

$ service ntpd stop

 

(2) 시간 동기화 

$ ntpdate 10.10.100.100

 

 

참고2. ntp 서버와 시간 차이 확인방법

ntpdate -d 10.10.100.100

 

 

참고3. 매일 새벽에 시간동기화 Crontab 등록

(1) ntp 데몬 중지, disable

$ service ntpd stop

$ systemctl disable ntpd.service

 

(2) 스크립트 작성

/application/script/ntp.sh
#!/bin/bash
/usr/sbin/ntpdate 10.10.10.1 >> /app/script/ntp.log 2>&1

 

(3) Crontab 등록

$ crontab -e

30 3 * * * /application/script/ntp.sh

 

 

 

반응형