linux ntp配置文件在哪

linux ntp配置文件在哪,第1张

linux ntp时间服务器客户端安装配置1、主要文件及命令: /etc/ntp/bin/view/Main/SoftwareDownloads下载,安装RPM包: [root@localhost ~]# rpm -ivh ntp-422p1-9el5_41rpm3、备份一下配置文件 cp /etc/ntpconf /etc/ntpconf_bak4、ntpconf文件主要参数说明: 41、利用 restrict 来管理权限控制 restrict [你的IP] mask [netmask_IP] [parameter] 其中 parameter 的参数主要有底下这些: ignore: 拒绝所有类型的 NTP 联机; nomodify: 客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数, 但客户端仍可透过这部主机来进行网络校时的; noquery: 客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时; notrap: 不提供 trap 这个远程事件登录 (remote event logging) 的功能。 notrust: 拒绝没有认证的客户端。 42、利用 server 设定上层 NTP 服务器 server [IP or hostname] [prefer] perfer 表示‘优先使用’5、具体配置如下: 原来的上层服务器及对上层的限制注释掉,然后直接加上这几项 server 2107214544 prefer server timenistgov restrict 2107214544 mask 255255255255 nomodify notrap noquery restrict timenistgov mask 255255255255 nomodify notrap noquery restrict 19216810 mask 2552552550 nomodify #对内网访问开放,不同网段设置要改一下 6、重启服务:/etc/initd/ntpd restart 7、加入开机启动:chkconfig ntpd on8、查看系统日志看有没有报错:tail /var/log/messages9、查看启动的端口:netstat -tlunp grep ntp10、检查与上层服务器是否同步成功(约15分钟后才会和上层连接): ntpstat 或 ntpq -p11、先对服务器进行手动较正,要不误差超过1000秒的话服务会自动停掉: date MMDDHHMMCCYYSS #设置时间,格式:月月日日时时分分年年秒秒 /etc/initd/ntpd stop #要把服务停掉,因为ntp与ntpdate不能同时生效 ntpdate 2107214544 hwclock -w #写入硬件时间,-r是显示硬件时间 /etc/initd/ntpd restart 12、别的客户端要进行同步,则这样处理: vim /etc/crontab /10 root (/usr/sbin/ntpdate 2107214544 && /sbin/hwclock -w) &> /dev/null /etc/initd/crond restart13、要点: linux 系统本来就有两种时间,一种是 linux 以 1970/01/01 开始计数的系统时间,一种则是 BIOS 记载的硬件时间; linux 可以透过网络校时,最常见的网络校时为使用 NTP 服务器,这个服务启动在 udp port 123; 时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考 /etc/localtime; NTP 服务器为一种阶层式的服务,所以 NTP 服务器本来就会与上层时间服务器作时间的同步化, 因此 nptd 与 ntpdate 两个指令不可同时使用; NTP 服务器的联机状态可以使用 ntpstat 及 ntpq -p 来查询; NTP 提供的客户端软件为 ntpdate 这个指令; 在 linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w 来写入 BIOS 所记录的时间。 NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。

