搭建内网NTP服务器

2019-06-04 06:01:08山东刘继超崔冬梅刘伟
网络安全和信息化 2019年5期
关键词:客户机局域网IP地址

■ 山东 刘继超 崔冬梅 刘伟

编者按:本文结合实际配置时的经验,总结出局域网中NTP服务器的搭建方法。

全网(局域网)时间同步是进行网络管理的基础,要实现网络同步就需要在网络中搭建一台NTP服务器,这台服务器对上跟互联网上时钟服务器进行同步,对下对局域网中网络设备(服务器、交换机等)提供时钟服务。在局域网中搭建NTP服务器,除了可以实现时间同步外,也可以解决一个问题,那就是局域网中有一些网络设备是不允许访问互联网的,这样的话,只要这台设备能够跟局域网中的NTP服务器进行通讯,也可以实施时间同步。

必要的准备工作

1.服务器操作系统信息

#cat/etc/redhatrelease(查看版本号)

[root@localhost etc]#cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

#uname -r(显示系统信息)

3.10.0-693.el7.x86_64

#hostname -I(查看本机的IP地址)

10.66.66.67

2.确认服务器的时区正确

(1)t i m e d a t e c t l查看具体时间时区

[root@localhost~]#timedatectl

Local time: Wed 2018-12-26 11:14:25 CST

Universal time: Wed 2 0 1 8-1 2-26 03:14:25 UTC

RTC time: Wed 2018-12-26 03:14:25

Time zone: America/New_York (CST, +0800)

NTP enabled: yes

NTP synchronized:yes

RTC in local TZ: no

DST active: n/a

(2)查看具体所有时区,如图1所示。

(3)timedatectl set-timezone Asia/Shanghai设置时区

NTP的安装

NTP的安装非常简单,执行yum -y intall ntpd即可。

NTP的配置

NTP配置的核心是配置/etc目录下的ntp.conf文件,其中有三处关键的配置,分别是设置允许连接NTP服务器的NTP客户端的地址段;设置本台NTP服务器向上跟踪的时钟源以及对内进行时钟发布的地址;设置日志文件放置的地址,分别说明如下:

1.设置允许访问的地址

restrict 127.0.0.1

restrict ::1

配置文件中有如上所示的两行,我们只需要根据实际的网络情况,再添加上本地局域网中允许跟这台NTP服务器进行时间同步的客户机地址即可,比如我们允许所有10网段的客户机访问,只需增加如下一行:

restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

需要说明的是,后面跟的nomodify和notrap分别代表禁止远程主机修改本地服务器配置和拒绝特殊的ntpdq捕获消息。

2.设置向上向下的时钟源

配置文件中有如下六行:

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

是定义这台NTP服务器向上跟踪的时钟源,也就是互联网上的NTP服务器,我们把这些行全部注释掉,改成国内的NTP服务器,具体如下:

server 2.cn.pool.ntp.org

server 1.asia.pool.ntp.org

这样就定义好了向上的NTP服务器。除此之外,还有非常重要的一点,那就是将这台服务器定义为对本局域网提供NTP服务,需要通过添加如下两行进行定义:

server 127.127.1.0

fudge 127.127.1.0 stratum 6

这两行非常关键,如果不写的话,即使启动了NTP服务,客户机也是无法跟随这台服务器进行同步的。

3.定义NTP服务产生的日志的存放位置

通过在配置的文件添加以下命令来实现:

logfile /var/log/ntpd.log

然后在/var/log目录下创建这个文件,并定义相应的文件

[root@localhost etc]#cd /var/log

[root@localhost log]#touch ntpd.conf

chown ntp:ntp /var/log/ntpd.log

这一步也是非常关键的,因为NTP服务器在配置和启动甚至运行的过程中可能会遇到这样那样的问题。但是通过查看产生的日志文件,我们就可以更加详细的了解故障产生的原因,从而找到解决问题的办法,下面就介绍一下NTP服务器常用的排错方法。

4.NTP服务的启动

用如下两条命令:

systemctl enable ntpd

systemctl start ntpd

第一条命令是将NTP服务作为系统服务,第二条命令是启动NTP服务,如果没出现什么告警信息的话,就说明NTP服务启动起来了,我们可以看一下NTP服务的状态,如图2所示。

出现以上提示,就表示这台NTP服务器既完成了在向上游时钟源的同步(它自身的时钟是准确有的),自身又可以作为时钟源向局域网内的其它客户机提供时钟源服务(即它自身可以作为一台NTP服务器了)。

常用排错方法

