'NTP'에 해당되는 글 1건

  1. 2008.09.04 NTP(Network Time Protocol)
2008. 9. 4. 18:46

NTP(Network Time Protocol)

 

 

 

               NTP(Network Time Protocol)

 

 

 

 

 

0. Why NTP !!!!

__________________

 

많은 네트워크 프로그램들은 시간 동기화가 필요하게 된다. 네트워크 상에서 서로 연동하

는 시스템들 간에 시간이 일치 하지 않게 된다면 다수의 시스템 장애처리, 성능카운트,

분석, 로깅등 수많은 문제점을 갖게된다.

 

NFS Server

DB Server

Logging Server

NMS Program(Network Management Solution)

Encyption

기타

 

 

 

===== WebServerA =====                 ===== NFS Server ====

 Date: 12:00                                12:10

        /p/file1(12:10)                 /source/file1(12:10)

======================                 =====================

                                                  A

===== WebServerB =====                            |

 Date: 12:40                                      +---- file1 생성

        /p/file1(12:10)

======================

 

             [그림] 서버간의 시간 동기화 이유

 

 

[참고] 실무에서 많이 사용하고 있는 방법 예

# rdate gps.bora.net

or

# ntpdate time.kriss.re.kr

 

# crontab -e

0 * * * * rdate gps.bora.net    (gps.bora.net:  210.120.246.46)

......

0 * * * * ntpdate time.kriss.re.kr

 

 

[EX] rdate 명령어 실습

 

# date

Fri Mar  7 10:45:34 KST 2008  (10 45 34)

 

# date 03070845               (03 07 08 45)

# date

Fri Mar  7 08:45:00 KST 2008  (03 07 08 45 00)

 

# rsh 172.16.8.254 date

 

# rdate 172.16.8.254

# date

(서버의 시간과 같은지 확인한다.)

 

 

 

 

 

1. NTP Server Overview

_________________________

 

NTP (network time protocol, 네트웍 시간 프로토콜)

 

NTP는 네트웍으로 연결되어 있는 컴퓨터들끼리 클록 시각을 동기화시키는데 사용되는 프

로토콜이다. NTP는 미국 델라웨어 대학의 데이빗 밀스에 의해 처음 개발되었으나, 이제는

인터넷 표준이 되었다. NTP는 컴퓨터 클록 시간을 1/1000 초 이하까지 동기화시키기 위

해 협정 세계시각(UTC)을 사용한다.

 

컴퓨터 네트웍 전반에 걸쳐 정확한 시각을 유지하는 것은 여러 가지 이유로 중요한데, 그

이유는 심지어 수십 분의 1초 정도의 차이만으로도 큰 문제가 발생될 수 있기 때문이다.

예를 들어 협정 세계시에 기반을 두면, 지역적으로 분산된 업무처리 환경에서도 작업 순

서가 정확히 유지될 수 있다. 보안 메커니즘 역시 네트웍 전체에 걸쳐 협정 세계시에 기

반을 두고 있다. 여러 대의 컴퓨터가 하나의 파일 시스템을 수정하는 것 역시 정확히 동

기화된 클록 시각에 의존해야 한다. 항공기의 운항 궤적을 그림으로 표시해 주는 항공관

제 시스템에도 매우 정확한 시간측정이 요구되는 것은 당연하다.

 

협정세계 시각은 무선이나 위성 시스템 등, 여러 가지 방법으로 얻어진다. GPS나 정부기

관 등과 같은 특수한 수신자들은 보다 높은 수준의 서비스를 이용하는 것이 가능하지만,

모든 컴퓨터에 수신기를 장착하는 것은 비경제적이며, 현실성이 없다. 그 대신에, 시각

서버로 지정된 컴퓨터들에만 수신기를 장착하고, 이 서버들과 네트웍으로 연결되어 있는

컴퓨터들의 클록 시각은 NTP와 같은 프로토콜을 사용하여 동기화하는 것이다.

 

