본문 바로가기
실습/리눅스 서버 + 스프링 부트

ntp를 이용한 타임서버 구축

by 이민우 2022. 1. 22.
728x90
반응형

외부망에 연결된 장비들은 얼마든지 타임서버와의 동기화를 통해 시간을 맞춰줄 수 있다.

하지만 외부망과 연결되지 않은 내부망은 그럴 수가 없고, 자체적으로 시간을 설정할 수 밖에 없는데 이렇게 맞춘 시간은 시간이 지나며 조금씩 틀어지게 된다.

 

그래서 장비들간 시간을 동기화하기 위하여 자체 타임서버를 구축하는 작업을 연습해볼 생각이다.

 

일단 사용되는 장비는 총 두 개이고, 모두 CensOS 7.8이다.

 

 

 

 

 

ntp

 

타임서버 구축에는 ntp를 사용할 예정이다.

 

여기서 ntp란 network time protocol, 즉 네트워크 시간 프로토콜의 약자로 네트워크로 연결된 컴퓨터들끼리 클록 시간을 동기화하는 데 사용되는 프로토콜이다.

 

일단 타임서버가 될 서버와, 해당 서버의 시간을 따를 서버에 모두 ntp를 설치해주자.

yum install -y ntp

 

 

 

타임서버 설정

 

설치가 완료되면 /etc/ntp.conf 파일을 열어주자.

그러면 디폴트 값들이 나열되어 있을텐데, 아래와 같은 내용들을 추가한다.

 

먼저 restrict에는 자신의 시간과 동기화를 허용할 서버들의 목록을 작성해주는데,

예를 들어 192.168.123.xxx 인 서버들의 동기화를 허용해주려면 아래와 같이 작성하면 된다.

restrict 192.168.123.0 mask 255.255.255.0 nomoodify notrap nopeer noquery

 

그리고 server는 자신이 따를 타임서버를 작성해주는 란인데,

보편적으로 사용되는 LG U+의 보라넷을 사용한다.

server time.bora.net iburst

위의 문장에서 iburst는 시간 동기화를 빠르게 수행하도록 만들어준다.

 

 

일단 시간이 잘 연동되는지 확인하기 위해 date를 강제로 수정하자.

date -s "2020-01-01 00:00:00"

 

그 후에는 enable로 재부팅 시 자동실행을 설정해주고

start 명령어로 실행을 시키면 된다.

systemctl enable ntpd
systemctl start ntpd

 

 

그리고 아래 명령어로 ntp의 상태를 확인한다.

watch -n 1 "ntpq -p"

*참고로 /etc/ntp.conf의 내용 중 restrict가 자신을 포함하고 있지 못하면 해당 명령어가 실행되지 않는다.

 

처음에는 time.bora.net의 좌측에 아무것도 없는데, 이는 아직 동기화가 되지 않았다는 이야기이다.

잠시 후 해당 자리에 * 가 떠오르게 되면 이는 동기화가 되었다는 이야기이고, 동시에 우측 상단의 시간이 변화하는 것을 확인할 수 있다.

 

 

 

 

타임서버 구축이 끝났으니, 이제 해당 서버와 시간을 동기화할 클라이언트의 차례이다.

위의 내용과 동일하며, server에 타임서버의 주소만 넣어주면 끝이난다.

server xxx.xxx.xxx.xxx iburst

타임서버의 restrict가 잘 성정되어있다면 time.bora.net과 마찬가지로 금세 연동이 되며 시간이 동기화될 것이다.

728x90
반응형

'실습 > 리눅스 서버 + 스프링 부트' 카테고리의 다른 글

httpd (아파치 웹 서버)  (0) 2022.03.06
Filter, Interceptor, AOP  (0) 2022.02.01
Scheduler  (0) 2022.01.15
JPA  (0) 2021.11.27
Spring Security  (0) 2021.11.07