우분투 서버 NTP 서버와 시간 동기화 설정 방법

리눅스

기본적으로 리눅스나 윈도우등의 운영체제는 설치시 시간 기준을 바이오스(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 서버 설정이 끝납니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.

Linux 크론탭 Crontab 사용법
Linux 크론탭(Crontab) 사용법
크론탭(Crontab)은 리눅스에서 정해진 시간에 스크립트나 데몬 등을 실행하는 스케줄러(Scheduler) 기능입니다. 특정 시간, 요일에 특정한 작업을 실행해야 하거나 반복 작업을 할…
우분투 컴퓨터 이름 Hostname 변경하는 방법
우분투 컴퓨터 이름 hostname 변경하는 방법
우분투에서 터미널을 열거나 네트워크 공유를 사용해야할 때 표시되는 컴퓨터 이름은 hostname이라고 불리며 hostname을 변경하면 우분투에 표시되는 컴퓨터 이름을 지정할 수…