NTP 서버의 정의

NTP(Network  Time  Protocol)는 패킷교환, 가변 지연 데이터 네트워크를 통해 컴퓨터 시스템간의 시간 동기화를 위한 네트워킹 프로토콜이다. NTP보다 심플하게 구현된 SNTP가 있으며 이는 높은 시간정확도를 필요로 하지 않는 임베디드 장치 와 응용 프로그램에 사용된다. MS Window 2000과 XP 이전 버전에서는 SNTP를 사용하였고, Windows 2003, Vista 이후 버전에서 NTP를 사용하고 있다.

 

NTP는 보통 인터넷을 통해 수십밀리 초에서 이상적인 조건의 로컬 네트웍크 영역에서는 1밀리 초의 정확성을 유지할 수 있다. 2010년 구현을 위한 레프런스는 버전 4 (NTPv4, RFC 5906)이다.

NTP는 UDP(User Datagram Protocol) 포트 123 을 사용한다.  pool.ntp.org 에서는 수백만 클라이언트에게 안정적이고 사용하기 쉬운 커다란 가상의 시간 서버 클러스터를 제공한다.  시아트를 방문하면 가까운 지역의 카임서버를 찾을 수 있고 타임서버 풀에 참여할 수도 있다.

 

 

NTP 서버 구축

1. NTP  Package 설치 
    대부분의 리눅스 배포판에서 NTP 패키지를 배포하며, CentOS의 경우 다음과 같이 yum 으로
    NTP 서버를 설치할 수 있다. (클라이언트에서도 설치한다.)

 

# yum  -y  install  ntp

 

2. NTP  (서버 설정)
    NTP 서버는 2가지 역할을 한다.
    한가지는 NTP 클라이언트로부터 요청을 받아 시간 정보를 응답할 서버 역할이며,
    또 한 가지는 NTP 서버들로부터 시간정보를 요청하여 받아올 클라이언트 
역할이다.

   

    이 모든 설정을 /etc/ntp.conf  파일에 설정하게 된다. 

 

# vi  /etc/ntp.conf

restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# straum 2 server list
server  ntp.ewha.net
server  ntp1.epidc.co.kr
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

 

  • /etc/ntp.conf와 driftfile 과 keys의 경우 배포본마다 위치가 다를 수 있으니 확인을 하도록 한다.
  • restric 설정은 peer 들이 본 서버로 sync 하는 것에 대한 제한을 한다.
  • restrict default nomodify notrap noquery 설정은 기본으로 모든 권한을 주지 않음을 의미한다.
  • restrict 127.0.0.1 설정은 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 class 에서는 질의를 할 수 있는 권한을 가진다. 즉, 위의 2 라인은 항상 기본으로 들어가는 설정이며, peer 를 거느릴 서버에서는 (즉 A 의 입장에서는) 하위 peer 들의 질의를 받을수 있도록 3 번째 라인과 같이 restrict 설정을 해 주어야 한다.

설정을 마쳤다면, service ntpd restart 명령으로 ntpd 데몬을 시작하고, ntpq 명령을 이용하여 sync 를 잘 하고 있는지 확인을 한다.

 

 

NTP 명령어 (클라이언트)

다음 명령어를 통해 NTP 서버들의 상태를 확인 할 수 있다.

[root@pnfcfpscrtl ~]# ntpq -p
     remote           refid              st    t    when    poll    reach   delay   offset     jitter
=============================================================
*time.bora.net  203.250.179.76      3    u     62       64      377    8.347    2.121     0.774
+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


  • * : 현재 sync 를 받고 있음을 의미
  • + : ntp 알고리즘에 의해 접속은 가능하지만 sync 를 하고 있지는 않음을 의미
  • - : ntp 알고리즘에 의해 접속은 가능하지만 sync 가능 리스트에서 제외
  • blank : 접속이 불가능함을 의미

remote는 sync 를 하는 straum 2 서버주소를 가리키며, refid는 각 straum 2 서버가 현재 sync 를 하고 있는 straum 1 서버를 보여준다. st가 16일 경우 해당 서버에 접속 할 수 없음을 의미한다.

 

 

ntpdate  명령를 통해 원격지의 NTP 서버에 접속하여  직접 시간을 동기화할 수 있다.

# ntpdate -u 192.168.0.99 
 3 Nov 11:23:33 ntpdate[4286]: adjust time server 192.168.0.99 offset -0.004684 sec

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[특수 기호]

 

~ : 홈 디렉토리를 나타낸다.

$ : 변수의 값을 표출할때 변수 이름 앞에 사용한다.

& : 백그라운드 작업 실행의 위해 사용한다.

# : 주석

* : 와일드 카드 문자

? : 와일드카드(단일 문자)

\ : 다음 문자 일반  문자화

(  : 하위 쉘 시작

)  : 하위 쉘 끝

!  : 논리적으로  NOT 의미

/  : 디렉토리 경로 구분자

;  :  쉘 명령 구분자

< :  입력 리다이렉션 기호 ( 파일에서 입력값을 받음)

> :  출력 리다이렉션, 덮어쓰기

>> : 출력 리다이렉션 기호, 추가의 의미

`cmd` :  역 따옴표, 명령 내 명령을 실행

| : 파이프 명령의 출력값을 다른 명령의 입력값으로 사용

[ : 문자 집합의 시작을 나타냄 

] : 문자 집합의 끝을 나타냄.  (  #ls [ a-d]*.sh )

 

 

 

 

[ 인용 부호 ] 


 - 단일 따옴표(Single Quotes)
    : 감싸진 모든 특수 기호는 일반 문자화 처리
 - 이중 따옴표(Double Quotes)
     :  $, `, \를 제외한 모든 특수 기호가 일반 문자화 됩니다.

 

 

[ 중복 데이타 확인하기 ] 


SELECT  필드명, count(*) as 변수명   FROM   테이블명   GROUP BY  필드명  HAVING  변수명>n

SELECT  EMPID, COUNT(*) AS cnt  FROM `SYSBASE_EMPLOYEE_RESIGNATION`  GROUP BY  EMPID  HAVING  cnt > 1

+ Recent posts