본문 바로가기
IT/linux

linux NTP Server / Client 설치 및 설정 정보

by 어느해겨울 2022. 1. 20.

NTP Server / Client 설치 및 설정 정보

NTP(Network Time Protocol)를 보통 WAN 환경에서 사용하지만 Local network 구성으로 폐쇄망을 사용하는 경우에는 Public domain의 NTP를 사용할 수 없다.

그렇다고 폐쇄망 내에 위치한 많은 장치의 시간을 하나씩 수동으로 맞춘다는건 무척 많은 시간과 노력이 소요되며 입력하는 사용자의 실수 등으로 장치들의 시간 동기화가 안맞을 확률이 매우 높을 것이다.

 

그렇기 때문에 폐쇄망의 특정 장치를 NTP 서버로 설정하고 그 외에 모든 장치를 NTP 클라이언트로 사용하게 되면 적어도 같은 네트워크 내에서는 시간 동기화를 이뤄낼 수 있다.

물론 특정 장치의 시간은 사용자가 잘 맞춰줘야 하지만.

본론으로 들어가자.

 


 

1. 목적

 - Time server 사용이 불가능한 Local network 상 장치 간 시간 동기화 시 사용

 - 별도의 Time server 운용 시 사용

 

 

2. NTP server 설정

1) 대상

 - Local time server 구성이 필요한 장치

 

2) NTP server 설치

 - sudo apt-get install ntp

 

3) NTP 설정

 - /etc/ntp.conf 파일 수정 (빨간색: 주석, 파란색: 추가)

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
 
driftfile /var/lib/ntp/ntp.drift
 
 
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
 
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
 
 
# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example
 
# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
# server 0.debian.pool.ntp.org iburst
# server 1.debian.pool.ntp.org iburst
# server 2.debian.pool.ntp.org iburst
# server 3.debian.pool.ntp.org iburst
server 127.127.1.0
 
 
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.
 
# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
 
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
 
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
 
 
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255
 
# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

 

4) NTP 재시작 및 동작 확인

- sudo service ntp restart 또는 reboot

- sudo ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.           5 l   49   64  377    0.000    0.000   0.001

 

 

3. NTP client 설정

1) 대상

 - Local network에 구성된 장치들

 

2) NTP client 설치

 - sudo apt-get install ntpdate

 - 수동 설치 시 : http://www.ntp.org/downloads.html

 

3) NTP daemon 중지

 - NTP server가 동작되는 환경이라면 server daemon을 정지 시켜야 한다.

 : sudo service ntp stop

 - 영구적으로 NTP server를 중지 시켜야 재부팅 시 ntp daemon이 동작하지 않는다.

 : sudo systemctl disable ntp

Synchronizing state for ntp.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d ntp defaults
Executing /usr/sbin/update-rc.d ntp disable
insserv: warning: current start runlevel(s) (empty) of script `ntp' overrides LSB defaul                        ts (2 3 4 5).
insserv: warning: current stop runlevel(s) (2 3 4 5) of script `ntp' overrides LSB defau                        lts (empty).

 

4) NTP client 실행

- sudo ntpdate [서버 IP 주소] (ex. sudo ntpdate 192.168.1.100)

14 Jul 09:37:13 ntpdate[24590]: adjust time server 192.168.1.100 offset -0.032151 sec

 

끝.

 

 

댓글