Linux 系统安装配置NTP时间服务器。
一、关于NTP时间服务器:
NTP(The Network Time Protocol) 是网络时间协议,用以同步网络内计算机的时间。 它通过udp包交换,用特定算法进行协商,从而把计算机上的时间与时间服务器上的时间保持一致。通过互联网它支持的误差是10毫秒,局域网则可以达到200微秒。
NTP时间服务器分为多层,从0层到4层,每层依次与上一次服务器同步,最高层的服务器则直接连接一个高精度的时钟设备,比如原子钟、GPS或者电波时等。
怎样安装NTP Server:
Linux系统内核提供了对NTP的支持,因此只需要再安装一个NTP Server的守护进程即可。常用的ntpd由ntporg提供。
二、怎么确认linux系统有没有开启ntp服务?
service ntpd status 查看此服务有没有运行,设置:图形化界面--左上角时间---点击就可以知道。
3、NTP 的实现和时间提供程序的集成帮助 Windows Time 成为您企业的可靠、灵活的时间服务。
4、对于没有加入域的计算机,可以配置 Windows 时间以使时间与外部时间源同步。
5、如果关闭此服务,则本地计算机的时间设置将不能与 Windows 域中的时间服务或外部配置的时间服务同步。
6、Windows Server 2003 使用 NTP。NTP 运行于 UDP 端口 123 上。此服务的 Windows 2000 版本使用简单网络时间协议 (SNTP)。
7、SNTP 也运行于 UDP 端口 123 上。
8、 系统服务名称:W32Time 应用程序协议 协议 端口 NTP TCP 123。使用浏览器打开百度在搜索框中搜索“ntp服务器地址”
然后找到一个有internet时间服务器的网页,或者有该信息的网页。
然后我们在系统托盘区的时间上面双击,打开时间设置面板。
现在,我们在时间设置的面板上把我们得到的那个时间服务器地址,如下图的粘贴到“服务器:”后面的框中。
然后点击“应用”保存一下设置
如果你现在的电脑时间本来就不正确,而又连接了互联网,那么可以点击一下“立即同步”来与NTP服务器时间同步。
如果同步出错,那么我们先按:WIN+r键调出运行窗口
在窗口中输入“servicesmsc”,然后点击“确定”
在服务窗口中
找到windows time 这个服务,然后查看6它是否被启动。
如果没有启动,那么我们该服务上面点击鼠标右键---->单击“启动”即可。
如果经过第五第六步都还会出错,那么你得更换一下这个internet时间服务器的地址啦
因为很多internet时间服务器并不能长久存在。可能已经过期,那么就得换掉。
那么我们点击那个“服务器:”后面的框,展开它的下拉框,在里面找到windows time这些时间服务器,看是否现在能使用官方的更新时间。
8
需要更改日期和更换NTP服务器地址的错误解决方法如下。
对于要把日期更改为当天的日期的错误,是因为时间服务器是无法更改你的日期的,它仅仅能在日期一致的情况下,同步一个正确的时间。Ntp时间同步可以直接在windows里面开启设置即可,具体 *** 作如下,
开启 NTP Client 服务
1、打开 powershell 终端, 输入:gpeditmsc,打开组策略管理器
2、执行上述命令后,计算机策略对话框打开,按照如下路径 计算机配置\管理模板\系统\windows 时间服务\时间提供程序 找到服务器设置文件
3、双击 配置 Windows NTP 客户端,显示 配置 Windows NTP 客户端
4、将 Ntp Server项,输入将要同步到的时间服务器IP地址(这里输入阿里云的ntp服务器地址: timepoolaliyuncom),注意 0x9 或 0x1 必须要有;在 类型 项, 选择 NTP;点击 应用、确定 按钮;
5、启动 NTP 客户端;启用NTP客户端;点击 应用、确定 按钮;
6、执行下面命令更新组策略
gpupdate /force
7、检查W32Time服务是否启动,启动类型是否是 自动启动
设置NTP服务器地址,跟组策略一样
在命令提示符下键入以下命令(PeerList 是以逗号分隔的DNS 名称或时间源IP 地址列表):
C:\> w32tm /config /syncfromflags:MANUAL /manualpeerlist:"168123,0x08 168456,0x08" /update
C:\> w32tm /resync /rediscover
完成后输入以下命令查看当前时间服务器设置
C:\> w32tm /query /peers
可以进入命令行模式,查看当前Windows Time服务运行情况:
C:\>w32tm /query /status
手动启动w32time服务
C:\>net start w32time
C:\>net stop w32time
(1)服务器不能上网,当前环境有ntpd服务器
在第4步里把ntp server的地址改为内网ntpd服务器的地址即可
(2)服务器必须要能上网,使用公网上的ntpd服务器,例如阿里云的ntpd服务器
为了避免Linux系统的主机,在长时间运行下所导致的时间偏差。因此我们需要对时间进行时间同步(synchronize)。我们一般使用ntp服务来同步不同机器的时间。NTP 是网络时间协议(Network Time Protocol)的简称,他是通过UDP协议,对时间进行同步的。
编辑NTP Server的主要配置文件为/etc/ntpconf ,如下:
配置含义:
配置完毕,重启NTP服务,使配置更改生效。
查看NTP服务和上级连通状态
内网其他设备作为NTP的客户端配置,相对就比较简单,而且所有设备的配置都相同。
首先需要安装NTP服务(与NTP-Server完全一样)。然后找其中一台配置/etc/ntpconf文件,配置完成验证通过后,拷贝到其他客户端机器,直接使用即可。
注释掉之前的上层服务,以下几行
添加本地的NTP服务器即可完成配置
可以用date命令查看时区
如果时区是EST需要改成CST
选择亚洲 /中国 /北京 /然后确认
改完后执行如下复制语句
使用
1721730100为你的NTP服务器的ip地址,显示adjust time server 1921681135 offset 0004882 sec
这里有可能出现同步失败,一般情况下原因都是本地的NTPD服务器还没有正常启动起来,一般需要几分钟时间后才能开始同步。
也有报错 no server suitable for synchronization found,这种问题由一下两种情况造成:
Server dropped: strata too high:
并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这种问题往往是由ntp服务启动后还没有和上层服务同步完成,可以等五分钟再次查看。
Server dropped: strata no data:
这种问题一般是因为访问不到NTP服务,需要检查NTP服务是否启动成功,或者是否是被防火墙拦截。
启动NTP_Client
启动后,查看同步情况
由于是内网,NTP服务很快会同步上,可以使用下面命令查看时间是否和服务器时间相同
本机客户端配置完成后,需要同步的客户端机器使用SCP拷贝/etc/ntpconf,命令如下,启动NTP服务即可。
Linux的NTP配置总结
NTP服务及时间同步问题
NTP服务器Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。按照离外部UTC源的远近把所有服务器归入不同的Stratum(层)中。
网络时间协议(NTP)用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。
在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。在介绍详细内容之前,让我们先来简单了解一下 NTP 的概念。
为什么我们需要 NTP
由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。为了将时钟漂移的影响最小化,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。
在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。
NTP 的层次结构
NTP 时钟以层次模型组织。层级中的每层被称为一个 stratum(阶层)。stratum 的概念说明了一台机器到授权的时间源有多少 NTP 跳。
Stratum 0 由没有时间漂移的时钟组成,例如原子时钟。这种时钟不能在网络上直接使用。Stratum N (N > 1) 层服务器从 Stratum N-1 层服务器同步时间。Stratum N 时钟能通过网络和彼此互联。
NTP 支持多达 15 个 stratum 的层级。Stratum 16 被认为是未同步的,不能使用的。
准备 CentOS 服务器
现在让我们来开始在 CentOS 上设置 NTP 服务器。
首先,我们需要保证正确设置了服务器的时区。在 CentOS 7 中,我们可以使用 timedatectl 命令查看和更改服务器的时区(比如,"Australia/Adelaide",LCTT 译注:中国可设置为 Asia/Shanghai )
代码如下:
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
继续并使用 yum 安装需要的软件
代码如下:
# yum install ntp
然后我们会添加全球 NTP 服务器用于同步时间。
代码如下:
# vim /etc/ntpconf
server 0oceaniapoolntporg
server 1oceaniapoolntporg
server 2oceaniapoolntporg
server 3oceaniapoolntporg
默认情况下,NTP 服务器的日志保存在 /var/log/messages。如果你希望使用自定义的日志文件,那也可以指定。
复制代码
代码如下:
logfile /var/log/ntpdlog
如果你选择自定义日志文件,确保更改了它的属主和 SELinux 环境。
复制代码
代码如下:
# chown ntp:ntp /var/log/ntpdlog
# chcon -t ntpd_log_t /var/log/ntpdlog
现在初始化 NTP 服务并确保把它添加到了开机启动。
代码如下:
# systemctl restart ntp
# systemctl enable ntp
验证 NTP Server 时钟
我们可以使用 ntpq 命令来检查本地服务器的时钟如何通过 NTP 同步。
下面的表格解释了输出列。
remote 源在 ntpconf 中定义。‘’ 表示当前使用的,也是最好的源;‘+’ 表示这些源可作为 NTP 源;‘-’ 标记的源是不可用的。
refid 用于和本地时钟同步的远程服务器的 IP 地址。
st Stratum(阶层)
t 类型。 'u' 表示单播(unicast)。其它值包括本地(local)、多播(multicast)、广播(broadcast)。
when 自从上次和服务器交互后经过的时间(以秒数计)。
poll 和服务器的轮询间隔,以秒数计。
reach 表示和服务器交互是否有任何错误的八进制数。值 337 表示 100% 成功(即十进制的255)。
delay 服务器和远程服务器来回的时间。
offset 我们服务器和远程服务器的时间差异,以毫秒数计。
jitter 两次取样之间平均时差,以毫秒数计。
控制到 NTP 服务器的访问
默认情况下,NTP 服务器允许来自所有主机的查询。如果你想过滤进来的 NTP 同步连接,你可以在你的防火墙中添加规则过滤流量。
# iptables -A INPUT -s 19216810/24 -p udp --dport 123 -j ACCEPT
# iptables -A INPUT -p udp --dport 123 -j DROP
该规则允许从 19216810/24 来的 NTP 流量(端口 UDP/123),任何其它网络的流量会被丢弃。你可以根据需要更改规则。
配置 NTP 客户端
1 Linux
NTP 客户端主机需要 ntpupdate 软件包来和服务器同步时间。可以轻松地使用 yum 或 apt-get 安装这个软件包。安装完软件包之后,用服务器的 IP 地址运行下面的命令。
代码如下:
# ntpdate
基于 RHEL 和 Debian 的系统命令都相同。
2 Windows
如果你正在使用 Windows,在日期和时间设置(Date and Time settings)下查找网络时间(Internet Time)。
3 Cisco 设备
如果你想要同步 Cisco 设备的时间,你可以在全局配置模式下使用下面的命令。
代码如下:
# ntp server
来自其它厂家的支持 NTP 的设备有自己的用于网络时间的参数。如果你想将设备和 NTP服务器同步时间,请查看设备的说明文档。
结论
总而言之,NTP 是在你的所有主机上同步时钟的一个协议。我们已经介绍了如何设置 NTP 服务器并使支持 NTP 的设备和服务器同步时间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)