로컬 또는 공용 NTP 서버?


11

비교적 큰 네트워크 (수천 개의 호스트)의 경우 로컬로 관리되는 NTP 서버 풀 (일부 공용 NTP 서버를 통해 정기적으로 설정 됨)을 실행하고 네트워크의 다른 모든 호스트를 사용하는 것에 대한 논쟁은 무엇입니까? ntp.pool.org를 통해 NTP 서버 풀과 모든 호스트가 단순히 공개 NTP 서버를 직접 사용하도록하는 것?

장단점 외에도 오늘날의 모범 사례는 무엇입니까?


숙제 질문? 수천 개의 호스트가있는 네트워크의 네트워크 관리자가 이미 NTP를 사용하고있는 것 같습니다.
JamesBarnett

2
문제는 NTP를 사용할지 여부가 아니라 자신의 NTP를 세워야하는지 아니면 공개 NTP를 사용해야하는지입니다.
Ian Varley

Hah, 숙제를 한 지 오래되었습니다. :) 개인적으로 수천 명의 호스트가있는 네트워크 관리자는 아니지만 질문이 생겨서 기존 모범 사례에 관심이 있습니다.
BeeOnRope 2012 년

답변:


12

가장 좋은 방법은 공용 NTP 서버와 동기화하도록 설정된 자체 NTP 서버 풀을 실행하는 것입니다. 조직에서 인터넷에 액세스 할 수없는 경우 시계가 왜곡되는 것을 원하지 않을 것입니다. 또한 미러를 작동 할 수 있고 작동해야 할 경우 수천 개의 호스트를 공용 서버로 설정하는 것은 무례합니다.

마지막으로, 안전한 컴퓨팅 요구 사항이있는 경우 자체 독립 NTP 호스트를 운영해야합니다. 이러한 시스템이 작동하려면 특별한 하드웨어가 필요합니다.

편집 : 그것에 대한 토론이 있었으므로 여기에 몇 가지 하드웨어가 있습니다.

PPS를 지원하는 모든 하드웨어는 최신 ntpd 에서 작동하는 것 같습니다 . 여기에는 일부 GPS 장치가 포함되지만, 이것은 최근에는 직렬 GPS 장치처럼 드문 것 같습니다. 그러나 TSync-PCIe라는 하나의 제품을 포함하여이 기능을 위해 명시 적으로 판매 된 하드웨어 장치가 있습니다. 제조업체 사이트에 따르면 :

TSync-PCIe는 동기화 된 타임 코드 리더 / 발전기 패키지의 여러 구성을 제공하여 유연성을 제공하고 정밀한 타이밍을 임베디드 컴퓨팅 애플리케이션에 쉽게 통합 할 수 있습니다. IRIG (및 기타 유사한 타임 코드), GPS (내부 또는 외부 수신기) 또는 Precise Time Protocol (PTP / IEEE-1588v2) 로의 동기화 중에서 선택하십시오. -사이트 링크 : http://i564f.6o.to


1
하드웨어 시계를 언급하면 ​​+1입니다. 저렴한 Garmin 18 LVC 를 Linux 상자에 연결하여 자신 만의 Stratum 0 소스를 만들기 위한 지침 이 있습니다 .
Chris S

이러한 모든 지침은 인터페이스를 구축하기 위해 자체 하드웨어 해킹을 수행하는 것으로 보입니다.
Phil Hollenback 님이

@Phil, 저렴한 GPS Stratum 0 소스를 찾는 사람들은 약간의 하드웨어 해킹을 기꺼이 할 것입니다. 쉬운 것을 원한다면 다른 사람들처럼 현금을 버리십시오.
Chris S

예, GPS 장치에서 타임 코드를 얻는 것은 매우 간단한 작업 인 것이므로 순전히 간단한 연결이라고 가정합니다.
Phil Hollenback

8

