15장. 시간 동기화 구성


IT 환경에서 정확한 시간 유지가 중요합니다. 모든 네트워크 장치의 일관된 시간은 로그 파일 및 특정 프로토콜의 추적 가능성을 향상시킵니다. 예를 들어 Kerberos는 타임스탬프를 사용하여 재생 공격을 방지합니다.

15.1. Chrony 제품군을 사용하여 NTP 구성

IT의 여러 가지 이유로 정확한 시간 유지는 중요합니다. 예를 들어 네트워킹에서는 패킷 및 로그의 정확한 타임스탬프가 필요합니다. Linux 시스템에서 NTP 프로토콜은 사용자 공간에서 실행되는 데몬에 의해 구현됩니다.

사용자 공간 데몬은 커널에서 실행되는 시스템 시계를 업데이트합니다. 시스템 클록은 다양한 시계 소스를 사용하여 시간을 유지할 수 있습니다. 일반적으로TSC( Time Stamp Counter )가 사용됩니다. TSC는 마지막으로 재설정된 이후 사이클 수를 계산하는 CPU 레지스터입니다. 매우 빠르며 해상도가 높으며 중단이 없습니다.

Red Hat Enterprise Linux 8부터 NTP 프로토콜은 chronyd 데몬에서 구현되며 chrony 패키지의 리포지토리에서 사용할 수 있습니다.

다음 섹션에서는 chrony 제품군을 사용하여 NTP를 구성하는 방법을 설명합니다.

15.1.1. Chrony 제품군 소개

Chrony 는 NTP( Network Time Protocol) 구현 입니다. Chrony :

  • NTP 서버와 시스템 시계를 동기화하려면
  • 참조 클록과 시스템 클록을 동기화하려면 (예: GPS 수신자)
  • 수동 시간 입력과 시스템 시계를 동기화하려면
  • NTPv4(RFC 5905) 서버 또는 피어로서 네트워크의 다른 컴퓨터에 시간 서비스 제공

Chrony 는 간헐적인 네트워크 연결, 과도하게 혼잡한 네트워크, 온도 변경(일반 컴퓨터 클록은 온도에 민감함) 및 지속적으로 실행되지 않거나 가상 시스템에서 실행되지 않는 시스템을 포함하여 다양한 조건에서 원활하게 작동합니다.

인터넷을 통해 동기화된 두 머신 간의 일반적인 정확성은 몇 밀리초 이내이며, 10마이크로초 내에 LAN에 있는 머신의 경우입니다. 하드웨어 타임스탬프 또는 하드웨어 참조 클록은 두 머신 간의 정확도를 1마이크로초 단위로 동기화할 수 있습니다.

Chrony 는 사용자 공간에서 실행되는 데몬인 chronyd와 chronyd 의 성능을 모니터링하고 실행 중인 다양한 운영 매개 변수를 변경하는 데 사용할 수 있는 명령줄 프로그램인 chronyc 로 구성됩니다.

chrony 데몬인 chronyd 는 명령줄 chronyc 에서 모니터링하고 제어할 수 있습니다. 이 유틸리티는 chronyd 의 현재 상태를 쿼리하고 구성을 변경할 수 있도록 여러 명령을 입력할 수 있는 명령 프롬프트를 제공합니다. 기본적으로 chronydchronyc 의 로컬 인스턴스에서 명령만 수락하지만 원격 호스트에서도 모니터링 명령을 허용하도록 구성할 수 있습니다. 원격 액세스를 제한해야 합니다.

15.1.2. chronyc를 사용하여 chronyd 제어

chronyc 명령줄 유틸리티를 사용하여 chronyd 를 제어할 수 있습니다.

절차

  1. 대화형 모드에서 utility chronyc 명령줄을 사용하여 chronyd 의 로컬 인스턴스를 변경하려면 root 로 다음 명령을 입력합니다.

    # chronyc

    일부 제한된 명령을 사용하려면 chronycroot 로 실행해야 합니다.

    chronyc 명령 프롬프트는 다음과 같이 표시됩니다.

    chronyc>
  2. 모든 명령을 나열하려면 help 를 입력합니다.
  3. 또는 다음과 같이 명령과 함께 호출되는 경우 비대화형 명령 모드에서 유틸리티를 호출할 수도 있습니다.

    chronyc command
참고

