tail head cat sleep
QR code linking to this page

Man page  — NTP.CONF

명칭

ntp.conf – 네트워크 타임 프로토콜 (NTP) demon의 설정 파일

내용

서식


/etc/ntp.conf

해설

ntp.conf 설정 파일은, ntpd(8) demon의 초기 시동시에, 동기용 시각 공급원, 모드, 그 외 관련 정보를 지정하기 위해서 읽어들입니다. 통상은, 이 설정 파일은 /etc 디렉토리에 인스톨 됩니다만, 어느 디렉토리에도 인스톨 가능합니다 (demon의 -c 명령행 옵션을 참조).

파일의 포맷은, 다른 Unix 설정 파일과 닮아 있습니다. 코멘트는, 캐릭터 ‘#’ (으)로부터 시작해, 줄 끝까지 계속됩니다. 또, 공행은 무시됩니다. 설정 명령은, 선두의 키워드와 그 후에 계속되는 인수의 리스트로부터 됩니다. 인수에는 옵션의 것도 있습니다. 각 인수는 공백에서 단락지어지고 있습니다. 명령은, 복수의 행에 걸칠 수 없습니다. 인수로서 호스트명, 닷으로 4 개의 부분에 단락지어진 형식의 수치로 쓰여진 호스트 주소, 정수, 부동 소수점으로 표현된 수치 (초에 시간을 지정했을 경우), 텍스트 캐릭터 라인이 있습니다.

이 메뉴얼 페이지의 나머지에서는, 설정과 제어 옵션에 대해 말합니다. "NTP 의 설정과 NTP 서스네트워크의 설정에 관한 주의" 의 페이지 ( /usr/share/doc/ntp 에 있다 HTML 문서의 일부로서 입수 가능합니다) 그럼, 이것들 옵션에 대해 더욱 진행된 논의가 있습니다. 일반적인 설정 옵션 의 논의에 가세해, 서포트되고 있는 기능과 그 기능을 제어하기 위한 옵션에 대해 말한, 다음과 같은 섹션이 있습니다:

이러한 섹션의 뒤에 그 외의 옵션 에 대해 말한 섹션도 있습니다. 이용 가능한 옵션은 풍부하게 있습니다만, 필요한 옵션은, server, peer, broadcast, manycastclient 명령 뿐입니다.

설정 옵션

다음에 말하는 것은, NTPv4 의 설정 명령에 대해입니다. 이러한 명령은, 기본적인 기능은 NTPv3 때와 같습니다만, 경우에 따라서는, 새로운 기능이나 인수를 가진 것이 있습니다. 명령에는, 2 종류의 클래스가 있습니다. 설정 명령은, 리모트 서버 또는 통신 상대 또는 참조 시계와의 영속적인 어소시에이션의 설정을 행합니다. 보조 명령은, 다양한 관련 조작을 제어하는 환경 변수를 설정합니다.

설정 명령

명령의 키워드 및 필요하게 되는 IP 주소의 종류에 의해, 다양한 모드가 결정됩니다. 주소는 다음과 같은 종류에 클래스 나누고 됩니다. (s) 리모트 서버 혹은 통신 상대 (IP 클래스 A, B, C 의 언젠가), (b) 로컬 인터페이스의 브로드캐스트 어드레스, (m) 멀티 캐스트 주소 (IP 클래스 D), 혹은, (r) 참조 시간 주소 (127.127.x.x)입니다. 이하에서는, 각 명령에 적용 가능한 옵션만을 기재하고 있는 것에 주의해 주세요. 기재하고 있지 않는 옵션을 사용해도 에러가 되지 않을지도 모릅니다만, 그 결과, 이상한 일을 하거나 파괴적인 일을 저지르거나 하는 일이 있습니다.
[ key key | autokey] [ burst] [ iburst] [ version version] [ prefer] [ minpoll minpoll] [ maxpoll maxpoll]
[ key key | autokey] [ version version] [ prefer] [ minpoll minpoll] [ maxpoll maxpoll]
[ key key | autokey] [ version version] [ prefer] [ minpoll minpoll] [ ttl ttl]
[ key key | autokey] [ version version] [ prefer] [ minpoll minpoll] [ maxpoll maxpoll] [ ttl ttl]

이것들 4 개의 명령은, 사용하는 타임 서버명 또는 주소와 동작을 실시하는 모드를 지정하는 것입니다. address (은)는, DNS 명에서도 닷으로 4 개의 부분에 단락지어진 형식의 IP 주소에서도 좋습니다. 어소시에이션의 행동해에 관한 새로운 정보는, "어소시에이션 관리" 의 페이지에 있습니다.
server
  타입 s 및 r 의 주소용입니다. 이 명령은, 리모트 서버 또는 로컬의 라디오 시계와의 영속적 클라이언트 모드의 어소시에이션을 행사합니다. 이 모드에서는, 로컬 시계가 리모트 서버에 동기 하는 것은 있습니다만, 리모트 서버가 로컬 시계에 동기 하는 것은 결코 없습니다. 이 명령은, 타입 b 또는 m 의 주소에 대해서 사용해야 하는 것은 없습니다.
peer 타입 s 의 주소 전용입니다. 이 명령은, 지정한 리모트의 통신 상대와의 사이에 영속적 대칭 액티브 (symmetric-active) 모드의 어소시에이션을 행사합니다. 이 모드에서는, 로컬 시계가 리모트의 통신 상대에게 동기 하는 것이 있습니다. 또, 리모트의 통신 상대가 로컬 시계에 동기 하는 일도 있습니다. 이 성질은, 다양한 고장의 생기는 방법에 따라서는, 로컬측과 리모트측의 어느쪽이나가 보다 좋은 시각원이 될 수 있는 것 같은, 서버의 네트워크로 유익합니다. 이 명령은, 타입 b, m 혹은 r 의 주소에 대해서 사용해야 하는 것은 없습니다.
broadcast
  타입 b 및 m 의 주소 전용입니다. 이 명령은, 영속적 브로드캐스트 모드의 어소시에이션을 행사합니다. 복수의 로컬 브로드캐스트 인터페이스 (서스네트워크) 및 / 혹은, 복수의 멀티 캐스트 그룹을 지정하기 위해(때문에), 복수의 명령을 사용할 수 있습니다. 로컬의 브로드캐스트 메세지는, 지정된 서스네트워크에 관련 지을 수 있었던 인터페이스인 만큼 도달하기로 주의해 주세요. 다만, 멀티 캐스트 메세지는 모든 인터페이스에 도달합니다. 브로드캐스트 모드에서는, 로컬 서버는, 지정한 주소에 대기하고 있는 클라이언트군에 대해서 정기적으로 브로드캐스트 메세지를 송신합니다. 이 때의 주소는, 통상은, 로컬 네트워크 (의 1 개(살))의 브로드캐스트 어드레스, 혹은 NTP 에 할당할 수 있었다 멀티 캐스트 주소입니다. IANA 는, 멀티 캐스트 그룹의 주소 224.0. 1.1 을 NTP 전용에 할당하고 있습니다. 그러나, 메세지를 수용하기 위해서, 그 외의 경합 하지 않는 주소도 관리 경계내에서 사용할 수 있습니다. 원래, 이 사양은, 로컬 서버가 송신측으로서 동작할 때 마셔 적용되는 것입니다. 브로드캐스트 클라이언트로서 동작시키고 싶은 경우는, 후에 설명한다 broadcastclient 혹은 multicastclient 명령의 항을 참조해 주세요.
manycastclient
  타입 m 의 주소 전용입니다. 이 명령은, 지정된 멀티 캐스트 주소에 대해서 메니캐스트크라이안트모드의 어소시에이션을 행사합니다. 이 경우, 사용하는 메니캐스트서바로 manycastserver 명령로 지정한 주소와 일치하는 주소를 지정하는 것이 필요합니다. IANA 가 할당한 224.0. 1.1 이라고 하는 멀티 캐스트 주소는, 사용해야 하지는 않습니다. 다만, 이러한 메세지가 인터넷상의 광대한 area에 마구 따돌려 거기에 따라 방대한 양의 리플라이가 보내는 사람에게 집중하지 않게, 무엇인가 특별한 수단을 강의(강구)하고 있는 경우는 별도입니다. manycastserver 명령은, 로컬 서버가 클라이언트 모드로 동작하는 것을 지정합니다. 로컬 서버는, 브로드캐스트 / 멀티 캐스트 메세지를 보낸 결과 발견한 리모트 서버와 함께, 클라이언트 모드로 동작합니다. 클라이언트는, 지정했다 address 에 관련하는 그룹 주소에, 요구 메세지를 보냅니다. 그리고, 특히 유효하게 된 서버가 이 요구 메세지에 응답합니다. 클라이언트는, 가장 정확한 시간을 제공하는 서버를 선택해, 이후는, server 명령을 사용했을 경우와 같은 동작을 계속합니다. 그 이외의 서버는, 전혀 응답을 수신하지 않았는지와 같이 무시합니다.

옵션:
autokey
  서버 혹은 통신 상대와의 사이에 송수신 한 패킷의 모두가, 인증 옵션 의 항으로 설명하는 autokey 방식을 사용해 암호화되었다 인증 필드를 포함하게 됩니다.
burst 서버가 도달 가능한 경우, 폴링 간격 마다, 통상의 패킷 1 개 대신에, 패킷 8 개를 burst적으로 송신합니다. 최초의 패킷과 2 개째의 패킷의 간격은 약 16 초로서 있습니다. 이것은 모뎀에 의한 전화 접속이 완료할 때까지가 시간이 걸리기 (위해)때문입니다. 그것 이후의 패킷의 간격은 약 2 초입니다. 이 동작은, server 명령와 s 주소를 사용했을 때 각관리를 질적으로 개선하기 위해서 설계되었습니다.
iburst
  서버에 도달할 수 없는 경우, 폴링 간격 마다, 통상의 패킷 1 개 대신에, 패킷 8 개를 burst적으로 송신합니다. 서버에 도달할 수 없는 한, 모뎀의 전화 접속이 완료하도록(듯이), 패킷의 간격은 약 16 초로서 있습니다. 서버가 도달 가능하게 되면(자), 패킷의 간격은 약 2 초가 됩니다. 이 동작은, ntpd(8) 하지만 -q 옵션 첨부로 기동되었을 때, server 명령와 s 주소에 의한 초기 동기 확립을 고속화하기 위해서 설계되었습니다.
key key
  서버 혹은 통신 상대와의 사이에 송수신 한 패킷의 모두가, 1에서 65534의 사이 (양단을 포함한다)의 값의 열쇠 식별자 key (을)를 사용해 암호화된 인증 필드를 포함하게 됩니다. 디폴트에서는, 암호화된 필드는 포함되지 않습니다.
minpoll minpoll
maxpoll maxpoll
  이 옵션은, NTP 메세지에 대한 최소 및 최대의 폴링 간격 (을)를, 초단위로 2 의 지수의 값으로 지정합니다. 최대 폴링 간격의 디폴트는 10 (1024초)입니다만, maxpoll 옵션을 사용하는 것으로, 상한인 17 (36.4 시간)까지 늘릴 수가 있습니다. 최소 폴링 시간은의 디폴트는 6 (64 초)입니다만, minpoll 옵션을 사용하는 것으로, 하한인 4 (16 초)까지 줄일 수가 있습니다.