소규모 네트워크에서도 로컬 NTP 서비스를 사용하는데,이 서비스는 자체적으로 외부 서비스에서 업데이트됩니다. 한 가지 이유는 인터넷에 대한 유일한 연결이 전화 접속 모뎀을 통해 이루어 졌던 때로 거슬러 올라가는 순수한 역사적 이유입니다. 다른 하나는 NTP 서비스가 어떤 이유로 든 틀린 경우 모든 시스템이 여전히 일관성을 유지하는 것을 선호한다는 것입니다. 모든 시스템이 단일 소스에서 업데이트되는 경우 일 가능성이 높습니다.


이것이 바로 방법입니다. '올바른'시간을 갖는 것이 확실히 좋은 일이지만 LAN상의 장치 가 정확한 시간과 다르더라도 일정한 시간을 유지 하는 것이 실제로 더 중요 할 수 있습니다 . 서버와 클라이언트간에 시간이 동기화되지 않으면 Kerberos 인증이 실패하고 로그 모니터링, CCTV 레코드 (예 : 카메라 및 PVR 모두 시간 소인이 추가됨) 등과 같은 경우 일관된 시간이 중요 할 수 있습니다.
Rob Moir

7

모범 사례, 설치 위치 (또는 그 이상)의 NTP 호스트는 해당 위치에서 피어링하십시오. 0.pool.ntp.org에서 3.pool.ntp.org로 최소 4 개의 외부 서버 (바람직하게는 최대 8 개)에 대해 동기화하도록합니다. 4 이상을 사용하는 경우 풀 멤버를 폴링하는 빈도를 조정해야합니다.

내 ntp.conf의 편집 된 버전은 다음과 같습니다.

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

minpoll 및 maxpoll 인수를 생략 할 수 있습니다. 추가하여 해당 서버에서 약간 가벼워졌습니다. 값은 2 ^ n 초이며, 여기서 n은 인수입니다. 3 개의 NTP 호스트간에 12 개의 서로 다른 서버를 이미 폴링하기 때문에이 값이 기본값 (6 및 10)보다 높습니다.

정확성이 매우 우려되는 경우 다음을 추가 할 수도 있습니다.

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

이것은 해군의 원자 시계를 폴링합니다. 상당히 많은 시간이 걸리고 사람들이 서버 (실제로는 3 노드 클러스터)에서 쉽게 가져 오도록 요청했기 때문에 높은 폴링 시간을 참고하십시오.


외부 NTP 서버가 동기화되지 않은 경우 어떻게됩니까?
Warren Dew

1. 그것은 일어나지 않거나 적어도 중요한 규모에 있지 않습니다. 2. 정확히 "동기화되지 않은"항목과 크기에 따라 다릅니다. 단일 외부 서버가 꺼져 있으면 사용되지 않습니다. 4 개가 모두 미쳐 버릴 확률은 천문학적으로 작습니다. 정확성에 관심이 있다면 USNO 서버 클러스터를 사용하십시오. 지터가 적기 때문에 시간이 더 좋습니다.
Chris S

3

다른 사람들이 언급했듯이 수천 개의 내부 호스트의 경우 자체 시간 서버를 제공하는 것이 좋습니다. (이미 언급 한 바와 같이) 다음과 같은 이유로 :

  • 구조 : 원하는대로 시간 설정을 구성하십시오. 가능한 한 1 개의 지층 소스로
  • 견고성 : 필요에 따라 ntp 시스템을 견고하게 구성합니다. 경로가 다른 자체 클록 소스 (GPS) 및 / 또는 NTP 소스 사용
  • 공손 : 외부 시간 소스의 호스팅 조직을위한 친절한 고려; 그들을위한 적은 짐
  • 성능 : 외부 NTP 네트워크 트래픽을 소수의 호스트로 제한 (사소한 문제)
  • 보안 : NTP 네트워크 트래픽을 몇 개의 강화 된 호스트로 외부 제한

모범 사례까지 :

에서 http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , 여기 NTP 단지 소스에 대한 권장되는 구조입니다.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

NTP 서버 설정에 대한 추가 정보는 http://www.pool.ntp.org/join/configuration.html에서 제공 됩니다. 예는 다음과 같습니다.

  • 약 5 대의 서버 설정
  • 표준 ntpd 사용
  • LOCAL 시계 드라이버를 사용하지 마십시오
  • 가장 지리적으로 / 네트워크에 가까운 NTP 시간 소스와 낮은 계층 번호를 사용하십시오.