협정세계시로부터 떨어져 있는 수준을 표시하기 위해 흔히 계층번호를 쓰는데, 0번 계층

은 전용 송신기 또는 위성 위치추적 시스템으로부터 수신된 실제 시각인 무선 클록을,

1번 계층은 이 무선 클록과 직접 연결되어 있는 컴퓨터의 클록을, 2번 계층은 1번 계층으

로부터 시각을 받은 컴퓨터 등으로 원천 협정 세계시로부터 멀수록 계층 번호가 커져 간다.

 

 

NTP라는 용어는, 프로토콜과 컴퓨터상에서 실행되는 클라이언트/서버 프로그램, 둘 모두

에 대해 사용된다. 프로그램은 사용자에 의해 NTP 클라이언트, NTP 서버, 또는 둘 모두로

해석될 수 있다. NTP 클라이언트는 시각 서버에 정확한 현재 시각을 교환할 것을 요구한다.

이 교환의 결과를 통해, 클라이언트는 서버의 시각과의 차이를 이용하여 링크 지연시간을

계산할 수 있으며, 자신의 클록을 서버에 있는 클록과 일치하도록 조정할 수 있다. 하나의

규칙으로서, 처음 클록을 맞추기 위해서는 5~10분 동안 모두 6번의 시각 교환이 요구된다.

일단 시각 동기화가 끝나면, 클라이언트는 매 10분마다 메시지 교환을 통해 클록을 수정

한다. 클록 동기화의 신뢰도 및 정확도를 높이기 위해, 여러 대의 서로 다른 서버와 다양

한 네트웍 경로가 사용된다. 클라이언트/서버 동기화에 아울러, NTP는 브로드캐스트를 통

한 컴퓨터 클록 동기화도 지원한다. NTP는 매우 높은 수준의 내고장성과 확장 가능성을

염두에 두고 설계되었다.

 

 

NTP 서버에서 사용되는 용어에 대해 알아보자.

 

(1). 기본적인 용어

■ Reference Clock   - GMT, UTC과 같이 표준시간 또는 참고 시간 (기준 시간)

■ Strata            - NTP 서버의 계층적 구조

■ Stratum-1 Server  - NTP 1계층 서버

   Stratum-2 Server  - NTP 2계층 서버

   ...    -15 ....   - NTP 15계층 서버(15까지 존재)

■ Drift File        - PPM(Parts-Per-Million)단위로 오프셋에 일치하는 단일 부동 소수

                       점이 들어가 있다. (예: /var/ntp/ntp.drift)

■ xntpd             - NTP 서버/클라이언트 데몬

■ ntp.conf          - NTP 서버/클라이언트 주 설정 파일

 

 

 

(2). 추가적인 용어

■ Resolution       - 시간 제공 장치에서 사용하는 시간의 최소 단위.

                       예) 손목시계의 Resolution : 1초

■ Precision        - 컴퓨터 프로그램에서 사용하는 시간의 최소 단위.

■ Accuracy         - 시간의 정확성. 기준시간(UTC)과 얼마나 근접한가를 나타냄.

■ Jitter           - 시간을 측정했을 때 생기는 오차 중 작은 값.

■ Wander           - 시간을 측정했을 때 생기는 오차 중 큰 값.

 

 

[참고] UTC & GMT

■ UTC(Universal Time Coordinate) 협정 세계시, 그리니치 표준시 대신 방송에 사용되

   는 표준시. 협정 세계시는 국제 사회가 사용하는 과학적 시간의 표준입니다.

   1972년 1월 1일부터 시행된 협정세계시에서는 67년 국제도량형총회가 정한 세슘원자의

   진동수에 의거한 초의 길이가 그 기준(원자초)으로 쓰인다. 그 때까지 시간의 기준으로

   는 지구의 자전에 의한 평균태양시와 지구의 공전에 의한 태양년에서 산출한 초의 길이

   가 쓰였다. 그리니치표준시(GMT)는 원래 평균태양시를 기준으로 한 것이었다. 따라서

   원자시계를 표준으로 하면서부터 GMT라는 명칭이 실체(實體)를 바르게 나타내지 못하는

   불합리한 점이 생겼다. 이러한 문제를 없애기 위해서 1978년 국제무선통신자문위원회

   (CCIS) 총회는 통신분야에서는 금후 그리니치평균시를 협정세계시(UTC)로 바꾸어 쓰자

   는 권고안을 채택하였다.

 

