적용범위: ntpupdate 또는 rdate 가 설치되어 있는 모든 운영체제
ntpupdate -u time.nuri.net 또는 rdate -p -s timeservername
-u 스위치는 방화벽으로 시간동기화 포트가 막혀있을 때 사용한다.
아래는 시간서버 목록이다.
**** Time Servername
time.kriss.re.kr
time.bora.net
time.nuri.net
www.hanyang.ac.kr
www.hongik.ac.kr
www.korea.ac.kr
www.skku.ac.kr
www.snu.ac.kr
----------------------------------------
위의 것은 운영체제에서의 시각만 맞출 뿐 하드웨어 시각에는 적용되지 않는다.
다음 명령을 통해 BIOS의 시각을 맞춰주자.
hwclock --systohc
그냥 hwclock 를 하면 현재 BIOS가 갖고 있는 시각을 출력하고, 올바른 시간과의 차이를 출력한다.
---------------------------------------
One more thing
아래는 coffeenix 의 좋은진호 님께서 체계적으로 정리하신 글.
출처 : http://www.coffeenix.net/board_view.php?cata_code=0&bd_code=19&bpage=&bd_search_type=all&bd_search=%BD%C3%B0%A3%20%B5%BF%B1%E2%C8%AD
전에는 rdate time.nuri.net 또는 ntpdate -b time.kriss.re.kr
로 동기화만 했는데, 좀더 체계적으로(?) 정리할 필요가 있어서 적어봤다.
1. 우리나라의 NTP(Network Time Protocol) 서버
1) Stratum 1 서버 :
GPS 위성으로 부터 표준시각정보를 받는 타임 서버를
NTP Primary Time Server 혹은 Stratum 1(one) 라고 부름
데이콤 (gps.bora.net), 코넷 (ntp.kornet.net), GNGIDC,
부산대학교 (ntp1.cs.pusan.ac.kr / ntp2.cs.pusan.ac.kr),
한국 표준과학 연구원 시간 · 주파수 연구실 (time.kriss.re.kr)
2) Stratum 2 서버 :
Stratum 1 서버로 부터 표준시간을 받는 타임서버를
TP Secondary Time Server 혹은 Stratum 2 서버라고 부름
PSINet Korea (time.nuri.net),
GNGIDC (ntp1.gngidc.net / ntp2.gngidc.net),
이대부속 초등학교 (ntp.ewha.net / ticktock.ewha.net)
2. rdate를 이용한 시간 동기화
지정한 타임서버로 부터 시간을 확인하거나 동기화 시킨다.
1) 타임서버의 표준시간을 확인한다.
rdate time.nuri.net
rdate: [time.nuri.net] Tue Mar 18 16:38:47 2003
2) 시스템 시간을 타임서버 시간에 동기화 시킨다.
rdate -s time.nuri.net
3. ntpdate를 이용한 시간 동기화
1) 동기화
ntpdate -b -s time.kriss.re.kr
-s : 결과를 화면이 아닌 syslog로 보냄
2) 다음과 같은 오류가 발생한 경우
[root@truefeel root]# ntpdate -b time.kriss.re.kr 17 Mar 21:03:25 ntpdate[8244]: no server suitable for synchronization found |
-> NTP 프로토콜은 UDP port 123 을 사용하는데, 이 포트가 방화벽 등으로
막혀있는 경우에는
ntpdate -u time.kriss.re.kr
처럼 -u 를 옵션을 사용해서 다른 포트 사용하도록 한다.
3) 사용 예
[root@truefeel root]# date 월 3월 17 21:40:35 KST 2003 [root@truefeel root]# date 03172150 <- 강제로 시간을 3.17일 21:50 으로 변경함 월 3월 17 21:50:00 KST 2003 [root@truefeel root]# [root@truefeel root]# ntpdate -u time.nuri.net <- 시간을 동기화 함 17 Mar 21:40:44 ntpdate[8835]: step time server 203.255.112.96 offset -557.336058 sec [root@truefeel root]# [root@truefeel root]# date 월 3월 17 21:40:46 KST 2003 <- 시간이 동기화 됨 |
위에서 'offset -557.336058 sec'은 타임서버의 시간(reference time)과 로컬 서버와의
시간 차이를 나타냄
4) ntpdate의 2가지 시스템 콜
ntpdate는 settimeofday(), adjtime()의 2가지 시스템 콜로 시간을 설정한다.
settimeofday()은 timezone과 시간을 설정하고,
adjtime()은 점근적 시각 보정 방식으로 커널 클럭을 조정한다. 주로 시간 동기화에 사용한다.
ntpdate는 옵션(-b, -B)을 지정하지 않으면 현재 시스템 시간과 차이가 128ms 이상이면
settimeofday()을, 이내이면 adjtime()을 사용한다.
또한 강제적으로 ntpdate -b 로 settimeofday()를, ntpdate -B로 adjtime()를 사용할 수 있다.
ntpdate 실행 결과 메시지에 'step time server...'로 표시되면 setimeofday()가 사용되었고,
'adjust time server...' 로 표시되면 adjtime()가 사용되었다.
[root@truefeel root]# ntpdate time.nuri.net 14 Mar 01:09:31 ntpdate[3127]: step time server 203.255.112.96 offset 82.763348 sec [root@truefeel root]# ntpdate time.nuri.net 14 Mar 01:22:30 ntpdate[3182]: adjust time server 203.255.112.96 offset -0.064531 sec |
부팅할 때는 ntpdate -b 로, cron등으로 정기적으로 시간조절을 할 때는 옵션없이 ntpdate
사용하기를 하기 바란다.
5) 디버깅 모드
- 디버깅 모드는 local 서버의 시간을 변경하지는 않는다.
[root@truefeel root]# ntpdate -d time.nuri.net 18 Mar 17:33:23 ntpdate[2169]: ntpdate 4.1.1a@1.791 Sat Aug 31 18:27:31 EDT 2002 (1) transmit(203.255.112.96) receive(203.255.112.96) transmit(203.255.112.96) receive(203.255.112.96) transmit(203.255.112.96) receive(203.255.112.96) transmit(203.255.112.96) receive(203.255.112.96) transmit(203.255.112.96) server 203.255.112.96, port 123 stratum 2, precision -18, leap 00, trust 000 refid [192.6.38.127], delay 0.04927, dispersion 0.00092 transmitted 4, in filter 4 reference time: c2215828.4ea9e000 Tue, Mar 18 2003 17:32:40.307 originate timestamp: c2215853.6ad1b000 Tue, Mar 18 2003 17:33:23.417 transmit timestamp: c2215853.a19695d9 Tue, Mar 18 2003 17:33:23.631 filter delay: 0.05023 0.05008 0.04927 0.06329 0.00000 0.00000 0.00000 0.00000 filter offset: -0.22637 -0.22621 -0.22640 -0.23302 0.000000 0.000000 0.000000 0.000000 delay 0.04927, dispersion 0.00092 offset -0.226409 18 Mar 17:33:23 ntpdate[2169]: adjust time server 203.255.112.96 offset -0.226409 sec |
4. 주의 사항
1) time.kriss.re.kr 서버는 1초내에 여러번 접속을 시도할 경우 해당 IP를 차단 시키므로
테스트를 하더라도, 시간 간격을 두고 하도록
-------------------------------
제가 쓴 글 내용의 지적/퍼온 글에 대한 문제제기는 답글로 해주세요.
만일 문제가 된다면 자삭 예정입니다.
마지막으로 체계적으로 정리하여 공개해 주신 좋은진호님께 감사드립니다 ~_~