>

www.bifa688.comCentOS下NTP安装配置,Linux下NTP服务搭建

- 编辑:www.bifa688.com -

www.bifa688.comCentOS下NTP安装配置,Linux下NTP服务搭建

安装
*
yum install ntp*

1.什么是ntp?

NTP服务搭建

配置文件 /etc/ntp.conf
restrict default kod nomodify
notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
# 用restrict控管权限
# nomodify - 用户端不能更改ntp服务器的时间参数
# noquery - 用户端不能使用ntpq,ntpc等命令来查询ntp服务器
# notrap - 不提供trap远端登陆
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
# 以下是两个ntp服务器
restrict cn.pool.ntp.org
restrict 164.67.62.194

# 用server设定上层ntp服务器,“prefer”表示优先
server cn.pool.ntp.org prefer
server 164.67.62.194

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
# 系统时间与bios事件的偏差记录
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
# 日志
*logfile /var/log/ntp.log
broadcastdelay 0.008

NTP(Network Time Protocol,网络时间协议)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,它可以提供 高精准度的时间校正。

服务端安装

  • 一个说明:
    我在vmware下搭建的ntp服务器,别人可以同步它,它自己的时间却不对。照理是它同步上层,下层同步它呀。后来找了蛮久的资料,发现这个文件:/etc/ntp/step-tickers,说是ntp服务器无法主动同步上层服务器,所以将地址写入该文件中即可。

参考阅读:

检查是否安装NTP

我在物理机里暂时没发现这个问题,也许是物理机本来自己的时间就正确,就难以发现它有没有主动同步上层服务器。

时间服务器NTP搭建  http://www.linuxidc.com/Linux/2013-04/82112.htm

[root@linux ~] # rpm -q ntp

运行ntp
service ntpd start/stop/restart
chkconfig ntpd on

Ubuntu搭建NTP服务器 http://www.linuxidc.com/Linux/2013-03/80285.htm

ntp-4.2.2p1-7.el5

查看ntp的端口,应该看到123端口
*netstat -unlnp

CentOS 6.3下NTP服务安装和配置 http://www.linuxidc.com/Linux/2012-12/76836.htm

安装NTP

*查看ntp服务器有无和上层连通
[root@S5 ~]# ntpstat
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
注意:此命令出现上述synchronised结果比较慢,我的用了大概5分钟。

2.对ntp配置文件的相关介绍

[root@linux ~] #yum –y install ntp

查看ntp服务器与上层间的联系 [root@S5 ~]# ntptrace -n 127.0.0.1 127.0.0.1: stratum 2, offset 0.064524, synch distance 0.121167
210.72.145.44: timed out, nothing received***Request timed out

1.  /etc/ntp.conf
NTP服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同。
2.  /usr/share/zoneinfo
规定了各主要时区的时间设定文件。/usr/share/zoneinfo/Asia/Shanghai 为中国大陆地区的时区设定文件。
3.  /etc/sysconfig/clock
时区设置文件
4.  /etc/localtime
本地系统的时间设定文件
[root@linuxidc1 ~]# grep -v "^#" /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery//对于默认的client拒绝所有的操作
restrict -6 default kod nomodify notrap nopeer noquery  //针对ipv6的设置
restrict 127.0.0.1 //允许本机地址一切的操作
restrict -6 ::1
server 0.rhel.pool.ntp.org //设置上层服务器做同步ip地址
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
server  127.127.1.0    //local地址
fudge  127.127.1.0 stratum 10  //这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0
driftfile /var/lib/ntp/drift  //记录上次的NTP server与上层NTP server联接所花费的时间
keys /etc/ntp/keys
参数:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询

[root@linux ~] #rpm -ivh ntp.xxx.xxx.rpm

查看ntp服务器与上层ntp服务器的状态
[root@S5 ~]# ntpq -p
其中,
remote - 本机和上层ntp的ip或主机名,“ ”表示优先,“*”表示次优先
refid - 参考上一层ntp主机地址
st - stratum阶层
when - 多少秒前曾经同步过时间
poll - 下次更新在多少秒后
reach - 已经向上层ntp服务器要求更新的次数
delay - 网络延迟
offset - 时间补偿
jitter - 系统时间与bios时间差