■ GMT(Greenwich Mean Time) 그리니치 표준시.

   그리니치천문대를 지나는 본초자오선(그리니치자오선)을 기준으로 하는 시. 약호 GMT.

   약칭하여 그리니치시라고도 한다. 1925년 이전의 그리니치시는 정오(正午)를 0시로 하여

   시간을 재기 시작하는 방식의 천문학용 평균태양시의 명칭이었다. 이에 반해 일상생활에

   서는 자정을 0시로 하여 시간을 재는 방식이 사용되었으며, 이것을 그리니치상용시(GCT)

   라고 하였다. 1925년 1월 1일 국제천문연합에서는 그리니치시를 12시간 앞당겨 그리니치

   상용시와 일치시켰으며, 이를 세계시(世界時)라고 하여 전세계 공통의 표준시로 사용하

   였다. 그러나 지구의 자전을 근거로 한 이 세계시는 수정시계나 원자시계와 비교한 결과

   지구 자전의 불규칙성에 의한 오차가 있으므로 1972년 이후에는 새로이 협정세계시가 세

   계표준시로 사용되었다. 협정세계시란 세계시와는 달리 원자 방사(放射)의 진동수를 기

   준으로 하고, 원자시의 초(秒)를 세분하여 세계시와의 차이가 0.9초 이내가 되도록 만든

   것이다.

 

[참고] 참고 URL(시, 시간의 인식, 시의 척도, 시법, 하루의 시작, 보시등)

http://kr.dic.yahoo.com/search/enc/result.html?p=UTC&pk=15348300&subtype=&type=enc&field=id

 

 

[참고] Stratum 1 / Stratum 2

http://www.ntp.org

Stratum 1 Server : http://support.ntp.org/bin/view/Servers/StratumOneTimeServers

Stratum 2 Server : http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers

 

 

 

 

 

2. NTP Server Concept

________________________

 

 

(1). Startup Script

 

부팅시에 실행되는 스크립트로는 런레벨2에서 동작하는 S74xntpd 스크립트에 의해 xntpd

데몬이 동작하게 된다. xntpd 데몬은 기본값으로 123번 포트를 사용한다.

 

- /etc/init.d/xntpd stop/start

- /etc/rc2.d/S74xntpd

 

 

 

(2). NTP Network Transfer Time Check

 

 NTP Client           NTP Server

     |                     |

  T1 | ------------------> | T2

     |                     |

     |                     |

  T4 | <------------------ | T3

     |                     |

     |                     |

 

네트워크에서 보낸시간 = [(T2-T1)+(T4-T3)] / 2

 

 

(a). NTP Client는 NTP 서버에 현재 시간을 요구하는 요청을 보낼 때, 패킷에 클

     라이언트의 현재 시간(T1)을 포함하여 보낸다.

(b). 클라이언트의 요청을 받은 NTP 서버는 요청을 받았을 때의 서버 시간(T2)을

     패킷에 포함한다.

(c). NTP 서버는 현재 UTC 시간을 패킷에 포함하고, 클라리언트로 보내는 순가의

     서버 시간(T3)도 패킷에 포함하여 클라이언트의 요청에 응답한다.

(d). 클라이언트는 서버의 응답을 받는 순간의 시간(T4)과 나머지 시간들을 이용

     하여 네트워크에서 얼만큼의 시간을 보냈는지 판단하여 UTC 시간에 더한 후

     시스템의 시간으로 설정한다.

 

 

 

 

 

