APP下载

基于CentOS配置NTP

2019-07-10北京赵琳

网络安全和信息化 2019年7期
关键词:IP地址时钟命令

■ 北京 赵琳

编者按:时间同步是数据产生价值的基础保障和技术支撑。本文将介绍在CentOS下如何配置NTP时间服务器的具体方法。

NTP简介

N T P(Network Time Protocol,网络时间协议),是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可利用加密确认的方式来防止恶毒的协议攻击。

NTP是基于UDP报文进行传输的,使用的UDP端口号为123。

使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。

对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。

NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。

NTP的工作模式,一般有客户端/服务器模式、对等体模式、广播模式等。

NTP作用

1.大数据产生与处理系统是各种计算设备集群的,计算设备将统一、同步的标准时间用于记录各种事件发生时序,如E-MAIL信息、文件创建和访问时间、数据库处理时间等。

2.大数据系统内不同计算设备之间控制、计算、处理、应用等数据或操作都具有时序性,若计算机时间不同步,这些应用或操作或将无法正常进行。

3.大数据系统是对时间敏感的计算处理系统,时间同步是大数据能够得到正确处理的基础保障,是大数据得以发挥作用的技术支撑。

4.大数据时代,整个处理计算系统内的大数据通信都是通过网络进行。

5.时间同步也是如此,利用大数据的互联网络传送标准时间信息,实现大数据系统内时间同步。

CentOS系统NTP服务端配置

1.确认是否已安装NTP服务(linux系统一般自带NTP4.2)

命令:rpm -qa | grep ntp

若只有ntpdate而未见ntp,则需删除原有ntpdate。如:

ntpdate-4.2.6p5-22.el7_0.x86_64

2.删除已安装NTP服务

命令:yum -y remove ntpdate-4.2.6p5-22.el7.x86_64

3.重新安装NTP服务

命令:yum -y install ntp

4.NTP服务端配置文件编辑

命 令:vim /etc/ntp.conf

内容:在server部分添加以下部分,设置允许访问此时间服务器的时间服务的IP地址。

restrict 192.168.6.0 mask 255.255.255.0 nomodify notrap

//允许内网中相应网段的其他计算机可以与NTP时间服务器进行时间同步。

restrict 127.0.0.1

//允许本机地址一切的操作。

备注:如果需要限制向从192.168.0.1-192.168.0.254这些IP段的计算机提供NTP服务,采用如下命令:

restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap noquery

如果需要设置默认策略为允许任何主机进行时间同步,采用如下命令:

restrict default ignore

如果需要设置允许任何主机跟NTP时间服务器进行时间同步,采用如下命令:

restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap

小知识:使用restrict控制相关权限。

语法为:restrict IP地址mask 子网掩码 参数,IP地址和子网掩码指定了对网络中哪些范围的计算机进行控制,如果使用default关键字,则表示对所有的计算机进行控制,参数指定了具体的限制内容。参数有以下几个:

ignore:关闭所有的 NTP联机服务。

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。

notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网。

noquery:不提供客户端的时间查询,用户端不能使用ntpq、ntpc等命令来查询NTP时间服务器。

notrap:不提供trap远程登录功能,trap服务是一种远程时间日志服务。

nopeer:提供时间服务,但不作为对等体。

kod:向不安全的访问者发送Kiss-Of-Death报文

restrict -6:表 示 IPV6地址的权限设置。

内容:在server部分添加如下语句,设置是允许IPV4和IPV6查询,且拒绝修改。

restrict -4 default kod notrap nomodify

restrict -6 default kod notrap nomodify

备注:如果需要拒绝IPV4或者是IPV6的用户,添加如下语句:

restrict default kod nomodify notrap nopeer noquery

//拒绝IPV4的用户

restrict -6 default kod nomodify notrap nopeer noquery

//拒绝IPV6的用户

内容:在server部分添加以下部分,改动-注释掉上级时间服务器地址。

server 203.107.6.88 prefer

//设置此服务器同上层服务器做时间同步的 IP地 址,prefer表示首选IP地址,203.107.6.88是阿里云NTP服务器。

server 0.centos.pool.ntp.org iburst

图1 正常结果

图2 客户端与每个服务器关系

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

内容:在server部分添加以下部分,改动-注释掉上级时间服务器地址。

server 127.127.1.0 #local clock

fudge 127.127.1.0 stratum 10

//指定阶层编号为10,降低其优先度。当外部时间服务器不可用时,以本地时间作为时间服务。

内容:在server部分添加如下语句,设置NTP时间服务器日志的path。

statsdir /var/log/ntp/

内容:在server部分添加如下语句,设置NTP时间服务器日志文件。

logfile /var/log/ntp/ntp.log

内容:在server部分添加如下语句,设置记录上次的NTP时间服务器与上层NTP时间服务器联接所花费的时间。

driftfile /etc/ntp/drift

内容:在server部分添加如下语句,设置允许上层时间服务器主动修改本机时间。

restrict 203.107.6.88 nomodify notrap noquery

CentOS系统NTP时间服务器运维

1.启动或停止NTP时间服务器

命 令:service ntpd start

命 令:service ntpd stop

命 令:service ntpd restart

2.设置NTP时间服务器开机自动启动

命令:chkconfig ntpd on

3.查看NTP时间服务器运行

命令:ntpstat

备注:查看NTP状态时,可能会出现如下所示情况:

①unsynchronised time server re-starting polling server every 8 s

②unsynchronised polling server every 8 s

这种情况属于正常,NTP时间服务器配置完毕后,一般需要等待5-10分钟才能与/etc/ntp.conf中配置的标准时间服务器进行同步。等一段时间之后,再次使用ntpstat命令查看状态,就会变成如图1所示的正常结果。

