티스토리 뷰

  • RHEL, CentOS에서 ntp 서버 설정하기(사설망 내부 서버들의 시간 동기화)
NTP 는 시간을 NTP 서버와 자동으로 동기화 해주는 프로토콜이다.
시간을 정확하게 맞춰야 하는 중요한 서버 같은 경우에는 NTP 서버를 사용하는 것도 좋은거 같다.
사설망내에서 시간의 기준이 되는 예로 192.168.100.15 번 서버는 /etc/ntp.conf 파일에서 다음 부분만 수정하여 설정

#Hosts on local network are less restricted. #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap # 로컬 서버들이 시간 정보를 가져갈 수 있도록, 접근제한을 풀어준다.
#Use public servers from the pool.ntp.org project. #Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.rhel.pool.ntp.org  # 기존에 설정된 server 들을 모두 사용하지 않는다. #server 1.rhel.pool.ntp.org  # 오직 자체 시스템의 클럭만을 시간으로 사용한다. (이 서버가 기준이므로) #server 2.rhel.pool.ntp.org
192.168.100.15 번 서버는 현재 사설망의 기준 시간이 되는 서버이므로, 오직 자체 시스템의 클럭만을 시간으로 사용한다. 그러므로, /etc/ntp.conf 파일 내에서 server 라는 문구는 유일하게 다음 한 줄만 존재해야된다. server  127.127.1.0     # local clock
다음으로, 192.168.100.x 네트워크에 존재하는 다른 서버들은 기준 시간 서버로 192.168.100.15 서버를 사용하므로, /etc/ntp.conf 파일에서 다음 부분만 수정하여 설정한다.
#Use public servers from the pool.ntp.org project. #Please consider joining the pool (http://www.pool.ntp.org/join.html). #server 0.rhel.pool.ntp.org  # 기존에 설정된 server 들을 모두 사용하지 않는다. #server 1.rhel.pool.ntp.org #server 2.rhel.pool.ntp.org server 192.168.100.15  # 사설망내 시간 기준 서버를 지정

기준 시간 서버인 192.168.100.15 서버와 192.168.100.x 네트워크에 존재하는 다른 서버들의 설정이 다른 것은 기준 서버를 제외한 다른 서버들은 별도로 시간 정보를 다른 쪽에 줄 필요가 없기 때문이다.(기준 서버와 동일하게, 접근제한을 풀어줘서 또 다른 기준 시간 서버로 사용할 수도 있지만, 관리자의 선택에 따르면 된다.)

설정이 완료되었으면, ntpd 서비스를 시작시키고, 매 시스템이 시작될 때마다 구동되도록 설정한다. [root@localhost ~]# service ntpd start [root@localhost ~]# chkconfig ntpd on

ntpd 서비스가 정상적으로 동작하는지를 확인한다. [root@localhost ~]# ps -ef |grep ntp ntp      23483     1  0 14:24 ?        00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g root     24326 23151  0 15:10 pts/12   00:00:00 grep ntp [root@localhost ~]#
ntpd 서비스가 시간을 정상적으로 동기화하고 있는 여부는 다음과 같이 확인한다. 기준 시간 서버인 192.168.100.15 서버는 동기화 정보를 자기 자신뿐이므로, 결과가 다음과 같이 나타난다. [root@localhost ~]# ntpq -pn      remote           refid      st t when poll reach   delay   offset  jitter =================================================== *127.127.1.0     .LOCL.          10 l   19   64  377    0.000    0.000   0.001 [root@localhost ~]#
192.168.100.x 네트워크에 존재하는 다른 서버들은 기준 시간 서버인 192.168.100.15 서버를 참조하고 있기 때문에, 다음과 같이 결과가 출력된다. [root@Server1 etc]# ntpq -pn      remote           refid      st t when poll reach   delay   offset  jitter =================================================== *192.168..100.15  LOCAL(0)        11 u   47   64  377    0.156   16.448  14.100   127.127.1.0     .LOCL.          10 l   40   64  377    0.000    0.000   0.001 [root@Server1 etc]#

  • 한국시간대
  • 서버 부팅시 ntp 활성화 여부 확인
#chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
Chkconfig 이용하여 서버 부팅시 ntpd 데몬 활성화 여부 확인 3,5 level 에 off 가 되어 있으면
자동 활성화 되지 않고, 자동 활성화 하기 위해서는 3,4 에 on 으로 변경해야 한다.
#chkconfig --level 3 ntpd on
#chkconfig --level 5 ntpd on
#chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:on    4:off   5:on    6:off

  • /etc/ntp.conf파일의 내용
명시적으로 허가한 컴퓨터나 네트워크에 대해서만 동기화 할 수 있도록 초기화한다. restrict default ignore
자기 자신에 대해서 무조건 액세스를 허가해 준다. restrict 127.0.0.1
자신의 네트워크에 속하는 다른 NTP서버나 클라이언트를 동기화 할 수 있도록 액세스를 허가해 준다. restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify noquery
외부의 참조처 NTP서버로부터 시간을 동기화 할 수 있도록 액세스를 허가해 준다. restrict ntp1.jst.mfeed.ad.jp mask 255.255.255.255 nomodify notrap noquery
외부 참조처 NTP서버를 지정한다. server ntp1.jst.mfeed.ad.jp
로컬 클락 시각을 다른 NTP서버나 클라이언트에도 제공할 수 있도록 한다. server 127.1.1.0 fudge 127.1.1.0 stratum 10
드리프트 파일의 패스(디폴트 설정대로 한다.) driftfile /var/lib/ntp/drift broadcastdelay? 0.008
인증 키의 패스(디폴트 설정대로 한다.) keys /etc/ntp/keys

  • 사용했던 명령어 메모
정상
Tue Jan 27 00:24:08 KST 2015

비정상
Tue Jan 26 09:24:08 EST 2015

서울의 timezone 정보가 담긴 파일을 찾아 서버 시간으로 연결해줘야 한다.

#ls /usr/share/zoneinfo/Asia
이 안에 보면 Seoul 이라는 파일이 존재한다.(없으면 일본이라도 선택한다)
이제 이 파일을 서버 시간을 맞춰주는 파일에 심볼릭 링크를 걸어줘야 한다.(이건 잘 모르겠다 더 찾아봐야 될 것 같다.)

먼저 원래 파일 백업한 뒤 심볼릭 링크를 만들어준다.
#mv /etc/localtime /etc/localtime_org
#ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
(백업 없이 덮어씌우려면 -f 명령어를 추가하면 된다.)
이제 date 명령어를 치면 제대로 된 시간이 나오는 것을 확인할 수 있다.
# date
Tue Jan 27 00:24:08 KST 2015

  • date 명령어로 시간 및 날짜 바꾸기
시간 바꾸기 - (24시간제로 입력)
# date -s 00:21:21


댓글
공지사항
«   2018/10   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Total
120,900
Today
109