3. NTP Server Configuration

_____________________________

 

# cd /etc/inet

# ls ntp.*

(ntp.server, ntp.client) => ntp.conf

 

ntp.server : NTP Server Templete Configuration File

ntp.client : NTP Client Templete Configuration File

 

 

(1). Undiscipline Local Clock

# cd /etc/inet

# cp ntp.server ntp.conf

# vi ntp.conf

......

server 127.127.1.0 prefer         <----- 라인 수정(XType -> 1)

#fudge 127.127.XType.0 stratum 0  <----- 주석 처리

......

driftfile /var/ntp/ntp.drift      <----- 정보 확인

......

# touch /var/ntp/ntp.drift

# /etc/init.d/xntpd stop

# /etc/init.d/xntpd start

 

 

 

(2). Discipline Clock

 

# cp ntp.server ntp.conf

# vi ntp.conf

......

server time.kriss.re.kr prefer      <----- 라인 추가

server gps.bora.net                 <----- 라인 추가

server <NTP 서버 IP>                <----- 라인 추가

......

#fudge 127.127.XType.0 stratum 0    <----- 주석처리

......

 

# touch /var/ntp/ntp.drift

# /etc/init.d/xntpd stop

# /etc/init.d/xntpd start

 

 

[참고] server Directive

server 지시자 다음에 쓸수있는 대표적인 기관(IP)은 한국표준연구원입니다. 시스템(서버)

의 시간을 세계표준시(초단위까지)로 설정하고 싶다면 rdate 명령어를 사용하여 다음과

같이 사용합니다.

 

# rdate time.kriss.re.kr

or

# ntpdate time.kriss.re.kr

(time.kriss.re.kr : 210.98.16.100)

한국표준연구원 : http://www.kriss.re.kr

                 시간, 길이, 질량등 모든 표준을 관리합니다.

 

 

[참고] ntp.server 파일 해석

/etc/inet/ntp.server (/etc/inet/ntpd.conf) 파일의 해석에 대해 알아 보자.

ntp.conf 파일의 해석에 대한 글은 KIPA 사이트의 글을 인용하여 만들었습니다.

 

 

# vi /etc/inet/ntp.server

------------------- ntp.server 파일 해석 시작 -----------------------------

(a) 주석 부분 해석

 

/etc/inet/ntp.conf로 복사하여 수정할 수 있는 예제 파일입니다. 이

파일은 외부 하드웨어 클럭을 수신하여 로컬 클럭을 동기화시키고 NTP

멀티캐스트 넷에 자신을 발표하는 서버를 위한 환경 설정 템플릿으로

사용할 수 있습니다.

 

다음 클럭 장치들에 대해서는 RFC 1305를 참조하십시오.

이것은 외부 클럭 장치입니다. 다음 장치들은 xntpd 3.4y에 의해 인식됩니다.

 

XType 장치 이름 해설

 

# XType Device    RefID          Description

# -------------------------------------------------------

#  1    local     LCL            Undisciplined Local Clock

#  2    trak      GPS            TRAK 8820 GPS Receiver

#  3    pst       WWV            PSTI/Traconex WWV/WWVH Receiver

#  4    wwvb      WWVB           Spectracom WWVB Receiver

#  5    true      TRUE           TrueTime GPS/GOES Receivers

#  6    irig      IRIG           IRIG Audio Decoder

#  7    chu       CHU            Scratchbuilt CHU Receiver

#  8    parse     ----           Generic Reference Clock Driver

#  9    mx4200    GPS            Magnavox MX4200 GPS Receiver

# 10    as2201    GPS            Austron 2201A GPS Receiver

# 11    arbiter   GPS            Arbiter 1088A/B GPS Receiver

# 12    tpro      IRIG           KSI/Odetics TPRO/S IRIG Interface

