2020.06.20
1. Chrony?
- NTP(Network Time Protocol) 구현체로 시스템 시간을 동기화하는 기능을 제공한다.
- RHEL 7 이전에는 ntpd를 사용하였으나 이후 chrony로 대체되었다.
- NTP에서 사용하는 포트는 UDP 123, 323이다.
The UDP port 123 needs to allow the client access
The UDP port 323 needs to connect from a remote system.
- Stratum (계층)
NTP는 계층적인 구조를 가지며, 각각의 계층은 상위 계층으로부터 시간을 동기화한다.
계층은 0부터 15까지 총 16개로지역을 기반으로 구성되는데, 네트워크 지연을 최소화 가기 위함이다.
0 레벨은 stratum 0이며, Primary reference clock 장비에는 GPS, 세슘 원자시계 등이 있다.
2. Chrony 구성
- 본 문서에서는 방화벽 내부에 있는 서버를 대상으로 설정하였고, NTP 서버 접속을 고려해서 NTP 서버 목록을 변경하였다.
time.google.com (Stratum 1)
time.kriss.re.kr (Stratum 2)
time.bora.net (Stratum 3)
- Stratum 1인 NTP 서버에 접속할 경우 접속되는 서버가 변경되므로 방화벽 설정시 이점을 고려해야 한다.
time.google.com ==> time[1-4].google.com
a. Chrony 설정
- chrony.conf 파일을 수정하고 chronyd를 기동 한다.
✓ 접속할 NTP 서버 목록을server 옵션을 설정
✓ 본 서버에 NTP 클라이언트의 접속을 허용하도록 allow 옵션에 클라이언트 IP 주소 대역을 설정
✓ 본 서버에 참고할 로그를 저장하도록 log 옵션을 설정
# yum install chrony -y
...
# vi /etc/chrony.conf
server time.google.com iburst
server time.kriss.re.kr iburst
server time.bora.net iburst
...
# Allow NTP client access from local network.
allow 14.52.244.0/24
# Select which information is logged.
log measurements statistics tracking
...
# systemctl restart chronyd
#
b. 시간 동기화 확인
- chronyc 명령어로 시간 동기화 상태를 확인한다. NTP 서버들의 S(State)가 '*'(current synced)이면 시간 동기화가 되고 있는 상태이다.
# chronyc sources -v
210 Number of sources = 5
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- 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
===============================================================================
^* time3.google.com 1 6 37 22 -25us[ -109us] +/- 666us
^- time.bora.net 3 6 37 12 -6830us[-6830us] +/- 127ms
^- 210.98.16.100 2 6 37 23 -349us[ -349us] +/- 132ms # time.kriss.re.kr
#
3. 적용 사례
- References model
a. NTP 서버 설정
- iap01(14.52.244.134), iap02(14.52.244.134) 서버에 '2.a Chrony 설정'에서 설명한 대로 설정한다.
- 주의할 점은 아래 NTP 클라이언트가 접속할 수 있도록 chrony.conf 파일의 allow 옵션에 IP 주소 대역을 입력해야 한다.
b. NTP 클라이언트 설정
- chrony.conf 파일을 수정하고 chronyd를 기동 한다.
✓ 접속할 NTP 서버 목록(iap01, iap02)을 server 옵션을 설정
✓ 본 서버에 참고할 로그를 저장하도록 log 옵션을 설정
# yum install chrony -y
...
# vi /etc/chrony.conf
server iap01 iburst
server iap02 iburst
...
# Select which information is logged.
log measurements statistics tracking
...
# systemctl restart chronyd
#
# chronyc sources -v
210 Number of sources = 1
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- 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
===============================================================================
^* iap01 10 6 377 21 -18ns[ -18ns] +/- 81us
^? iap02 0 7 0 - +0ns[ +0ns] +/- 0ns
#
4. rdate 명령어
- rdate 명령어는 지정한 서버 시간으로 동기화하며, 사용하는 포트는 37 (UDP/TCP)이다.
- NTP 서버들 중에는 rdate를 지원하지 않는 경우도 있다.
지원 서버 : time.nist.gov, time.bora.net
미지원 서버 : time.kriss.re.kr, ntp.kornet.net
$ sudo rdate -p -u time.nist.gov # UDP
rdate: [time.nist.gov] Mon Jun 22 13:17:00 2020
$ sudo rdate -p time.nist.gov # TCP
rdate: [time.nist.gov] Mon Jun 22 13:17:08 2020
$
$ nc -v time.bora.net 37
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 203.248.240.140:37.
$ nc -v time.bora.net 37 -u
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 203.248.240.140:37.
$ man rdate
NAME
rdate - get the time via the network
...
OPTIONS
-p Print the time returned by the remote machine.
-s Set the system time to the returned time.
$
'Linux' 카테고리의 다른 글
LVM - LV 사이즈 확장 (0) | 2021.11.10 |
---|---|
LVM (Logical Volume Manager) (0) | 2021.11.10 |
댓글