4.查看网络中的NTP时间服务器,同时显示客户端和每个服务器的关系。

命令:ntpq -p,具体如图2所示。

remote:响应这个请求的NTP时间服务器的名称,“+”表示优先响应这个查询请求的NTP服务器,“*”表示次优先。

refid:NTP时 间服务器使用的更高一级服务器的名称。

st:正在响应请求的NTP时间服务器的级别(stratum阶层)。

when:上一次成功请求之后到现在的秒数。

poll:本地和远程服务器多少时间进行一次同步,单位秒,在一开始运行NTP的时候这个poll值会比较小,服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小。

reach:用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加。

delay:从本地机发送同步要求到NTP时间服务器的往返时间。

offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和NTP时间服务器的时间越接近。

jitter:统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确。

图3 时间同步情况

5.查看时间同步状况,如图3所示。

命令:ntpq -p

终止:按 Ctrl+C 停止查看进程。

第一列中的字符指示源的质量。星号 ( * ) 表示该源是当前引用。

remote:列出源的IP地址或主机名。

when:指出从轮询源开始已过去的时间(秒)。

poll:指出轮询间隔时间。该值会根据本地时钟的精度相应增加。

reach:是一个八进制数字,指出源的可存取性。值377 表示源已应答了前八个连续轮询。

offset:是源时钟与本地时钟的时间差(毫秒)。

6.更新NTP时间服务器的时间

命 令:ntpdate -u 203.107.6.88

备注:需要先关闭NTP时间服务。

7.运行ntpdate更新时间时,不能开启NTP服务,否则会提示端口被占用;此时,可以利用crontab让NTP时间服务器定时更新时间。

crontab文件简要配置如下:

命令格式的前一部分是对时间的设定,后面一部分是要执行的命令。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟(0-59)小時(0-23)日期(1-31)月份(1-12)星期 (0-6,0代表星期日)

除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,其中“*”代表所有的取值范围内的数字,“/”代表每的意思,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。下面举几个例子说明问题:

每天早上6点:0 6 * ** command

每两个小时:0 */2 * ** command

晚上11点到早上8点之间每两个小时,早上八点:0 23-7/2,8 * * * command

每个月的4号和每个星期的星期一到星期三的早 上 11 点 :0 11 4 * 1-3 command

1月1日早上4点:0 4 1 1 * command

8.用来追踪某台时间服务器的时间对应关系

命令:ntptrace

9.配置iptable规则允许客户端访问内网NTP时间服务器

命 令:vim /etc/sysconfig/iptables

增加一行(NTP时间服务器使用UDP 123端口)

-A INPUT -m state--state NEW -m udp -p udp--dport 123 -j ACCEPT

重启iptables服务

命令:service iptables restart

Linux系统NTP客户端配置

1.检查安装NTP服务有没有安装,如果未安装的话,请安装。

2.NTP客户端配置文件编辑

命 令:vim /etc/ntp.conf

内容:在server部分添加以下部分,设置时间服务器名或者是IP地址。

server ntp1.ceshi.com

3.向NTP时间服务器同步时间。

命 令:ntpdate 192.168.1.3

4.将系统时间设置为硬件时间

命令:hwclock -systohc

小知识:hwclock命令的作用是查看Linux中的硬件时间,也就是主板上BIOS的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间

Hwclock:查看硬件时间。

hwclock -s:将当前的硬件时间设置为系统时间。

hwclock -w:将当前的系统时间设置为硬件时间(允许BIOS与系统时间同步)。

5.设置通过NTP服务同时同步硬件时间

命 令:vim /etc/sysconfig/ntpd

添 加“SYNC_HWCLOCK=yes”,可实现硬件时间与系统时间一起同步。

备注:NTP服务,默认只会同步系统时间。

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

命令:vim /etc/crontab

加入内容:30 8 * * *root /usr/sbin/ntpdate 192.168.1.3; /sbin/hwclock -w

//192.168.1.3是NTP时间服务器的IP地址。

命 令:service crond restart

//重启crond服务

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

Windows系统NTP客户端配置

1.通过组策略开启NTP服务

①点击“开始”——“运行”,输入“gpedit.msc”,弹出组策略窗口。

②选择“计算机配置”——“管理模板”——“系统”——“Windows时间服务”,在右边选择“全局配置设置”,双击鼠标左键,在弹出窗口上选择“已启用”后,点击“确定”。

③选择“计算机配置”——“管理模板”——“系 统” ——“Windows时间服务”——

“时间提供程序”,在右边选择“配置 Windows NTP客 户 端”,双击鼠标左键,在弹出窗口 上 选 择“已 启 用”;在Ntp Server对应栏位输入时间同步服务器的地址;在类型项选择“NTP”后;SpecialPollInterval栏位输入需要同步的时间周期,单位:秒,如:每10分钟同步一次,输入600;设置完成后点击“确定”按钮。

2.点 击“开 始” ——“运行”,输入“gpupdate /force”,强制刷新策略。

3.双击日期和时间,选择internet时间,输入NTP时间服务器IP地址,点击“立即更新”,完成同步。

网络设备NTP客户端配置

1.H3C及华为系列网络设备

命 令:ntp-service unicast-server 192.168.1.3

2.思科及锐捷系列网络设备

命 令:ntp server 192.168.1.3

猜你喜欢

IP地址时钟命令
管理Windows10的PowerShell命令行使用记录
古代的时钟
这个时钟一根针
移防命令下达后
有趣的时钟
公安网络中IP地址智能管理的研究与思考
解析Windows10的内部命令
时钟会开“花”
《IP地址及其管理》教学设计
宝箱4