NTP 는 시간을 NTP 서버와 자동으로 동기화 해주는


프로토콜이다


시간을 정확하게 맞춰야 하는 중요한 서버 같은 경우에는


NTP 서버를 사용하는 것도 좋은거 같다



일단 설치를 해보자


apt-get update && apt-get install ntp



ntp 관련 명령어들..



일단 설치하면 ntp 데몬이 바로 실행되는 경우가 있으니


service ntp stop


명령어로 잠시 꺼주자



그리고 일단 ntp 설정 파일을 보자


vim /etc/ntp.conf



server time.bora.net

server 127.127.1.0

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

을 추가해 주자


server 127.127.1.0 은 내부 서버를 위한 주소이고

restrict 에 설정한 네트워크는 클라이언트로서 접근을 허용해 준다는 의미이당



그리고 일단 시작 전에


ntpdate 명령으로 시간을 수동 동기화 시켜주자


date

date 시간을 일부러 조금 다르게 설정 (월일시분년도)

ntpdate time.bora.net

(ntp 데몬이 실행 중이면 작동하지 않는다)

date

(시간 제대로 돌아왔나 체크)



그럼 이제 ntp 데몬을 실행해 보자


여기서도 테스트를 위해 시간을 조금 바꿔봤다


date 1초 전 시간

service ntp start

ntpq -p

(ntp 작동 상태 확인)



데몬이 제대로 올라 갔나 프로세스랑 포트도 확인해 보자


ps aux | grep ntp

netstat -nltpu | grep ntp


(ntp는 123 UDP 포트를 사용한다)



그리고 부팅시 ntp 데몬이 활성화 할 수 있도록


chkconfig로 on 시켜주자


chkconfig --level 35 ntp on

(보통 3번(TEXT)과 5번(GUI)이 on 이면 된다)

chkconfig --list ntp


이제 다른 192.168.0.0/24 대역에


PC에서 방금 설정한 NTP 서버(192.168.0.14)를 통해 시간을 동기화하도록 설정해 보자


클라이언트에서도 apt-get install ntp 명령으로 설치 한다



vim /etc/ntp.conf



server 에서 아까 설치한 NTP IP를 적어 둔다


그리고 


service ntp start


명령어로 ntp 데몬 시작


ntpq -p 명령으로 확인


192.168.0.14가 잡혀있는걸 볼 수 있다


시간을 일부러 10분정도 뒤로 설정해 보았다


date

date 1초 뒤시간

ntpq -p

date



ntp 시간 동기화가 즉시 한 번에 시간이 변하지 않고


서서히 서버와 시간이 동기화 된다.


윈도우 NTP 서버에 리눅스 클라이언트 NTP 설정이라면 /etc/ntp.conf 에 tos maxdist 13 을 추가해 줘야한다.


시간 동기화 주기를 빠르게 하기 위해선 server [NTP 서버 IP] iburst 옵션을 추가로 넣으면 된다.




VM 환경에서는 ntp 테스트를 제대로 할 수 없어서


정확하게 테스트를 해보지는 못했다..


그리고


시스템 시간을 BIOS에도 적용 시키려면


hwclock -w 명령어를 이용하면 된다


반대로 BIOS 시간을 시스템에 적용하려면


rdate -w 명령어를 사용하면 된다


rdate 명령어가 설치 되지 않았다면


apt-get install rdate 로 설치 할 수 있다


rdate -s time.bora.net 으로


ntpdate time.bora.net과 같은 수동으로 서버에서


시간을 동기화하는 명령어이다