TP服务器
NTP服务器提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC 源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。
计算机主机一般同多个时间服务器连接, 利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。
NTP校时方式
时间服务器可以利用以下三种方式与其他服务器对时:broadcast/multicast,client/server和Symmetric。
broadcast/multicast:方式主要适用于局域网的环境,时间服务器周期性的以广播的方式,将时间信息传送给其他网路中的时间服务器,其时间仅会有少许的延迟,而且配置非常的简单。但是此方式的精确度并不高,对时间精确度要求不是很高的情况下可以采用。
Symmetric:的方式得一台服务器可以从远端时间服务器获取时钟,如果需要也可提供时间信息给远端的时间服务器。此一方式适用于配置冗余的时间服务器,可以提供更高的精确度给主机。
client/server:方式与symmetric方式比较相似,只是不提供给其他时间服务器时间信息,此方式适用于一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层的用户。
上述三种方式,时间信息的传输都使用UDP协议。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时
NTP服务器配置
NTP在Linux主机上默认一般都是安装过的,只是服务没有启用。如果没有安装可直接使用yum install ntp命令即可。
NTP的主配置文件,以下是NTP服务器可选的指令:
# 允许172.16.*.*的IP使用该时间服务器; restrict 172.16.0.0 mask 255.255.0.0 nomodify #允许任何人来同步; restrict default nomodify notrap # 屏蔽其他IP过来更新时间; restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust #ignore:关闭所有的NTP联机服务; #nomodify:表示Client端不能更改Server端的时间参数;不过Client端仍然可以透过Server端来进行网络校时; #notrust:该Client除非通过认证否则该Client来源将被视为不信任网域; #noquery:不提供Client端的时间查询; #notrap:允许任何人来查询; # 同步的上层服务器(210.72.145.44国家时间服务器),NTP服务器默认也有同步的时间服务器; server 210.72.145.44 # 同步本地时间; server 127.127.1.0 prefer # 本地服务器的stratum大小不能超过16; fudge 127.127.1.0 stratum 8
启动NTP服务器
[root@localhost ~]# chkconfig ntpd on [root@localhost ~]# service ntpd start
查看NTP信息
[root@localhost ~]# ntpq -p
NTP服务器配置完成启动之后;NTP自身或者与其server的同步需要一个时间段这个过程可能是5-10分钟;在这个时间段内客户端运行ntpdate命令时会产生no serversuitable for synchronization found的错误,上图表示210.72.145.44的reach为0不可用,LOCAL的reach为17可用。
将时间同步到硬件时钟
[root@localhost ~]# vi /etc/sysconfig/ntpd SYNC_HWCLOCK=yes
客户端配置
indows搭建ntp服务器
1、关闭防火墙;
2、服务:windows time服务打开,延时启动;
3、cmd输入“regedit”打开注册表;
4、在注册表中依次展开:HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->W32Time->TimeProviders->NtpServer,
在NtpServer项的右侧键值ENablied,将默认的0改为1,1为启用NTP服务器;
5、再在注册表中依次展开:HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->W32Time->Config
找到Config项右侧的AnnounceFlags。把默认的10改为5,5的意思就是自身为可靠的时间源。
6、在命令提示符中输入:net restart w32Time,回车
要:本文将详细介绍在Linux系统中安装和配置NTP(网络时间协议)服务的步骤和方法。NTP服务是用于同步计算机系统时间的重要工具,可以确保多台计算机之间的时间一致性。我们将会介绍如何安装NTP软件包、配置NTP客户端和服务器、选择合适的时间服务器以及进行基本的时间同步测试。
网络时间协议(NTP)是一种用于同步计算机系统时间的协议,它可以将计算机时钟调整为几乎与全球标准时间(UTC)一致。在Linux系统中,NTP服务可以通过安装相应的软件包来实现,本文将通过以下步骤详细介绍如何在Linux系统中安装和配置NTP服务。
1. 打开终端并以root用户身份登录。
2. 使用适应你的Linux发行版的包管理器,例如在Ubuntu上使用apt,CentOS上使用yum,来安装NTP软件包。执行以下命令:
Ubuntu:
```
sudo apt update
sudo apt install ntp
```
CentOS:
```
sudo yum update
sudo yum install ntp
```
1. 打开NTP配置文件ntp.conf,该文件位于/etc/ntp.conf。执行以下命令:
```
sudo nano /etc/ntp.conf
```
2. 在配置文件中,可以根据需要进行以下配置:
- server:指定时间服务器的地址,可以根据你所在地区选择合适的时间服务器。例如,将server配置为:
```
server ntp.ubuntu.com
```
- restrict:限制NTP服务的访问权限。默认情况下,只允许本地主机通过localhost访问NTP服务,你可以根据需要进行修改。
- driftfile:指定NTP偏移量文件的位置。
3. 保存配置文件并退出。
1. 在NTP配置文件中,通常会提供一些默认的时间服务器。然而,你可以选择从官方源列表中选择一个可靠的时间服务器,以确保时间同步的准确性。
- 对于Ubuntu,你可以在/etc/ntp.conf文件中找到ntp.ubuntu.com服务器。如果你想添加其他服务器,可以使用以下命令:
```
sudo ntpq -p
```
- 对于CentOS,你可以在/etc/ntp.conf文件中找到0.centos.pool.ntp.org服务器。如果你想添加其他服务器,可以使用以下命令:
```
sudo ntpq -p
```
2. 使用NTP查询命令(ntpq -p)来检查所选时间服务器的响应时间和稳定性。确保选择的服务器可靠并且相应时间较短。
1. 启动NTP服务。执行以下命令:
Ubuntu:
```
sudo systemctl start ntp
```
CentOS:
```
sudo systemctl start ntpd
```
2. 检查NTP服务的状态。执行以下命令:
Ubuntu:
```
sudo systemctl status ntp
```
CentOS:
```
sudo systemctl status ntpd
```
如果服务正常运行,将显示运行状态和活动信息。
3. 执行时间同步命令以验证NTP服务是否正常工作。执行以下命令:
```
sudo ntpq -p
```
该命令将显示当前时间服务器和与之同步的信息。
六、总结
本文详细介绍了在Linux系统中安装和配置NTP服务的步骤和方法。通过正确安装和配置NTP服务,你可以确保多台计算机之间的时间一致性,提高系统稳定性和可靠性。务必选择可靠的时间服务器,并定期检查NTP服务的状态和同步性能,以确保时间同步的准确性。
通过以上步骤,你可以轻松地在Linux系统中安装和配置NTP服务,并享受准确和一致的系统时间带来的好处。
欢迎加入我们的嵌入式学习群!作为这个群的一员,你将有机会与嵌入式系统领域的专业人士和爱好者们交流、分享经验和学习资源。群内涵盖了各种嵌入式系统的应用和开发,无论你是初学者还是经验丰富的专业人士,都能在这里找到志同道合的伙伴和有益的互动。无论你是对物联网、智能家居、工业自动化等领域感兴趣,还是希望分享你自己的项目和经验,我们的群都会为你提供一个广阔的交流平台。
更多学习资源在这里:扫码进群领资料
参考文献:
- Ubuntu NTP Documentation: https://help.ubuntu.com/lts/serverguide/NTP.html
- CentOS NTP Documentation: https://wiki.centos.org/zh/HowTos/ntp
*请认真填写需求信息,我们会在24小时内与您取得联系。