3.具体配置

安装完成以后编辑配置文件/etc/ntp.conf

 

[root@linuxidc1 ~]# vim /etc/ntp.conf
3 restrict default kod nomodify notrap nopeer noquery
 4 #restrict -6 default kod nomodify notrap nopeer noquery
 5 restrict default nomodify
 6 restrict 192.168.8.0 mask 255.255.255.0 nomodify
11 restrict 127.0.0.1
18 #server 0.rhel.pool.ntp.org
19 #server 1.rhel.pool.ntp.org
20 #server 2.rhel.pool.ntp.org
21 server 192.168.8.70
31 server  127.127.1.0    # local clock
32 fudge  127.127.1.0 stratum 10

[root@linux ~] #vi /etc/ntp.conf

客户端同步时间的方法
方法一:使用 ntpdate
ntpdate [IP_Address] 看下面的例子,其中192.168.1.5是我在内网搭建的ntp服务器
[root@ www.linuxidc.com ~]# date
Thu Sep 25 13:04:17 CST 2008
[root@ www.linuxidc.com ~]# ntpdate 192.168.1.5
25 Sep 14:33:13 ntpdate[10302]: step time server 192.168.1.5 offset 5327.700798 sec
[root@ www.linuxidc.com ~]# date
Thu Sep 25 14:33:18 CST 2008

[root@linuxidc1 ~]# /etc/init.d/ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd: [  OK  ]
客户端测试   
注:客户端的/etc/hosts里需要加上ntp服务器的ip地址和主机名
[root@linuxidc2 ~]# ntpdate 192.168.8.70
2 Mar 00:35:44 ntpdate[11181]: no server suitable for synchronization found
注:在ntp server上启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令进行同步时会产生 no server suitable for synchronization found的错误。
查看同步的过程
[root@linuxidc1 ~]# watch ntpq -p

restrict default kod nomodify  # 用restrict控管权限
notrap nopeer noquery 
restrict -6 default kod nomodify notrap nopeer noquery # nomodify - 用户端不能更改ntp服务器的时间参数

ntpdate 的特点:
1,ntpdate只运行一次就结束,即只同步一次。所以要使用ntpdate同步时间的话要将该命令写入cron中。
vi /etc/crontab
* * * * root ntpdate 192.168.1.5 && hwclock -w
*之所以使用hwclock -w命令稍后再说。
2,ntpdate同步时间是跳跃的,如上面的显示,时间立即就同步了,这将可能导致文件时间标记、监控数据的紊乱。

www.bifa688.com 1

# notrap - 不提供trap远端登陆
restrict 127.0.0.1
restrict -6 ::1

方法二:使用ntpd服务
step1:/etc/ntpd.conf 写入 server [IP_Address]
step2:chkconfig ntpd on
step3:service ntpd start

注:LOCAL的这个就是与自身同步的ntp server。reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。
客户端测试
[root@linuxidc2 ~]# ntpdate 192.168.8.70
2 Mar 00:40:51 ntpdate[11184]: adjust time server 192.168.8.70 offset -0.000031 sec
[root@linuxidc2 ~]# date
Sat Mar  2 01:00:13 CST 2013
服务器端
[root@linuxidc1 ~]# date
Sat Mar  2 01:00:15 CST 2013
[root@linuxidc1 ~]#

restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap #允许192.168.x.x网段的IP连接NTP服务器
restrict cn.pool.ntp.org  #增加NTP上层服务器
restrict 164.67.62.194  #增加NTP上层服务器
server cn.pool.ntp.org prefer # 用server设定上层ntp服务器,“prefer”表示优先
server 164.67.62.194
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift  #系统时间与bios事件的偏差记录
keys /etc/ntp/keys
logfile /var/log/ntp.log  #日志
broadcastdelay 0.008