prefer
  서버에 바람직한 것으로서의 표를 붙입니다. 다른 조건으로 차이가 없으면, 이 표가 붙은 서버는, 올바르게 동작하고 있는 호스트중에서 동기용으로 선택됩니다. 새로운 정보가 필요하면, "완화의 룰과 prefer 키워드" 의 페이지를 참조해 주세요.
ttl ttl
  이 옵션은, 브로드캐스트 서버 모드와 메니캐스트크라이안트모드에서만 사용합니다. 이 옵션은, 브로드캐스트 서버와 멀티 캐스트 서버 위에서 사용하는 생존 시간 ttl (을)를 지정해, 링 검색을 메니캐스트크라이안트파켓트에 확장한다 최대 ttl (을)를 지정합니다. 디폴트의 값은 127 입니다만, 적절한 값을 선택하는 것은 약간의 흑마술과 같은 것이므로, 시스템 관리 책임자와의 사이의 조정이 필요합니다.
version version
  송출하는 NTP 패킷으로 사용하는 버젼 번호를 지정합니다. 버젼 1-4 으로부터 선택합니다. 버젼 4 가 디폴트입니다.

보조 명령

broadcastclient
  이 명령은, 임의의 로컬 인터페이스 (타입 b)에 대한다 브로드캐스트 서버 메세지의 수신을 가능하게 합니다. 최초의 메세지를 수신할 때에, 브로드캐스트 클라이언트는, 서버와의 사이에 클라이언트 서버간의 짧은 교환을 이용해, 명목상의 (nominal) 서버 전파 지연을 측정합니다. 그 후, 브로드캐스트 클라이언트 모드에 들어갑니다. 이 모드로, 그 후에 수신하는 브로드캐스트 메세지에 동기 합니다. 우연히, 혹은 고의로 이 모드로 양자 결렬에 이르는 것을 피하기 (위해)때문에, 서버와 클라이언트는 어느쪽이나, 인증 옵션 의 항으로 설명하는 대칭열쇠 인증 또는 공개열쇠 인증을 이용해 동작하지 않으면 안 되는 것에 주의해 주세요.
manycastserver address ...
  이 명령은, (1개 또는 복수의) 지정했다 멀티 캐스트 그룹 주소 (타입 m) 에 대한 메니캐스트크라이안트멧세이지의 수신을 가능하게 합니다. 적어도 1 개의 주소를 필요로 합니다. 그러나, 리플라이의 전파를 제한해, 최초의 송신 측에 대량의 메세지가 쇄도하지 않게, 하등의 방책을 특별히 준비하지 않는 한, IANA 가 할당한 NTP 멀티 캐스트 주소 224.0. 1.1 을 사용 해서는 안됩니다. 우연히, 혹은 고의로 이 모드로 양자 결렬에 이르는 것을 피하기 (위해)때문에, 서버와 클라이언트는 어느쪽이나, 인증 옵션 의 항으로 설명하는 대칭열쇠 인증 또는 공개열쇠 인증을 이용해 동작하지 않으면 안 되는 것에 주의해 주세요.
multicastclient address ...
  이 명령은, (1개 또는 복수의) 지정했다 멀티 캐스트 그룹 주소 (타입 m) 에 대한 멀티 캐스트 서버 메세지의 수신을 가능하게 합니다. 최초의 메세지를 수신할 때에, 멀티 캐스트 클라이언트는, 서버와의 사이에 클라이언트 서버간의 짧은 교환을 이용해, 명목상의 (nominal) 서버 전파 지연을 측정합니다. 그 후, 브로드캐스트 클라이언트 모드에 들어갑니다. 이 모드로, 그 후에 수신하는 멀티 캐스트 메세지에 동기 합니다. 우연히, 혹은 고의로 이 모드로 양자 결렬에 이르는 것을 피하기 (위해)때문에, 서버와 클라이언트는 어느쪽이나, 인증 옵션 의 항으로 설명하는 대칭열쇠 인증 또는 공개열쇠 인증을 이용해 동작하지 않으면 안 되는 것에 주의해 주세요.

인증 기능의 서포트

인증 기능의 서포트에 의해, NTP 클라이언트는, 서버가 정말로 기존으로 신뢰할 수 있는 것이어, 우연히든 의도적이든, 서버의 행세를 해 클라이언트를 속이려고 하는 침입자가 아닌 것을 확인할 수 있습니다. NTPv3 사양 RFC-1305 는, 받은 NTP 패킷을 암호에 의해 인증하기 위한 방식을 정의하고 있습니다. 원래, 이 기능은, Cipher Block Chaining (CBC) 모드로 기능한다 Data Encryption Standard (DES) 알고리즘을 사용해 (일반적으로, DES-CBC 와 불리는 방식입니다) 실현되고 있었습니다. 후에, 비밀열쇠를 사용한 RSA Message Digest 5 (MD5) 알고리즘을 이용해 (일반적으로, keyed-MD5 로 불리고 있습니다) 개량이 이루어졌습니다. 어느 쪽의 알고리즘도 메세지 다이제스트, 즉, 다른 한쪽향해시를 계산합니다. 이것은, 서버가 올바른 비밀열쇠와 열쇠의 식별자를 가지고 있는지 아닌지를 검증하는데 사용할 수 있습니다.

NTPv4 는, NTPv3 의 방식을 보관 유지하고 있습니다. 이 방식은, 대칭열쇠 암호화라고 설명하는 것이 적절하겠지요. 거기에 더해, 공개열쇠암호화에 근거하는 새로운 Autokey 방식도 제공하고 있습니다. 일반적으로, 공개열쇠암호화는 대칭열쇠 암호화보다 안전이라고 생각되고 있습니다. 이 방식의 안전성이, 양서버 각각으로 생성되고 외부에 꺼내지지 않다 비밀의 값 1 개에 근거하기 때문입니다. Autokey 를 사용하는 것으로, 열쇠 배포/관리 기능이 포함하는 것은 모두 공개치만입니다. 값이 공개되고 있으므로, 열쇠 배포와 보관이 단순화 됩니다.

인증 기능은 어소시에이션 각각 대해 개별적으로 설정됩니다. 설정 옵션 의 항으로 설명되도록(듯이), 인증 기능은, peer, server, broadcast, manycastclient 명령의 key 서브 명령 또는 autokey 서브 명령을 이용해 설정됩니다. 이하로 설명하는 인증 기능 옵션은, 1 조의 열쇠를 지정해, 설정하는 어소시에이션 각각 대하는 열쇠를 선택해, 설정 조작을 관리합니다.

auth 플래그는, 새로운 어소시에이션 또는 리모트 설정 명령이 암호화 인증을 필요로 하는지 어떤지를 제어합니다. 이 플래그의 유효/무효의 설정은, enable disable 설정 명령을 사용해 행할 수가 있습니다. 또, 다른 머신으로 ntpdc(8) 프로그램을 움직여, 리모트로부터 설정 명령을 보내 행하는 일도 할 수 있습니다. 이 플래그가 유효하게 설정되어 있으면 (디폴트는 유효하게 설정되어 있습니다), 신규의 브로드캐스트 클라이언트 어소시에이션, 신규의 대칭 패시브 어소시에이션, 리모트 설정 명령은 대칭열쇠 방식 또는, 공개열쇠 방식의 어느쪽이든을 이용해 암호적으로 인증되지 않으면 안됩니다. 이 플래그가 무효로 설정되어 있으면, 암호적으로 인증되어 있지 않아도 이러한 조작은 유효합니다. 후자의 모드로 조작을 실시하면, 나쁜놈 해커 (역주: 크래커) 하지만 클라이언트의 시각 관리 처리에 중대한 혼란을 가져오는 것이 가능하다라고 말하는, 중대한 취약성을 부른다 (일)것은 이해해 두어 주세요.

파이어 월(fire wall)와 다수의 브로드캐스트 클라이언트가 존재한다 네트워크에서는, 인증 기능을 무효로 해 두는 일도 허용 할 수 있을지도 알려지지 않습니다. 그렇다고 하는 것은, 무효로 하는 것으로 열쇠의 배포를 행하지 않고 끝나고, 네트워크의 관리가 단순하게 되기 때문입니다. 그러나, 설정 파일이 호스트명을 포함한 경우, 또는, 서버나 클라이언트가 리모트로부터 설정되는 경우, DNS 와 그것과는 다른 이름 해석 프로세스를 이용해 호스트명을 해결합니다. 가짜의 네임서버 메세지로부터 지키기 위해서(때문에), 내부에서 생성된 열쇠를 사용해 이름 해석 메세지를 인증하고 있습니다. 이 열쇠는, 통상, 유저로부터는 보이지 않습니다. 그러나, 암호화 기능의 서포트가 무효로 되고 있는 경우, 이 이름 해석 프로세스가 실패해 버립니다. 이 문제의 해결책은, 호스트명 대신에 IP 주소를 지정한다 (이쪽은 그다지 추천하지 않습니다)인가, 또는, auth 플래그를 유효하게 해 이름 해석 프로세스를 행해, 이름 해석 프로세스가 완료하고 나서 auth 플래그를 무효로 할까의 어느 쪽인지입니다.

멀티 캐스트 서포트가 이용 가능한 장소에서의 대체안으로서 매력적인 것 (은)는, 메니캐스트모드입니다. 이 모드에서는, 클라이언트는 정기적으로 서버를 흘려 낚시합니다. 이 모드에서의 암호화 인증은, 공개열쇠 방식을 이하에 설명하도록(듯이) 사용합니다. 이 메니캐스트모드의 주된 이점은, 클라이언트는 서버를 통상의 동작동안에 발견하므로, 서버가 될 수 있는 머신에 사전으로 설정할 필요가 없는 것과 클라이언트 모두로 같다 설정 파일을 이용할 수 있는 것입니다.

NTP 배포 소프트웨어의 구축전에 rsaref20 소프트웨어를 인스톨 해 두었을 경우, 디폴트의 대칭열쇠 암호화 서포트에 가세해, 공개열쇠암호화의 서포트도 이용 가능합니다. 공개열쇠암호화는, 정확성과 안정성을 희생하지 않고 , 안전한 서버 인증을 제공합니다. 대칭열쇠 암호화, 공개열쇠암호화 양쪽 모두에 대한 보안 모델과 프로토콜 방식은, 이하에 설명합니다.

대칭열쇠 방식

RFC-1305 사양에서는, 본래, 65,534 개의 열쇠안의 임의의 1 개를 사용해, 어소시에이션을 인증하는 것이 가능합니다. 열쇠 각각은 32 비트의 열쇠 식별자에 의해 구별됩니다. 여기서 사용되는 서버와 클라이언트는, 메세지를 인증하기 위한 열쇠 및 열쇠 식별자를 합의해 둔다 필요가 있습니다. 열쇠 및 거기에 관련하는 정보는, 열쇠 파일중에서 지정합니다. 통상, 이 파일은, ntp.keys (으)로 불립니다. 이 파일은 안전한 수속을 이용해 교환/격납할 필요가 있습니다만, 이 수속은, NTP 프로토콜 자체의 범주를 넘고 있습니다. 본래의 NTP 어소시에이션에 사용되는 열쇠에 가세해, 추가의 열쇠를 ntpq(8)ntpdc(8) 유틸리티 프로그램용의 패스워드로서 사용할 수 있습니다.

