웹사이트 검색

Rocky Linux에서 Chrony를 NTP 서버 및 클라이언트로 설정하는 방법


이 페이지에서

  1. 전제 조건
  2. Chrony 패키지 설치
  3. Chrony를 NTP 서버로 설정
  4. Chrony를 NTP 클라이언트로 설정
  5. 결론

NTP 또는 네트워크 시간 프로토콜은 컴퓨터 네트워크에서 시간 및 시계 동기화를 위한 네트워킹 프로토콜입니다.

Chrony는 NTP 또는 네트워크 시간 프로토콜의 구현이며 up과 같은 다른 응용 프로그램의 대안입니다. Chrony는 GNU GPL v2로 출시된 유닉스 계열 운영 체제에서 실행할 수 있습니다. Chrony는 일부 Linux 배포판의 기본 NTP 서버 소프트웨어로 사용되며 여러 Linux 배포판에서도 사용할 수 있습니다.

이 가이드에서는 Rocky Linux 서버에 Chrony를 설치하고 사용하는 방법을 배웁니다. 두 가지 방법으로 Chrony를 사용하는 방법을 배우게 됩니다.

  • Chrony를 NTP 서버로 사용 - 일반적으로 로컬 환경용 NTP 서버를 구축하려는 경우입니다. 따라서 인터넷의 공용 NTP 서버에 연결하는 대신 클라이언트는 Chrony를 NTP 서버로 실행하는 로컬 시스템에 연결합니다.\n
  • Chrony를 NTP 클라이언트로 사용 - 컴퓨터 또는 클라이언트의 시간을 NTP 서버와 동기화해야 하는 경우입니다.\n

전제 조건

이 가이드는 NTP 서버와 NTP 클라이언트로 사용될 두 개의 서로 다른 Rocky Linux 서버가 있다고 가정합니다. Rocky Linux v8 또는 최신 버전 9를 사용할 수 있습니다. 또한 두 시스템 모두에서 sudo 루트 권한이 있는 루트가 아닌 사용자가 필요합니다.

다음은 우리가 사용할 자세한 서버입니다.

Hostname        IP Address       Used as
-------------------------------------------
rocky8          192.168.5.100    NTP Server
client1         192.168.5.120    NTP Client

이제 Chrony 설치 및 구성을 시작하겠습니다.

크로니 패키지 설치

Chrony는 Unix 계열 운영 체제용 NTP(Network Time Protocol) 구현 중 하나입니다.

기본적으로 Chrony 패키지는 baseos Rocky Linux 리포지토리에서 사용할 수 있습니다.

아래의 dnf 명령을 사용하여 Chriony 패키지를 확인할 수 있습니다. Chrony 패키지에 대한 자세한 정보가 표시되어야 합니다.

sudo dnf info chrony

다음 스크린샷에서 현재 버전의 Chrony v4.1을 baseos Rocky Linux 리포지토리에서 사용할 수 있음을 확인할 수 있습니다.

이제 Chriony를 설치하려면 아래 dnf 명령을 실행하십시오. 설치를 확인하라는 메시지가 표시되면 y를 입력한 다음 ENTER를 눌러 계속 진행합니다.

sudo dnf install chrony

Chrony가 설치된 후 아래의 systemctl 명령을 사용하여 Chronyd 서비스를 시작하고 활성화합니다.

sudo systemctl enable chronyd
sudo systemctl start chronyd

그런 다음 아래 명령을 사용하여 Chronyd 서비스를 확인하십시오.

sudo systemctl status chronyd

Chrionyd 서비스가 활성화되고 시스템 부팅 시 자동으로 실행되는 것을 볼 수 있습니다. 이제 Chronyd 서비스의 상태가 실행 중입니다.

Chrony를 NTP 서버로 설정

이 단계에서는 ROcky Linux 서버에서 Chrony를 NTP 서버로 설정하는 방법을 배웁니다. 이 예에서는 호스트 이름이 rocky8이고 IP 주소가 192.168.5.100인 Rocky Linux 서버를 사용합니다.

Chrony를 설정하려면 기본 Chrony 구성 /etc/chrony.conf 파일을 편집해야 합니다.

다음 nano 편집기 명령을 사용하여 /opt/.chrony.conf 파일을 엽니다.

sudo nano /etc/chrony.conf

server 지시문에서 사용하려는 NTP 서버의 소스를 지정할 수 있습니다. https://www.ntppool.org/en/에서 가장 가까운 NTP 서버 풀을 찾을 수 있습니다.

이 예에서는 아래의 NTP 서버 풀을 사용합니다. 또한 Chronyd 서비스가 시작 직후 시계의 첫 번째 업데이트를 수행할 수 있도록 하는 추가 옵션 iburst를 사용할 것입니다.

# list servers
server 0.se.pool.ntp.org iburst
server 1.se.pool.ntp.org iburst
server 2.se.pool.ntp.org iburst
server 3.se.pool.ntp.org iburst

allow 지시문의 주석을 제거하고 NTP 서버에 액세스할 수 있는 IP 주소의 서브넷을 추가합니다. 이 예에서 네트워크 192.168.5.0/24 내의 모든 클라이언트는 NTP 서버에 액세스할 수 있습니다.

