본문 바로가기

리눅스

CentOS 7에 NTP 서버를 설치하고 설정하는 방법

반응형

CentOS 7에 NTP (Network Time Protocol) 서버를 설치하고 설정하는 방법

테스트 환경

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
서버 구분 서버 아이피 비고
NTP 서버 192.168.0.17  
Clinet 서버 192.168.0.x  

NTP 서버 설치 및 설정

1. NTP 서버 패키지 설치

sudo yum install -y ntp

2. NTP 구성 파일(/etc/ntp.conf) 편집

sudo vi /etc/ntp.conf
더보기

ntp.conf

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

#broadcast 192.168.1.255 autokey	# broadcast server
#broadcastclient			# broadcast client
#broadcast 224.0.1.1 autokey		# multicast server
#multicastclient 224.0.1.1		# multicast client
#manycastserver 239.255.254.254		# manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

3. 구성 파일 수정

기본 구성 파일에서 주석 처리된 server 항목을 찾습니다.

주석을 제거하고 NTP 서버로 사용할 서버 IP 주소를 추가합니다. 다음은 Google NTP 서버 예시입니다.

vim /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict -6 ::1

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
server ntp.postech.ac.kr
server time.bora.net
server timekeeper.isi.edu
server 1.kr.pool.ntp.org
server 1.asia.pool.ntp.org
server 3.asia.pool.ntp.org
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server 3.centos.pool.ntp.org

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

참고: 필요한 경우 위의 서버를 사용하지 않고 다른 NTP 서버 주소를 사용할 수 있습니다.

4. NTP 서비스 시작 및 부팅 시 자동 시작 설정

sudo systemctl start ntpd
sudo systemctl enable ntpd

5. NTP 서버 상태 확인

ntpq -p
$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==================================================================
*ntp-server.post .GPS.            1 u   60   64   37   13.866   -2.841   5.084
+timekeeper.isi. .GPS.            1 u    2   64   37  194.583    3.709   5.323
 175.119.224.116 .STEP.          16 u    -   64    0    0.000    0.000   0.000
+mrtg.wonkwang.a 129.6.15.28      2 u    -   64   77   10.606    3.650   2.139

 

위의 단계를 따라하면 CentOS 7에 NTP 서버가 설치되고 설정됩니다. NTP 서버는 다른 시스템에서 시간 동기화에 사용할 수 있게 됩니다. 마지막 단계에서 ntpq -p 명령어를 사용하여 NTP 서버의 동작 상태를 확인할 수 있습니다.

NTP 클라이언트 설정

1. NTP 패키지 설정합니다.

sudo yum install -y ntp

2. NTP 구성 파일인 /etc/ntp.conf를 편집합니다.

sudo vim /etc/ntp.conf
restrict default nomodify notrap noquery
restrict -6 default nomodify notrap noquery

restrict 127.0.0.1
restrict -6 ::1

server 192.168.0.17 iburst

driftfile /var/lib/ntp/drift

3. NTP 서버를 추가하고자하는 섹션에 다음과 같이 서버 설정을 추가합니다.

server ntp-server-ip-address

4. NTP 서비스를 시작하고 부팅 시 자동으로 시작하도록 설정합니다.

sudo systemctl start ntpd
sudo systemctl enable ntpd

5. 클라이언트가 NTP 서버와 동기화되는지 확인합니다.

sudo ntpq -p
$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==================================================================
*192.168.0.17    141.223.182.106  2 u    5   64    1    0.491    3.287   1.879

Tally Codes

Code   Description 비고
  reject 유효하지 않아서 제외됨  
x falsetick 교차 알고리즘에 의해 제외됨  
. excess 테이블 오버플로우로 인해 제외됨  
- outlyer 클러스터 알고리즘에 의해 제외됨 ntp 접속은 가능, sync 가능 리스트에서 제외 된 경우
+ candidate 결합 알고리즘에 포함됨 ntp 접속은 가능, sync는 하지 않음
# selected 백업 (tos maxclock 소스보다 많음)  
* sys.peer 시스템 피어 현재 sysc를 받고 있음
o pps.peer PPS 피어 (선호 피어가 유효한 경우)  
  blank or INIT   접속이 불가능함

아래는 Tally Codes와 해당 상태의 설명입니다.

더보기
  • (공백): reject
    피어에 연결할 수 없거나 이 서버에 동기화(동기화 루프) 또는 동기화 거리가 너무 멀어서 연결할 수 없는 것으로 삭제됩니다.
  • x: falsetick
    피어는 교차 알고리즘에 의해 위조된 것으로 간주되어 삭제됩니다.
  • [char46]: excess
    해당 피어는 동기화 거리를 기준으로 정렬된 처음 10개의 피어에 속하지 않으므로 더 이상 고려할 후보가 아닌 것으로 간주되어 삭제됩니다.
  • -: outlyer
    피어는 클러스터링 알고리즘에 의해 아웃사이더로 버려집니다.
  • +: candidate
    피어는 생존자이자 결합 알고리즘의 후보입니다.
  • #: selected
    피어는 생존자이지만 동기화 거리별로 정렬된 처음 6개의 피어에 속하지 않는 피어입니다. 연결이 일시적인 경우 리소스를 절약하기 위해 연결이 해제될 수 있습니다.
  • *: sys.peer
    피어가 시스템 피어로 선언되어 해당 변수를 시스템 변수에 빌려줍니다.
  • o: pps.peer
    피어는 시스템 피어로 선언되어 시스템 변수에 해당 변수를 빌려줍니다. 그러나 실제 시스템 동기화는 PPS 레퍼런스 클록 드라이버를 통해 간접적으로 또는 커널 인터페이스를 통해 직접적으로 초당 펄스(PPS) 신호에서 파생됩니다.

 

Tally Codes는 NTP 서버와 피어 간의 동기화 상태를 나타내며, ntpq -p 명령어를 통해 확인할 수 있습니다.

 

위의 단계를 따라하면 CentOS 7에 NTP 서버를 설치하고 설정한 다음, NTP 클라이언트를 구성할 수 있습니다. 서버 및 클라이언트 설정 후에는 서버와 클라이언트 간의 시간 동기화를 확인하여 올바르게 작동하는지 확인할 수 있습니다.

 

참고URL

- Chapter 19. Configuring NTP Using ntpd : https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_ntpd

 

728x90
반응형