ntpd(8) 하지만 처음으로 기동하면(자), ntpd 는, keys 명령로 지정한 열쇠 파일을 읽어들여, 열쇠 캐쉬에 열쇠를 설치합니다. 한편, 열쇠는 사용하기 전에 trusted 명령로 액티브하게 해 두는 것이 필요합니다. 이것에 의해, 예를 들면, 몇개의 열쇠의 다발을 인스톨 해, ntpdc(8) (을)를 사용해 열쇠의 다발을 리모트로부터 액티브하게 하거나 비액티브하게 하거나 할 수 있습니다. 또, 이것에 의해, 열쇠의 안전성이 손상되어 버렸을 경우에 사용할 수 있다 열쇠의 취소 기능도 제공됩니다. requestkey 명령은, ntpdc(8) 유틸리티용으로 패스워드로서 사용되는 열쇠를 선택합니다. 그에 대해, controlkey 명령은, ntpq(8) 유틸리티용으로 패스워드로서 사용되는 열쇠를 선택합니다.

공개열쇠 방식

RFC-1305 에 기재되어 있는, 아래로부터 있는 NTPv3 의 인증 방식은 계속해 서포트되고 있습니다. 그렇지만, NTPv4 에서는, Autokey 로 불리는 인증 방식이 추가되어 그것을 이용할 수 있습니다. 이 인증 기구는, MD5 메세지 다이제스트, RSA 공개열쇠 서명, Diffie-Hellman 열쇠 합의 알고리즘을 사용합니다. 이것들은 NTPv4 배포 소프트웨어에는 포함되어 있지 않습니다만, 몇개의 원시 코드가 존재합니다. 이 기능을 유효하게 하기 위해서는, README.rsa 파일에 설명되어 있도록(듯이), rsaref20 패키지를 인스톨 해 두지 않으면 되지 않습니다. 한 번 인스톨 하면(자), configure 와 구축 프로세스가 그것을 자동적으로 검출해, 필요한 routine를 컴파일 합니다. Autokey 방식은, 서포트하는 다양한 NTP 모드에 대응해 몇개의 동작 모드를 가지고 있습니다. 모든 모드로 타임 스탬프 첨부 RSA 서명을 사용해, 암호화의 값의 송신원을 검증합니다. 모든 모드로, 클라이언트, 서버 각각으로 독립에 계산할 수 있다 특수한 쿠키를 1 개 사용합니다. 대칭 모드에서는, 이 쿠키는 Diffie-Hellman 열쇠 합의 알고리즘을 이용해 조립할 수 있습니다. 그 이외의 모드에서는, 이 쿠키는 IP 주소와 서버만이 알고 있는 비밀의 값으로 조립할 수 있습니다. 거기에 더해, 모든 모드로 S-KEY 방식과 잘 닮은 방식을 사용합니다. 그 쪽식에서는, 유사 난수열쇠의 리스트를 생성해, 역순으로 사용합니다. 이러한 방식은, 간부전용 요약, 현상, 요약 슬라이드, 문헌 리스트 다 같이, "자주 인증(Autonomos Authentication)" 의 페이지로 설명합니다.

Autokey 방식에서 사용하는 암호화의 값은, ntp-genkeys(8) 프로그램으로 생성하는 파일안에 짜넣어지고 있습니다. 그것들은, 대칭 비밀열쇠, 공개열쇠/비밀열쇠의 조, 합의 파라미터입니다. 이것들 파일의 형식의 설명은, ntp.keys(5) 메뉴얼 페이지를 참조해 주세요. 이러한 파일에는, rsaref20 패키지의 알고리즘에 의해 생성된 암호화의 값이 인자 가능한 ASCII 캐릭터의 형식에서 포함되어 있습니다. 모든 파일명에는 NTP 초의 타임 스탬프와 그 뒤로 디폴트의 이름이 포함됩니다. 이러한 디폴트의 이름은 이하로 줍니다. 파일 데이터는 시스템 클록을 종으로 하는 난수치에 유래하고 있어, 파일명에 타임 스탬프가 포함되어 있기 (위해)때문에, 이러한 파일을 생성할 때 마다, 다른 파일 내용과 파일명으로 생성됩니다.

ntp.keys 파일은 DES/MD5 비밀열쇠를 포함합니다. 이 파일을 같은 보안 구획에 속하는 다른 서버나 클라이언트에 배포하려면 , 안전한 수단으로 배포하지 않으면 되지 않습니다. 또, 이 파일은 root 만이 볼 수 있도록(듯이) 하지 않으면 안됩니다. 이 파일은 Autokey 방식으로는 사용합니다만, ntpdc(8), ntpq(8) 유틸리티가 사용한다 몇개의 리모트 설정 명령을 인증할 때에 필요합니다. ntpkey 파일은 RSA 비밀열쇠를 보관 유지합니다. 이 파일을 생성한 머신에서만 이용할 수 있습니다. 다른 demon나 응용 프로그램과 공용하는 것은 결코 없습니다. 그러니까, root 만이 볼 수 있도록(듯이) 하지 않으면 안됩니다.

ntp_dh 파일은, 합의 파라미터를 보관 유지합니다. 이 파라미터는 대칭 (액티브, 패시브) 모드에서만 사용합니다. 대칭 모드 어소시에이션을 개시하는 통신 상대끼리같은 파라미터를 공유하는 것이 필요합니다만, 어느 쪽의 ntp_dh 파일로부터 얻을 수 있던 파라미터인가는 문제가 되지 않습니다. 통신 상대의 한편이 파라미터를 보관 유지하는 경우, 한편은 Autokey 프로토콜을 이용해 그 파라미터를 취득합니다. 통신 상대가 양쪽 모두 파라미터를 보관 유지하고 있는 경우, 쌍방은 가장 새로운 카피를 사용합니다. 통신 상대가 파라미터를 가지고 있지 않은 경우, 설정된 어소시에이션 또는 미설정의 어소시에이션 의 어느 쪽인가에 붙어, 모든 어소시에이션이 파라미터를 요구합니다. 그러나, 어느 쪽인가의 통신 상대가 파라미터를 수신할 때까지는, 어소시에이션의 처리를 진행시킬 수 없습니다. 한 번 로드 되면(자), 파라미터는 요구에 응해 다른 클라이언트나 서버에 제공할 수가 있습니다. ntp_dh 파일의 데이터는 공개치이므로, 이 파일은 안전하지 않은 수단을 이용해 배포할 수도 있습니다.

ntpkey_host 파일은 RSA 공개열쇠를 포함합니다. 여기서, host (은)는 호스트의 이름입니다. 호스트는 각각 자기 자신의 ntpkey_host 파일을 가지고 있습니다. 통상, 이 파일은, Autokey 프로토콜을 이용하고 다른 호스트에 제공됩니다. server 어소시에이션, 또는, peer 어소시에이션은, 특정의 서버 또는 통신 상대에게 관련했다 공개열쇠를 요구합니다. 이 공개열쇠는, 로컬 파일로부터 직접 로드 되는지, Autokey 프로토콜을 이용해 서버로부터 간접적으로 로드 됩니다. 이러한 파일의 데이터는 공개치이기 (위해)때문에, 이러한 파일은 안전하지 않은 수단을 이용해 폭넓게 배포/보관하는 것이 할 수 있습니다.

ntpkey_certif_host 파일은 옵션으로, 그 호스트에 대한 PKI 증명 데이터를 포함합니다. 이것은 호스트명과 RSA 공개열쇠의 관계를 제공합니다. 현재의 실장에서는, 이 증명 데이터가 존재하면, 클라이언트는 그것을 취득합니다만, 그 내용은 무시됩니다.

인터페이스마다의 이름부가 폭넓게 사용되고 있기 (위해)때문에, 설정되고 행사중의 어소시에이션으로 사용되는 호스트명은, Unix gethostname(3) 프로그램 라이브러리 함수를 사용해 결정됩니다. ntp-genkeys(8) 프로그램과 Autokey 프로토콜은 ,함께 이 routine가 돌려주는 이름을 이용해 공개열쇠 파일의 이름을 파생시킵니다. 어느 서버도 클라이언트도 고유의 공개열쇠와 비밀열쇠를 로드할 필요가 있습니다만, 각각의 클라이언트 어소시에이션 또는 통신 상대 어소시에이션에 대한 공개열쇠는, Autokey 프로토콜을 이용해 서버 또는 통신 상대로부터 취득할 수가 있습니다. 그러나, 현재의 개발 단계에서는, 서버 또는 통신 상대의 인증의 확실성과 서버명, 주소, 공개열쇠의 암호와의 결합은, 인증국 (certificate authority)이나 신용의 고리 (web of trust)에 의해 확립된 것에까지 달하고 있지 않습니다.

윤초표

NIST 는, 1972 년 이후, 역사적으로 모든 윤초의 삽입의 발생을 나타내는 표를 제공하고 있습니다. 이 윤초표는, 삽입 발생 각각 뿐만이 아니고, 협정 세계시 (Coordinated Universal Time:UTC)에 관한 국제 원자시 (International Atomic time:TAI)의 오프셋(offset)도 아울러 기재하고 있습니다. 덧붙여서, 협정 세계시는 NTP 에 의해 전파 되고 있는 것입니다. 이 표는, NIST 국가 시각 서버로부터 FTP 를 사용해 ASCII 파일 pub/leap-seconds (으)로서 직접 취득할 수가 있습니다.

엄밀하게는 보안 기능이 아닙니다만, Autokey 방식은 서버 또는 통신 상대로부터 안전하게 윤초표를 꺼내는 수단을 제공하고 있습니다. 서버는, crypto 명령로 지정한 파일로부터, 윤초표를 직접 로드합니다. 클라이언트는, 서버로부터 Autokey 프로토콜을 사용해 간접적으로 취득합니다. 한 번 로드 되면(자), 윤초표는 요구에 응하고 다른 클라이언트나 서버에 제공할 수 있습니다.

열쇠의 관리

디폴트로, 모든 열쇠 파일은, /usr/local/etc 에 놓여집니다. 이 디렉토리는 통상, 네트워크로 NFS mount 된 공유 파일 시스템안에 있어, 개개의 머신에 따로 따로 인스톨 하는 수고를 생략할 수가 있습니다. 이 디폴트는, keysdir 설정 명령을 이용해 덧쓰기할 수가 있습니다. 그러나, 여기는 비밀열쇠 파일을 두는 장소로서는 양실은 말할 수 없습니다. 머신 각각이 자신의 파일을 필요로 하기 때문입니다. 이 파일을 인스톨 하는데 적당한 장소는 /etc 입니다. 여기는, 통상, 공용 파일 시스템에 존재하지 않습니다.

추천 하는 방식은, 파일을 인스톨 했을 때의 타임 스탬프 확장자(extension)를 보관 유지해, (타임 스탬프 확장자(extension)가 없다) 디폴트명으로부터 열매 파일에의 링크를 만드는 것입니다. 이것에 의해, 신규 파일의 생성을 링크해 바꾸는 것으로 유효하게 할 수 있습니다. 그러나, ntpd(8) (은)는, 확장치를 꺼내는 순간에 링크명을 해석해, 요구된 시점에서 공개열쇠와 호스트명과 함께 링크명을 송부합니다. 이것에 의해, 클라이언트는 파일과 생성 시각이 항상 현재이라고 검증할 수가 있습니다. 그러나, 각 파일의 실제의 장소는 crypto 설정 명령에 의해 덧쓰기될 가능성이 있습니다.

