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
'리눅스' 카테고리의 다른 글
[리눅스] PHP PCNTL 모듈을 다시 컴파일하지 않고 설치하는 방법 (0) | 2014.04.03 |
---|---|
[리눅스] 무설정 네트워킹(zero configuration networking) (0) | 2014.03.18 |
iperf 명령어 (0) | 2014.03.10 |
[리눅스] webmin(리눅스 관리툴) 설치하기 (0) | 2014.03.03 |
HTOP – Linux Process Monitoring (1) | 2014.03.03 |