三、什么是NTP
为了实现时间同步,我们就需要用户NTP(Network Time Protocol)这个协议。如图1所示。简单地说,NTP是用来使系统和一个精确的时间源保持时间同步的协议。笔者建议管理员最好在自己管理的网络中建立至少一台时间服务器来同步本地时间。
如 果在一个公司的局域网中,如果让每个员工通过手动的方式每隔一段时间去校准时间,不但不利于管理,而且校准目标时间源也不一定准确。公司局域网络中不同计 算机的时间偏差尤其是客户机/服务器之间的时间偏差,就会对一些要求时间同步的服务产生影响。比如,为了管理方便,服务器设置了一到下班时间便 账号过期,用户无法访问Internet网络。而如果你的电脑时间与服务器的时间不同步,当你为你下班时间未到,正准备发送邮件时,或许在服务器的时间 上,你的账号便过期了,从而导到无法发送邮件。解决这种问题的方法很简单,就是建立一个能提供精确时间的服务器,局域网内的所有电脑统一通过这台时间服务 器进行时间同步、校准。
四、NTP服务器安装
现在,我们就来介绍一下,如何在Linux系统下,建立一个NTP服务器吧。在本文中,我们采用的是Fedora 2 *** 作系统作为例子 (其它版本Linux也可以,系统的配置类似)。
使用 RPM 安装
首先输入如下指令
rpm -q ntp
查询本机是否安装了NTP软件包。如果没有安装的话,找到您的 Linux 的安装光盘,mount 上后,查找以NTP开头的软件包名,然后安装上去,就可以了!
rpm –ivh ntp-412-5i386rpm
五、NTP服务的设置
1.NTP软件包的结构
NTP服务的配置文件:
/etc/ntpconf :这个是 NTP 服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同!
与NTP服务有关的Linux 系统文件及目录:
/usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。
/etc /sysconfig/clock:这个文件是Linux 的主要时区设定文件。每次启动后,Linux 会自动读取这个文件来设定系统预设要显示的时间!比如这个文件内容为“ZONE=Asia/Shanghai”,这表示我们的时间设定使用 /usr/share/zoneinfo/Asia/Shanghai 这个文件!
/etc/localtime:这个文件是本地系 统的时间设定文件! 假设clock 文件里面规定了使用的时间设定文件为 /usr/share/zoneinfo/Asia/Shanghai, Linux 系统就会将 Shanghai那个文件复制一份为 /etc/localtime ,所以系统的时间显示就会以 Shanghai 那个时间设定文件为准。假设这台主机到了美国纽约,您只要将 /etc/sysconfig/clock 里面的ZONE 设定成为ZONE="America/New_York" 并且将/usr/share/zoneinfo/America/New_York复制成为 /etc/localtime ,其它什么设置都不需要改动,系统的显示时间就是美国纽约当地的时间了!
与 NTP 及系统时间有关的执行文件:
/bin/date: Linux 系统上面的日期与时间修改及输出命令。
/sbin /hwclock:因为主机的 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,只是调整了linux的系统时间,还需要使用 hwclock 才能将修改过后的时间写入 BIOS。这个命令必须root用户才能执行 。
/usr/sbin/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务。
/usr/sbin/ntpdate:NTP客户端用来连接NTP服务器命令文件。
2.NTP服务端的设置
编辑 /etc/ntpconf 文件
关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!
上级时间服务器的设定
由于我们配置的NTP 服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP 服务器上面要配置一部上级时间服务器来进行校准!在 Internet 上面提供了许多时间服务器,从下面地址找一个离你最近的
>为了便于日常管理,公司网络内所有主机及服务器均已加入到了域环境内。采用自建的Exchange实现办公邮件的收发。但前些天突然出现邮件无法收发的情况,经排查发现,是由于Exchange服务器与域控服务器时间异常,时间差值大于5分钟所导致。在调整完时间后邮件恢复正常,为了防止再次出现此类故障,故决定通过域控来为域成员同步时间,而域控本身与阿里云的NTP同步时间。

配置分为两步:第一步为域控服务器配置与阿里云NTP的时间同步;第二步通过组策略实现域内成员同步域控服务器的时间。

一、域控服务器配置NTP
1、 添加时间服务器地址(域名或IP)(下面这个键存放着时间服务器列表)

在右边窗口点右键新建“字符串值”,将此“字符串值”命名为6。双击此新建的“字符串值”,输入地址:ntpaliyuncom,保存。将“默认”(即第一个“字符串值”)修改为6即可。前面的几个时间服务器分别为:

2、 指定时间源

3、 设置校时周期

4、重启服务
重启服务net stop w32time&net start w32time

5、验证配置情况

二、配置权威服务器及组策略
1、设置权威服务器
在域控服务器上打开注册表,找到键值

2、 启用 NTPServer

3、配置组策略,设置时间同步

4、域内成员同步策略
刷新组策略指令:gpupdate /force
重启服务net stop w32time&net start w32time

5、域内成员验证配置

三、填坑说明
如果在“Default Domain Policy”下添加时间同步策略,将会导致域控服务器也获取并执行策略,由于组策略的优先级较高,导致第一步配置的与阿里云NTP同步策略失效。使得域控服务器本身的时间准确性得不到保证。因此通过新建组织单位的方式,对除了域控服务器以外的计算机下发该策略。确保所有成员时间准确。

