기본적으로 리눅스나 윈도우등의 운영체제는 설치시 시간 기준을 바이오스(Bios)에 입력된 하드웨어 시간을 기준으로 설정되며 네트워크 연결시 NTP 서버와 주기적으로 동기화가 진행됩니다.
일반적인 클라이언트 PC 같은 경우 시간이 0.1-1초 틀어진다고 해도 큰 문제가 되지는 않지만 서버 같은 경우 시간이 스크립트 트리거(Trigger) 역할을 하고 로그 또한 시간 단위로 기록되기 때문에 정확한 시간 설정이 필수 인데요.
root@SERVER:/# timedatectl Local time: Tue 2017-09-19 22:55:34 KST Universal time: Tue 2017-09-19 13:55:34 UTC RTC time: Sat 2017-09-30 09:44:55 Time zone: Asia/Seoul (KST, +0900) Network time on: yes NTP synchronized: yes RTC in local TZ: no
우분투는 설치시 기본적으로 timedatectl
패키지가 설치되며 시간 동기화 역할을 해 명령어를 입력해 보면 NTP synchronized 항목이 yes로 표기되어 동기화가 진행되는 것을 확인할 수 있습니다.
하지만 사내등 외부 네트워크와는 격리된 보안을 요하는 곳에서 별도의 NTP 서버를 구성하고 싶은 경우에는 다음과 같은 방법으로 NTP 서버와 동기화를 할 수 있습니다.
목차
우분투 NTP 서버와 동기화 설정
root@SERVER:/# apt-get install ntp
위 명령어로 ntp 데몬을 설치합니다. ntp 패키지는 서버와 클라이언트 역할을 겸하고 있습니다.
root@SERVER:/# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.000 *211.233.78.116 216.239.35.12 2 u 51 64 1 10.451 44.613 1.604 +106.247.248.106 141.223.182.106 2 u 48 64 1 10.252 44.515 2.438 +send.mx.cdnetwo 204.123.2.5 2 u 48 64 1 11.470 44.111 2.453 chilipepper.can 193.79.237.14 2 u 55 64 1 296.194 49.536 0.000 alphyn.canonica 17.253.34.125 2 u 58 64 1 249.389 32.714 0.000 golem.canonical 17.253.34.253 2 u 59 64 1 298.083 48.513 0.000
ntpq -p 명령어로 ntp.conf 에 기본값으로 설정되어 있는 NTP 서버에서 시간을 받아 오는 것을 확인할 수 있습니다.
root@SERVER:/# timedatectl set-ntp no
ntp 데몬을 이용해 시간을 동기화 하기 때문에 앞서 얘기했던 timedatectl 데몬의 시간 동기화는 필요 없기 때문에 위 명령어로 동기화를 꺼주면 중복적으로 동기화 되는 것을 방지할 수 있습니다.
반대로 NTP 서버를 삭제하는 경우 명령어 뒤에 no 대신 on 을 입력해 timedatectl을 이용한 동기화를 사용할 수 있습니다.
ntp.conf 설정
pool time.bora.net pool kr.pool.ntp.org
에디터로 /etc/ntp.conf
파일을 연 다음 pool로 시작되는 ntp 서버 주소를 삭제하거나 #으로 주석처리를 한 다음 위처럼 원하는 서버 주소를 입력합합니다.
root@SERVER:/# service ntp restart root@SERVER:/# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== time.bora.net .POOL. 16 p - 64 0 0.000 0.000 0.000 kr.pool.ntp.org .POOL. 16 p - 64 0 0.000 0.000 0.000 time.bora.net 204.123.2.5 2 u 17 64 1 11.530 0.275 0.000 106.247.248.106 141.223.182.106 2 u 16 64 1 11.155 -2.938 0.000 send.mx.cdnetwo 204.123.2.5 2 u 15 64 1 11.199 -3.702 0.000 dadns.cdnetwork 204.123.2.5 2 u 13 64 1 10.002 -7.774 0.000 211.233.78.116 216.239.35.12 2 u 13 64 1 10.747 -3.944 0.000
ntp 데몬을 재시작한 다음 서버 연결을 확인합니다.
restrict 192.168.123.0 mask 255.255.255.0 notrust
만일 NTP 클라이언트 기능이 아닌 서버로서 활용하고 싶다면 restrict 앞의 주석 # 을 삭제한 다음 서버가 속한 로컬 네트워크 대역에 맞춰 설정합니다.
NTP 서버는 UDP 123 포트를 사용하기 때문에 방화벽을 사용한다면 이 포트를 열어주면 NTP 서버 설정이 끝납니다.