단일 계층 2 서버에 따라 계층 3 서버를 갖는 것은 바람직하지 않다는 FAQ의 해당 항목 뒤에 주석이 있습니다. 따라서 위의 다이어그램을 정확하게 따르지 않고 각 계층 3 서버에서 각 계층 2 서버로 연결되는 선이 있어야합니다.
Paul Gear

1

대부분의 대규모 네트워크는 작은 전용 내부 ntp 서버 풀을 사용한다고 생각합니다. ntp 트래픽은 매우 적기 때문에 대규모 조직에 서비스를 제공하기 위해 많은 서버가 필요하지 않을 수 있습니다.

모든 네트워크 서비스와 마찬가지로 자체 ntp 서버를 실행하면 더 많은 제어권을 가지며 더 많은 결정을 내릴 수 있다는 이점이 있습니다. 예를 들어 외부와의 네트워크 연결이 끊어지면 시스템이 내부 ntp 서버와 계속 통신 할 수 있으므로 모든 외부 서버에 다시 연결해야하는 것에 대해 걱정할 필요가 없습니다.

수천 대의 서버가있는 경우 gps 장치 또는 전용 원자 시계 를 통해 전용 시간 서버를 실행하는 것도 고려해야합니다 . 요즘 얼마나 ​​많은 비용이 드는지 잘 모르겠지만 이미 지원하고있는 수천 개의 시스템에 비해 비용이 많이 들지 않습니다. 그러면 외부 세계와의 연결과는 완전히 독립적 인 정확한 시간 서비스를받을 수 있습니다.

고려해야 할 또 다른 요점은 자신의 ntp 서버를 실행하는 것이 더 정중하다는 것입니다. 그렇게하면 수천 대가 아닌 외부 요청을하는 몇 대의 컴퓨터 만 있습니다. 공개적으로 액세스 할 수있는 ntp 서버의 관리자는이 점을 높이 평가할 것입니다. 또한 외부 네트워크 트래픽을 약간 (매우 약간) 줄일 수 있습니다.

또한 자신의 ntp 서버를 실행하는 경우 많은 시스템 대신 포트 123에서 몇 대의 시스템 만 외부에 연결되므로 방화벽을 약간 강화할 수 있습니다. 유용 할 것입니다.

ntp는 설정하기 쉽고 일단 실행하면 유지 관리가 거의 필요 없습니다. 내가 참여한 모든 회사는 자체 ntp 서버를 설정했으며 제대로 작동했습니다.


0

이 경우 모범 사례는 고유 한 NTP 서버 또는 필요에 따라 풀을 실행하고 지리적으로 가장 가까운 NTP 풀에서 가져 오는 것입니다. 이렇게하면 공개 NTP 서버가 부담해야하는로드가 줄어든다. 그러나 여전히 높은 정확도를 제공 할 것입니다. 더 높은 정확도가 필요한 경우 Stratum 1 서버에서 끌어 올 수 있지만 그렇게하면 풀의 부하를 늘릴 수 있으므로 서버를 풀에 기고하려는 경우에만이 작업을 수행해야합니다.


0

대규모 네트워크에서 자체 NTP 서버를 실행해야하는 좋은 이유는 모든 컴퓨터가 정확한 시간에 동의하도록하기 때문입니다. 외부 시간 서버에 대한 자체 설정이 있거나 많은 pool.ntp.org 구성원을 사용하는 시스템이 많으면 시스템에서 약간의 시간 차이가 발생하여 문제가 발생할 수 있습니다.

또 다른 좋은 이유는 자신의 NTP 서버를 가지고 있다는 것은 외부 링크가 다운되거나 트래픽이 가득 찼을 때 동기화 된 시간이 일부 (모니터링 된) 서버에서 계속 사용 가능하다는 것을 의미합니다.

Timegeek으로 내 모든 의견.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.