# allowed clients
allow 192.168.5.0/24

파일을 저장하고 완료되면 편집기를 종료하십시오.

변경할 수 있는 추가 옵션/지시문:

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Specify the file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

그런 다음 다음 명령을 실행하여 Chronyd 서비스를 다시 시작하고 새 변경 사항을 적용합니다. 그리고 Chronyd 서비스는 이제 NTP 서버로 실행됩니다.

sudo systemctl restart chronyd

이제 아래의 chronyc 명령을 실행하여 현재 사용 중인 NTP 서버 풀의 소스를 확인합니다. 서버에서 사용하는 현재 NTP 서버 소스 목록이 표시되어야 합니다.

chronyc sources

-v 옵션을 통해 자세한 정보를 얻을 수도 있습니다.

chronyc sources -v

아래는 서버에서 사용하는 NTP 서버 소스의 상세 상태입니다.

마지막으로 NTP 서비스 포트를 firewalld에 추가해야 합니다. 이렇게 하면 클라이언트 시스템이 NTP 서버에 연결할 수 있습니다.

아래의 firewall-cmd 명령을 실행하여 firewalld에 NTP 서비스를 추가합니다. 그런 다음 방화벽을 다시 로드합니다. 이렇게 하면 모든 컴퓨터가 NTP 서버에 연결할 수 있습니다.

sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

Firewalld Rich Rules를 통해 NTP 서버에 액세스할 수 있는 네트워크 서브넷을 지정할 수도 있습니다. 아래의 firewall-cmd 명령을 통해 서브넷 192.168.5.0/24가 NTP 서버에 액세스할 수 있도록 허용하는 firewalld 리치 규칙을 추가합니다. 그런 다음 방화벽을 다시 로드하여 새 규칙을 적용합니다.

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept"
sudo firewall-cmd --reload

이제 다음 firewall-cmd 명령을 사용하여 방화벽 규칙을 확인할 수 있습니다. 방화벽에 활성화된 서비스와 열린 포트가 표시되어야 합니다.

sudo firewall-cmd --list-all

이 시점에서 Rocky Linux 서버에 Chrony를 NTP 서버로 설치 및 구성했습니다. 다음에 Chrony를 NTP 클라이언트로 설정할 수 있습니다.

Chrony를 NTP 클라이언트로 설정

이제 Rocky Linux 시스템에서 Chrony를 NTP 클라이언트로 설정하는 방법을 배웁니다. 이 예에서는 호스트 이름이 client1인 Rocky Linux 시스템에 Chrony NTP 클라이언트를 설정합니다.

시작하기 전에 Chrony 패키지가 클라이언트 시스템에 설치되어 있는지 확인하십시오. dnf 명령을 통해 설치할 수 있습니다.

sudo dnf install chrony -y

Chriony가 설치된 후 다음 nano 편집기 명령을 사용하여 구성 파일 /etc/chrony.conf을 엽니다.

sudo nano /etc/chrony.conf

서버 지시문에서 NTP 서버로 NTP 서버 소스를 변경하십시오. 이 예에서 NTP 서버는 IP 주소가 192.168.5.100인 서버를 실행하고 있습니다.

또한 서버 지시문에서 추가 옵션을 볼 수 있습니다."

  • iburst 옵션을 사용하면 Chronyd 서비스가 시작 직후 시계의 첫 번째 업데이트를 수행할 수 있습니다.\n
  • 선호 옵션은 선호 옵션 없이 다른 서버 중에서 NTP 서버 소스를 우선시합니다.\n

server 192.168.5.100 iburst prefer

파일을 저장하고 완료되면 편집기를 종료하십시오.

이제 다음 명령을 실행하여 Chrony 서비스를 다시 시작하고 새 구성을 적용하십시오.

sudo systemctl restart chronyd

마지막으로 다음 chronyc 명령을 실행하여 client1 시스템에서 NTP의 현재 상태를 확인합니다.

chronyc tracking

client1 시스템이 연결되고 서버 IP 주소 192.168.5.100인 NTP 서버 ntp.hwdomain.io에 시간이 동기화되는 것을 볼 수 있습니다.

아래의 chronyc 명령을 통해 자세한 NTP 데이터를 확인할 수도 있습니다.

chronyc ntpdata

이제 원격 주소 섹션에서 NTP 서버의 IP 주소를 볼 수 있으며 로컬 주소 섹션은 현재 시스템 IP 주소입니다.

다음으로 아래의 chronyc 명령을 통해 client1 시스템에서 NTP 서버 소스를 확인할 수도 있습니다. 이제 클라이언트 시스템이 IP 주소가 192.168.5.100인 NTP 서버 ntp.hwdomain.io를 기본 및 기본 NTP 서버 소스로 사용하는 것을 볼 수 있습니다.

chronyc sources
chronyc sources -v

결론

축하합니다! 이제 Rocky Linux 서버에 Chrony NTP 구현 소프트웨어를 성공적으로 설치했습니다. 또한 NTP 서버와 클라이언트 모두에 사용할 수 있는 Chrony의 기본 사용법도 배웠습니다. 마지막으로 NTP 상태를 확인하기 위한 chronyc 명령줄의 기본 사용법도 배웠습니다.