암호화열쇠와 관련 파라미터 모두는, 예를 들면, 1개월에 1회 정도의 빈도로 정기적 한편 자동적으로 재생성할 필요가 있습니다. ntp-genkeys(8) 프로그램은, 한 번에 생성하는 파일 모두에 대해 같은 타임 스탬프 확장자(extension)를 사용합니다. 그러니까, 파일 생성의 각각은 구별되어 데이터 감시 시에 파일 생성을 인식할 수 있습니다. 공개열쇠/비밀열쇠의 조는 모든 서버와 클라이언트에 의해 생성되지 않습니다만, 공개열쇠와 합의 파라미터를, 같은 보안 구획내의 모든 머신에 대해 일부러 카피할 필요는 없습니다. 이것들은, Autokey 프로토콜을 사용해 자동적으로 취득할 수 있기 때문입니다. 그러나, 프라이머리 서버의 모두는 같은 합의 파라미터 파일을 가진다 필요가 있습니다. 이것을 달성하기 위해서 추천 하는 방법은, 프라이머리 서버의 1 개에 그 파일을 생성시켜, 그 후로, 같은 보안 구획내의 다른 프라이머리 서버에 대해 Unix rdist(1) 명령을 이용해 카피하는 것입니다. Autokey 프로토콜의 장래의 버젼에서는, 합의 프로토콜이 이 처리를 자동적으로 행하는 기능의 제공을 포함하게 됩니다.

서버와 클라이언트는 신규의 파일 세대의 생성을 다음과 같이 행할 수가 있습니다. 모든 머신은 기동시에 낡은 파일 세대를 로드하고 있어 정상적으로 동작하고 있습니다. 지정한 간격으로, 각 머신은 신규의 공개열쇠/비밀열쇠의 조를 생성해, 디폴트 파일명으로부터 신규 파일명에의 링크를 작성합니다. 그 후로, ntpd(8) (은)는 재기동되어 신규의 생성을 로드합니다. 그 결과, 클라이언트는 이미 인증을 올바르게 행하는 것이 할 수 없게 됩니다. Autokey 프로토콜이 그렇게 설계되고 있으므로, 몇분 후에 클라이언트는 타임 아웃 해, 프로토콜을 최초부터 개시합니다. 그 결과 신규의 세대를 로드해, 이전 대로 동작을 계속하는 것이 할 수 있게 되어 있습니다. 같은 수속이 합의 파라미터 파일에 대해서도 사용할 수 있습니다. 그러나, 이 경우, 이 파일을 가지는 모든 머신이 같은 카피를 가지도록(듯이) 충분히 조심해 둘 필요가 있습니다.

인증 명령

autokey [logsec]
  Autokey 프로토콜로 사용하는 세션열쇠의 리스트를 재생성하는 시간 간격을 지정합니다. 각 어소시에이션용의 열쇠 리스트의 사이즈는, 이 시간 간격과 현재의 폴링 간격에 의라고 하는 것에 주의해 주세요. 기본값은 12 입니다 (4096 초, 즉, 약 1.1 시간입니다). 지정한 시간 간격 이상의 폴링 간격에 대해서는, 세션열쇠의 리스트는 단일 엔트리를 가져, 메세지를 보낼 때 마다 재생성됩니다.
controlkey key
  ntpq(8) 유틸리티 프로그램으로 사용하는 열쇠의 식별자를 지정합니다. 이 프로그램은, RFC-1305 로 정의된 표준 프로토콜을 사용합니다. key 인수는, 열쇠의 캐쉬중의 신뢰된 열쇠에 대한 열쇠 식별자입니다. 값의 범위는, 1 에서 65534 로 양단을 포함합니다.
[ flags flags] [ privatekey file] [ publickey file] [ dhparms file] [ leap file] 이 명령은 NTP demon를 구축할 때에 RSA 프로그램 라이브러리를 포함 설정하는 것이 필요합니다. 이 명령은 공개열쇠암호화를 유효하게 해, 필요한 RSA 비밀열쇠 파일과 공개열쇠 파일을 로드해, 존재한다면 Diffie-Hellman 합의 파라미터 파일도 로드합니다. 파일을 지정하지 않고 있었을 경우, 디폴트의 이름은 이하에 설명하도록(듯이) 사용됩니다. 다음에 나타내는 것은 서브 명령입니다.
privatekey file
  RSA 비밀열쇠 파일의 장소를 지정합니다. 지정이 없는 경우의 디폴트는, /usr/local/etc/ntpkey 입니다.
publickey file
  RSA 공개열쇠 파일의 장소를 지정합니다. 지정이 없는 경우의 디폴트는, /usr/local/etc/ntpkey_host 입니다. 여기서, host (은)는 열쇠를 생성한 머신의 이름입니다.
dhparms file
  Diffie-Hellman 파라미터 파일의 장소를 지정합니다. 지정이 없는 경우의 디폴트는, /usr/local/etc/ntpkey_dh 입니다.
leap file
  윤초표 파일의 장소를 지정합니다. 지정이 없는 경우의 디폴트는, /usr/local/etc/ntpkey_leap 입니다.
keys keyfile
  DES/MD5 비밀열쇠 파일의 장소를 지정합니다. 이 파일은, 대칭열쇠 모드로 동작하고 있을 때 ntpd(8), ntpq(8), ntpdc(8) 하지만 사용하는 열쇠와 열쇠 식별자를 포함합니다.
keysdir path
  이 명령은 NTP demon를 구축할 때에 RSA 프로그램 라이브러리를 포함 설정하는 것이 필요합니다. 비밀열쇠 파일, 합의 파라미터 파일, 공개열쇠 파일에 대한다 디폴트의 디렉토리 패스를 지정합니다. 설정 파일에 이 명령이 나오지 않았을 때, 이 디폴트는 /usr/local/etc 입니다.
requestkey key
  ntpdc(8) 유틸리티 프로그램으로 사용하는 열쇠의 식별자를 지정합니다. 이 프로그램에서는, ntpd(8) 의 현재의 실장에 특유의 전용 프로토콜을 사용합니다. key 인수는, 신뢰된 열쇠에 대한 열쇠의 식별자입니다. 그 값은 1 에서 65534 의 범위입니다 (양단을 포함한다).
revoke logsec
  Autokey 방식에서 사용하는 어느 암호화치의 재계산의 간격을, 초수를 2 의 지수로 지정합니다. 이 방식의 알고리즘에 의한 전원 시합 공격을 딴 데로 돌리기 위해서(때문에), 이러한 값을 빈번하게 갱신할 필요가 있습니다. 그러나, 몇개의 값의 갱신은 비교적 고가의 처리입니다. 디폴트의 시간 간격은 16 입니다 (65,536 초, 즉 약 18 시간입니다). 지정한 간격 이상의 폴링 간격에 대해서, 메세지를 보낼 때 마다 새로운 값이 재계산됩니다.
trustedkey key ...
  통신 상대를 대칭열쇠 암호화를 사용해 인증하는 목적으로, 신뢰한다 암호화열쇠의 식별자를 지정합니다. 또 ntpq(8)ntpdc(8) 프로그램으로 사용되는 열쇠도 지정합니다. 인증 수속이 요구하는 것은, 이 목적을 위해서(때문에), 로컬과 리모트의 서버가 같은 열쇠 및 열쇠의 식별자를 공유하고 있는 것입니다만, 다른 서버에는, 다른 열쇠를 사용 가능합니다. key 인수는 32 비트 부호 없음 정수로, 1에서 65,534까지의 범위의 값입니다.

모니터 기능의 서포트

ntpd(8) 에는, 서버 및 클라이언트의 시간 계측의 퍼포먼스를 장시간 연속해 기록하는데 적합한, 포괄적인 모니터 기능이 포함되어 있습니다. 현재 서포트되고 있는 통계의 종류의 리스트와 실행예에 대해서는, 다음에 말한다 statistics 명령을 참조해 주세요. 통계 파일은, 파일 세대 집합과 배포물안의 . /scripts 디렉토리에 있는 스크립트를 사용해 관리되고 있습니다. 이러한 기능과 Unix cron(8) 작업을 사용해, 데이터가 자동적으로 요약되어 시간을 거슬러 올라간 만큼 석을 실시할 때를 위해서(때문에) 보존됩니다.

모니터 기능의 명령

statistics name ...
  통계 레코드의 기입을 유효하게 합니다. 현재로서는, 4 종류의 name 의 통계가 서포트되고 있습니다.
loopstats
  루프 필터의 통계 정보의 기록을 유효하게 합니다. 로컬 시계의 갱신을 실시할 때마다, loopstats 라는 이름의 파일 세대 집합에 다음의 형식의 행을 출력합니다:
50935 75440.031 0.000006019 13.778190 0.000351733 0.013380 6

최초의 2 개의 필드는, 일자 (율리우스력에 수정제)와 시각 (UTC 오전 0 시부터의 초수)입니다. 다음의 5 개의 필드는, 초단위의 시간 오프셋(offset), 100 만 분의 1 (PPM) 단위의 주파수 오프셋(offset), 초단위의 RMS 지터, 100 만 분의 1 (PPM) 단위의 Allan 편차, 시계 학습 알고리즘의 완화시간입니다.

peerstats
  통신 상대에 관한 통계 정보의 기록을 유효하게 합니다. 이것에는, 설정된 것과 현재 유효한 것과의 양쪽 모두에 대해, NTP 서버의 통신 상대의 모두, 특별한 시각 신호의 통신 상대의 모두 에 대한 통계 레코드가 포함됩니다. 유효한 갱신을 할 때에, peerstats 라는 이름의 파일 세대 집합의 현재의 요소에 다음의 형식의 행을 추가합니다:
48773 10847.650 127.127. 4.1 9714 -0. 001605 0.00000 0.00142
최초의 2 개의 필드는, 일자 (율리우스력에 수정제), 시각 (UTC 로 오전 0 시부터의 초수)입니다. 다음의 2 개의 필드는, 각각 닷으로 4 개의 부분에 단락지어졌다 형식의 기법으로 쓰여진 통신 상대의 주소 및 스테이터스입니다. 스테이터스 필드는, RFC 1305 의 NTP 사양의 덧붙여 씀 A 로 말하고 있다 포맷을 이용해, 16 진수로 encode 되고 있습니다. 마지막 3 개의 필드는, 오프셋(offset), 지연, RMS 지터로, 모두 초단위입니다.
clockstats
  시계 드라이버의 통계 정보의 기록을 유효하게 합니다. 시계 드라이버로부터의 갱신을 받을 때에, clockstats 라는 이름의 파일 세대 집합에, 다음의 형식의 행을 추가 출력합니다:
