linux搭建ntp?linux如何配置ntp客户端
大家好,linux搭建ntp相信很多的网友都不是很明白,包括linux如何配置ntp客户端也是一样,不过没有关系,接下来就来为大家分享关于linux搭建ntp和linux如何配置ntp客户端的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
如何搭建自己的NTP服务器
搭建自己的 NTP服务器是确保网络设备时间同步的必要步骤。NTP,即网络时间协议,通过同步计算机与服务器的时间,提供高精度的时间校准,有助于消除时钟漂移问题。根据服务器与UTC源的距离,NTP将服务器分为不同层级,从无漂移的原子钟(Stratum 0)到通过网络相互连接的时钟(Stratum N)。在公司环境中,内部 NTP服务器的设置尤其重要,特别是当防火墙限制外部通信时。
设立 NTP服务器首先需要配置服务器时区,确保与标准时间保持一致。然后,使用yum安装 NTP服务,并在/etc/ntp.conf文件中添加全球 NTP服务器地址。日志文件的设置也是必不可少的,可以选择默认日志或自定义日志,并调整权限。启动并启用 NTP服务后,可以使用 ntpq命令监控同步状态和精度。
为了控制 NTP服务器的访问,防火墙规则可以用来过滤不同来源的请求。客户端设备如 Linux、Windows和 Cisco设备,需要安装或调整相应的软件以同步时间。总的来说,通过上述步骤,你可以成功地在自己的网络环境中搭建和管理 NTP服务器,实现精准的时间同步。
在电脑如何搭建ntp如何搭建自己的NTP服务器
①如何开启NTP服务操作步骤
第一首先在电脑上打开linux系统。
再cd和su命令进入root用户。
第二然后检查linux系统的时间。
命令为date+%F+%T。
第三然后启动ntp服务。
命令为service ntp start。
第四然后进入etc/init.d/文件。
再启动ntp服务。
第五然后可以连接服务器更新时间。
命令为ntpdate ip地址。
第六然后设置ntpd开机启动项。
再规定ntpd服务自动启动。
②如何搭建自己的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/ntp.conf
server 0.oceania.pool.ntp.org
server 1.oceania.pool.ntp.org
server 2.oceania.pool.ntp.org
server 3.oceania.pool.ntp.org
默认情况下,NTP服务器的日志保存在/var/log/messages。如果你希望使用自定义的日志文件,那也可以指定。
复制代码
代码如下:
logfile/var/log/ntpd.log
如果你选择自定义日志文件,确保更改了它的属主和 SELinux环境。
复制代码
代码如下:
# chown ntp:ntp/var/log/ntpd.log
# chcon-t ntpd_log_t/var/log/ntpd.log
现在初始化 NTP服务并确保把它添加到了开机启动。
代码如下:
# systemctl restart ntp
# systemctl enable ntp
验证 NTP Server时钟
我们可以使用 ntpq命令来检查本地服务器的时钟如何通过 NTP同步。
下面的表格解释了输出列。
remote源在 ntp.conf中定义。‘*’表示当前使用的,也是最好的源;‘+’表示这些源可作为 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 192.168.1.0/24-p udp--dport 123-j ACCEPT
# iptables-A INPUT-p udp--dport 123-j DROP
该规则允许从 192.168.1.0/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的设备和服务器同步时间。
③如何将win7做为NTP服务器
在桌面上右击“计算机”,选择“管理”,然后选择“服务”。
选中“Windows
Time”,设置为开启,这样就可以将“Windows
Time”这一个服务打开。
“开始”--》“运行”--》输入“regedit”打开注册表。
找到NetSerVer这一项
将NetSerVer下Enabled的值设置为
1。
重启电脑系统,就可以使用该电脑作为NTP服务器了。
④如何将PC配置为时钟服务器即NTP
我就是这样用的,很好。
Windows(2003)下配置NTP时间服务器
一、服务端设置:
因为默认情况下,WINDOWS SERVER 2003是作为NTP客户端工作的,所以必须通过修改注册表,以使系统作为NTP服务器运行。注意,工作之前请先备份注册表文件。
1、通过开始菜单,输入regedit命令后打开注册表设定画面,此时请一定备份注册表文件。
2、修改以下选项的键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpServer内的“Enabled”设定为1,打开NTP服务器功能
3、修改以下键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
AnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS)时钟。
4、在dos命令行执行以下命令,确保以上修改起作用
net stop w32time
net start w32time
推荐计划;如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的“enable”设定为0以防止作为客户端自动同步外界的时间服务
二、客户设置:
1、指定主时间服务器。在DOS方式输入“net time/setsntp:ntp.sjtu.e.cn”,这里我们指定ntp.sjtu.e.cn是主时间服务器,也可以是其它地址(210.72.145.44)。
2、自由设定XP时间同步间隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的“SpecialPollInterval”默认设定为604800(或86400)
⑤请问关于如何在xp系统下搭建ntp时间同步服务器
WindowsXP时间服务器配置
1.在注册表中将服务NTPServer的Enabled属性设置为1.Type改为NTP。
2.如果外部时间源获取时间将Config/AnnounceFlags设置为5.
3.将parameters\NtpServer地址改为外部时间源的IP地址或者DNS,在使用DNS是后面要加上”,0x1”.多个地址之间用空格隔开。
4.其他参数是可选的参数,可根据需要配置。
5.重启w32time服务.在命令行中,net stop w32time&& net start
w32time.就配置完成了。
6.此外,要保证windows
防火墙是关闭的。或者启动防火墙时,在例外中添加C:\WINDOWS\system32\w32time.dll端口号:123类型UDP。
经过以上六步服务器端就设置完成了。
WindowsXP客户端的配置
1.将NtpServer地址设置为服务器的地址。
2.服务类型改为NTP。
3.SpecialPolInterval自动同步时间间隔根据需要配置比如15分钟轮询一次(设置为900,因为单位为秒)。
4.将默认的时间服务器设置为服务器的地址, XP默认是微软的时间服务器time.windows.com。在注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\WINDOWS\CurrentVersion\DateTime\Servers
新建一个字符串值(名字3),输入服务器的IP地址。
并将默认值改为3.这样在时期时间属性\Internet时间默认的时间同步服务器就成为我们设置的了。
⑥如何在本地搭建ntp服务器地址
当你配置正确,你可以用Windows Time(W32Time)service建一个SNTP/NTP服务器为Windows或非windows客户端提供时间服务。
步骤如下:
1.打开开始菜单,点击运行输入regedit打开Windows注册表。 2.找到如下位置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config 3.找到AnnounceFlags双击修改值为5保存。 4.开启NTPServer
1.在注册表中找到如下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\ 2.找到Enable并修改其值为1.
5.打开开始菜单输入CMD在命令行模式下输入:
net stop w32time&& net start w32time重启一下win32time服务。-----------------------------需要注意的问题:
1.在系统服务中设置W32Time服务启动模式为自动。 2.确定防火墙允许UDP123端口访问。
这样你可以在NTP客户端上测试从这台服务器校对系统时间啦。
也可参考下面的资料:
我的服务器用的是小鸟云的,性能稳定,访问流畅。
⑦电脑中怎么配置NTP服务
电脑中怎么配置NTP服务
1、先关闭Windows系统自带的防火墙;
2、按Win+R键打开运行,输入regedit并回车;
3、在注册表中展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,在右侧双击打开AnnounceFlags,将数值数据改为5,点击确定;
4、同样地,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer,右侧将Enabled改为1,并点击确定;
5、还有:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\Ntpclient,将Enabled改为0,点击确定;
6、退出注册表编辑器,打开命令提示符,输入并执行net stop w32time&& net start w32time重新启动Windows时间服务即可。
⑧如何在电脑中配置NTP服务
具体方法如下:
1、先关闭Windows系统自带的防火墙;
2、按Win+R键打开运行,输入regedit并回车;
3、在注册表中展开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,在右侧双击打开AnnounceFlags,将数值数据改为5,点击确定;
4、同样地,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer,右侧将Enabled改为1,并点击确定;
5、还有:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\Ntpclient,将Enabled改为0,点击确定;
6、退出注册表编辑器,打开命令提示符,输入并执行net stop w32time&& net start w32time重新启动Windows时间服务即可。
⑨ win7设置NTP服务器,急,在线等
在桌面上右击“计算机”,选择“管理”,然后选择“服务”。
选中“windows
time”,设置为开启,这样就可以将“windows
time”这一个服务打开。
“开始”--》“运行”--》输入“regedit”打开注册表。
找到netserver这一项
将netserver下enabled的值设置为
1。
重启电脑系统,就可以使用该电脑作为ntp服务器了。
怎么测试linux下搭建的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-4.1.2-5.i386.rpm
五、NTP服务的设置
1.NTP软件包的结构
NTP服务的配置文件:
/etc/ntp.conf:这个是 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/ntp.conf文件
关于权限设定部分
权限的设定主要以 restrict这个参数来设定,主要的语法为:
restrict IP地址 mask子网掩码参数
其中 IP可以是IP地址,也可以是 default,default就是指所有的IP
参数有以下几个:
ignore:关闭所有的 NTP联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery:不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP(或子网)没有任何限制!
上级时间服务器的设定
由于我们配置的NTP服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP服务器上面要配置一部上级时间服务器来进行校准!在 Internet上面提供了许多时间服务器,从下面地址找一个离你最近的
用server这个参数设定上级时间服务器,语法为:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server参数最后加上 prefer,表示我们的 NTP服务器主要以该部主机时间进行校准。
解决NTP服务器校准时间时的传送延迟
使用driftfile参数设置:
driftfile文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
ntp.conf文件举例:
设置要求:不对 Internet提供服务,仅对内部子网 192.168.0.0/24提供服务,NTP服务器的上级时间主机为:clock.nc.fukuoka-u.ac.jp和ntp.nasa.gov,内部子网的客户端不能修改NTP服务器的时间参数。
在ntp.conf中增加以下内容:
restrict default ignore#关闭所有的 NTP要求封包
restrict 127.0.0.1#开启内部递归网络接口 lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify#在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。
server 133.100.9.2 prefer#用133.100.9.2做上级时间服务器
server 198.123.30.132#198.123.30.132作为上级时间服务器参考
restrict 133.100.9.2#开放server访问我们ntp服务的权限
restrict 198.123.30.132
driftfile/var/lib/ntp/drift
保存退出后。启动NTP服务
service ntpd start
如果想每次系统启动,NTP服务自动启动,请输入下面命令: chkconfig-level 35 ntpd on注意:
1.NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口。
2.Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件。
六、NTP客户端的使用
Linux系统
在Linux上面进行网络校时非常简单,执行 ntpdate即可:
ntpdate 192.168.0.1#192.168.0.1是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock-w
如果想定时进行时间校准,可以使用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 XP上面使用NTP进行时间校准也很简单:
双击桌面任务栏上的时间,弹出“日期和时间”属性窗口,如图所示:
选择Internet时间,在服务器中填入你的NTP服务器的IP地址或者域名,然后点击立即更新,您的系统时间就会立即更新。如果想定时更新,把左上角的自动与Internet时间服务器同步选中,然后点击右下角的应用即可。
yy-2-3.tif
如果不是Windows XP系统,但是NTP服务器同时也是samba服务器的话,则对Windows来说,不需要安装任何时间同步软件,因为Windows客户端可以用net time\\时间服务器IP或服务器netbios名/set/yes来同步。可以把该命令放在开始菜单的启动项中,启动windows时自动同步。
由于net time命令是利用Netbios over TCP/IP协议来同步时间,所以NTP服务器不同时是samba服务器的话,就需要Windows客户端安装时间同步软件。这方面的软件很多,使用也很简单,读者可以上网查找一下。