大概过一刻钟开始起作用。

www.bifa688.com 2

保存退出

FAQ:系统报错 - Sep 25 11:59:39 localhost kernel: set_rtc_mmss: can't update from 7 to 59
==================================网上查得源码==========================================
if (abs(real_minutes - cmos_minutes) < 30) { update_cmos() } else { printk("set_rtc_mmss: can't update from %d to %dn", cmos_minutes,

:qw
在启动NTP服务前,先对提供服务的这台主机手动的校正一次时间咯。(因为启动服务器,端口会被服务端占用,就不能手动同步时间了)

real_minutes); }

bios时间与系统时间差异超过30分钟,就会报上述错误,只要修改bios时间或系统时间即可。

虚拟机下个人体验:
我的vm客户端用ntpd同步服务器后,慢慢变成标准时间,可接着又比标准时间越来越慢,然后出现上述报错。所以我觉得ntpd的同步频率比我的vm时钟频率跑得慢。

 

 

ntpd 的特点:
1,ntpd服务始终运行,定期同步时间。
2,ntpd服务是慢慢改变时间直至标准时间。
3,如果系统时间与bios时间差异超过30分钟,ntpd就会报错。

总结:
1,推荐使用 ntpd 服务。
2,ntpd开启后,无法使用ntpdate,看如下例子:
[root@ www.linuxidc.com ~]# service ntpd start
Starting ntpd: [ OK ]
[root@ www.linuxidc.com ~]# ntpdate 192.168.1.5
25 Sep 15:25:22 ntpdate[12334]: the NTP socket is in use, exiting

附:linux的时间、时区 1,时间
系统时间:date 命令
bios时间:hwclock命令 (-r 读取bios时间,-w 写入bios时间)
每次开机时系统重新读bios时间。
所以前面ntpdate命令时的cron脚本需要用到hwclock,以避免机器重启后时间混乱。

2,时区
linux的所有时区文件都放在 /usr/share/zoneinfo 下。
linux系统的时区文件是 /etc/localtime,这是个时间格式的档案,不是ACSII码。它与/usr/share/zoneinfo/下的自己的时区文件是一样的。
我的时区是Asia-Shanghai,用diff比较两个文件,如下:
[root@ www.linuxidc.com ~]# diff /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@ www.linuxidc.com ~]#
在 /etc/sysconfig/clock 文件中也写有本时区的信息:
[root@ www.linuxidc.com ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false

www.bifa688.com 3

[root@linux ~] # ntpdate cn.pool.ntp.org
25 Apr 14:33:51 ntpdate[8310]: step time server 80.85.129.2 offset 6.655976 sec

运行NTP

[root@linux ~] #service ntpd start

[root@linux ~] #chkconfig ntpd on

查看运行端口

[root@linux ~]# netstat -ln|grep 123
udp        0      0 192.168.228.153:123         0.0.0.0:*   
udp        0      0 127.0.0.1:123               0.0.0.0:*            
udp        0      0 0.0.0.0:123                 0.0.0.0:*            
udp        0      0 :::123                      :::* 

查看ntp服务器有无和上层连通
[root@linux ~]# ntpstat
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
注意:此命令出现上述synchronised结果比较慢。

查看ntp服务器与上层间的联系
[root@linux ~]# ntptrace -n 127.0.0.1
127.0.0.1: stratum 2, offset 0.064524, synch distance 0.121167
210.72.145.44: timed out, nothing received***Request timed out

客户端设置

命令同步如下
[root@linux ~]# ntpdate 192.168.228.153
hwclock -w把系统时间写入硬件BIOS时间中,也可以用计划任务做定时更新:
[root@linux ~]# crontab -e
0 0 * * * /usr/sbin/ntpdate 192.168.228.153;/sbin/hwclock -w;

www.bifa688.com 4

本文由bifa688.com发布,转载请注明来源:www.bifa688.comCentOS下NTP安装配置,Linux下NTP服务搭建