1.通过NTP的日志文件进行分析

通过查看NTP服务自身产生的日志信息,可以解决大部分的NTP故障问题,比如有一台服务器,开启了NTP服务,但是局域网中的客户机跟随它进行时间同步提示错误,经查看日志信息后,发现有如下的提示:

2 6 D e c 1 1:2 7:4 4 ntpd[25624]: getaddrinfo:"127.127.1.1.0" invalid host address,

ignored

2 6 D e c 1 1:2 7:4 4 n t p d[2 5 6 2 4]:inappropriate address 0.0.0.0 for the fudge command, line ignored

仔细分析一下,原来是在/etc/ntp.conf这个配置文件中,将时钟服务器的IP地址写错了,多写了一个“1.”,修改掉这个错误,重新启动NTP服务后,客户端就可以跟随这台NTP服务器进行时间同步了。

图2 具体内容

2.在客户端通过抓包软件进行分析

有时候通过在客户端进行抓包分析,也可以分析判断出NTP服务器无法提供服务的原因。比如有一台NTP服务器配置完毕以后,客户机一直无法跟随这台服务器进行时间同步,上网搜索可能的原因,其中有一条是有可能服务器或客户端开启了防火墙,不允许NTP协议通过,为了判断是否是由于这个原因造成的,就可以在客户端运行WIRESHARK抓包软件,定义IP地址等于NTP服务器的IP地址,就会发现客户机和NTP服务器之间其实是有通讯的,说明防火墙并没有屏蔽相应的端口,排除这个原因,再查找其它方面的问题,最终发现这台服务器的配置文件ntp.conf中没有配置本机NTP服务器的地址所致,即缺少这两行:

server 127.127.1.0

fudge 127.127.1.0 stratum 6

图3 具体内容

3.通过调整strume值解决时钟无法准确同步的问题

这是一个比较极端的故障,即有一台路由器,虽然可以跟随局域网中的NTP服务器进行时间同步,但同步完以后,时间始终差几十秒,后来经过咨询厂家工程师,发现需要在同步时间时将stratum值改大一些,当时是调到了11,就好在。经过与服务器上的ntp.conf文件中的stratum值进行对比,发现必须大于NTP服务器上的值才可以正常的同步上。

实用技巧

一台无法连接互联网的服务器如何配置为一台时钟服务器?这是一个什么情况呢?即有一台服务器,由于特定的要求,它是不能连上互联网的,但是又需要被配置成一台NTP服务器(简称A),为局域网中的某几个网络设备提供NTP服务,这时就可以让它成局域网中一个NTP服务器进行同步,但是又出现一个问题,即在ntp.conf文件中要定义上级NTP服务器(简称B)的地址,这个地址是以域名形式存在的,如何将一个设定的域名与局域网中的B的IP地址对应起来呢?其实只要修改一下/etc/hosts文件,在最后添加一行,将域名与IP地址对应起来即可,如下所示:

[root@localhost etc]#more hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.66.66.67 nw.sz.com

这样操作后,在ntp.conf文件中就可以以域名的形式写一个内网的NTP服务器的地址了,写完以后启动NTP服务,发现是可以正常的与这台内网的B服务器进行时间同步,并且这台A作为NTP服务器工作也正常了,如图3所示。

结论

在网络运维工作中,我们切身的感受到实现全网的时间一致是一件非常必要的工作,只有做到网络设备的系统时间是准确的,是一致的,才有可能保证各类基于精确校时的网络程序的正常运行,才有可能在出现网络故障时进行精准的时间定位。

通过配置一台LINUX的主机作为一台NTP服务器,配置上相对较简单,运行上又是非常可靠的,我们根据工作需要在局域网中配置了多台NTP服务器,这些服务器通过网络连接实现了时间同步,为不同的网络设备提供了NTP服务,在实际工作中发挥了非常好的作用。

猜你喜欢
客户机局域网IP地址
Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
铁路远动系统几种组网方式IP地址的申请和设置
基于VPN的机房局域网远程控制系统
电子制作(2019年16期)2019-09-27 09:35:04
基于802.1Q协议的虚拟局域网技术研究与实现
电子制作(2017年17期)2017-12-18 06:40:48
局域网性能的优化
电子制作(2017年8期)2017-06-05 09:36:15
基于SNMP的IP地址管理系统开发与应用
黑龙江电力(2017年1期)2017-05-17 04:25:16
瘦客户机:安全与便捷的选择
通过QQ邮件查看好友IP地址
基于Web数据提高访问速度的方法
NEC推低安装成本瘦客户机