18장. chrony Suite를 사용하여 NTP 설정
IT의 여러 이유로 정확한 시간 유지가 중요합니다. 예를 들어 네트워킹에서는 패킷 및 로그의 정확한 타임스탬프가 필요합니다. Linux 시스템에서 NTP 프로토콜은 사용자 공간으로 실행되는 데몬에 의해 구현됩니다.
사용자 공간 데몬은 커널에서 실행되는 시스템 클럭을 업데이트합니다. 시스템 클럭은 다양한 클럭 소스를 사용하여 시간을 유지할 수 있습니다. 일반적으로TSC( Time Stamp TSC )가 사용됩니다. TSC는 마지막 재설정 이후 사이클 수를 계산하는 CPU 레지스터입니다. 매우 빠르고 높은 해상도가 있으며 중단이 없습니다.
데몬 ntpd 와 chronyd 는 각각 ntp 및 chrony 패키지의 리포지토리에서 사용할 수 있습니다.
이 장에서는 chrony 제품군 사용에 대해 설명합니다.
18.1. chrony Suite 소개 링크 복사링크가 클립보드에 복사되었습니다!
Chrony 는 NTP(Network Time Protocol) 구현입니다. Chrony 를 사용할 수 있습니다.
-
시스템 클럭을
NTP서버와 동기화하려면 - 시스템 클럭을 참조 클럭과 동기화하기 위해, 예를 들면 GPS 수신기,
- 시스템 시계를 수동 시간 입력과 동기화하려면
-
NTPv4(RFC 5905)서버 또는 피어로서 네트워크의 다른 컴퓨터에 시간 서비스를 제공합니다.
chrony는 간헐적인 네트워크 연결, 과도한 정체된 네트워크, 온도 변경(또는 기존 컴퓨터 클럭이 온도에 민감함) 및 가상 머신에서 실행되지 않는 시스템을 포함한 다양한 조건에서 잘 작동합니다.
인터넷을 통해 동기화된 두 시스템 간의 일반적인 정확도는 몇 밀리초 내에 있으며 10초 이내에 LAN의 경우 입니다. 하드웨어 타임스탬프 또는 하드웨어 참조 클럭은 마이크로초 수준에 동기화된 두 시스템 간의 정확도를 향상시킬 수 있습니다.
chrony 는 사용자 공간으로 실행되는 데몬인 chronyd, chronyc, chronyd 의 성능을 모니터링하고 실행 시 다양한 운영 매개 변수를 변경하는 데 사용할 수 있는 명령행 프로그램으로 구성됩니다.
18.1.1. ntpd와 chronyd의 차이점 링크 복사링크가 클립보드에 복사되었습니다!
chronyd 가 ntpd 보다 더 나은 작업을 수행할 수 있습니다.
-
chronyd는 시간 참조에 대한 액세스가 간헐적인 환경에서 제대로 작동할 수 있지만ntpd는 제대로 작동하기 위해 시간 참조를 정기적으로 폴링해야 합니다. -
네트워크가 더 긴 기간 동안 혼잡한 경우에도
chronyd가 제대로 작동할 수 있습니다. -
chronyd는 일반적으로 클럭을 더 빠르고 더 나은 정확도와 동기화할 수 있습니다. -
chronyd는rystal oscillator의 온도 변화와 같이 시계 속도의 급격한 변화에 빠르게 적응하는 반면,ntpd는 다시 다운로드하는 데 오랜 시간이 필요할 수 있습니다. -
기본 구성에서 clock이 다른 실행 프로그램을 활성화하지 않도록 시스템 시작 시 동기화된 후
chronyd를 수행하지 않습니다.ntpd는 시간을 너무 단계를 거치지 않도록 구성할 수 있지만 클럭의 정확도에 부정적인 영향을 미치는 시계를 조정하는 다른 수단을 사용해야 합니다. -
chronyd는 더 큰 범위에서 Linux 시스템에서 클럭 속도를 조정할 수 있으므로 손상되거나 불안정한 시계가 있는 시스템에서도 작동할 수 있습니다. 예를 들어 일부 가상 시스템에서 다음을 수행합니다. -
chronyd는 크기가 작아서 메모리를 적게 사용하고 필요한 경우에만 CPU를 켜고 절전이 더 좋습니다.
chronyd 가 수행할 수 있는 작업은 ntpd 에서 수행할 수 없습니다.
-
chronyd는 시간 수정 방법이 수동 입력인 격리된 네트워크에 대한 지원을 제공합니다. 예를 들어, 관리자가 시계를 보면 문제를 해결할 수 있습니다.chronyd는 다른 업데이트에서 수정된 오류를 검사하여 컴퓨터가 시간 증가 또는 손실 속도를 추정하고 이 추정치를 사용하여 나중에 컴퓨터 시계를 조정할 수 있습니다. -
chronyd는 컴퓨터가 꺼진 시간을 유지 관리하는 클럭과 같이 실시간 클럭의 속도 또는 손실 속도를 파악하는 기능을 제공합니다. 이 데이터를 사용하면 시스템이 실시간 클럭에서 가져온 수정된 시간 값을 사용하여 시스템 시간을 설정할 때 이 데이터를 사용할 수 있습니다. 이러한 실시간 시계 기능은 현재 Linux 시스템에서만 사용할 수 있습니다. -
chronyd는 로컬 네트워크에서 매우 정확한 동기화를 허용하는 Linux에서 하드웨어 타임스탬프를 지원합니다.
ntpd 는 chronyd 가 할 수 없는 작업을 수행할 수 있습니다.
-
ntpd는 브로드캐스트, 멀티 캐스트 및 많은 캐스트 클라이언트 및 서버를 포함하여NTP버전 4(RFC 5905)의 모든 작동 모드를 지원합니다. 브로드캐스트 및 멀티캐스트 모드는 인증을 사용하더라도 본질적으로 덜 정확하고 일반 서버 및 클라이언트 모드보다 안전하지 않으며 일반적으로 피해야 합니다. -
ntpd는 공용 키 암호화로 서버를 인증하기 위해 Autokey 프로토콜(RFC 5906)을 지원합니다. 이 프로토콜은 안전하지 않은 것으로 입증되었으며NTS(Network Time Security) 사양의 구현으로 대체될 수 있습니다. -
ntpd에는 많은 참조 시계에 대한 드라이버가 포함되어 있지만chronyd는 다른 프로그램(예: gpsd )을 사용하여 공유 메모리(SHM) 또는 Unix domain socket(SOCK)을 사용하여 데이터에 액세스합니다.
18.1.2. NTP 데몬 간 선택 링크 복사링크가 클립보드에 복사되었습니다!
chrony 는 chrony를 지원하지 않는 툴에서 관리하거나 모니터링하는 시스템을 제외한 모든 시스템 또는 chrony와 함께 사용할 수 없는 하드웨어 참조 시계가 있는 시스템을 제외하고 모든 시스템에서 우선적으로 사용해야 합니다.
Autokey 프로토콜을 사용하여 패킷 인증을 수행하는 데 필요한 시스템은 chronyd 가 이 프로토콜을 지원하지 않기 때문에 ntpd 에서만 사용할 수 있습니다. Autokey 프로토콜에는 심각한 보안 문제가 있으므로 이 프로토콜을 사용하는 것은 피해야 합니다. Autokey 대신 chronyd 와 ntpd 둘 다에서 지원하는 대칭 키의 인증을 사용합니다. Chrony 는 SHA256 및 SHA512와 같은 더 강력한 해시 기능을 지원하지만 ntpd 는 MD5 및 SHA1만 사용할 수 있습니다.