49213 525.624 127.127. 4.1 93 226 00:08:29. 606 D
최초의 2 개의 필드는, 일자 (율리우스력에 수정제) 및 시각 (UTC 로 오전 0 시부터의 초수)입니다. 다음의 필드는, 닷으로 4 개의 부분에 단락지어진 형식의 기법으로 쓰여졌다 시계의 주소를 나타내고 있습니다. 마지막 필드는, 시계로부터 받은 마지막 타임 코드를 의미가 있는 ASCII 포맷에 디코드한 것입니다. 시계 드라이버에 따라서는, 이외에 추가로 적당히의 정보를 모아
아울러 표시하는 것이 있습니다. 새로운 정보에 대해서는, 각 시계 특유의 정보를 참조해 주세요.
rawstats
  그대로의 타임 스탬프 (raw-timestamp)의 통계 정보를 기록할 수 있도록(듯이) 합니다. 이것에는, 설정된 것과 현재 유효한 것과의 양쪽 모두에 대해, NTP 서버의 통신 상대의 모두, 특별한 시각 신호의 통신 상대의 모두 에 대한 통계 레코드가 포함됩니다. 통신 상대 또는 시계 드라이버로부터 받은 NTP 메세지는 각각, rawstats 라는 이름의 파일 세대 집합에 다음과 같은 형식에서 1 행 첨가합니다:
50928 2132.543 128.4. 1.1 128.4. 1.20 3102453281.584327000 3102453281.58622800031 02453332.540806000 3102453332.541458000
최초의 2 개의 필드는, 일자 (율리우스력에 수정제) 및 시각 (UTC 로 오전 0 시부터의 초수)입니다. 다음의 2 개의 필드는, 통신 상대 혹은 시계의 주소와 로컬 주소를 나타내고 있습니다. 이것들은 닷으로 4 개의 부분에 단락지어진 기법으로 쓰여져 있습니다. 마지막 4 개의 필드는, 발생, 수신, 송신, 최종의 4 종류의 NTP 타임 스탬프를 순서에 나타낸 것입니다. 타임 스탬프의 값은 받은 채로의 것이며, 다양한 데이터 평활화나 완화 알고리즘이 처리하기 전의 것입니다.
statsdir directory_path
  통계 파일을 만드는 디렉토리의 풀 패스를 지정합니다 (아래와 같이 참조). 이 키워드에 의해, 파일 세대 집합을 위한 filegen 파일명의 프레픽스의 변경 (이것이 없으면 고정인 채입니다) 하지만 가능해집니다. 이것은, 통계 로그를 취급하는데 편리합니다.
[ file filename] [ type typename] [ link | nolink] [ enable | disable] 파일 세대 집합 name 의 설정을 변경합니다. 파일 세대 집합은, 서버의 활동 기간을 통해서 계속적으로 커져 가는 파일을 취급하는 수단을 제공합니다. 서버의 통계는 이러한 파일의 전형예입니다. 파일 세대 집합은, 실제의 데이터를 격납하는데 이용된다 파일 집합에의 액세스를 제공합니다. 어떤 시점이라도, 파일 집합의 고들 1 개의 요소에 대해서 만 기입을 합니다. 지정한 type 는, 파일 집합의 새로운 요소에, 데이터가 언제, 어떻게 출력되는지를 지정합니다. 이 방법으로, ntpd(8) 의 동작을 방해하는 위험을 무릅쓰는 일 없이, 현재 사용되어 있지 않은 파일 집합의 요소에 격납되고 있는 정보를, 관리 조작을 위해서(때문에) 사용할 수 있습니다 (가장 중요한 조작: 새로운 출력 데이터용의 빈 곳을 만들기 위해서(때문에), 이것들 요소를 삭제할 수 있습니다). 이 명령은, 리모트로 동작하고 있다 ntpdc(8) 프로그램으로부터 송신 가능한 것으로 주의해 주세요.
name 이것은, 통계 레코드의 타입입니다. statistics 명령의 항으로 가리키는 것 것과 같습니다.
file filename
  이것은, 통계 레코드용의 파일명입니다. 집합의 멤버의 파일명은, 다음의 3 개의 요소의 결합, 즉 프레픽스, 파일명, 사픽스로부터 되어 있습니다.
prefix
  파일명의 패스이며, 정수입니다. 이것은, filegen 옵션을 사용해도 변경될 것은 없습니다. 패스는, 서버가 정의합니다. 통상은, 컴파일시에 정수로서 지정합니다. 그러나, 다른 명령을 사용해, 개개의 파일 세대 집합에 대해 설정하는 일도 가능합니다. 예를 들면, loopstats peerstats 생성시에 사용되는 프레픽스는, 전에 설명했다 statsdir 옵션을 사용해 설정 가능합니다.
filename
  이 캐릭터 라인은, 그대로 먼저 말한 프레픽스의 뒤로 결합됩니다 ( 사이에 ‘/’ (slash)(은)는 들어가지 않습니다). 이것은, filegen 스테이트먼트의 file 인수를 사용하는 것으로 변경할 수 있습니다. 이 내용에는, ‘..’ 그렇다고 하는 요소를 사용할 수 없습니다. 그것은, 프레픽스로 나타난 파일 시스템의 계층외를 filename 가 참조해 버리는 것을 막기 (위해)때문입니다.
suffix
  이 부분은, 파일 집합의 요소 하나 하나를 반영하고 있습니다. 이것은, 파일 집합의 종류에 의존해 생성됩니다.
type typename
  파일 세대 집합은, 타입에 의해 특징지우고 됩니다. 다음과 같은 종류가 서포트되고 있습니다:
none 이 파일 집합은 매우 보통 파일 1 개(살)입니다.
pid ntpd(8) 서버가 생성될 때 마다, 파일 집합의 요소가 1 개 사용됩니다. 이 타입은, 동작중에 파일 집합의 멤버로 어떤 변경도 베풀 것은 없습니다만, 다르다 ntpd(8) 서버의 생성에 속하고 있는 파일을 나누는데 간단한 방법을 제공합니다. 파일 집합의 멤버의 파일명은, 프레픽스와 filename 캐릭터 라인을 이은 것에 ‘.’ (닷)(을)를 덧붙여 ntpd(8) 서버의 프로세스의 프로세스 ID 를 10 진수로 표현한 것을 덧붙인 것입니다.
day 1 날마다 파일 세대 집합의 요소가 1 개 생성됩니다. 1 일이란, UTC 시각에 0:00 로부터 24:00 까지의 기간이라고 정의되고 있습니다. 파일 집합 멤버의 사픽스에는, "." (닷)(와)과 일자를 YYYYMMdd 형식에서 나타낸 것이 포함되어 있습니다. 여기서, YYYY (은)는, 4 자리수로 나타낸 서기년입니다 (예를 들면, 1992). MM (은)는, 2 자리수의 달입니다. dd (은)는, 2 자리수일입니다. 즉, 1992 년 12 월 10 일에 쓰여진 정보는 모두, prefix / filename / 19921210(이)라는 이름의 파일에 쓰여지게 됩니다.
week 어느 요소도 1 년 중이 있는 주에 관련하는 데이터를 포함합니다. 여기서, 주라고 하는 용어는, 해의 시작으로부터의 날짜의 7 의 상에 의해 정의됩니다. 이러한 파일 세대 집합의 요소는, 파일 집합의 filename 의 베이스에, 다음과 같은 사픽스를 붙이는 것으로 구별됩니다: 닷, 4 자리수의 서기년, 캐릭터 ‘W’, 2 자리수의 주번호입니다. 예를 들면, 1992 년 1 월 10 일부터의 정보는, 사픽스 . 1992W1 (을)를 가지는 파일에 출력됩니다.
month 1 월에 1 개의 파일 세대 집합의 요소가 작성됩니다. 파일명의 사픽스는, 닷, 4 자리수의 서기년, 2 자리수의 달부터 됩니다.
year 1 년에 1 개의 파일 세대 집합의 요소가 작성됩니다. 파일명의 사픽스는, 닷과 4 자리수의 서기년부터 됩니다.
age 이 형태의 파일 세대 집합은, 서버가 24 시간 활동할 때 마다 새로운 요소에 바뀝니다. 파일명의 사픽스는, 닷, 캐릭터 ‘a’, 8 자리수의 수로부터 됩니다. 이 수는, 대응하는 24 시간의 처음부터 서버가 실행되고 있다 초수이게 됩니다. 정보는, 파일 세대 집합이 enable (으)로 설정되어 있을 때 마셔, 그 집합에 기입해집니다. 출력은, disable (으)로 지정하는 것으로 억제됩니다.
link | nolink
  파일 세대 집합의 현재의 요소에, 정해진 이름으로 액세스 할 수 있으면(자) 편리합니다. 이 기능은, link (을)를 지정하는 것으로 유효하게 되어, nolink (을)를 사용하면(자) 무효가 됩니다. link 하지만 지정되면(자), 현재의 파일 집합의 요소로부터, 사픽스를 가지지 않는 파일에의 하드 링크가 작성됩니다. 벌써 그 이름을 가지는 파일이 존재해, 그 파일에의 링크수가 1 일 때, 그 파일명을, 닷, 캐릭터 ‘C’ 그리고 ntpd(8) 서버 프로세스의 프로세스 ID 를 뒤로 덧붙인 것으로 변경합니다. 파일에의 링크수가 1 보다 큰 경우는, 파일은 안린크 됩니다. 이것에 의해, 현재의 파일은, 일정한 이름으로 액세스 할 수 있습니다.
enable | disable
  정보 기록 기능을 유효 또는 무효로 합니다.

액세스 제어 기능의 서포트

ntpd(8) (은)는, 일반적인 용도의 주소 및 마스크 베이스의 제한 리스트를 실장하고 있습니다. 이 제한 리스트는, 주소 및 마스크로 정렬 되고 있어 매치 하는지 아닌지를 보는데, 이 순서로 탐색을 합니다. 이 결과, 마지막에 매치 한 것이, 입력 패킷과 관련지을 수 있었던 제한 플래그를 정의합니다. 입력 패킷의 발송인의 주소가 매치에 사용됩니다. 32 비트의 주소와 제한용의 엔트리에 관련지을 수 있었다 마스크와의 AND 를 취해, 그리고 엔트리의 주소와 비교를 해 매치을 합니다 (엔트리의 주소도 마스크와 AND 가 놓치고 있습니다). 새로운 정보나 예에 대해서는, "NTP 의 설정과 NTP 서스네트워크의 설정에 관한 주의" 의 페이지에 있습니다.

액세스 제한 기능은, 오리지날의 NSFnet 백본(backbone) 타임 서버에 대한 아크세스포리시와 일치하도록(듯이) 실장되었습니다. 이 기능은, 바라지 않는 것이나 떨어져 버린 리모트의 타임 서버가 자신의 타임 서버에 영향을 주지 않게 하기에는 유효할지도 알려지지 않습니다만, 이 기능을, 표준의 NTP 인증 기능의 대용이 되면(자) 생각해야 하는 것이 아닙니다. 보내 원주소에 근거한 제한이라고 하는 것은, 의지 충분히의 크래커 에는 간단하게 회피되어 버립니다.

죽음의 입 맞춤 패킷

원래, 서비스가 거부된 패킷은, 단순하게 버려지는 것만으로, 통계 카운터를 늘리는 것 외에 일절의 동작을 일으키게 할 것은 없습니다. 클라이언트에 명시적으로 송신 정지를 요구해, 또 시스템 오퍼레이터에게 메세지를 남기는 서버 메세지등의, 보다 적극적인 응답이 필요한 것이 가끔 있습니다. 이 목적을 위해서(때문에), 특히 패킷 형식이 만들어졌습니다. 그것을 칭해, 죽음의 입 맞춤 (kiss-of-death) 패킷이라고 말합니다. kod 플래그가 설정되어 있어 서비스가 거부되는지, 클라이언트가 한계치를 넘었을 때, 서버는 패킷을 돌려주어, leap 비트를 비동기로 설정해, 계층을 0 으로 설정해, ASCII 캐릭터 라인 "DENY" 를 참조 소스 식별자 필드로 설정합니다. kod 플래그가 설정되어 있지 않은 경우, 서버는 단지 패킷을 버릴 뿐입니다.