# 13    leitch    ATOM           Leitch CSD 5300 Master Clock Controller

# 15    *         *              TrueTime GPS/TM-TMD Receiver

# 17    datum     DATM           Datum Precision Time System

# 18    acts      ACTS           NIST Automated Computer Time Service

# 19    heath     WWV            Heath WWV/WWVH Receiver

# 20    nmea      GPS            Generic NMEA GPS Receiver

# 22    atom      PPS            PPS Clock Discipline

# 23    ptb       TPTB           PTB Automated Computer Time Service

# 24    usno      USNO           USNO Modem Time Service

# 25    *         *              TrueTime generic receivers

# 26    hpgps     GPS            Hewlett Packard 58503A GPS Receiver

# 27    arc       MSFa           Arcron MSF Receiver

 

일부 장치들은 "fudge" 인자를 사용하여 도움을 얻을 수 있습니다.

xntpd 문서를 참조하십시오.

 

피어나 서버 중의 하나입니다. "XType"을 위의 표의 값으로 바꾸십시오.

 

로컬 하드웨어 클럭 장치를 추가하는 경우,

드라이버는 여기서 server 127.127.XX.0과 같은 지시문으로

지정됩니다. 여기서 127.127은 NTP에게 이것이 원격 네트워크 피어가

아니라 로컬 네트워크 피어임을 알려 주는 것이고, XX는 NTP 배포판에 설명된

클럭 유형입니다. 이 환경 설정 파일의 제한 지시문은 이 호스트가

지정된 두 IP 주소와만 대화를 하도록 지정합니다. 호스트는 그 외의

다른 주소는 신뢰하지 않으며, 다른 주소에 시간을 할애하지 않을 것입니다.

배포판에는 많은 제한 옵션에 대한 문서 자료가 포함되어 있습니다.

예를 들어 다음 코드 라인을 사용하면 이 호스트를 시간 서버로 설정할 수 있습니다.

    restrict default notrust nomodify

이 코드 라인은 요청을 받으면 시간 패킷을 보내지만 다른 피어에

동기화시키지는 않는다는 의미입니다.

 NTP의 통계 자료 및 파일 생성 기능을 이용하면 NTP 성능을 기록 처리할 수

있습니다. 예를 들어, /usr/adm/peerstats의 레코드의 형식은 다음과 같습니다.

 

MJD Second Peer IP Stat Offset Delay Dispersion

49815 60424.676 192.5.41.40 9614 -0.000040 0.00169 0.00793

 

UT 일이 시작된 이후 60424.676 초가 경과한 때인 Modified Julian Date 49815에

행해진 이 항목은 주소가 192.5.41.40인 시간 서버와 비교하여 클럭을

-0.000040 초 만큼 보정했음을 알려줍니다. 두 시스템 사이의 네트워크

시간 지연은 (실제로는 바로 옆 방에 있는 시스템인데도) 0.00169초로

계산되었고, 시간 지연 추정값 샘플의 분산은 0.00793 초였습니다.

Stat 필드에는 RFC-1305 문서에서 자세히 설명하는 것처럼 ntp 상태 플랙이

지정됩니다. 공개 NTP 릴리스의 scripts/stats 디렉터리에는 이러한 로그

파일을 요약하는 유틸리티들이 있습니다.

 

 

 

(b). server & fudge 설정

 

그곳에는 기본 설정에 따라 다음 두 코드 라인이 있습니다. 사용자의 설정 내용에 따라 그

내용을 수정하십시오.

 

     # server 127.127.XType.0 prefer          //server용

     # fudge 127.127.XType.0 stratum 0        // next stratum servern

 

세 가지 종류의 시간 서버