chronyc 를 사용하여 변경한 내용은 영구적이지 않으며 chronyd 재시작 후 손실됩니다. 영구 변경을 위해 /etc/chrony.conf 를 수정합니다.

15.1.3. Chrony로 마이그레이션

Red Hat Enterprise Linux 7에서는 사용자가 ntpchrony 중에서 선택하여 정확한 시간 유지를 보장할 수 있습니다. ntpchrony, ntpdchronyd 의 차이점은 ntpd와 chronyd 간의 차이점을 참조하십시오.

Red Hat Enterprise Linux 8부터 NTP는 이상 지원되지 않습니다. Chrony 는 기본적으로 활성화되어 있습니다. 따라서 ntp 에서 chrony 로 마이그레이션해야 할 수 있습니다.

ntp 에서 chrony 로의 마이그레이션은 대부분의 경우 간단합니다. 프로그램, 구성 파일 및 서비스의 해당 이름은 다음과 같습니다.

표 15.1. ntp에서 chrony로 마이그레이션할 때 프로그램, 구성 파일 및 서비스의 해당 이름
NTP 이름Chrony 이름

/etc/ntp.conf

/etc/chrony.conf

/etc/ntp/keys

/etc/chrony.keys

ntpd

Chronyd

ntpq

Chronyc

ntpd.service

chronyd.service

ntp-wait.service

chrony-wait.service

ntp 배포에 포함된 ntpdatesntp 유틸리티는 -q 옵션 또는 - t 옵션을 사용하여 chronyd 로 바꿀 수 있습니다. /etc/chrony.conf 를 읽지 않도록 명령줄에서 구성을 지정할 수 있습니다. 예를 들어 ntpdate ntp.example.com 을 실행하는 대신chronyd 를 다음과 같이 시작할 수 있습니다.

# chronyd -q 'server ntp.example.com iburst'
2018-05-18T12:37:43Z chronyd version 3.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2018-05-18T12:37:43Z Initial frequency -2.630 ppm
2018-05-18T12:37:48Z System clock wrong by 0.003159 seconds (step)
2018-05-18T12:37:48Z chronyd exiting

이전에 ntp 패키지에 포함되었으며 ntpd만 지원되었던 ntp stat 유틸리티는 이제 ntpd chronyd 를 둘 다 지원합니다. ntpstat 패키지에서 사용할 수 있습니다.

15.1.3.1. 마이그레이션 스크립트

ntp2chrony.py 라는 Python 스크립트는 chrony 패키지(/usr/share/doc/chrony) 설명서에 포함되어 있습니다. 스크립트는 기존 ntp 구성을 chrony 로 자동으로 변환합니다. ntp.conf 파일에서 가장 일반적인 지시문과 옵션을 지원합니다. 변환에서 무시되는 모든 행은 검토를 위해 생성된 chrony.conf 파일에 주석으로 포함됩니다. ntp 키 파일에 지정되지만 ntp .conf에서 신뢰할 수 있는 키로 표시되지 않는 키는 생성된 chrony. keys 파일에 주석으로 포함되어 있습니다.

기본적으로 스크립트는 파일을 덮어쓰지 않습니다. /etc/chrony.conf 또는 /etc/chrony.keys 가 이미 있는 경우 -b 옵션을 사용하여 파일 이름을 백업으로 변경할 수 있습니다. 이 스크립트는 다른 옵션을 지원합니다. --help 옵션은 지원되는 모든 옵션을 인쇄합니다.

ntp 패키지에 제공된 기본 ntp.conf 를 사용하여 스크립트 호출의 예는 다음과 같습니다.

# python3 /usr/share/doc/chrony/ntp2chrony.py -b -v
Reading /etc/ntp.conf
Reading /etc/ntp/crypto/pw
Reading /etc/ntp/keys
Writing /etc/chrony.conf
Writing /etc/chrony.keys

이 경우 무시된 유일한 지시문은 noclientlog 지시문에 chrony가 동일하지만 증폭 공격을 완화하기 위해서만 기본 ntp.conf 에 포함되어 있는 disable monitor 입니다.

생성된 chrony.conf 파일에는 일반적으로 ntp.conf 의 restrict 행에 해당하는 다수의 allow 지시문이 포함되어 있습니다. chronydNTP 서버로 실행하지 않으려면 chrony.conf 에서 allow 지시문을 모두 제거합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.