죽음의 입 맞춤 패킷을 수신한 클라이언트 또는 통신 상대는, 일련의 건전성 체크를 행해, 보안의 노출 (exposure)을 최소한으로 누릅니다. 이 패킷이, 그 서버로부터 수신한 최초의 패킷인 경우, 클라이언트는, 그 서버의 조건에서는 액세스는 거부되었다고 상정합니다. 그 클라이언트는 계층과 참조 식별자의 통신 상대 변수를 갱신해, 통신 상대 플래시 변수의 액세스 거부 (테스트 4) 비트를 설정합니다. 이 비트가 설정되어 있는 경우, 클라이언트는 그 서버에 대해 패킷을 송신하지 않습니다. 그 서버로부터 수신한 최초의 패킷이 아니었던 경우, 클라이언트는 서버측에서 한계치를 넘었다고 상정합니다. 그러나, 통신 상대 변수는 갱신하지 않습니다. 어느 경우에서도, 메세지를 시스템 로그에 송출합니다.

액세스 제어 명령

[ mask numeric_mask] [flag ...] numeric_address 인수는, 호스트 혹은 네트워크의 주소입니다. 이것은, 닷으로 4 개의 부분에 단락지어진 형식에서 표현됩니다. mask 인수도, 닷으로 4 개의 부분에 단락지어진 형식에서 표현됩니다. 디폴트는 255.255. 255.255 입니다. 이것은, numeric_address 하지만 개별의 호스트의 주소로서 다루어지는 것인 것을 의미하고 있습니다. 디폴트 엔트리 (주소 0.0. 0.0, 마스크 0.0. 0.0) (은)는 항상 포함되어 있어 기정의 정렬 알고리즘에서는, 항상 리스트의 선두의 엔트리가 됩니다. numeric_address (은)는, 통상 닷으로 4 개의 부분에 단락지어진 형식에서 주어집니다만, mask 옵션을 수반하지 않는 텍스트 캐릭터 라인 ‘default’ (은)는, 디폴트 엔트리를 나타내기 위해서(때문에) 사용할 수 있는 것에 주의해 주세요. 현재의 실장에서는, flag (은)는 항상 액세스를 제한합니다. 즉, 플래그를 가지지 않는 엔트리는, 서버에의 자유로운 액세스가 주어지는 것을 나타내게 됩니다. 플래그는 직교적이지 않고, 보다 제한의 강한 플래그는, 보다 제한의 약한 플래그를 장황하게 하는 일도 자주 있습니다. 플래그는, 일반적으로 2 개의 카테고리로 분류됩니다. 시간 서비스를 제한하는 것과 정보 문의나 서버를 실행시에 재설정하려고 하는 것을 제한하는 것입니다. 다음의 플래그 가운데, 1 개 이상을 지정할 수 있습니다:
kod 액세스가 거부되었을 경우, 죽음의 입 맞춤 패킷을 송신합니다.
ignore
  이 엔트리에 매치 하는 호스트로부터의 모든 패킷을 무시합니다. 이 플래그가 지정되면(자), 문의도 시간 서버에의 폴링도 응답되지 않게 됩니다.
noquery
  NTP 의 모드 6 으로 7 의 모든 패킷 (즉 정보 문의와 설정 요구)를 무시합니다. 시간 서비스는 영향을 받지 않습니다.
nomodify
  서버 상태를 바꾸려고 하는 모드 6 으로 7 의 모든 패킷 (즉 실행시 재설정)(을)를 무시합니다. 정보를 돌려주는 문의는 용서됩니다.
notrap
  매치 한 호스트에 모드 6 의 제어 메세지의 트랩 서비스를 제공 하는 것을 거부합니다. 트랩 서비스는, 모드 6 의 제어 메세지 프로토콜의 하부조직에서, 리모트의 이벤트로깅프로그람에 의한다 사용이 의도되고 있습니다.
lowpriotrap
  매치 한 호스트에 의한 트랩 세트를 낮은 우선도로서 선언합니다. 1 개의 서버가 보관 유지 할 수 있는 트랩의 수는 제한되고 있습니다 (현재의 제한치는 3 입니다). 트랩은 통상, 선입처 방편 베이스로 할당할 수 있어 나중에 왔다 트랩 요구는 서비스가 거부됩니다. 이 플래그는, 나중에 도착하는 요구를 위한 통상 우선도의 트랩이 낮은 우선도의 트랩을 덧쓰기할 수 있도록(듯이) 하는 것으로, 할당 알고리즘을 변경합니다.
noserve
  모드 6 으로 7 이외의 모든 NTP 패킷을 무시합니다. 기본적으로는, 시간 서비스는 거부됩니다만, 그런데도 문의는 용서되고 있습니다.
nopeer
  폴링 하고 있는 호스트에, 상태를 가지지 않는 (stateless) 시간 서비스 (을)를 줍니다만, 통신 상대용의 메모리 자원을 할당하지 않습니다. 할당해 두면, 장래, 동기의 상대로서 유용하게 될지도 모른다고 해도입니다.
notrust
  이러한 호스트는 동기원으로서는 결코 사용됩니다만, 그 외의 점에서는 보통으로 다루어집니다.
limited
  이러한 호스트는, 동일한 넷으로부터의 클라이언트수의 제한의 대상과 됩니다. 여기서 말하는 넷이란, (class A, class B, class C 등의) 넷의 IP 표기입니다. 서버로 보이는 호스트로, 과거 client_limit_period 초의 사이 액티브함 , 최초의 client_limit 개의 호스트만이, 받아들일 수 있습니다. 동일한 넷의 다른 클라이언트로부터의 요구는 거부됩니다. 시간 요구 패킷만이 고려됩니다. ntpq(8)ntpdc(8) 프로그램이 송신한 문의 패킷은, 이 제한의 영향은 받지 않습니다. 클라이언트의 히스토리는, ntpd(8) 의 모니터링 기능을 이용해 보관 유지됩니다. 그 때문에, limited 플래그가 붙은 액세스 제한의 엔트리가 있으면, 모니터링 기능은 항상 액티브합니다.
ntpport
  실질적으로는, 제한 플래그라고 말하는 것보다, 매치의 알고리즘을 변경하는 것입니다. 이 플래그가 존재하면(자), 패킷의 소스 포트가 표준의 NTP 의 UDP 포트 (123)인 경우에게만, 제한 엔트리에 매치 합니다. ntpport (와)과 non-ntpport 의 어느쪽이나 지정할 수 있습니다. ntpport (분)편이 한정적인 물건이다고 생각되어 리스트의 뒤(분)편에 정렬 됩니다.

디폴트의 제한 리스트 엔트리는, 플래그 ignore, interface, ntpport (을)를 가져, 로컬 호스트의 인터페이스 주소 각각 대응하는 것으로, 서버가 자기 자신의 시간에 동기 하지 않게 하기 위해서, 스타트 업시에 테이블에 삽입됩니다. 디폴트 엔트리는 항상 존재하고 있습니다. 아니면 무설정이 되어 버리는 경우여도입니다. 외로 설정되어 있지 않은 경우는, 어느 플래그도 디폴트 엔트리에 관련 지을 수 없습니다 (즉, 당신 자신의 NTP 서버 이외의 모든 것이 무제한하게 됩니다).
clientlimit limit
  client_limit 변수를 설정합니다. 이 변수는, 동시에 액세스 제어되는 클라이언트수를 제한합니다. 이 변수의 기본값은 3 입니다.
clientperiod period
  client_limit_period 변수를 설정합니다. 이 변수는, 클라이언트가 비액티브하다라고 보여 그 때문에(위해), 이미 제한되는 클라이언트수로 꼽히지 않게 될 때까지의 초수를 지정합니다. 이 변수의 기본값은 3600 초입니다.

참조 클락 기능의 서포트

NTP 버젼 4 demon는, 40 종류정도의, 전파, 위성, 모뎀을 참조한다 시계를 서포트합니다. 게다가 백업용 및 클락원을 그 밖에 이용할 수 없게 되었을 때를 위해서(때문에), 특수한 유사 시계를 서포트하고 있습니다. 개별의 디바이스 드라이버나 옵션에 관한 상세한 설명은, "참조 클락 드라이버" 의 페이지 (이것은, /usr/share/doc/ntp 에 있는 HTML 문서의 일부로서 이용 가능합니다)에 있습니다. 새로운 정보는, "참조 클락 드라이버의 디버그의 힌트" (이)나, "참조 클락 드라이버의 쓰는 법" 등, 거기로부터 링크 된 페이지에 있습니다. 거기에 더해 PPS 신호의 서포트에 대해서는, "1 초간격의 펄스 (PPS) 신호의 인터페이스" 의 페이지의 설명을 이용할 수 있습니다. 드라이버의 상당수는, 특수한 회선 규약 / 스트림 모듈을 서포트하고 있습니다. 이 모듈을 이용하면(자), 시각의 정확성이 비약적으로 향상합니다. 이것에 관해서는, "회선 규약과 스트림 드라이버" 의 페이지에 설명이 있습니다.

참조 클락은, 일반적으로 (항상이 아닙니다만) 무선 시각 코드 수신기입니다. 이 무선 시각 코드 수신기는, 캐나다의 NRC 나 합주국의 NIST 나 USNO 가 제공하고 있는 서비스의 같은, 표준시각의 공급원에 동기 합니다. 컴퓨터와 시각 코드 수신기와의 사이의 인터페이스는 디바이스 의존입니다만, 시리얼 포트를 사용하는 것이 보통입니다. 각각의 참조 클락에 특유의 디바이스 드라이버를 선택해, 그 디스트리뷰션으로 컴파일 할 필요가 있습니다만, 무엇보다 표준의 무선, 위성, 그리고 모뎀 시계는 디폴트로 포함되어 있습니다. 그 시계용의 드라이버가 컴파일되어 있지 않은지, 하드웨어의 포트가 적절히 설정되어 있지 않을 때에 참조 클락을 설정하려고 하면(자), 시스템의 로그 파일에 격렬한 경고가 나옵니다만, 그 외의 장해가 일어날 것은 없습니다.

설정의 관점으로부터 보면(자), ntpd(8) (은)는, 참조 클락을, 보통 NTP 의 교신 상대로 하는 것으로 오는 한 같은 방법으로 취급합니다. 참조 클락은, 통상의 NTP 통신 상대와 구별하기 위해(때문에), 문법적으로는 올바르지만, 무효인 IP 주소를 사용해 인식됩니다. 참조 클락의 주소는, 127.127. t . u의 형식입니다. 여기서, t (은)는 시계의 종류를 나타낸 정수로, u (은)는 유니트 번호 (범위는 0-3)를 나타내고 있습니다. 이것은, 과잉으로 보일지도 모릅니다만, 사실, 동종류의 참조 클락을 복수 설정하는데는 때로는 편리합니다. 이 경우, 유니트 번호는 일의의 것임이 필요합니다.

