NTP(Network Time Protocol)는 네트워크로 시계를 맞추는 프로토콜이다. 프로토콜 이름과 구현체 ntpd(ntp 패키지)를 같이 NTP 라 부르는데, RHEL 8 · Ubuntu 18.04 이후에는 ntpd 가 저장소에서 빠지고 같은 프로토콜의 구현체 chrony 가 기본이다. 새로 설치하는 시스템은 chrony 를 쓰고, 이 문서는 RHEL 7 이하에서 ntpd 를 쓰던 기록이다.
아래는 지난 버전(RHEL 7 · CentOS 7)의 기록이다. 2020년 테스트 됨. 원래 기록의 서비스 이름
ntpddate는ntpd의 오타라 바로잡았다.
sudo yum -y install ntp
sudo vi /etc/ntp.conf
# 내부 대역의 클라이언트가 조회할 수 있게 허용
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
# 상위 시간 서버
server time.bora.net iburst
server time.nist.gov iburst
# 상위와 끊겨도 로컬 시계를 stratum 10 으로 내준다
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict 0.0.0.0 mask 255.255.255.0 처럼 쓰면 0.0.0.0/24 만 허용하는 뜻이 되므로 실제 대역을 적는다.
sudo vi /etc/ntp.conf
# 기본 pool 서버 줄을 주석 처리하고 내부 서버를 적는다
server ntp.bdp.test iburst
server time.bora.net iburst
sudo systemctl enable --now ntpd
sudo systemctl restart ntpd
ntpq -np
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.4.160 LOCAL(0) 4 u 3 64 1 0.253 0.246 0.000
203.248.240.140 .INIT. 16 u - 64 0 0.000 0.000 0.000
* 가 붙은 줄이 현재 동기화 원본이다. reach 가 0 이고 .INIT. 이면 아직 응답을 못 받은 것이다. 방화벽은 123/udp 를 열어야 한다.