(ㄱ). peer host_address [ key # ] [ version # ] [ prefer ]

로컬 서버가 host_address로 지정된 원격 서버와 함께 대칭형 액티브 모드로 작동하게 지

정하는 것입니다. 즉, 로컬 서버를 원격 서버에 동기화시킬 수 있습니다.

 

(ㄴ). server host_address [ key # ] [ version # ] [ prefer ] [ mode # ] server

로컬 서버가 명령에 따라 이름이 지정된 원격 서버에 대해 "클라이언트" 모드로 작동하게

지정하는 것입니다. 이 모드에서는 로컬 서버를 원격 서버에 동기화시킬 수 있지만, 원격

서버는 절대로 로컬 서버에 동기화시킬 수 없습니다.

 

(ㄷ). broadcast host_address [ key # ] [ version # ] [ ttl # ]

로컬 서버가 "broadcast" 모드로 작동하게 지정하는 것입니다. "broadcast" 모드에서 로

컬 서버는 명령으로 이름이 지정된 브로드캐스트/멀티캐스트 주소의 클라이언트에게 주기

적으로 브로드캐스트 메시지를 보내게 됩니다.

 

key 이 주소로 보내진 모든 패킷에 지정된 키 번호를 사용하여 암호화된 인증 필드가 포

함되어 있음을 가리킵니다. 이 숫자의 범위는 부호가 붙지 않은 32 비트 정수의 범위입니

다. 달리 지정하지 않으면, 암호화 필드가 포함되지 않습니다. version 밖으로 보내는

NTP 패킷에 대해 사용할 버전 번호를 지정합니다. version 1, version 2, version3 중에

서 선택합니다. 기본 설정값은 version 3입니다. prefer 호스트를 우선 호스트로 표시합니

다. 이 호스트는 비교할 수 있는 다른 호스트를 통하여 동기화시킬 때 우선 처리됩니다.

전체 목록은 xntpd에 관한 매뉴얼 페이지를 참조하십시오.

 

필자는 로컬 클럭을 서버 클럭으로 사용하므로, Xtype=1입니다.

fudge 명령은 다음과 같이 특별한 방식으로 클럭을 참조하기 위해 사용할 수 있습니다.

fudge 127.127.t.u [ time1 secs ] [ time2 secs ]

[ stratum int ] [ refid int ] [ flag1 0|1 ]

[ flag2 0|1 ] [ flag3 0|1 ] [ flag4 0|1 ]

stratum: 0에서 15까지의 범위에 속하는 숫자이며 클럭에 비표준 작동 방식을 할당하는

데 사용됩니다. 달리 지정하지 않으면, 이 값은 0입니다. 프라이머리 서버는 대체로

stratum을 0보다 큰 값으로 표시합니다.

자세한 내용은 xntpd에 관한 매뉴얼을 참조하십시오.

 

 

     server 127.127.1.0 prefer

     fudge 127.127.1.0 stratum 0

 

 

 

(c). 다양한 옵션 설정 / 해제

 

enable auth|bclient|pll|monitor|stats [ ... ]

disable auth|bclient|pll|monitor|stats [ ... ]

 

신뢰할 수 있는 키와 식별 부호를 사용하여 환경 설정이 되지 않은 피어를 정확하게 인증

한 경우에만 서버가 그 피어와 동기화됩니다. 또한 모니터 기능도 사용하도록 설정합니다.

 

     enable auth monitor

 

 

 

(d). Drift File의 위치 지정

 

drift 파일의 위치를 지정합니다 이 파일에는 ppm(parts-per-million) 단위로 오프셋에 일

치하는 단일 부동 소수점 값이 들어 있습니다.

 

     driftfile /var/ntp/ntp.drift

 

 

 

(e). ntpstat 디렉토리 지정

 

ntpstats 디렉토리를 지정합니다.

 

     statdir /var/ntp/ntpstats

 

# cd /var/ntp/ntpstats

# ls

.....

loopstats.20070826   peerstats.20070709   peerstats.20071101

loopstats.20070828   peerstats.20070710   peerstats.20071102

loopstats.20070829   peerstats.20070711

loopstats.20070905   peerstats.20070714

......

 

# cat peerstats.20071102

......

54406 16854.142 0.000000 -28.4410 6

54406 16918.141 0.000000 -28.4410 6

54406 16982.138 0.000000 -28.4410 6

54406 17046.137 0.000000 -28.4410 6

 

 

 

(f). peerstats, loopstats, clockstats 설정

 

peerstats, loopstats, clockstats 등의 파일을 생성하고 파일을 사용할 있도록

합니다.

 

filegen name [ file filename ] [ type typename ] [ flag flagval ] [ link|nolink ]

             [ enable|disable ]

하루 동안 피어, 루프, 클럭 등의 stat 파일을 생성하고 그 파일을 사용할 수 있도록 설

정합니다.

 

유형과 관련된 다른 옵션들은 다음과 같습니다.

week,month,year,age ,none

 

     filegen peerstats file peerstats type day enable

     filegen loopstats file loopstats type day enable

     filegen clockstats file clockstats type day enable

 

 

 

(g). 인증 기법 지정

 

인증 기법을 사용하는 경우 이곳에서 지정하십시오

keys filename

인증 모드로 작동할 때 xntpd가 사용하는 암호화 키와 키 식별 부호가 들어 있는 파일의

이름을 지정합니다.

 

     keys /etc/inet/ntp.keys

     trustedkey 0

     requestkey 0

     controlkey 0

 

trustedkey # [ # ... ]

동기화에 적합한 인증 피어의 목적에 맞게 신뢰할 수 있는 암호화 키 식별자를 지정합니

다. 인증 절차를 사용하려면 로컬 서버와 원격 서버가 모두 이러한 목적으로 사용하도록

정의된 키와 키 식별자를 동일하게 공유해야 합니다. 하지만, 서버마다 다른 키를 사용할

수도 있습니다. 인수는 부호가 붙지 않은 32 비트 정수입니다. 하지만, key 0는 고정되어

있고 글로벌 영역에 알려져 있다는 점에 유의하십시오. 의미있는 인증을 실행해야 한다면,

0 키를 신뢰해서는 안됩니다.

 

controlkey #

ntpq(1M) 프로그램에서 사용할 키 식별자를 지정합니다. 이 프로그램은 xntpd 동작에 영

향을 주는 문제들을 진단하고 수리하는 데 도움이 됩니다. ntpq 프로그램과 xntpd의 동

작은 RFC 1305 규정의 내용과 일치합니다. 로컬 서버의 상태에 영향을 주는 원격 ntpq 프

로그램에서 보내는 요청은 인증되어야 합니다. 이렇게 하려면 원격 프로그램과 로컬 서버

가 모두 공통 키와 키 식별자를 공유해야 합니다. 이 명령의 인수는 부호가 붙지 않은 32

비트 정수입니다. 환경 설정 파일에 controlkey 명령이 포함되어 있지 않거나 키가 일치

하지 않은 경우, 이러한 요청은 무시됩니다.

 

authdelay seconds

로컬 컴퓨터의 NTP 인증 필드를 암호화하는 데 걸리는 시간을 알려줍니다. 이 값은 밖으

로 나가는 패킷에 대해 인증을 할 때 전송 타임스탬프를 교정하는 데 사용됩니다. 이 값

은 호스트 컴퓨터의 CPU 속도에 따라 다르지만 일반적으로 0.0001 초에서 0.003 초의 범

위에 있습니다.

 

액세스 제어 명령:

액세스를 제한하는 데 restrict를 사용하는 것 이외에는 지금은 사용하지 않습니다.

 

구문:

restrict address [ mask numeric_mask ] [ flag ] [ ... ]

이 환경 설정 파일의 제한 지시문은 이 호스트가 지정된 두 IP 주소와만 대화를 하도록

지정합니다. 호스트는 그 외의 다른 주소는 신뢰하지 않으며, 다른 주소에 시간을 할애

하지 않을 것입니다. 배포판에는 많은 제한 옵션에 대한 문서 자료가 포함되어 있습니다.

예를 들어, 다음 코드 라인을 사용하면 이 호스트를 시간 서버로 설정할 수 있습니다.

restrict default notrust nomodify

이 코드 라인은 요청을 받으면 시간 패킷을 보내지만 다른 피어에 동기화시키지는 않는다

는 의미입니다.

 

xntpd는 범용 주소-마스크 기준 제한 목록을 실행합니다.

자세한 내용은 xntpd에 관한 매뉴얼 페이지를 참조하십시오.

 

------------------- ntp.server 파일 해석 끝 -----------------------------

 

 

 

 

 

4. NTP Client Configuration

____________________________

 

# cd /etc/inet

# cp ntp.client ntp.conf

# /etc/init.d/xntpd stop

# /etc/init.d/xntpd start

 

 

 

 

 

5. NTP Practice

___________________

 

NTP Server : 172.16.8.254

NTP Client : 172.16.8.202

 

(NTP Server)

# cd /etc/inet

# cp ntp.server ntp.conf 

# vi ntp.conf

.....

server 210.98.16.100 prefer  (210.98.16.100 -> time.kriss.re.kr)

.....

# touch /var/ntp/ntp.drift

# /etc/init.d/xntpd stop

# /etc/init.d/xntpd start

 

TERM1)

# tail -f /var/adm/messages

TERM2)

# snoop -d hme0 | grep -i ntp

 

 

(NTP Client)

# cd /etc/inet

# cp ntp.client ntp.conf

# /etc/init.d/xntpd stop

# /etc/init.d/xntpd start

 

TERM1)

