1. NTP简介

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

NTP服务器就是利用NTP协议提供时间同步服务的。

2. NTP服务器安装

# 系统自带ntp
[root@m01 ~]# rpm -qa ntp
ntp-4.2.6p5-5.el6.centos.x86_64
# 如果没有就安装yum -y install ntp

3. 配置NTP服务

[root@m01 ~]# vim /etc/ntp.conf
# restrict default kod nomodify notrap nopeer noqueryrestrict default nomodify
restrict 172.16.1.0 mask 255.255.255.0 nomodify    《==增加这一行
# nomodify客户端可以同步,但不可以修改时间服务器
# 将默认时间同步源注释改用可用源
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 202.118.1.81 prefer
server 24.56.178.140 
server time.nist.gov

4. 启动NTP服务器

# 如果计划任务有时间同步,先注释,两种用法会冲突。
[root@m01 ~]# crontab -e
# time sync by tank at 2015-12-9
#*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
[root@m01 ~]# /etc/init.d/ntpd start
Starting ntpd:                                             [  OK  ]
[root@m01 ~]# date -s "2015/11/25 10:30"
Wed Nov 25 10:30:00 CST 2015
[root@m01 ~]# /etc/init.d/ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]
[root@m01 ~]# date
Wed Dec  9 02:28:45 CST 2015
[root@m01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*news.neu.edu.cn 202.118.1.47     2 u   12   64    1   50.238    5.239   0.000
 host-24-56-178- .STEP.          16 u    -   64    0    0.000    0.000   0.000
 utcnist2.colora .ACTS.           1 u   11   64    1  240.119   -1.330   0.000
[root@m01 ~]# ntpstat
unsynchronised
   polling server every 64 s
[root@m01 ~]# ntpdate 10.0.0.61
 9 Dec 02:31:38 ntpdate[3825]: the NTP socket is in use, exiting

5. 客户机时间同步

客户机要等几分钟再与新启动的ntp服务器进行时间同步,否则会提示no server suitable for synchronization found错误。

[root@web02 ~]# /usr/sbin/ntpdate172.16.1.61
4 Dec 11:51:00 ntpdate[1985]: step timeserver 172.16.1.61 offset 65928627.790465 sec
# 将命令放入计划任务即可。
echo"*/2 * * * * /usr/sbin/ntpdate 172.16.1.61 >/dev/null 2>&1">>/var/spool/cron/root