상세 컨텐츠

본문 제목

Rocky Linux 8.7에 NTP 서버 구축하기 (chronyd)

카테고리 없음

by Keunwoo.LEE 2023. 5. 18. 17:18

본문

반응형

0. 배경

  • 서버가 귀했던 시절(2006년)에 Cisco Router를 이용하여 NTP 서버를 구축했었다.
  • 진작에 바꿀려고 CSR 1000V (가상라우터) 몇년전 부터 구축해 놨지만, 업무 우선순위에 밀려 교체하지 못하고 있었다.
  • 근데 굳이 라우터를 NTP 서버로 만들필요가 없을것 같고, CSR 1000V가 완전 유료가 되어 Linux로 가볍게 만들기로 결정
  • Centos 단종 이슈로 Rocky 리눅스도 경험해볼겸 해서 Rocky Linux 8.7에 구축한다.
  • 잠깐 사용해본 경험으로는 Centos 8과 완벽하게 동일 함.

1. 환경

  • Hardware : 가상화서버 / 2 Core, 2 GB RAM, 16 GB HDD
  • OS : Rocky Linux 8.7

2. NTP Client 구성

  • 이 서버가 NTP Client가 되어 외부 NTP 서버에 접속해서 시간 동기화가 가능하도록 구성 (일반적인 NTP 구성)
> vim /etc/chrony.conf

server 216.239.35.0   # time1.google.com
server 216.239.35.4   # time2.google.com
server 216.239.35.8   # time3.google.com
server 216.239.35.12  # time4.google.com
server 210.98.16.100  # 한국표준과학연구원
server 210.98.16.101  # 한국표준과학연구원
pool kr.pool.ntp.org  # NTP Pool Project (https://www.ntppool.org)

> systemctl restart chronyd

3. NTP 상태 확인

> chronyc sources -v

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^+ time1.google.com              1  10   377   305  +4279us[+4167us] +/-   29ms
^- time2.google.com              1   9   377   176  +5769us[+5769us] +/-   30ms
^+ time3.google.com              1  10   377   256  +4971us[+4971us] +/-   31ms
^+ time4.google.com              1   9   377   582  +5015us[+4902us] +/-   31ms
^? 210.98.16.100                 0  10     0     -     +0ns[   +0ns] +/-    0ns
^* 210.98.16.101                 2  10   377   256  -9533us[-9645us] +/-   18ms
^+ send.mx.cdnetworks.com        2  10   377   244   +977us[ +977us] +/-   40ms
^+ 121.174.142.81                3  10   377   320    +58us[  -54us] +/-   52ms
^+ 121.174.142.82                3  10   377   257   +370us[ +258us] +/-   51ms
^- 106.247.248.106               2  10   377   318  +1375us[+1263us] +/-   45ms

Rocky Linux 터미널에서 NTP 상태 확인 화면

> timedatectl
               Local time: Thu 2023-05-18 16:10:05 KST
           Universal time: Thu 2023-05-18 07:10:05 UTC
                 RTC time: Thu 2023-05-18 07:10:05
                Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

4. NTP Server 구성

  • 이 서버가 NTP Server가 되어 사내에 있는 서버들은 이 NTP 서버를 이용하여 시간을 동기화 함.
  • 서버로 구성하기 위해 별다른 설정은 필요없다. 접근을 허용할 IP 만 추가해 주면 된다.
  • chronyd 자체가 NTP 동기화 및 NTP 서버로의 역할을 모두 수행한다.
> vim /etc/chrony.conf

# 접근을 허용할 네트워크 목록을 추가
allow 10.0.0.0/8

> systemctl restart chronyd

5. NTP 서비스 방화벽 등록

> firewall-cmd --add-service=ntp --permanent
> firewall-cmd --reload
> firewall-cmd --list-all       
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources: 
  services: cockpit dhcpv6-client ntp ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:
반응형

댓글 영역