LINUX(Server)

NTP

천천히, 한 걸음씩 2024. 4. 30. 19:57

NTP

* NTP ( Network Time Protocol ) 

- 각종 컴퓨터 , 서버 , 네트워크 장비들의 시간을
  동기화 시켜주는 프로토콜 / 프로그램
  
- UDP/123번 포트를 사용
- 계층(Stratum)구조로 이루어져 있다.

Stratum 0 - 세슘 원자 시계 , GPS, 표준 주파수 등을 이용해서
시간을 측정해주는 장비
Stratum 1 - 0계층 장비와 연결되어 시간을 동기화 시킨 장비
Stratum 2 - 1계층 서버의 시간을 동기화 시킨 장비

+@우리나라의 ntp 서버 리스트

time.bora.net LG U+
time.kornet.net KT
time.kriss.re.kr 한국표준과학연구원



* 서버 컴퓨터에서 시간이 중요한 이유

1) 로그에 대한 신뢰도
2) 예약작업 실행
3) 인증 , 백업시점의 불일치를 방지

+@ 다음과 같은 환경에서 NTP 서비스를 사용하는 것을 권장

자원 공유 서버 ( NFS ) 
데이터베이스 서버
로그 서버 
암호화 인증 및 키교환 환경


* 관련 명령어

① date : 현재 시간을 확인 및 설정하는 명령어
② clock : CMOS(하드웨어)시간을 확인하는 명령어

clock -w : 리눅스 시스템시간을 CMOS시간으로 변경
clock -s : CMOS시간을 리눅스시스템 시간으로 변경

③ rdate : 원격지의 시간을 현재 시스템으로 
  동기화 하는 명령어
  
rdate -p : 지정한 서버의 시간을 확인
Ex) rdate -p time.bora.net

rdate -s : 지정한 서버의 시간을 현재시간으로 동기화
Ex) rdate -s time.bora.net



! 서버 구축

[ 망 안에 모두 통신이 가능하면 악의적인 목적을 가진 사용자가 
      접근하여 서버에 피해줄 수 있으므로 피해를 최소화하기 위해
  보안적 관점으로 Server-A만 NTP와 통신할 수 있도록 구축 ]

time.bora.net ( LG U+ )
 |
 Server-A
 |
Server-B , Client-Linux


#setenforce 0
#service iptables stop


#yum install -y ntp xinetd rdate // ntp   : 시간 관련 패키지 
// xinetd: ntp 세부설정 지정
// rdate : 원격지의 시간을 설정


#vi /etc/ntp.conf // ntp 주 설정 파일
-----------------------
기존설정 모두 삭제 ( 100dd )

#NTP SERVER LIST
server time.bora.net // 시간정보를 요청할 서버 지정

:wq
------------------------

#vi /etc/xinetd.d/time-stream
--------------------------------

( 6번행 ) disabled = no // yes -> no로 수정

:wq
--------------------------------


#crontab -e // crontab에 등록
----------------------------------------------
0 1 * * * rdate -s time.bora.net && clock -w

-----------------------------------------------


#service ntpd start
#service xinetd start    // 클라이언트에서 동기화를 가능하게 하는 설정

#chkconfig ntpd on
#chkconfig time-stream on
#chkconfig time-dgram on

#ntpq -p

   remote           refid      st
==================================
time.bora.net   204.123.2.5      2 


remote : 상위 계층 서버의 ip주소 / 도메인주소
refit  : 다다음 계층 서버의 ip 주소 / 도메인주소
st    : 계층 정보 ( stratum )


#date // 현재 리눅스시스템 시간 확인
#clock  // CMOS시간 확인

#rdate -p time.bora.net // 동기화 할 서버의 시간 확인
#rdate -s time.bora.net //  리눅스 시스템시간을 동기화
#clock -w //  CMOS시간을 동기화

or (#rdate -s time.bora.net && clock -w )

#date // 변경되어진 시간확인
#clock // 변경되어진 시간확인


! 서비스 이용

@Client-Linux , Server-B

#yum install -y ntp rdate

#vi /etc/ntp.conf
--------------------------
기존 설정 모두 삭제

#NTP SERVER LIST
server 100.100.100.100

:wq
--------------------------

#service ntpd start
#chkconfig ntpd on

#ntpq -p // ntp 서버 확인


#date // 리눅스 시스템 시간확인
#clock // CMOS 시간 확인

#rdate -p 100.100.100.100 // 100.100.100.100의 시간확인

#rdate -s 100.100.100.100 && clock -w // 서버와 시간을 동기화

#date // 동기화 확인
#clock // 동기화 확인

#crontab -e // crontab에 등록
----------------------------------------------
0 1 * * * rdate -s 100.100.100.100 && clock -w

----------------------------------------------

'LINUX(Server)' 카테고리의 다른 글

해킹 실무  (2) 2025.06.24
Iptables  (1) 2024.05.01
PXE , Kick start  (0) 2024.04.29
DNS  (0) 2024.04.28
NFS  (2) 2024.04.27