server 명령을 사용해 참조 클락을 설정합니다. 여기서, 이 명령의 address 인수는 참조 클락의 주소입니다. key, version, ttl 옵션은, 참조 클락의 서포트에서는 사용하지 않습니다. 참조 클락을 서포트하기 위해서, mode 옵션이 추가되고 있습니다. 이 옵션에 대해서는 다음에 말합니다. prefer 옵션은, 서버에, 다른 참조 클락이나 통신 상대보다 얼마인가 열심히, 어느 참조 클락을 소중히 취급하게 하도록(듯이) 재촉하는데 유효합니다. 이 옵션에 관한 새로운 정보에 대해서는, "완화 룰과 prefer 키워드" 의 페이지에 있습니다. minpoll (와)과 maxpoll 옵션은, 선택된 클락 드라이버에 대해서만 의미가 있습니다. 새로운 정보에 대해서는, 별개의 클락 드라이버의 문서 페이지를 참조해 주세요.

fudge 명령은, 클락 드라이버 고유의 추가 정보를 제공하는데 사용합니다. 통상은, server 명령의 직후에 사용됩니다. address 인수는 클락의 주소를 지정합니다. refid (와)과 stratum (은)는, 그 디바이스의 기본값을 덧쓰기하기 위해서 사용하는 것이 할 수 있습니다. 2 개의 옵션의 디바이스 의존의 시각 오프셋(offset)와 4 개의 플래그가 있어, 그것들도 이와 같이 fudge 명령에 포함하는 것이 가능합니다.

참조 클락의 계층 (stratum) 번호는, 디폴트로 0 입니다. ntpd(8) demon는 각 통신 상대의 계층에 1 을 더하므로, 프라이머리 서버는, 통상, 외부 계층 1 을 나타냅니다. 백업을 교묘하게 운용하기 위해(때문에), 참조 클락의 계층을 0 보다 큰 수로 지정하는 것이 유익한 일이 많습니다. 이 목적을 위해서(때문에), stratum 옵션을 사용합니다. 참조 클락과 1 초간격펄스 (PPS) 조정 신호의 양쪽 모두를 포함한 경우, 참조 클락 식별자를 기본값 이외의, 드라이버에 의존한 것으로 지정하는 것이 유효합니다. 이 목적을 위해서(때문에), refid 옵션을 사용합니다. 기술이 없는 한, 이러한 옵션은, 모든 시계 드라이버에 적용됩니다.

참조 클락의 명령

127.127. t . u[ prefer] [ mode int] [ minpoll int] [ maxpoll int] 이 명령은, 참조 클락을 특수한 방법으로 설정하는데 사용할 수 있습니다. 옵션은 다음과 같이 해석됩니다:
prefer
  그 참조 클락을 우선적인 것으로 해 표를 붙입니다. 그 외의 점에서는 대등하면, 올바르게 동작하고 있는 호스트중에서 이 참조 클락이 동기를 잡는 대상으로 해 선택됩니다. 새로운 정보에 대해서는, "완화 룰과 prefer 키워드" 의 페이지를 참조해 주세요.
mode int
  모드 번호를 지정합니다. 이 번호는, 디바이스 특유의 방식으로 해석됩니다. 예를 들면, 모드 번호는, ACTS 드라이버에서는 다이얼용의 프로토콜을 선택합니다만, parse 드라이버에서는 디바이스의 아류형을 지정합니다.
minpoll int
maxpoll int
  이러한 옵션은, 참조 클락의 메세지에 대한 폴링의 최소 간격 및 최대 간격을 2 의 지수로 나타낸 초수로 지정합니다. 직접 접속되고 있는 참조 클락의 대부분에서는, minpoll maxpoll 하 디폴트로 6 (64 초)입니다. 모뎀의 참조 클락에서는, minpoll (은)는 디폴트로 10 (17.1 초)으로, maxpoll (은)는 디폴트로 14 (4.5 시간)입니다. 취할 수 있는 범위는, 4 (16 초)에서 17 (36.4 시간)까지입니다.
127.127. t . u[ time1 sec] [ time2 sec] [ stratum int] [ refid string] [ mode int] [ flag1 0 | 1] [ flag2 0 | 1] [ flag3 0 | 1] [ flag4 0 | 1] 이 명령은, 참조 클락을 특수한 방법으로 설정하는데 사용할 수 있습니다. 이 명령은, 드라이버를 설정하는 명령이다 server 명령의 직후에 놓여질 필요가 있습니다. 실행중에 ntpdc(8) 프로그램을 사용해, 이것과 같은 것이 생기기로 주의해 주세요. 옵션은, 다음과 같이 해석됩니다:
time1 sec
  드라이버가 생성하는 시간의 오프셋(offset)에 추가되는, 초단위로, 고정 소수점의 10 진수의 정수를 지정합니다. 이 정수는, 예를 들면 정확한 PPS 신호와 같은 외부의 표준시간에 맞추기 위해서(때문에), 특정의 시계의 얼마안되는 시간 오프셋(offset)를 조절한다 보정용 정수로서 사용됩니다. 또, 이 정수는, 시리얼 포트의 지연,
operating system의 지연이나, 케이블의 길이의 달라, 수신기 내부의 지연에 기인하는, 시스템적인 오차나 바이어스를 보정하는 방법도 제공합니다. 지정된 오프셋(offset)치는, 전파 지연에 가세해, 다른 수단, 예를 들면 내부 딥 스위치로 제공되는 것입니다. 개별의 시스템이나 드라이버에 대한 보정은 사용할 수 있습니다만, 대범한 보정에 관해서는, 드라이버의 문서 페이지에 기재되어 있습니다. 주의: 2개 이상의 라디오 시계나 PPS 신호가 서포트되고 있을 때의 교정을 원활히 행하기 위해서(때문에), 특별한 교정 기능이 제공되고 있습니다. 그 외의 옵션 의 페이지로 설명하고 있다 enable 명령의 인수의 형식을 취해, "참조 클락 드라이버" 의 페이지에 기재되도록(듯이) 동작합니다.
time2 secs
  초단위의, 고정 소수점 10 진수를 지정합니다. 이것은, 드라이버 의존의 방법으로 해석됩니다. " 참조 클락용 드라이버 " 페이지의 각 드라이버의 설명을 참조해 주세요.
stratum int
  드라이버에 할당할 수 있었던 계층 번호를 지정합니다. 이 번호는, 0 에서 15 까지의 정수치입니다. 이 번호는, 최초로 드라이버 자신이 할당하고 있었다 계층 번호 (통상은 0)를 덧쓰기합니다.
refid string
  1 캐릭터에서 4 캐릭터까지의 ASCII 캐릭터 라인을 지정합니다. 이 캐릭터 라인은, 드라이버가 사용하는 참조 식별자를 정의하고 있습니다. 이 캐릭터 라인은, 최초로 드라이버 자신이 할당하고 있던, 디폴트의 식별자를 덧쓰기합니다.
mode int
  모드 번호를 지정합니다. 이 번호는, 디바이스 마다 고유의 방식으로 해석됩니다. 예를 들면, ACTS 드라이버에서는 다이얼용 프로토콜을 선택합니다만, parse 드라이버에서는 디바이스의 아류형을 선택합니다.
flag1 0 | 1
flag2 0 | 1
flag3 0 | 1
flag4 0 | 1
  이것들 4 개의 플래그는 시계 드라이버를 커스터마이즈 하는데 사용됩니다. 이러한 값의 해석이나, 모든 것이 사용되는지 아닌지에 대해서는, 개개의 시계 드라이버에 의존한 기능입니다. 그러나 관습으로서는, flag4 (은)는, 모니터 대상 데이터를, filegen 명령로 설정했다 clockstats 파일에 기록 하는 기능을 유효하게 하기 위해서 사용합니다. filegen 명령에 관한 새로운 정보에 대해서는, 모니터 기능의 옵션 섹션을 참조해 주세요.

그 외의 옵션

broadcastdelay seconds
  브로드캐스트 및 멀티 캐스트 모드에서는, 로컬 서버와 리모트 서버와의 사이의 지연을 결정하기 위한 특수한 보정이 필요합니다. 통상, 이것은, 클라이언트 서버간의 최초의 프로토콜의 교환으로 자동적으로 행해지고 있습니다. 경우에 따라서는, 예를 들면 네트워크나 서버의 액세스 제어에 의해, 이 보정의 수속이 실패해 버리는 일도 있습니다. 이 명령은, 이러한 상황때에 사용되는 디폴트의 지연을 지정합니다. 전형적으로는 (이더넷(ethernet)에서는), 0.003 에서 0.007 초까지가 적절합니다. 이 명령을 사용하지 않는 경우의 기본값은, 0.004 초입니다.
driftfile driftfile
  이 명령은, 로컬의 시계 발진자의 주파수 오프셋(offset)를 기록하기 위해(때문에) 의 파일명을 지정합니다. 이 파일이 존재하면(자), 기동시에 읽혀 초기 주파수 오프셋(offset)를 지정하는데 사용됩니다. 그 후 1 시간에 1 번, demon는 그 시점에서의 주파수 오프셋(offset)를 계산해, 그 값으로 파일을 갱신합니다. 파일이 존재하지 않는지, 이 명령이 주어지지 않은 경우, 초기 주파수 오프셋(offset)는 0 으로 가정됩니다. 이 경우, 주파수가 안정되어, 잔류 시간 오차가 들어가는데 수시간 걸리는 경우가 있습니다.

파일의 포맷은, 부동 소수점수(실수) 1 개만을 포함한 1 행으로부터 됩니다. 이 부동 소수점수(실수)는, 100 만 분의 1 (PPM) 단위에서의 주파수 오프셋(offset)치를 기록하고 있습니다. 이 파일의 갱신은, 최초로 현재의 변동치를 일시파일에 기입해, 그리고 파일의 이름을 변경해 낡은 파일과 치환 있는 것으로 행합니다. 이것은, ntpd(8) 하지만, 드리프트 파일이 있는 디렉토리에 대해 기입권을 가지고 있다 필요가 있는 것으로, 상징적이어도 아니어도, 파일 시스템 링크는 피해야 할 일을 의미하고 있습니다.

[ auth | bclient | calibrate | kernel | monitor | ntp | stats ]
[ auth | bclient | calibrate | kernel | monitor | ntp | stats ] 다양한 서버 옵션을 유효하게 하거나 무효로 하거나 한다 수단을 제공합니다. 지정되어 있지 않은 플래그에는 영향이 없습니다. 이러한 플래그는 모두 ntpdc(8) 유틸리티 프로그램을 사용해 리모트에 제어할 수 있다고 한다 일로 주의해 주세요. 플래그의 설명은 다음과 같습니다.
bclient
  유효의 경우, broadcastclient 명령와 동일한 효과가 있습니다. 디폴트에서는, 이 플래그는 disable 입니다.
calibrate
  교정 기능을 유효하게 합니다. 이 기능은, 클락 드라이버 각각의 time1 의 값을 보정해, 현재 선택하고 있을 때 각원 또는, 커널 학습 신호와 같은 오프셋(offset)를 나타내도록(듯이) 합니다. 새로운 정보에 대해서는, "참조 클락 드라이버" 의 페이지를 참조해 주세요. 이 플래그의 디폴트는 disable 입니다.
