1.1 NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。 NTP服务器就是利用NTP协议提供时间同步服务的。 1.2 环境准备 主机名 服务器/客户端 外网IP 内网IP ntp-s S 10.0.0.77 172.16.1.77 ntp-c C 10.0.0.78 172.16.1.78

系统环境: [root@ntp-s ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@ntp-s ~]# uname -r 2.6.32-573.el6.x86_64 [root@ntp-s ~]# getenforce Disabled [root@ntp-s ~]# /etc/init.d/iptables status iptables:未运行防火墙。 1.3 安装NTP服务 安装ntp服务软件,CentOS6.7默认安装ntp服务。 [root@ntp-s ~]# rpm -qa ntp ntp-4.2.6p5-5.el6.centos.x86_64 如果没有安装,可以通过如下命令安装: yum install -y ntp

1.4 配置NTP ntp服务,默认配置文件在/etc/ntp.conf 操作前备份: [root@ntp-s ~]# cp /etc/ntp.conf{,.ori} [root@ntp-s ~]# ls -l /etc/ntp.conf{,.ori} -rw-r--r--. 1 root root 1778 4月 28 2015 /etc/ntp.conf -rw-r--r-- 1 root root 1778 7月 20 20:21 /etc/ntp.conf.ori

配置完成如下:

[root@ntp-s ~]# grep -vE "^$|#" /etc/ntp.conf driftfile /var/lib/ntp/drift restrict 127.0.0.1 restrict -6 ::1 restrict default nomodify #<==允许那些机器可以同步,全部 server ntp1.aliyun.com #<==同步的时间服务器 server time.nist.gov includefile /etc/ntp/crypto/pw keys /etc/ntp/keys

1.5 NTP配置重要参数详解 driftfile /var/lib/ntp/drift 记录上次的NTP server与上层NTP server联接所花费的时间。 server 210.72.145.44 prefer prefer表示优先。 restrict default nomodify 允许所有主机进行时间同步。 1.6 启动NTP服务 注:如果有ntpdate定时任务,需要关闭;两者会有冲突。 [root@ntp-s ~]# /etc/init.d/ntpd start 正在启动 ntpd: [确定] [root@ntp-s ~]# chkconfig ntpd on [root@ntp-s ~]# chkconfig --list ntpd ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

扩展: ntpq -p #查看本机和上层服务器的时间同步结果 ntptrace #可以用來追踪某台时间服务器的时间对应关系 ntpdate IP #客户端要和NTP server进行时钟同步。 /var/log/ntp/ntp.log #查看ntp日志

1.7 客户端同步 客户机要等几分钟再与新启动的ntp服务器进行时间同步,否则会提示no server suitable for synchronization found错误。 [root@ntp-c ~]# date -s 20111111 #<==修改当前时间,便于查看效果 2011年 11月 11日 星期五 00:00:00 CST [root@ntp-c ~]# ntpdate 172.16.1.77 20 Jul 20:36:22 ntpdate[18850]: step time server 172.16.1.77 offset 148077344.266571 sec [root@ntp-c ~]# date 2016年 07月 20日 星期三 20:36:23 CST 可以将同步命令放入定任务,每5分钟执行一次。

1.8 故障:ntp时间服务器,自动断开! 原因: ntp本地时间与上级ntp时间差超过1000s,那么ntp进程就会退出并在系统日志文件中记录。

解决方法 在配置文件/etc/ntp.conf的第一行加上这么一句 tinker panic 0