今天闲来无事搭建ntp服务器。原理暂不在这篇说明,请参看ntp协议原理。html
os centos6.4
shell
install yum install ntpcentos
下面该修改/etc/ntp.conf文件,其余参数请参看man ntp.conf服务器
先大体介绍一下相关参数网络
ntp restrict 来管理权限控制 restrict IP mask netmask parameter parameter 选项 ignore 拒绝全部类型的NTP联机 nomodify 客户端不能更改NTP服务器的时间参数,这表示客户端不能使用ntpc和ntpq 这两个程序来修改服务器。但客户端仍可经过这台主机来进行网络较时。 noquery 客户端不能使用ntpq、ntpc 等指令来查询时间服务器,等于不提供ntp的网络较时 notrap 不提供trap 这个远程事件登陆的功能 notrust 拒绝没有认证的客户端
利用server设置上层NTP服务器 server IP [perfer] #prefer表示优先使用主机
以driftfile 记录时间的差别 driftfile 目录与文件 driftfile 后面接的文件须要使用完整路径的文件名 该文件不能是连接文件 该文件须要设置成ntpd这个Daemon能够写入的权限 该文件所记录的数值单位为百万分之一秒ppm
keys [key_file] 除了以restrice来限制客户端的联机以外,也能够经过密钥系统来给客户端认证
按照以上的东东写了一个server_template测试
#restrict restrict default nomodify notrap noquery restrict server1 restrict server2 restrict server3 restrict 127.0.0.1 restrict -6 ::1 restrict 10.17.90.0 mask 255.255.255.0 nomodify restrict 10.17.90.1 #server source server server1 prefer server server2 server server3 restrict 1.cn.pool.ntp.org restrict ntp.sjtu.edu.cn restrict time.nist.gov restrict ntp.nasa.gov restrict 133.100.11.8 server 133.100.11.8 prefer server 1.cn.pool.ntp.org server ntp.sjtu.edu.cn server time.nist.gov server ntp.nasa.gov # server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 8 # driftfile info driftfile /var/lib/ntp/drift broadcastdelay 0.008 #about keys keys /etc/ntp/keys
/etc/init.d/ntpd restartspa
client_template
.net
restrict default kod nomodify notrap noquery nopeer restrict 127.0.0.1 restrict 10.17.90.0 mask 255.255.255.255 nomodify notrap restrict 10.17.90.1 server 10.17.90.1 prefer driftfile /var/lib/ntp/drift logfile /var/log/ntp.log
/etc/init.d/ntpd restartrest
若是想让BIOS也同步一下的话,须要添加参数code
echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
不建议客户端直接ntpdate IP && hwclock -w 放在crontab更新,请参看ntpd与ntpdate的区别
我服务器时间同步的首次更新过程是
/etc/init.d/ntpd stop
ntpdate IP && hwclock -w
/etc/init.d/ntpd restart
查看ntp同步的服务器状况请参看ntpq -p 里面的参数
remote: 它指的就是本地机器所链接的远程NTP服务器 refid: 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器 st: 远程服务器的层级别(stratum). 因为NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 因此服 务器从高到低级别能够设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接链接到级别为1的服务器的. when: 我我的把它理解为一个计时器用来告诉咱们还有多久本地机器就须要和远程服务器进行一次时间同步 poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和 服务器同步的频率也就增长了,能够尽快调整到正确的时间范围.以后poll值会逐渐增大,同步的频率也就会相应 减少 reach: 这是一个八进制值,用来测试可否和服务器链接.每成功链接一次它的值就会增长 delay: 从本地机发送同步要求到服务器的round trip time offset: 这是个最关键的值, 它告诉了咱们本地机和服务器之间的时间差异. offset越接近于0,咱们就和服务器的时间 越接近 jitter: 这是一个用来作统计的值. 它统计了在特定个连续的链接数里offset的分布状况. 简单地说这个数值的绝对值 越小咱们和服务器的时间就越精确
ntpstat 客户端或服务端同步服务器状态
[root@ntp]# ntpstat synchronised to NTP server (10.17.90.1) at stratum 4 time correct to within 72 ms polling server every 256 s
其余参数请参看man
NTP 服务器名称 time.buptnet.edu.cn IPv4 + IPv6 北京邮电大学NTP一级服务器 time.join.uni-muenster.de IPv4 + IPv6 time6.ipv6.uni-muenster.de IPv6 ntp6.space.net IPv4 + IPv6 ntp.ipv6.uni-leipzig.de IPv4 + IPv6 ntp.rhrk.uni-kl.de IPv4 + IPv6 ntp6.remco.org IPv6 chime3.ipv6.surfnet.nl