PINKYETI

[Linux] NTP(Network Time Protocol) 사용하여 타임 서버 동기화하기 (chronyd) 본문

# Dev Note/[OS]

[Linux] NTP(Network Time Protocol) 사용하여 타임 서버 동기화하기 (chronyd)

PINKYETI 2024. 3. 10. 21:27


안녕하세요.

오늘은 NTP(Network Time Protocol) 을 활용하여 

서버와 타임 서버를 동기화하여 시간을 설정해보도록 하겠습니다.

 

저는 VM에 CentOS 를 설치하여 신규 서버를 구성하였는데요,

일반적으로 서버 배포 시 타임 서버와 시간 동기화가 되어있습니다.

따라서 현재 타임 서버와 시간이 어긋나있다는 가정 하에 포스팅을 진행하겠습니다.

 

- 타임 서버 동기화 시나리오

  1) VM 서버 배포 후 시간 설정 오류 (-2hour)

  2) 대한민국 타임 서버 확인 및 동기화 할 타임 서버 선정

  3) NTP 활용한 타임서버 동기화 및 서버 시간 확인

 

 

 

1. 서버 시간 확인 및 타임 서버 선정

먼저 VM 으로 배포한 서버와 네이버 시계로 현재 시간을 확인해보겠습니다.

현재 타임존은 정상 설정(Asia/Seoul) 되있지만 시간 설정이 잘못되어 있습니다.

Time Zone 확인 및 변경은 아래 확인해주세요.

 

- Linux Time Zone 확인 및 설정

### 사용가능한 Time Zone 목록 확인
timedatectl list-timezones

### Time Zone 변경
timedatectl set-timezone <timezone>

 

 

 

서버 시간은 국제 표준 정보이기 때문에 기업 및 기관에서 타임 서버를 관리합니다.

동기화할 국내 타임 서버를 찾기 위해 아래 사이트를 들어가줍니다.

 

http://time.ewha.or.kr/

 

 

운영되는 타임 서버 중 적당한 타임 서버를 찾기 힘드므로 NTP Pool Time Server 를 제공합니다.

지역별 타임서버를 동기화하고 Client 에게 가장 빠른 타임서버의 시간으로 동기화해줍니다.

(해당 도메인의 타임 서버가 장애 발생할 경우 동기화 지연될 수 있으니 주의!!)

 

 

 

2. 타임 서버 동기화 (chronyd)

선정된 타임서버와 시간 동기화를 위해 chronyd 서비스를 사용합니다.

chronyd 데몬 서비스의 설정 파일은 /etc/chrony.conf 입니다.

선정된 타임 서버의 도메인 kr.pool.ntp.org 를 아래처럼 설정하겠습니다.

(iburst 는 가장 빠른 타임서버와 동기화하겠다는 옵션입니다.)

 

 

설정 파일을 수정하였으므로, chronyd 서비스를 재시작해줍니다.

 

### /etc/chrony.conf 수정 명령어
vi /etc/chrony.conf

### chronyd 재시작 명령어
systemctl restart chronyd

 

 

 

3. 타임 서버 동기화 확인 

chronyc 명령어로 현재 설정된 타임서버에 대한 정보와

실제 서버 시간을 동기화한 타임 서버를 확인할 수 있습니다.

(^* 표시가 붙은 IP의 서버가 실제 서버 시간을 동기화한 타임 서버입니다.)

 

 

타임 서버를 도메인으로 설정했기 때문에 nslookup 명령어로 도메인 서버의 IP 를 확인합니다.

설정된 kr.pool.ntp.org 서버와 정상적으로 시간 동기화가 되고 있습니다.