地球分为东西十二个区域,共计 24 个时区,以格林威治作为全球标准时间(即GMT 时间,0时区),东部时区以格林威治时区进行加法,而西时区则以格林威治时间作减法。但地球的轨道并非正圆,在加上自转速度逐年递减,时间会有误差。在计算时间的时,最准确是使用“原子震荡周期”所计算的物理时钟。这种时钟被称为标准时间,即UTC时间(Coordinated Universal Time)。UTC 的准确性毋庸置疑,美国的 NIST F-1 原子钟 2000 年才将产生 1 秒误差。

实际生产生活中,使用原子时钟这种准确的计时似乎缺少必要性,我们更多关注的是参与活动的各个个体在相同的时间环境下对话。例如,当我们说明天早上8:00开会的时候,我们并不在乎原子时钟真实的计时情况,只要参会的所有个体对“明天早上8:00”这个时间具有相同的认知即可。这里时间同步是个非常重要的概念,如果某位同仁手表慢了半小时,那它对“早上8:00”的理解就比其他人要慢半小时,最终会导致ta开会迟到。同样的道理,我们在影视剧中经常能看到特种作战小组在执行特别任务前一般都要先完成组员之间的时间同步,避免组员之间在时间上的认知差异给任务带来不必要的麻烦,甚至危及生命。

NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用于分布式设备(比如电脑、手机、智能手表等)进行时间同步,避免人工校时的繁琐和由此引入的误差,方便快捷地实现多设备时间同步。 NTP校时服务基于UDP传输协议进行报文传输,工作端口默认为123/udp

NTP的实现过程如图所示,假如设备A和设备B本地时间存在差异(设备A早上10点,设备B早上11点),现在设备A欲通过NTP和设备B在时间上保持同步:

这样可以轻松计算出来:

现假设设备A和设备B之间的时间差位 ,易得:

通过上式计算出
设备A就能根据 调整本地时间,实现和设备B的时间同步。

NTP的目的是在一个同步子网中,通过NTP协议将主时间服务器的时钟信息传送到其他二级时间服务器,实现二级时间服务器和主时间服务器的时钟同步。这些服务器按层级关系连接,每一级称为一个层数(stratum),如主时间服务器层数为 stratum 1,二级时间服务器层数为 stratum 2,以此类推。时钟层数越大,准确性越低。
注意:准确性指相对于主时间服务器而言。

在NTP网络结构中,有以下几个概念:

在正常情况下,同步子网中的主时间服务器和二级时间服务器呈现出一种分层主从结构。在这种分层结构中,主时间服务器位于根部,二级时间服务器向叶子节点靠近,层数递增,准确性递减,降低的程度取决于网络路径和本地时钟的稳定性。

NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。控制报文仅用于需要网络管理的场合,它对于时钟同步功能来说并不是必需的,这里不做介绍。

时钟同步报文封装在UDP报文中,其格式如图所示:

各主要字段解释如下:

其中,NTP发送和接收的报文数据包类似,通常只需要前48个字节就能进行授时和校时服务。下面分别是抓包获取的NTP请求数据包和回复数据包示例(仅前48个字节):

收到数据包后,接收端本地再产生一个时间戳( )。
这里,每个返回数据前4字节为秒的整数部分,后4字节为秒的小数部分。

设备可以采用多种NTP工作模式进行时间同步:

单播C/S模式运行在同步子网层数较高的层级上,客户端需要预先知道时间服务器IP或域名并定期向服务器发送时间同步请求报文,报文中的 Mode字段设置为 3(客户模式)。服务器端收到报文后会自动工作在服务器模式,并发送应答报文,报文中的Mode字段设置为4(服务器模式)。客户端收到应答报文后,进行时钟过滤和选择,并同步到优选的服务器。客户端不管服务器端是否可达,也不管服务器端所在的层数。在这种模式下,客户端会同步到服务器,但不会修改服务器的时钟。服务器则在客户端发送请求之间无需保留任何状态信息。客户端根据本地情况自由管理发送报文的时间间隔。

对等体模式运行在同步子网较低层级上,主动对等体和被动对等体实现时钟相互同步。这里有两个概念:主动对等体和被动对等体。

