[Linux] NTP local time server 설정
NTP 는 시간을 동기화 하기 위해 쓰이는 프로그램이다.
기본 설정값은 공공의 time server (예를 들어 0.ubuntu.pool.ntp.org ..) 에서 시간을 받아 동기화 한다.
외부 네트워크와 단절된 보안을 요구하는 네트워크 환경에서 time server 를 두고 내부에 모든 서버가 time server의 시간으로 동기화 하는 방법을 사용할 수 있다. 이때 내부 네트워크에서만 동작되는 time server 를 local time server 라고 부른다.
설정은 아주 간단하다.
예제 정의
예를 들어 외부 네트워크와 연결이 단절된 사설 네트워크 내에서 한대의 time server가 동작하고 10대의 클라이언트가 있다고 가정하자.
Time server address : 192.168.0.1
client address : 192.168.1.1~10
NTP 설치
Ubuntu 기준으로
$ sudo apt-get install ntp
NTP 설정에 따라 서버로 동작할지 클라이언트로 동작할지 둘다로 동작할지 결정된다.
Time Server 설정
/etc/ntp.conf 설정
#server 0.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 1.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 2.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 3.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server ntp.ubuntu.com # 외부 네트워크와 단절되어 있으므로 주석 처리
server 127.127.1.0 # 로컬 타임 서버로 동작하기 위한 설정 꼭 127.127.1.0 입력
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # client 접근 허용
Client 설정
/etc/ntp.conf 설정
#server 0.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 1.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 2.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server 3.ubuntu.pool.ntp.org # 외부 네트워크와 단절되어 있으므로 주석 처리
#server ntp.ubuntu.com # 외부 네트워크와 단절되어 있으므로 주석 처리
server 192.168.0.1 # 로컬 타임 서버의 주소를 입력
정리
타임 서버로 동작 시킬 장비 ntp 설정에는 server 127.127.1.0 을 추가하고 restrict 를 통해 클라이언트의 접근을 허용한다.
클라이언트로 동작 시킬 장비 ntp 설정에는 server {타임서버-주소} 를 추가하여 로컬 타임서버에게 시간을 받아 동기화 할 수 있도록 한다.
보안 문제상 만약 로컬 타임 서버만 외부 네트워크와 연결되어 있다면 server 0.ubuntu.pool.ntp.org 와 같이 공공의 타임 서버에 대한 설정값에 주석을 하지않고 공공의 타임 서버와 시간을 동기화 하고 자신의 시간을 로컬내의 클라이언트와 동기화하는 방법 또한 사용할 수 있다.