kernel
  adjtime(2) 시스템 콜에 대해, 정확하게 계시할 수 있다 커널 서포트가 실장되고 있으면, 이것을 유효하게 합니다. 원래, NTP demon가 컴파일 될 때, 이 routine가 서포트될지 어떨지는 자동적으로 검출되므로, 유저가 이 플래그를 신경쓴다 필요는 없습니다. 이 플래그는 본래, 커널의 개발중에 이 서포트를 무효로 할 수 있도록(듯이) 하기 위해서 제공되고 있었습니다. 이 플래그의 디폴트는, enable 입니다.
monitor
  모니터용 기능을 유효하게 합니다. 새로운 정보가 필요하면, ntpdc(8) 프로그램의 monlist 명령의 항을 참조해 주세요. 이 플래그의 디폴트는, enable 입니다.
ntp 서버가, NTP 를 이용해 로컬 시계를 조정할 수 있도록(듯이) 합니다. 무효가 되어 있는 경우는, 로컬 시계는, 내장의 시각과 주파수 오프셋(offset)로 제멋대로로 움직입니다. 이 플래그가 유용한 것은, 로컬 시계가 다른 디바이스나 프로토콜로 제어되어 다른 클라이언트용으로 동기를 제공하기 위해(때문에)인 만큼 NTP 를 사용하는 경우입니다. 이 경우, 로컬 시계의 드라이버를 이 기능이나, 게다가 오차 예측이나 윤초표시자 (leap-indicators)를 제공한다 위해(때문에) 사용할 수 있습니다. 새로운 정보가 필요하면, "참조 시간 드라이버" 의 페이지를 참조해 주세요. 이 플래그의 디폴트는, enable 입니다.
stats 통계 기능을 유효하게 합니다. 새로운 정보가 필요하면, "모니터용 옵션" 의 섹션을 참조해 주세요. 이 플래그의 디폴트는, enable 입니다.
logconfig configkeyword
  이 명령은, 시스템의 syslog(3) 기능이나, 그 대용의 logfile 로그 파일에 쓰여지는 출력의 양과 종류를 제어합니다. 디폴트에서는, 모든 출력이 온입니다. configkeyword 키워드는 모두, ‘=’, ‘+’, ‘-’ (을)를 선두에 붙이는 것이 할 수 있습니다. 여기서, ‘=’ (은)는, syslog(3) 의 우선도 마스크를 설정해, ‘+’ (은)는 메세지를 추가해, ‘-’ (은)는 메세지를 삭제합니다. syslog(3) 메세지는, 4 개의 클래스 ( clock, peer, sys, sync ) 그리고 제어할 수 있습니다. 이러한 클래스의 내부에서, 4 종의 메세지를 제어할 수 있습니다. 정보 메세지 ( info) (은)는 설정 정보를 제어합니다. 이벤트 메세지 ( events) (은)는 이벤트의 로깅 (도달 가능성, 동기, 알람 상황)(을)를 제어합니다. 통계 정보의 출력은, statistics 키워드를 사용해 제어됩니다. 마지막 메세지 그룹은, 스테이터스 메세지입니다. 이것은 주로, 동기의 스테이터스를 나타냅니다. 설정 키워드는 메세지 클래스와 이벤트 클래스를 그대로 묶은 형태를 하고 있습니다. 프리픽스 all (은)는, 메세지 클래스 대신에 사용할 수 있습니다. 메세지 클래스의 뒤로, 키워드 all (을)를 계속할 수가 있어 거기에 따라, 각각의 메세지 클래스의 메세지를 모두 유효 / 무효로 할 수 있습니다. 이 때문에, 최저한의 로그의 설정은 다음과 같이 되겠지요:
logconfig=syncstatus +sysevents

이 설정에서는, 단지 ntpd(8) 의 동기의 스테이터스와 중요한 시스템 이벤트를 리스트 합니다. 단순한 참조 서버에 대해서는, 다음과 같은 최저한의 메세지의 설정을 실시하면 유익하겠지요:

logconfig=syncall +clockall

이 설정에서는, 시계의 정보 모두동기 정보를 리스트 합니다. 다른 이벤트나 통신 상대에 관한 메세지, 그리고 시스템의 이벤트 등은 억제됩니다.

logfile logfile
  이 명령은, 디폴트의 시스템의 syslog(3) 기능 대신에 사용되는, 대용의 로그 파일의 있는 곳을 지정합니다.
setvar variable [ default]
  이 명령은, 시스템 변수를 추가합니다. 이러한 변수는, 아크세스포리시등의 정보를 추가해 배포하기 위해서 사용할 수 있습니다. name= value의 형식의 변수에 default 키워드가 계속되고 있는 경우, 그 변수는, 디폴트의 시스템 변수의 일부로서 리스트 되게 됩니다 ( ntpq(8) rv 명령을 참조. ) 이러한 변수의 추가는, 정보를 주는 목적만을 완수합니다. 리스트 된다고 하는 것 이외로, 프로토콜에 관계하지 않습니다. 기존의 프로토콜 변수는 항상, setvar 의 기구에 의해 정의되어 도미인가 되는 변수보다 우선됩니다. 같은 그룹의 모든 변수명을 포함한 3 개(살)의 특별한 변수가 있습니다. sys_var_list (은)는, 모든 시스템 변수명을 보관 유지하고 있습니다. peer_var_list (은)는, 모든 통신 상대의 변수명을 보관 유지하고 있습니다. 그리고, clock_var_list (은)는, 참조 클락의 변수명을 보관 유지하고 있습니다.
[ step step | panic panic | dispersion dispersion | stepout stepout | minpoll minpoll | allan allan | huffpuff huffpuff ] 이 명령은, 지극히 예외적인 상황하로, 몇개의 시스템 변수를 변경하기 위해서 사용합니다. 설정 파일중에서, 이 명령은, 다른 설정 옵션의 어떤 것보다 전에 둘 필요가 있습니다. 이러한 변수의 기본값은, 네트워크 속도와 신뢰성의 예측치에 대해, 폭넓은 범위에서, 주의 깊게 최적화시켜 있습니다. 일반적으로, 이것들 변수는 간단하게 예측할 수 없는 포함 들어간 방법으로 상호작용을 서로 미칩니다. 또, 변수의 편성에 따라서는, 터무니 없는 동작이 되어 버린다 가능성이 있습니다. 매우 보기 드물게입니다만, 디폴트의 값을 변경할 필요가 있는 경우가 있습니다만, 어쨌든, 안주를 돌리고 싶다고 하는 유혹에 저항할 수 없는 배는 있는 것으로, 이 명령은 그러한 사람들을 위한 물건입니다. 특히 강조해 둡니다만, 이 안주를 돌리는 것은 각자의 제멋대로여 하는 것으로, 서포트 그룹에 일절의 도움을 요구할 수 없습니다.

모든 인수는, 부동 소수점수(실수)의 초, 또는 초분의초입니다. minpoll 인수는, 초를 2의 베키 정수로 나타낸 것입니다. 이 변수는 다음과 같이 동작합니다.

step step
  이 인수는, 시각 설정의 반응을 일으키는 최소의 물리량 (통상 0.128초)의 새로운 값이 됩니다. 0 으로 설정했을 경우, 시각 설정 (step)에 의한 보정은 생기지 않습니다. 일반적으로는, 시각 설정을 피하는 목적을 위해서(때문에)는, 시각 설정 반응을 일으키는 최소의 물리량은 손대지 않고 , -x 명령행 옵션을 사용하는 것이 보통입니다.
panic panic
  이 인수는, 패닉 반응을 일으키는 최소의 물리량 (통상 1000 초)의 새로운 값이 됩니다. 0 으로 설정했을 경우, 패닉 건전성 체크는 무효로 되어 시각 오프셋(offset)로서 모든 값이 수리됩니다.
dispersion dispersion
  이 인수는, 분산치 증가율 (통상,. 000015)의 새로운 값이 됩니다.
stepout stepout
  이 인수는, 왓치좃그타임아우트 (통상 900 초) 의 새로운 값이 됩니다.
minpoll minpoll
  이 인수는, 멀티 캐스트 클라이언트 어소시에이션, 메니캐스트크라이안트아소시에이션, 대칭 패시브 모드 어소시에이션을 설정할 경우에 이용한다 최소 폴링 간격의 새로운 값이 됩니다. 디폴트의 값은 6 (64초)으로, 하한은 4 (16초)입니다.
allan allan
  이 인수는, 최소 Allan 차단치의 새로운 값이 됩니다. 이 값은 PLL/FLL 시각 학습 알고리즘의 파라미터의 1 개입니다. 디폴트는 1024 초로, 이 값이 하한이기도 합니다.
huffpuff huffpuff
  이 인수는 현재 실험적으로 제공된다 스하피르타 (huff-n'-puff filter)의 스팬의 새로운 값이 됩니다. 이 값은, 이 알고리즘이 최소 지연을 요구하는 시간 간격 중 가장 새로운 것을 결정합니다. 하한은 900 초 (15분 )입니다만, 보다 착실한 값은 7200 (2시간)입니다. 이 명령이 주어질 때까지 이 필터는 유효하게 되어 있지 않으므로, 디폴트는 없습니다.
[ port port_number] [ interface interface_address] 이 명령은, 지정한 호스트 주소, 포트 번호에 트랩 수신기를 설정합니다. 이 트랩 수신기는, 지정한 로컬 인터페이스 주소를 가지는 메세지를 송신합니다. 포트 번호를 지정하지 않는 경우, 값 18447 이 사용됩니다. 인터페이스 주소를 지정하지 않는 경우, 그 메세지가 송신된 로컬 인터페이스를 소스 주소에 가지는 메세지가 송신됩니다. multi-homed를 가지는 호스트에서는, 경로 정보의 변경에 따라, 때에 따라 사용하는 인터페이스가 바뀌는 것에 주의해 주세요.

트랩 수신기는 이벤트 메세지나, 서버로부터의 그 외의 정보를, 로그 파일에 로그를 취합니다. 이러한 감시 프로그램은, 자기 자신의 트랩을 동적으로 요구하는 일도 있습니다만, 트랩 수신기의 설정에 의해, 서버의 기동 후에 없어지는 메세지는 없는 것은 프로텍션됩니다.

관련 파일

/etc/ntp.conf 디폴트의 설정 파일명
ntp.keys MD5 비밀열쇠
ntpkey RSA 비밀열쇠
ntpkey_host RSA 공개열쇠
ntp_dh Diffie-Hellman 합의 파라미터

관련 항목

ntpd(8), ntpdc(8), ntpq(8)

제공되고 있는 메뉴얼 페이지에 가세해, 이해하기 쉬운 문서가 world wide web 상에서 입수 가능합니다. http://www.ntp.org/ (으)로부터 입수할 수 있습니다. 이 문서의 snapshot가 HTML 포맷으로 /usr/share/doc/ntp 디렉토리내에 있습니다.

David L. Mills, RFC1305, Network Time Protocol (Version 3),

버그

구문 체크에 좋고 싫음은 없습니다. 뭐든지 기꺼이 먹습니다. 옵션이나 모드의, 바보 나막신 편성이나 웃음의 편성마저 검출하지 않는 것도 있습니다.

ntpkey_host (은)는 실제로는 디지털 인증입니다. 보안 디렉토리 서비스가 폭넓게 이용 가능하게 되었을 때에는, 거기로부터 취득해야 합니다.


NTP.CONF (5) January 13, 2000

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

There are 10 types of people in the world: those who understand binary, and those who don't.