如上图所示,对等体模式工作步骤如下:
1主动对等体和被动对等体首先交互Mode字段为3(客户端模式)和4(服务器模式)的NTP报文,这一步主要是获得通信时延。

主动对等体和被动对等体可以互相同步。如果双方的时钟都已经同步,则以层数小的时钟为准。

注意:对等体模式不需要用户手动设置,设备依据收到的NTP报文自动建立连接并设置状态变量。

广播模式应用在多台工作站和不需要很高精度的高速网络中。主要工作流程如图所示:

注意:在广播模式下,服务端只负责向外广播时钟信息,自身时钟不受客户端影响。

组播模式适用于有大量客户端分布在网络中的情况。通过在网络中使用 NTP 组播模式, NTP 服务器发送的组播消息包可以到达网络中所有的客户端,从而降低由于 NTP 报文过多而给网络造成的压力。主要工作流程如下:

注意:组播模式和广播模式类似,只是它是向特定的组播地址发送时钟同步广播报文。在组播模式下,服务端只负责向外广播时钟信息,自身时钟不受客户端影响。

多播模式适用于服务器分布分散的网络中。客户端可以发现与之最近的多播服务器,并进行同步。多播模式适用于服务器不稳定的组网环境中,服务器的变动不会导致整网中的客户端重新进行配置。其工作流程如下:

注意:为了防止多播模式下,客户端不断的向多播服务器发送 NTP 请求报文增加设备的负担,协议规定了最小连接数的概念。多播模式下,客户端每次和服务器时钟同步后,都会记录下此次同步过中建立的连接数,将调用最少连接的数量被称为最小连接数。以后当客户端调动的连接数达到了最小连接数且完成了同步,客户端就认为同步完成;同步完成后每过一个超时周期,客户端都会传送一个报文,用于保持连接。同时,为了防止客户端无法同步到服务器,协议规定客户端每发送一个 NTP 报文,都会将报文的生存时间 TTL(Time To Live)进行累加(初始为 1),直到达到最小连接数,或者 TTL 值达到上限(上限值为 255)。若 TTL 达到上限,或者达到最小连接数,而客户端调动的连接数仍不能完成同步过程,则客户端将停止一个超时周期的数据传输以清除所有连接,然后重复上述过程。

下面补充一些常用的NTP时钟服务器:

更多NTP授时服务器请查看:

假设你比较喜欢清华的服务并打算将 ntptunatsinghuaeducn 作为你的授时服务器。下面将简单介绍不同的 *** 作系统该如何 *** 作使得设备能够使用此服务器同步时间。

本部分以主流Windows 10 系统为例演示如何使用NTP服务同步系统时间。

来将此服务器设置为个人选择的时间服务器。

Linux发行版有两个主流程序支持ntp协议:ntpd和chrony。
具体使用和配置参考各自文档: ntpd doc 和 chrony doc

在“系统配置 > 日期与时间 > 自动设置日期与时间”一栏,填入 ntptunatsinghuaeducn 。

时间服务器可以利用以下三种方式与其他服务器对时:
broadcast/multicast
client/server
symmetric
broadcast/multicast方式主要适用于局域网的环境,时间服务器周期性的以广播的方式,将时间信息传送给其他网路中的时间服务器,其时间仅会有少许的延迟,而且配置非常的简单。但是此方式的精确度并不高,对时间精确度要求不是很高的情况下可以采用。
symmetric的方式得一台服务器可以从远端时间服务器获取时钟,如果需要也可提供时间信息给远端的时间服务器。此一方式适用于配置冗余的时间服务器,可以提供更高的精确度给主机。
client/server方式与symmetric方式比较相似,只是不提供给其他时间服务器时间信息,此方式适用于一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层的用户。
上述三种方式,时间信息的传输都使用UDP协议。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时

linux服务器时间校准方法
首先安装NTP:
yum install -y ntpdate
然后执行NTP命令:
ntpdate timewindowscom
或者:
ntpdate cnpoolntporg
想要偷懒,让机器自动校准时间的话,只需要将命令加入到cron就可以了。
crontab -e2 /1 /sbin/ntpdate cnpoolntporg #每隔一个小时同步一次
保存退出即可。 《Linux就该这么学》一起学习


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13417296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-01
下一篇 2023-08-01

发表评论

登录后才能评论

评论列表(0条)

保存