# tail -f /var/adm/messages

TERM2)

# snoop -d hme0 | grep -i ntp

 

(NTP Client) Time Changes

Manually set your NTP client systems time 30 seconds back. Do not

set your systems clock more than an one minute out because the

xntpd process requests manual intervention for large time changes.

 

# date              (current time :  21:20 15)

# date 11022120     (current time :  21:20 00)

....(1~2분후에)....

# date

# rsh 172.16.8.XXX date (NTP Server IP)

 

 

 

 

 

6. Reference

_____________________

 

[NTP Server Configuration File]

 

server 127.127.1.0 prefer     The IP address of the preferred NTP server. In this

                              case, the loopback address is used, indicating the

                              use of a local undisciplined clock. The server

                              keyword indicates an IP address of an NTP server

                              from which time will be received. If the system

                              happens to be a stratum-1, then you use X in the

                              127.127.X.0 syntax to identify a reference clock

                              source. If the server is a stratum-2 (or higher), this

                              entry would be an IP address of another NTP

                              server to contact for time information. The prefer

                              keyword means that if multiple systems of the

                              same strata are used to getting clock information,

                              a preferred server is the one that will always be

                              used when performing calculations.

 

fudge 127.127.1.0 stratum 0   The fudge entry is available to change (fudge) the

                                                             stratum that the server advertises.

 

broadcast 224.0.1.1 ttl 4             The address the server uses to advertise to the

                                                             network along with the time-to-live (TTL) value to

                                                             use in the IP datagrams.

 

enable auth monitor                   The configuration entry that enables

                                                             authentication and the monitoring facility.

 

 

driftfile /var/ntp/ntp.drift  The location of the drift file.

 

statsdir /var/ntp/ntpstats/   The location of NTP statistics.

 

keys /etc/inet/ntp.keys               The conventional name of the key file used for

                                                             authentication.

 

trustedkey 0                                 The encryption identifier. (Refer to RFC 1305 for

                                                             more information.)                   

 

controlkey 0                                 The key identifier. (Refer to RFC 1305 for more

                                                             information.)

 

 

 

 

 

6. 참고 사이트

 

[1] http://www.ntp.org

[2] http://www.kipt.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=pds&page=1&wr_id=24