未加星标

ntp服务的细节

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

linux里 设置NTP服务并不难,但是NTP本身确是一个很复杂的协议. 你都了解细节么?

1. 时间和时区

date命令可显示时间与市区

[[email protected]_PV1_DB ~]# date

Tue Feb 7 16:32:16 CST 2017

[[email protected]_PV1_DB ~]# cat /etc/sysconfig/clock

ZONE="Asia/Shanghai"

CST=true

在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone) 的必要,也就是把全球划分成24个不同的时区. 所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)

格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. 虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC

那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式

20:00 CST

12:00 UTC

这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC+8时区

如果时区设置错了,你看到的日志时间也不正确了。

补充:

CST同时可以代表如下 4 个不同的时区:

Central Standard Time (USA) UT-6:00

Central Standard Time (Australia) UT+9:30

China Standard Time UT+8:00

Cuba Standard Time UT-4:00

可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。

2、ntp的配置

#cat /etc/ntp.conf restrictdefaultkodnomodifynotrapnopeernoquery restrict-6defaultkodnomodifynotrapnopeernoquery restrict11.107.13.100 //允许该NTP服务器进入 restrict11.80.81.1 //没有任何何档脑,@表示『该IP或网段不受任何限制』 restrict202.112.1.199 restrict127.0.0.1 restrict-6::1 restrict192.168.0.0mask255.255.0.0nomodify //该网段可以进行校时 restrict 0.0.0.0 mask 0.0.0.0 notrust //拒绝没有认证的用户端 servertime-nw.nist.govprefer //prefer 该服务器优先 server0.rhel.pool.ntp.org iburst //设定时间服务器 server1.rhel.pool.ntp.org iburst server2.rhel.pool.ntp.org iburst fudge127.127.1.0stratum6 driftfile/var/lib/ntp/drift keys/etc/ntp/keys broadcastdelay 0.008

上边只是简单设置,没有考虑安全方面如认证等等。

权限管理使用 restrict 公式如下:

restrict IP mask [参数]/ restrict 192.168.0.0 mask 255.255.0.0 nomodify 其中

参数 主要 有 底下 这些 :

* ignore : 拒绝 所有 类型 的 NTP的 连线 ;

* nomodfiy :用户 端 不能 使用 NTPC 与 ntpq 这 两支 程式 来 修改 伺服器 的时间 参数 ,但 使用者 端 仍可 透过 这部 主机 来 进行 网路 校 时的 ;

* noquery :用户 端 不 能够 使用 ntpq , NTPC 等 指令 来 查询 发表 伺服器 , 等于 不 提供 的NTP 的 网路 校 时 幂 ;

* notrap : 不 提供 陷阱 这个 远端 事件 邮箱 ( 远程 事件日志 ) 的功能 。

* notrust : 拒绝 没有 认证 的用户 端 。

配置文件中的driftfile是什么?
我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了。

最后,别忘了启动NTP服务器

/etc/init.d/ntp start

[[email protected] ~]# chkconfig ntpd on #在运行级别2、3、4、5上设置为自动运行 [[email protected] ~]# chkconfig --list ntpd

ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

查看ntp服务器有无和上层ntp连通 [[email protected] ~]# ntpstat synchronised to NTP server (192.168.7.49) at stratum 6 time correct to within 440 ms polling server every 128 s [[email protected] ~]# 查看ntp服务器与上层ntp的状态 [[email protected] ~]# watch ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== 192.168.7.49 192.168.7.50 5 u 13 64 3 5.853 1137178 2.696

3、ntpd的配置

配置/etc/sysconfig/ntpd文件

ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

#允许BIOS与系统时间同步,也可以通过hwclock -w 命令

SYNC_HWCLOCK=yes

4、时间同步

利用crontab可以让LINUX NTP定时更新时间

注:让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用:如下

[[email protected] ~]# ntpdate 1.rhel.pool.ntp.org 20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

如果想定时进行时间校准,可以使用crond服务来定时执行。

编辑 /etc/crontab 文件

加入下面一行:

30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP服务器的IP地址

然后重启crond服务

service crond restart

这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

如果是windows ,则需要打开windows time服务和RPC的二个服务

如果在打开windows time 服务,时报 错误1058,进行下面操作

1.运行 cmd 进入命令行,然后键入

w32tm /register 进行注册

正确的响应为:W32Time 成功注册。

2.如果上一步正确,用 net start "windows time" 或 net start w32time 启动服务。

5、linux的硬件时间

Linux硬件时间的设置

硬件时间的设置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

//查看硬件时间 可以是用 hwclock ,hwclock --show 或者 hwclock -r

[[email protected]~]# hwclock --show

2008年12月12日 星期五 06时52分07秒 -0.376932 seconds

//设置硬件时间

[[email protected]~]# hwclock --set --date="1/25/09 00:00" <== 月/日/年时:分:秒 [[email protected]~]# hwclock

2009年01月25日 星期日 00时00分06秒 -0.870868 seconds

几个参数和命令:

ntpq -p显示结果中的offset

本地时间+offset=远程时间, 因此如果offset为负数, 则本地时钟比远程快. offset值0-500,接近0是正常的。

运行ntpq -c asso, 如果显示sys.peer则已经处于同步状态了.


ntp服务的细节

使用以下命令检查ntp的版本: # ntpq -c version

ntpd 服务的方式,又有两种策略,一种是平滑、缓慢的渐进式调整( adjusts the clock in small steps 所谓的微调);一种是步进式调整(跳跃式调整)。两种策略的区别就在于,微调方式在启动 NTP 服务时加了个“ -x ”的参数,而默认的是不加“ -x ”参数。

假如使用了 -x 选项,那么 ntpd 只做微调,不跳跃调整时间,但是要注意, -x 参数的负作用:当时钟差大的时候,同步时间将花费很长的时间。 -x 也有一个阈值,就是 600s ,当系统时钟与标准时间差距大于 600s 时, ntpd 会使用较大 “ 步进值 ” 的方式来调整时间,将时钟 “ 步进 ” 调整到正确时间。

假如不使用 -x 选项,那么 ntpd 在时钟差距小于 128ms 时,使用微调方式调整时间,当时差大于 128ms 时,使用

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: 服务器LinuxUTRPCUTCGM城市澳大北京国际标准
分页:12
转载请注明
本文标题:ntp服务的细节
本站链接:http://www.codesec.net/view/532051.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(22)