第十五章、时间服务器: NTP 服务器


计算机内部所记录的时钟是记载于 BIOS (CMOS) 内的,但如果你的计算机上面的电池没电了,或者是某些特殊因素导致 BIOS 数据被清除, 此时计算机的时间就会不准。同时,某些操作系统程序的问题,也可能导致我们看到的时间与现实社会不相同的情况。 所以我们都会调整一下时间,好让计算机系统的时间可以一直保持正确的状态。 在实际生活中,我们可以透过电视台、广播电台、电话等等来调整我们的手表,那么如果是在网络上呢? 该如何让我们的主机随时保持正确的时间信息?这就需要 NTP 这个服务器啰。


大标题的图示 15.1 关于时区与网络校时的通讯协议

时间对于现代人来说是很重要的,因为『 Time is money 』。既然时间如此重要,对于因特网来说应该也是很重要吧? 为什么呢?还记得我们在基础学习篇第三版第十九章、登录档分析吧? 如果你架设了一个登录档服务器的话,那么总得要分析每个主机所传来的登录文件信息吧?如果每一部主机的时间都不相同, 那如何判断问题发生的时间点?所以啰,『每一部主机的时间同步化』就很重要了。

每一部主机时间同步化的重要性当然不只如此,包括之前谈到的 DHCP 客户端/服务器端所需要的租约时间限制、 网络侦测时所需要注意的时间点、刚刚谈到的登录文件分析功能、具有相关性的主机彼此之间的错误侦测、前一章谈到的丛集计算机群等等, 都需要具有相同的时间才能够捉出问题呢。好了,底下咱们就来聊一聊,如何利用网络来进行主机的时间同步化吧!


小标题的图示 15.1.1 什么是时区?全球有多少时区?GMT 在那个时区?

因为地球是圆的,所以同一个时刻,在地球的一边是白天,一边是黑夜。而因为人类使用一天 24 小时的制度,所以,在地球对角的两边就应该差了 12 个小时才对。由于同一个时间点上面, 整个地球表面的时间应该都不一样,为了解决这个问题,所以可以想见的,地球就被分成 24 个时区了!

那么这 24 个时区是依据什么来划分的呢?由于地球被人类以『经纬度』坐标来进行定位, 而经度为零的地点在英国『格林威治』这个城市所在的纵剖面上, (注:所谓的纵剖面就是由南极切到北极的直线,而横切面就是与赤道平行的切线),如下图所示:

地球的子午线、经纬度与时区的分隔概念
图 15.1-1、地球的子午线、经纬度与时区的分隔概念

因为绕地球一圈是 360 度角,这 360 度角共分为 24 个时区,当然一个时区就是 15 度角啦! 又由于是以格林威治时间为标准时间 (Greenwich Mean Time, GMT 时间),加上地球自转的关系,因此,在格林威治以东的区域时间是比较快的(+小时),而以西的地方当然就是较慢啰!

以台湾为例,因为台湾所在地约为东经 120 度北纬 25 度左右,又因为台湾在格林威治的东方 (废话!因为是东经嘛! ^_^),因此台湾本地时间 (local time) 会比 GMT 时间快 8 小时 (GMT + 8)。当格林威治时间为零点,台湾就已经是早上八点了!底下约略列出各个时区的名称与所在经度,以及与 GMT 时间的时差:

标准时区经度时差
GMT , Greenwich Mean Time0   W/E标准时间
CET , Central European15  E+1  东一区
EET , Eastern European30  E+2  东二区
BT  , Baghdad45  E+3  东三区
USSR, Zone 3 60  E+4  东四区
USSR, Zone 475  E+5  东五区
Indian, First82.3E+5.5东五半区
USSR, Zone 590  E+6  东六区
SST , South Sumatra105 E+7  东七区
JT  , Java112 E+7.5东七半区
CCT , China Coast (台湾所在地)120 E+8  东八区
JST , Japan135 E+9  东九区
SAST, South Australia142 E+9.5东九半区
GST , Guam150 E+10 东十区
NZT , New Zealand180 E+12 东十二区
Int'l Date Line180 E/W国际日期变更线
BST , Bering165 W-11 西十一区
SHST, Alaska/Hawaiian150 W-10 西十区
YST , Yukon135 W-9  西九区
PST , Pacific120 W-8  西八区
MST , Mountain105 W-7  西七区
CST , Central90  W-6  西六区
EST , Eastern75  W-5  西五区
AST , Atlantic60  W-4  西四区
Brazil, Zone 245  W-3  西三区
AT  , Azores30  W-2  西二区
WAT , West Africa15  W-1  西一区

所以啰,台湾时间是 GMT + 8 就很容易推算出来了吧!要特别留意的是,很多朋友在安装 Linux 的时候, 总是会发现目前的时间慢或者快了 8 小时,不要怀疑,绝对与时区有关! 赶紧给他查一下如何调整时区吧! ^_^。

另外,在上表中有个比较有趣的时区,那就是在太平洋上面的国际日期变更线了!我们刚刚说,在格林威治的东边时间会较快, 而在西边时间会较慢,但是两边各走了 180 度之后就会碰头啊!那不就刚好差了 24 小时吗?没错啦! 所以才订定为『国际日期变更线』啊!国际日期变更线刚好在太平洋上面,因此,如果你有坐飞机到美国的经验应该会发现,咦! 怎么出发的时间是星期六下午,坐了 13 个小时的飞机到了美国还是星期六!因为刚好通过了国际日期变更线, 日期减少了一天喔!如果反过来,由美国到台湾,日期就会多加一天喔! ^_^


小标题的图示 15.1.2 什么是夏季节约时间 (daylight savings)? 

时区的概念先建立起来之后,现在再来谈一谈,那么什么是『夏季节约时间 (或称日光节约时间)』?既然是『夏季节约时间』当然主要是与夏天有关啦! 因为地球在运行的时候是呈现一个倾斜角在绕太阳运转的,所以才有春夏秋冬 (这个大家应该都知道啦),在夏天的时候,白天的时间会比较长,所以为了节约用电, 因此在夏天的时候某些地区会将他们的时间定早一小时,也就是说,原本时区是 8 点好了, 但是因为夏天太阳比较早出现,因此把时间向前挪,在原本 8 点的时候,订定为该天的 9 点 (时间提早一小时)~如此一来, 我们就可以利用阳光照明,省去了花费电力的时间,因此才会称之为夏季节约时间!

因为台湾实在是太小了,并没有横跨两个时区,因此,夏季节约时间对我们来说,虽然还是有帮助啦! 不过,似乎没有特别推行的样子说~


小标题的图示 15.1.3 Coordinated Universal Time (UTC)与系统时间的误差

了解了一些时区的概念之后,这里要谈的是『什么是正确的时间』。 在 1880 年代的时间标准是以 GMT 时间为主的,但是 GMT 时间是以太阳通过格林威治的那一刻来作为计时的标准。 然而我们都知道啊,地球自转的轨道以及公转的轨道并非正圆,加上地球的自转速度好像有逐年递减的问题, 所以这个 GMT 时间与我们目前计时的时间就有点不一样了。(注1)

在计算时间的时候,最准确的计算应该是使用『原子震荡周期』所计算的物理时钟了 (Atomic Clock, 也被称为原子钟),这也被定义为标准时间 (International Atomic Time)。而我们常常看见的 UTC 也就是 Coordinated Universal Time (协和标准时间)就是利用这种 Atomic Clock 为基准所定义出来的正确时间。例如 1999 年在美国启用的原子钟 NIST F-1, 他所产生的时间误差每两千年才差一秒钟!真的是很准吶!这个 UTC 标准时间虽然与 GMT 时间放在同一个时区为基准, 不过由于计时的方式不同,UTC 时间与 GMT 时间有差不多 16 分钟的误差呢!(注2)

事实上,在我们的身边就有很多的原子钟,例如石英表,还有计算机主机上面的 BIOS 内部就含有一个原子钟在纪录与计算时间的进行吶!不过由于原子钟主要是利用计算芯片 (crystal) 的原子震荡周期去计时的,这是因为每种芯片都有自己的独特的震荡周期之故。 然而因为这种芯片的震荡周期在不同的芯片之间多多少少都会有点差异性,甚至同一批芯片也可能会或多或少有些许的差异 (就连温度也可能造成这样的误差呢),因此也就造成了 BIOS 的时间会经常的给他快了几秒或者慢了几秒。

或许你会认为,BIOS 定时器每天快个五秒也没有什么了不起的,不过如果你再仔细的算一算,会发现,一天快五秒,那么一个月快 2.5 分钟,一年就快了 75 分钟了!所以说,呵呵!时间差是真的会存在的!那么如果你的计算机真的有这样的情况, 那要怎么来重新校正时间呢?那就需要『网络校时』(Network Time Protocol, NTP) 的功能了!底下我们就谈一谈那个 NTP 的 daemon 吧!


小标题的图示 15.1.4 NTP 通讯协议

老实说, Linux 操作系统的计时方式主要是由 1970/01/01 开始计算总秒数,因此,如果你还记得 date 这个指令的话, 会发现它有个 +%s 的参数,可以取得总秒数,这个就是软件时钟。但,如同前面说的,计算机硬件主要是以 BIOS 内部的时间为主要的时间依据 (硬件时钟),而偏偏这个时间可能因为 BIOS 内部芯片本身的问题,而导致 BIOS 时间与标准时间 (UTC) 有一点点的差异存在!所以为了避免主机时间因为长期运作下所导致的时间偏差,进行时间同步 (synchronize) 的工作就显的很重要了!

  • 软件时钟:由 Linux 操作系统根据 1970/01/01 开始计算的总秒数;
  • 硬件时钟:主机硬件系统上面的时钟,例如 BIOS 记录的时间;

那么怎么让时间同步化呢?想一想,如果我们选择几部主要主机 (Primary server) 调校时间,让这些 Primary Servers 的时间同步之后,再开放网络服务来让 Client 端联机,并且提供 Client 端调整自己的时间,不就可以达到全部的计算机时间同步化的运作了吗!那么什么协议可以达到这样的功能呢?那就是 Network Time Protocol ,另外还有 Digital Time Synchronization Protocol (DTSS) 也可以达到相同的功能! 不过,到底 NTP 这个 daemon 是如何让 Server 与 Client 同步他们的时间呢?

  1. 首先,主机当然需要启动这个 daemon ,之后,
  2. Client 会向 NTP Server 发送出调校时间的 message ,
  3. 然后 NTP Server 会送出目前的标准时间给 Client ,
  4. Client 接收了来自 Server 的时间后,会据以调整自己的时间,就达成了网络校时咯!

在上面的步骤中你有没有想到一件事啊,那就是如果 Client 到 Server 的讯息传送时间过长怎么办?举例来说,我在台湾以 ADSL 的 PC 主机,联机到美国的 NTP Server 主机进行时间同步化要求,而美国 NTP Server 收到我的要求之后,就发送当时的正确时间给我,不过, 由美国将数据传送回我的 PC 时,时间可能已经延迟了 10 秒钟去了!这样一来,我的 PC 校正的时间是 10 秒钟前的标准时间喔!此外,如果美国那么 NTP 主机有太多的人喜欢上去进行网络校时了,所以 loading (负荷) 太重啦!导致讯息的回传又延迟的更为严重!那怎么办?

为了这些延迟的问题,有一些 program 已经开发了自动计算时间传送过程的误差,以更准确的校准自己的时间!当然啦,在 daemon 的部分,也同时以 server/client 及 master/slave 的架构来提供用户进行网络校时的动作!所谓的 master/slave 就有点类似 DNS 的系统咯!举例来说,台湾的标准时间主机去国际标准时间的主机校时, 然后各大专院校再到台湾的标准时间校时,然后我们再到各大专院校的标准时间校时!这样一来,那几部国际标准时间主机 (Time server) 的 loading 就不至于太大,而我们也可以很快速的达到正确的网络校时的目的呢!台湾常见的 Time Server 有 (注3):

  • tick.stdtime.gov.tw
  • tock.stdtime.gov.tw
  • time.stdtime.gov.tw
  • clock.stdtime.gov.tw
  • watch.stdtime.gov.tw

至于 ntp 这个 daemon 是以 port 123 为连结的埠口 (使用 UDP 封包),所以我们要利用 Time server 来进行时间的同步更新时,就得要使用 NTP 软件提供的 ntpdate 来进行 port 123 的联机喔!关于网络校时更多的说明,可以到 NTP 的官方网站 (注4) 上察看喔!


小标题的图示 15.1.5 NTP 服务器的阶层概念

如前所述,由于 NTP 时间服务器采用类似阶层架构 (stratum) 来处理时间的同步化, 所以他使用的是类似一般 server/client 的主从架构。网络社会上面有提供一些主要与次要的时间服务器, 这些均属于第一阶及第二阶的时间服务器 (stratum-1, stratum-2) ,如下所示:

由于这些时间服务器大多在国外,所以我们是否要使用这些服务器来同步化自己的时间呢? 其实如果台湾地区已经有标准时间服务器的话,用那部即可,不需要联机到国外啦!浪费带宽与时间啊! 而如前面提到的,台湾地区已经有标准的时间服务器了,所以当然我们可以直接选择台湾地区的 NTP 主机即可。

如果你评估一下,确定有架设 NTP 的需求时,我们可以直接选择台湾地区的上层 NTP 来同步化时间即可。 举例来说 tock.stdtime.gov.tw 这个国家单位的主机应该是比较适合的。一般来说,我们在进行 NTP 主机的设定时,都会先选择多部上层的 Time Server 来做为我们这一部 NTP Server 的校正之用,选择多部的原因是因为可以避免因为某部时间服务器突然挂点时, 其他主机仍然可以提供我们的 NTP 主机来自我更新啊!然后我们的 NTP Server 才提供给自己的 Client 端更新时间。如此一来,国家单位的 tock.stdtime.gov.tw 负载才不会太大,而我们的 Client 也可以很快速的达到校时的动作!

Tips:
其实 NTP 的阶层概念与 DNS 很类似啦,当你架设一部 NTP 主机,这部 NTP 所向上要求同步化的那部主要主机为 stratum-1 时,那么你的 NTP 就是 stratum-2 啰!举例来说,如果我们的 NTP 是向台湾的 tock.stdtime.gov.tw 这部 stratum-2 的主机要求时间同步化,那我们的主机即为 stratum-3 ,如果还有其他的 NTP 主机向我们要求时间同步, 那么该部主机则会是 stratum-4 啦!就这样啊~ 那最多可以有几个阶层?最多可达 15 个阶层喔!

鸟哥的图示

大标题的图示 15.2 NTP 服务器的安装与设定

NTP 服务器也是一个很容易就可以架设成功的玩意儿,不过这个软件在不同的 distribution 上面可能有不一样的名称, 你要作的其实就是将他安装起来之后,规定一部上层 NTP 服务器来同步化你的时间即可啊! 如果你只是想要进行你自己单部主机的时间同步化,别架设 NTP ,直接使用 NTP 客户端软件即可喔!


小标题的图示 15.2.1 所需软件与软件结构

在 CentOS 6.x 上头,你所需要的软件其实仅有 ntp 这个玩意儿而已,请自行使用 rpm 去找找看,若没有安装,请利用 yum install ntp 即可啊!不过,我们还需要时区相关的数据文件,所以你需要的软件有:

  • ntp: 就是 NTP 服务器的主要软件啦,包括配置文件以及执行档等等。
  • tzdata: 软件名称为『 Time Zone data 』的缩写,提供各时区对应的显示格式。

与时间及 NTP 服务器设定相关的配置文件与重要数据文件有底下几个:

  • /etc/ntp.conf: 就是 NTP 服务器的主要配置文件,也是唯一的一个;

  • /usr/share/zoneinfo/: 由 tzdata 所提供,为各时区的时间格式对应档。 例如台湾地区的时区格式对应档案在 /usr/share/zoneinfo/Asia/Taipei 就是了!这个目录里面的档案与底下要谈的两个档案 (clock 与 localtime) 是有关系的喔!

  • /etc/sysconfig/clock: 设定时区与是否使用 UTC 时间钟的配置文件。 每次开机后 Linux 会自动的读取这个档案来设定自己系统所默认要显示的时间说!举个例子来说, 在我们台湾地区的本地时间设定中,这个档案内应该会出现一行『ZONE="Asia/Taipei"』的字样, 这表示我们的时间配置文件案『要取用 /usr/share/zoneinfo/Asia/Taipei 那个档案』的意思!

  • /etc/localtime: 这个档案就是『本地端的时间配置文件』啦!刚刚那个 clock 档案里面规定了使用的时间配置文件 (ZONE) 为 /usr/share/zoneinfo/Asia/Taipei ,所以说这就是本地端的时间了,此时 Linux 系统就会将 Taipei 那个档案复制一份成为 /etc/localtime ,所以未来我们的时间显示就会以 Taipei 那个时间配置文件案为准。

至于在常用于时间服务器与修改时间的指令方面,主要有底下这几个啦:

  • /bin/date: 用于 Linux 时间 (软件时钟) 的修改与显示的指令;

  • /sbin/hwclock: 用于 BIOS 时钟 (硬件时钟) 的修改与显示的指令。 这是一个 root 才能执行的指令,因为 Linux 系统上面 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,还需要使用 hwclock 才能将修改过后的时间写入 BIOS 当中!

  • /usr/sbin/ntpd: 主要提供 NTP 服务的程序啰!配置文件为 /etc/ntp.conf

  • /usr/sbin/ntpdate: 用于客户端的时间校正,如果你没有要启用 NTP 而仅想要使用 NTP Client 功能的话,那么只会用到这个指令而已啦!

例题:
假设你的笔记本电脑安装 CentOS 这套系统,而且选择的时区为台湾。现在,你将有一个月的时间要出差到美国的纽约去, 你会带着这个笔电,那么到了美国之后,时间会不一致啊!你该如何手动的调整时间参数呢?
答:
因为时区数据文件在 /usr/share/zoneinfo 内,在该目录内会找到 /usr/share/zoneinfo/America/New_York 这个时区档。 而时区配置文件在 /etc/sysconfig/clock ,且目前的时间格式在 /etc/localtime ,所以你应该这样做:
[root@www ~]# date
Thu Jul 28 15:08:39 CST 2011  <==重点是 CST 这个时区喔!

[root@www ~]# vim /etc/sysconfig/clock
ZONE="America/New_York"       <==改的是这里啦!

[root@www ~]# cp /usr/share/zoneinfo/America/New_York /etc/localtime
[root@www ~]# date
Thu Jul 28 03:09:21 EDT 2011  <==时区与时间都改变了!
这个范例做完之后,记得将这两个档案改回来!不然以后你的时间都是美国时间啦!

接下来,我们先来谈一谈如何设计那个 /etc/ntp.conf 吧!


小标题的图示 15.2.2 主要配置文件 ntp.conf 的处理

由于 NTP 服务器的设定需要有上游服务器的支持才行,因此请回头参考一下 15.1.4 及 15.1.5 的介绍,这样才能够理解为何底下的设定是这样呦!好了,我假设俺的 NTP 服务器所需要设定的架构如下:

  • 我的上层 NTP 服务器共有 tock.stdtime.gov.tw, tick.stdtime.gov.tw, time.stdtime.gov.tw 三部,其中以 tock.stdtime.gov.tw 最优先使用 (prefer);
  • 不对 Internet 提供服务,仅允许来自内部网域 192.168.100.0/24 的查询而已;
  • 侦测一些 BIOS 时钟与 Linux 系统时间的差异并写入 /var/lib/ntp/drift 档案当中。

好了,先让我们谈一谈如何在 ntp.conf 里面设定权限控制吧!


  • 利用 restrict 来管理权限控制

在 ntp.conf 档案内可以利用『 restrict 』来控管权限,这个参数的设定方式为:

restrict [你的IP] mask [netmask_IP] [parameter]

其中 parameter 的参数主要有底下这些:

  • ignore: 拒绝所有类型的 NTP 联机;
  • nomodify: 客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数, 但客户端仍可透过这部主机来进行网络校时的;
  • noquery: 客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时啰;
  • notrap: 不提供 trap 这个远程事件登录 (remote event logging) 的功能。
  • notrust: 拒绝没有认证的客户端。

那如果你没有在 parameter 的地方加上任何参数的话,这表示『该 IP 或网段不受任何限制』的意思喔!一般来说,我们可以先关闭 NTP 的权限,然后再一个一个的启用允许登入的网段。


  • 利用 server 设定上层 NTP 服务器

上层 NTP 服务器的设定方式为:

server [IP or hostname] [prefer]

在 server 后端可以接 IP 或主机名,鸟哥个人比较喜欢使用 IP 来设定说!至于那个 perfer 表示『优先使用』的服务器啰~有够简单吧!


  • 以 driftfile 记录时间差异

设定的方式如下:

driftfile [可以被 ntpd 写入的目录与档案]

因为预设的 NTP Server 本身的时间计算是依据 BIOS 的芯片震荡周期频率来计算的,但是这个数值与上层 Time Server 不见得会一致啊!所以 NTP 这个 daemon (ntpd) 会自动的去计算我们自己主机的频率与上层 Time server 的频率,并且将两个频率的误差记录下来,记录下来的档案就是在 driftfile 后面接的完整档名当中了!关于档名你必须要知道:

  • driftfile 后面接的档案需要使用完整路径文件名;
  • 该档案不能是连结档;
  • 该档案需要设定成 ntpd 这个 daemon 可以写入的权限。
  • 该档案所记录的数值单位为:百万分之一秒 (ppm)。

driftfile 后面接的档案会被 ntpd 自动更新,所以他的权限一定要能够让 ntpd 写入才行。在 CentOS 6.x 预设的 NTP 服务器中,使用的 ntpd 的 owner 是 ntp ,这部份可以查阅 /etc/sysconfig/ntpd 就可以知道啦!


  • keys [key_file]

除了以 restrict 来限制客户端的联机之外,我们也可以透过密钥系统来给客户端认证, 如此一来可以让主机端更放心了。不过在这个章节里面我们暂不讨论这个部分,有兴趣的朋友可以参考 ntp-keygen 这个指令的相关说明喔!


根据上面的说明,我们最终可以取得这样的配置文件案内容喔 (底下仅修改部分数据,保留大部分的设定值喔)!

[root@www ~]# vim /etc/ntp.conf
# 1. 先处理权限方面的问题,包括放行上层服务器以及开放区网用户来源:
restrict default kod nomodify notrap nopeer noquery     <==拒绝 IPv4 的用户
restrict -6 default kod nomodify notrap nopeer noquery  <==拒绝 IPv6 的用户
restrict 220.130.158.71   <==放行 tock.stdtime.gov.tw 进入本 NTP 服务器
restrict 59.124.196.83    <==放行 tick.stdtime.gov.tw 进入本 NTP 服务器
restrict 59.124.196.84    <==放行 time.stdtime.gov.tw 进入本 NTP 服务器
restrict 127.0.0.1        <==底下两个是默认值,放行本机来源
restrict -6 ::1
restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行区网来源

# 2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定批注掉:
server 220.130.158.71 prefer  <==以这部主机为最优先
server 59.124.196.83
server 59.124.196.84

# 3.预设时间差异分析档案与暂不用到的 keys 等,不需要更动它:
driftfile /var/lib/ntp/drift
keys      /etc/ntp/keys

这样就设定妥当了,准备来启动 NTP 服务吧!


小标题的图示 15.2.3 NTP 的启动与观察

设定完 ntp.conf 之后就可以启动 ntp 服务器了。启动与观察的方式如下:

# 1. 启动 NTP 
[root@www ~]# /etc/init.d/ntpd start
[root@www ~]# chkconfig ntpd on
[root@www ~]# tail /var/log/messages  <==自行检查看看有无错误

# 2. 观察启动的埠口看看:
[root@www ~]# netstat -tlunp | grep ntp
Proto Recv-Q Send-Q Local Address       Foreign Address  PID/Program name
udp        0      0 192.168.100.254:123 0.0.0.0:*        3492/ntpd
udp        0      0 192.168.1.100:123   0.0.0.0:*        3492/ntpd
udp        0      0 127.0.0.1:123       0.0.0.0:*        3492/ntpd
udp        0      0 0.0.0.0:123         0.0.0.0:*        3492/ntpd
udp        0      0 ::1:123             :::*             3492/ntpd
udp        0      0 :::123              :::*             3492/ntpd
# 主要是 UDP 封包,且在 port 123 这个埠口的啦!

这样就表示我们的 NTP 服务器已经启动了,不过要与上层 NTP 服务器联机则还需要一些时间, 通常启动 NTP 后约在 15 分钟内才会和上层 NTP 服务器顺利连接上。 那要如何确认我们的 NTP 服务器有顺利的更新自己的时间呢?你可以使用底下几个指令来查阅喔 (请自行等待数分钟后再以下列指令查阅):

[root@www ~]# ntpstat
synchronised to NTP server (220.130.158.71) at stratum 3
   time correct to within 538 ms
   polling server every 128 s

这个指令可以列出我们的 NTP 服务器有跟上层联机否。由上述的输出结果可以知道,时间有校正约 538 * 10^(-3) 秒,且每隔 64 秒会主动去更新时间喔!

[root@www ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*tock.stdtime.go 59.124.196.87    2 u   19  128  377   12.092   -0.953   0.942
+59-124-196-83.H 59.124.196.86    2 u    8  128  377   14.154    7.616   1.533
+59-124-196-84.H 59.124.196.86    2 u    2  128  377   14.524    4.354   1.079

这个 ntpq -p 可以列出目前我们的 NTP 与相关的上层 NTP 的状态,上头的几个字段的意义为:

  • remote:亦即是 NTP 主机的 IP 或主机名啰~注意最左边的符号
    • 如果有『 * 』代表目前正在作用当中的上层 NTP
    • 如果是『 + 』代表也有连上线,而且可作为下一个提供时间更新的候选者。
  • refid:参考的上一层 NTP 主机的地址
  • st:就是 stratum 阶层啰!
  • when:几秒钟前曾经做过时间同步化更新的动作;
  • poll:下一次更新在几秒钟之后;
  • reach:已经向上层 NTP 服务器要求更新的次数
  • delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒
  • offset:时间补偿的结果,单位与 10^(-3) 秒
  • jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒。

事实上这个输出的结果告诉我们,时间真的很准了啦!因为差异都在 0.001 秒以内, 可以符合我们的一般使用了。另外,你也可以检查一下你的 BIOS 时间与 Linux 系统时间的差异, 就是 /var/lib/ntp/drift 这个档案的内容,就能了解到咱们的 Linux 系统时间与 BIOS 硬件时钟到底差多久?单位为 10^(-6) 秒啦!

要让你的 NTP Server/Client 真的能运作,在上述的动作中得注意:

  • 上述的 ntpstat 以及 ntpq -p 的输出结果中,你的 NTP 服务器真的要能够连结上层 NTP 才行喔! 否则你的客户端将无法对你的 NTP 服务器进行同步更新的!重要重要!

  • 你的 NTP 服务器时间不可与上层差异太多。举例来说,鸟哥测试 NTP 服务器约在 2011/7/28 下午, 如果我的服务器时间原本是错误的 2010/7/28,足足差了一年,那么上层服务器恐怕就不会将正确的时间传给我! 这时就会造成困扰了!

  • 服务器防火墙在 UDP port 123 有没有开啊?要特别注意的呢!

  • 等待的时间够不够长?鸟哥设定 NTP 等过最久的时间大约是一小时!你有等这么久过否?

小标题的图示 15.2.4 安全性设定

NTP 服务器在安全的相关性方面,其实刚刚我们在 /etc/ntp.conf 里面的 restrict 参数中就已经设定了 NTP 这个 daemon 的服务限制范围了!不过,在防火墙 iptables 的部分,还是需要开启联机监听的啦!所以,在你的 iptables 规则的 scripts 当中,需要加入这一段 (我是以开放 192.168.100.0/24 这个网域作为范例的!)

[root@www ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -p udp -s 192.168.100.0/24 --dport 123 -j ACCEPT

[root@www ~]# /usr/local/virus/iptables/iptables.rule

若还要开放其他的网段或者客户端主机,请自行修改 /etc/ntpd.conf 以及你的防火墙机制咯!


大标题的图示 15.3 客户端的时间更新方式

上头介绍了 NTP 服务器的安装与设定,如果我们仅有十部不到的主机时,老实说,实在没有架设 NTP 服务器的需求。 只要能够在你的主机上头以 NTP 客户端软件来进行网络校时就能够同步化时间了,没必要时时刻刻进行时间的校正吧!^_^! 但是,如果是类似一定要时间同步的丛集计算机群或登录服务器群,那就得要使用时间服务器比较好啰!


小标题的图示 15.3.1 Linux 手动校时工作: date, hwclock

先来复习一下前面谈到的重点,那就是 Linux 操作系统当中其实有两个时间,分别是:

  • 软件时钟: Linux 自己的系统时间,由 1970/01/01 开始记录的时间参数
  • 硬件时钟: 计算机系统在 BIOS 记录的实际时间,这也是硬件所记录的

在软件时钟方面,我们可以透过 date 这个指令来进行手动修订,但如果要修改 BIOS 记录的时间,就得要使用 hwclock 这个指令来写入才行。相关的用法如下:

[root@clientlinux ~]# date MMDDhhmmYYYY
选项与参数:
MM:月份
DD:日期
hh:小时
mm:分钟
YYYY:公元年

# 1. 修改时间成为 1 小时后的时间该如何是好?
[root@clientlinux ~]# date
Thu Jul 28 15:33:38 CST 2011

[root@clientlinux ~]# date 072816332011
Thu Jul 28 16:33:00 CST 2011
# 瞧!时间立刻就变成一个小时后了!
[root@clientlinux ~]# hwclock [-rw]
选项与参数:
-r :亦即 read ,读出目前 BIOS 内的时间参数;
-w :亦即 write ,将目前的 Linux 系统时间写入 BIOS 当中啊!

# 2. 查阅 BIOS 时间,并且写入更改过的时间啰!
[root@clientlinux ~]# date; hwclock -r
Thu Jul 28 16:34:00 CST 2011
Thu 28 Jul 2011 03:34:57 PM CST  -0.317679 seconds
# 看一看,是否刚好差异约一个小时啊!这就是 BIOS 时间!

[root@clientlinux ~]# hwclock -w; hwclock -r; date
Thu 28 Jul 2011 04:35:12 PM CST  -0.265656 seconds
Thu Jul 28 16:35:11 CST 2011
# 这样就写入啰~所以软件时钟与硬件时钟就同步啦!很简单吧!

这样可以了解了吗?当我们进行完 Linux 时间的校时后,还需要以 hwclock 来更新 BIOS 的时间,因为每次重新启动的时候,系统会重新由 BIOS 将时间读出来,所以, BIOS 才是重要的时间依据吶。


小标题的图示 15.3.2 Linux 的网络校时

在 Linux 的环境当中可利用 NTP 的客户端程序,亦即是 ntpdate 这支程序就能够进行时间的同步化。 不过你要知道的是,因为 NTP 服务器本来就会与上层时间服务器进行时间的同步化, 所以在预设的情况下,NTP 服务器不可以使用 ntpdate !也就是说 ntpdate 与 ntpd 不能同时启用的。 所以你不要在 NTP server 上头执行这个指令呦!我们就来看看如何处理吧!

[root@clientlinux ~]# ntpdate [-dv] [NTP IP/hostname]
选项与参数:
-d :进入除错模式 (debug) ,可以显示出更多的有效信息。
-v :有较多讯息的显示。

[root@clientlinux ~]# ntpdate 192.168.100.254
28 Jul 17:19:33 ntpdate[3432]: step time server 192.168.100.254 offset -2428.396146 sec
# 最后面会显示微调的时间有多少 (offset),因为鸟哥这部主机时间差很多,所以秒数...

[root@clientlinux ~]# date; hwclock -r
四  7月 28 17:20:27 CST 2011
公元2011年07月28日 (周四) 18时19分26秒  -0.752303 seconds
# 知道鸟哥想要表达什么吗?对啊!还得 hwclock -w 写入 BIOS 时间才行啊!

[root@clientlinux ~]# vim /etc/crontab
# 加入这一行去!
10 5 * * * root (/usr/sbin/ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w) &> /dev/null

使用 crontab 之后,每天 5:10 Linux 系统就会自动的进行网络校时啰!相当的简易吧!不过,这个方式仅适合不要启动 NTP 的情况。如果你的机器数量太多了,那么客户端最好也启动一下 NTP 服务!透过 NTP 去主动的更新时间吧! 如何达成这个动作呢?也很简单啊,修改 /etc/ntp.conf 即可:

[root@clientlinux ~]# ntpdate 192.168.100.254
# 由于 ntpd 的 server/client 之间的时间误差不允许超过 1000 秒,
# 因此你得先手动进行时间同步,然后再设定与启动时间服务器呦!

[root@clientlinux ~]# vim /etc/ntp.conf
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
restrict 192.168.100.254  <==放行服务器来源!
server 192.168.100.254    <==这就是服务器!
# 很简单,就是将原本的 server 项目批注,加入我们要的服务器即可

[root@clientlinux ~]# /etc/init.d/ntpd start
[root@clientlinux ~]# chkconfig ntpd on

然后取消掉 crontab 的更新程序,这样你的 client 计算机就会主动的到 NTP 服务器去更新啰!也是轻松愉快啊! 不过针对客户端来说,鸟哥还是比较习惯使用 crontab 的方式来处理就是了。


小标题的图示 15.3.3 Windows 的网络校时

或许你一直都没发现,其实 Windows 在预设的情况当中,已经帮我们处理了网络校时的工作喔!不管你愿不愿意... 你可以将鼠标的指针指在任务栏右下角的时间以如下的方式来查阅一下网络时间服务器的设定:

Windows 7 提供的网络校时功能
图 15.3-1、Windows 7 提供的网络校时功能

点选上图中的『变更日期与时间设定值』,出现如下图示:

Windows 7 提供的网络校时功能
图 15.3-2、Windows 7 提供的网络校时功能

如上所示,你可以自行填写台湾的时间服务器来对应时间,当然也可以填写你自己的时间服务器啊! 之后系统就会主动的上网去更新时间了。不过,这是 Windows XP 之后的窗口系统才有的功能,如果是比较早期的 Windows , 例如 Windows 95/2000 预设是没有这个功能的。不过也没有关系, 因为国家频率与时间标准实验室 (http://www.stdtime.gov.tw/) 也有提供一个客户端软件喔!链接资料如下:

你可以下载,直接执行他就知道如何处理了,因为是全中文接口的图形化软件嘛!


大标题的图示 15.4 重点回顾
  • 地球共有 24 个时区,而以格林威治时间 (GMT) 为标准时间;
  • 台湾本地时间为 GMT + 8 小时;
  • 最准确的时间为使用原子钟 (Atomic clock) 所计算的,例如 UTC (Coordinated Universal Time) 就是一例;
  • Linux 系统本来就有两种时间,一种是 Linux 以 1970/01/01 开始计数的系统时间,一种则是 BIOS 记载的硬件时间;
  • Linux 可以透过网络校时,最常见的网络校时为使用 NTP 服务器,这个服务启动在 udp port 123;
  • 时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考 /etc/localtime;
  • NTP 服务器为一种阶层式的服务,所以 NTP 服务器本来就会与上层时间服务器作时间的同步化, 因此 nptd 与 ntpdate 两个指令不可同时使用;
  • NTP 服务器的联机状态可以使用 ntpstat 及 ntpq -p 来查询;
  • NTP 提供的客户端软件为 ntpdate 这个指令;
  • 在 Linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w 来写入 BIOS 所记录的时间。
  • NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。

大标题的图示 15.5 本章习题
  • 什么是 GMT (格林威治) 时间与 UTC 时间?
    由于地球是圆的,所以同一时间点上,在地球共可分为 24 个时区,其中,我们以欧洲的格林威治时间为一个对照的依据,这个即是 GMT 时间。台湾时间比 GMT 时间快了 8 小时。至于 UTC 时间则是由原子钟所计算的时间,这个时间是相当的准确的, 主要仍以格林威治时间为时区!
  • Linux 系统的所有时区档案放置哪一个目录底下?
    所有的时区档案放置于:/usr/share/zoneinfo 底下!至于系统时区的配置文件则在 /etc/sysconfig/clock 与 /etc/localtime 喔!
  • 我的 Linux 主机本来放置在日本东京,现在想将他拿到台湾来运作,不过因为日本与台湾有一个小时的时差, 所以我的时间应该需要经过调整才行。不过,因为我的 BIOS Time 主要是依据 UTC 时间来设定的,所以似乎只要更动时区参数即可。请问我该如何设定时区,好让我的 Linux 主机能够显示正确的时间?
    先将 /etc/localtime 删除,然后将 /usr/share/zoneinfo/Asia/Taipei 这个档案复制成为 /etc/localtime 即可!
  • 目前 Linux 系统上面的时间服务器主要是以 NTP 为主,请问这个 daemon 的主要配置文件放在哪里,而该配置文件中,针对上层 time server 的设定参数为何?而那个 driftfile 参数是干嘛用的?
    在 /etc/ntp.conf 这个档案当中,至于上层 time server 的设定参数为 server 啊!那个 driftfile 则是用来做为『时间差额』的计算的!该参数后面接的是一个完整路径的文件名,该档案里面的数值单位为百万分之一(ppm)。
  • 请问 ntptrace 的功能为何?
    可以用来追踪上层 time server 的连接时间与目前时间!
  • 我以 date 更新了我 Linux 上面的时间后,该如何将时间数据写入 BIOS 内?
    必须利用 hwclock 这个程序来写入,利用 hwclock -w 写入 BIOS
  • 在 Linux 上面如何进行网络校时?
    最简单的方法即是使用『 ntpdate time.servers.ip && hwclock -w 』即可!

大标题的图示 15.6 参考数据与延伸阅读
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
不知道大家有这样的经历没有,当我们在使用电脑的时候,要想知道现在几点了,第一反应是什么?对,就是看右下角的时钟。但是由于各种原因,比如:长时间不调整啦,或者主板电池电量不足啦。都会导致时间不准,这是件非常头疼的事情。总不能每次开机的时候都自己手动调吧! 这时我们就想到了自动对时的功能,Windows自带有一个自动对时,不过不知道是服务器在国外还是什么其他的原因,反正我是一次也没弄成功过~而且即使可以更新,也是7天才更新一次,未必长了点。所以我就考虑使用第三放的软件来实现自动对时,最好可以在开机的时候对个时,又方便又好。我试用了几款,包括国家授时中心推出的一款软件时间精灵,体积高达1.52M,真厉害!最后还是向大家推荐—Neutron。 下面说说这款软件的特点: 1.界面很简单,大小只有4.9K! 2.点获取远程时间后,会自动从香港天文台获取标准时间 3.可以实现每次开机后自动同步时间,成功后就会自动退出软件。(很棒的功能!) 废话多说无用,开始说明下使用方法: 1.绿色软件,打开即可: 软件刚运行,会自动获取你的当前系统时间,并显示在第一栏.单击下面左边的获取按钮,即可获取标准时间显示在第二栏。单击右边的校对按钮,即可完成手动校对时间。 2.单击右下角的>>按钮,打开设置对话框。在这里就可以实现开机自动对时了。 下面一一解释下各个设置功能: Time server : 校对时间服务器 保持默认即可。 On failure automatically try next server : 连接失败时自动尝试下一个服务器 Auto sync at program startup : 软件启动时自动校对时间 Exit after time has been synced : 校对时间后退出软件。 大家应该想到了吧,只要把这3个选项全部选中,然后创建一个快捷方式,放到开始菜单的启动文件夹,就可以实现开机自动对时了。嘿嘿,是不是个很H的软件啊。 你还可以添加更对的时间服务器,打开目录下的Neutron.ini配置文件,在最后加入: 1=”ntp.nblug.org” 2=”ntp0.cornell.edu” 3=”pubts0-sj.witime.net” 4=”pubts1-sj.witime.net” 5=”pubts2-sj.witime.net” 6=”rolex.usg.edu” 7=”timekeeper.isi.edu” 8=”nist1.symmetricom.com” 9=”clock.via.net” 10=”nist1.aol-ca.truetime.com” 11=”nist.expertsmi.com” 12=”nist1-dc.WiTime.net” 13=”nist1-sj.WiTime.net” 14=”time-a.nist.gov” 15=”time-a.timefreq.bldrdoc.gov” 16=”time-b.nist.gov” 17=”time-b.timefreq.bldrdoc.gov” 18=”time-c.timefreq.bldrdoc.gov” 19=”utcnist.colorado.edu” 20=”cuckoo.nevada.edu” 21=”time-nw.nist.gov” 重新启动软件后看看时间服务器列表,是不是多了很多?
服务器时间同步 以172.16.68.144为例 144服务器把crontab文件备份到了,tmp下命名为crontab.Sh 下面是crontab的配置文件 上图中026 * * * root test -x /etc/cron.d/ntp.sh && /etc/cron.d/ntp.sh是我手动添加的参数,意思为每天凌晨6:02点钟会自动执行一次/etc/cron.d/ntp.sh的检测工作,完成后会执行/etc/cron.d/ntp.sh的ntp.sh脚本。 脚本名为ntp.sh,内容为/usr/sbin/ntpdate 172.16.16.2 意思为执行usr下的sbin下的ntodate命令 同步的ntp时钟为172.16.16.2服务器 172.16.68.132至172.16.68.145用的都是上面说明的方法还有 172.16.69.69和70.的服务器 172.16.70.9、和10.11.12的服务器. 因为172.16.70.7和5是unix系统 使用的是crontab命令如下Crontab–e 进入vi界面 服务器时间配置全文共2页,当前为第1页。 服务器时间配置全文共2页,当前为第1页。 172.16.70.14和15 我是这样做的在cron.Daily中建立文件名为ntp.sh的文件文件中写的脚本为shell脚本 建立这个脚本的意思是执行ntpdateip地址,执行ntp的同步时间,然后在etc的crontab中加入这一条 为02 6 * * * root run-parst/etc/cron.d意思为每天的凌晨6点02执行etc/cron.d中的所有文件 服务器时间配置全文共2页,当前为第2页。这是cron.d目录中的文件因为没有x权限除了ntp.sh有执行权限别的没有所以每天6点02会执行的文件只有ntp.sh 服务器时间配置全文共2页,当前为第2页。 服务器时间配置
[LANGUAGE] ;主页面 System=系统管理 Stream=码流管理 Storage=存储管理 Accounts=用户管理 Network=网络管理 PTZ=云台管理 Exit=退出 ;系统管理 IPCam Setting=摄像机设置 Ok=确定 Cancel=取消 System Setting=系统设置 Maintenance=系统维护 Logs=日志管理 ;系统设置页面 Device name:=设备名称: Product SN:=产品序列号: Version:=软件版本: Product Type:=产品型号: Format:=日期格式: Date Time:=日期时间: CloudComputing ID:=云视通 ID: CloudComputing Port:=云视通 Port: CloudComputing Port Modified, Restart to Enable It ?=云视通端口号已修改,是否立即重启以使其生效? CloudSEE ID:=云视通 ID: CloudSEE Port:=云视通 Port: CloudSEE Port Modified, Restart to Enable It ?=云视通端口号已修改,是否立即重启以使其生效? Language:=系统语言: Web Service=Web服务 Enable mobile server=启动手机服务 Service Port:=服务端口: Quality:=图像质量: FPS:=图像帧率: Date...=设置时间... Default Setting=默认配置 Enable talk server=允许语音对讲 high=高 middle=中 low=低 25=最流畅 20=流畅 15=较流畅 10=低带宽 5=最低带宽 Time automatically=网络对时 NTP Server:=对时服务器: NTP Interval(Hour):=对时间隔(小时): Hour=小时 Time Setting=时间设置 Focus Helper=调焦辅助 ;系统维护页面 Update method:=系统升级: Select...=浏览... Progress:=升级进度: Update begin=升级 Cancel=取消 Restart=重启设备 Recovery=恢复系统 WEB Update=网站升级 File Update=文件升级 Device is busing refuse update request.=设备忙,拒绝升级请求 Start update module failed.=设备启动升级模块失败 Send data error.=传输数据出现错误 Burning:=烧写进度: Update Success=升级完成 Update Failed=升级失败 Open update file failed please check if the update file exist=打开文件失败,请检查升级文件是否存在! Open Version file fail=打开版本文件失败 Download:=下载进度: Restart the device, are you sure?=设备重启此连接将断开,是否确认? Recover the device, are you sure?=设备恢复配置需要重启此连接将断开,是否确认? Update the device, are you sure?=系统即将开始升级,是否继续? Update ok, restart the device now?=系统升级完成,是否立即重启摄像机? Latest version don't need update.=已经是最新版本! Upgrade file does not match.=升级文件不匹配 Checksum error!=升级文件校验错误! Update error please retry.=升级出错,请重新升级! User No Permission=用户无权限! Connect server failed.=连接升级服务器超时,请检查摄像机网络! Update with FTP Background. You can leave here now.=系统将在后台进行FTP升级,您现在可以退出本页面。 FTP Update=FTP 升级 ;日志管理页面 Date=日期 Refresh=刷新 Print=打印 Save=保存 File already exists overwrite it?=文件已经存在,是否覆盖? No Printer=未发现打印机 Print Fail=打印失败 Print %.4d-%.2d-%.2d Log, are you sure?=确实要打印%.4d年%.2d月%.2d日的系统日志清单吗? IPC Sys Note Info=网络摄像机系统日志记录清单 Print time:%.4d-%.2d-%.2d %.2d:%.2d=打印时间:%.4d年%.2d月%.2d日 %.2d点%.2d分 ;设置时间页面 Format:=日期格式: Date:=时间日期: ;升级服务器 Server01-U=联通1 Server02-T=电信1 Server03-T=电信2 OSD position:=OSD位置: LEFT_TOP=左上 LEFT_BOTTOM=左下 RIGHT_TOP=右上 RIGHT_BOTTOM=右下 HIDE=隐藏 ;视频管理 IPCam Setting=摄像机设置 Ok=确定 Cancel=取消 Video=视频设置 Region Cover=区域遮挡 Motion Detect=移动检测 Alarm Parameters=报警参数 ;视频设置页面 Video Stream1:=高清码流 Resolution:=分辨率: Frame Rate:=帧率: MBPH:=视频质量: Video Stream2:=标清码流 Mobile Phone Stream=互联网码流 Default Setting=默认配置 ;码率控制 Bitrate Control=码率控制 Min QP=最小QP Max QP=最大QP CBR=固定码率 VBR=可变码率 Max Qp Should be Bigger=最大QP应该比最小QP大 ;sensor调节 Image=图像调节 Brightness:=亮度: Saturation:=饱和度: Default Setting=默认配置 Contrast:=对比度: Sharpness:=锐度: Sence:=场景: InDoor=室内 OutDoor=室外 Default Setting=默认 Modeone=柔和 AUTO AWB=自动白平衡 MIRROR=画面镜像 TURN=画面翻转 NOCOLOUR=黑白模式 Enable WDR=开启宽动态 WDR Changed, Reboot to Effect ?=宽动态改变,是否重新启动使其生效? Software Cut:=软件CUT: Sensitivity:=灵敏度: WDR Not Support=此产品不支持宽动态 ;区域遮挡设置页面 Enable private area=开启视频遮挡 Refresh Photo=刷新图像 Save Settings=保存设置 Dragging the mouse for the area, right cancel area.=拖动鼠标选择区域,右键取消区域。 ;移动监测设置页面 Enable=启动移动检测 Sensitivity:=灵敏度: Send Alarm To Client=发送报警到客户端 Send Alarm E-Mail=发送报警到邮件 Refresh Photo=刷新图像 Save Settings=保存设置 ;报警设置页面 Alarm duration:=报警持续时间: E-Mail Setup=邮件设置 Sender:=发件人: Server:=服务器: UserID:=用户名: Passwd:=密码: Port:=端口: Crypto:=加密: Receiver1:=收件人地址1: Receiver2:=收件人地址2: Receiver3:=收件人地址3: Receiver4:=收件人地址4: Snapshot=抓拍设置 Default Setting=默认配置 Email Test=发送测试邮件 Email succeed, please check your mailbox=发送测试邮件成功,请去邮箱验证 Email fail, please check your parameter=发送测试邮件失败,请检查您的参数设置 Email Result=邮件测试结果 Seconds=秒 ;存储 None=未找到存储设备 Unformatted=未格式化 Storeage is full=存储设备已满 Recording...=录像中... Get ready=准备就绪 IPCam Setting=摄像机设置 Ok=确定 Cancel=取消 Storage Management=存储管理 ;用户管理页面 Start recording failed=开启录像失败 Stop recording failed=停止录像失败 Failed=格式化失败 Succeed=格式化完成 Store Card=存储卡 Already used=已使用 Stop Record=停止录像 Start Record=开始录像 Devices list:=设备列表: Refresh Lists=刷新列表 Device status:=设备状态: Used Space:=使用情况: Format=格式化 Format the SD card are you sure?=是否格式化SD卡? ;账户管理 IPCam Setting=摄像机设置 OK=确定 Exit=退出 Account Management=用户管理 ;用户管理页面 User Setting=帐号管理 User:=帐号: Group:=分组: Description:=说明: Password:=密码: Confirm:=确认密码: Refresh Lists=刷新列表 Add Account=增加 Delete=删除 Modify=修改 User=用户 Group=分组 Description=说明 Administrator=管理员 Common User=普通用户 New User=新帐户 User already exist please check the input!=用户已存在请检查用户名! Please input user and password!=请输入用户名和密码! The confirm passwd is different from passwd above!=两次密码输入不一致! Please input the user to delete!=请输入要删除的用户名! The user to delete is not exist!=要删除的用户不存在! Please input user and password to modify!=请输入要修改的用户名以及其密码! The user to modify is not exist!=要修改的用户不存在! The counts of user are limited!=用户已满! Password incorrect!=输入密码错误! Guest=访客 Please Select The Account=请选择帐户 No Permission !=用户无权限! ;登陆 Net Management=网络管理 Default Conn:=默认连接: ETH Conn:=有线连接 PPPOE Conn:=拨号连接 WIFI Conn:=无线连接 User Name:=用户名: Passwd:=密码: Refresh=刷新 Connect=连接 Net Info=网络信息 IP Address:=IP地址: Net Mask:=子网掩码: Gateway:=默认网关: DNS:=域名服务器: MAC:=网卡地址: YST ID:=云视通 ID: YST Status:=云视通状态: Online=在线 Offline=不在线 Disconnect=断开 Please Refresh Net List First!=请先刷新网络列表! User And Passwd Cann't Empty!=用户名或密码不能为空! Connecting=正在连接 Connect Succeed=连接成功 Connect Fail=连接失败 Connect Timeout=连接超时 Disconnecting=正在断开 Disconnect Succeed=断开成功 Disconnect Fail=断开失败 Disconnect Timeout=操作超时 Search In Net=搜索网络 Not Found In Net!=没有搜索到网络! Passwd Cann't Empty!=密码不能为空! ;网络管理 Network Management=网络管理 Network Type:=默认连接: Ethernet=有线连接 PPPOE=拨号连接 WIFI=无线连接 User ID:=用户名: Passwd:=密码: Search=搜索 Connect=连接 ID:=帐号: SSID:=无线SSID: Network Info=网络信息 IP:=IP地址: Netmask:=子网掩码: Gateway:=默认网关: DNS:=域名服务器: MAC:=网卡地址: DHCP=自动获取地址 #if(JVS_N72A_ISMART) CloudComputing ID:=云视通 ID: #else CloudSEE ID:=云视通 ID: #endif Status:=云视通状态: Online=在线 Offline=不在线 Disconnect=断开 Please search SSID at first!=请先搜索无线SSID! ID or Passwd Cann't be empty!=用户名或密码不能为空! Connecting=正在连接 Connect Succeed=连接成功 Connect Failed=连接失败 Connect Timeout=连接超时 Disconnecting=正在断开 Disconnect Succeed=断开成功 Disconnect Fail=断开失败 Disconnect Timeout=操作超时 Searching WIFI SSID=搜索网络 Not found WIFI SSID!=没有搜索到网络! Passwd cann't be NULL!=密码不能为空! ID or password can not be emputy!=用户名和密码不能为空! Please refresh and select WIFI AP!=请选择要连接的无线网络! Restart to enable the changing, are you sure?=修改网络配置需要重启设备是否确认修改? Refresh=刷新 Ok=确定 Exit=退出 User No Permission=用户无权限! The Last byte of the IP Should not be 255=IP地址第4字节不能为255 ;云台管理 IPCam Setting=摄像机设置 Iris=光圈 Focus=变焦 Zoom=变倍 Assist=辅助 Speed=速度 Preset=预置点 Patrol=巡航 Path & Watch=轨迹与守望 Scan=扫描 Name=名称 Add=添加 Delete=删除 Call=调用 Preset(%d)=预置点(%d) The Speep is 1~255=速度在1~255之间 Notice:This is beyond the Total!=提示:超出预置点总数! Error:This Presetting Location Number has been used!=错误:预置点重复,请换用其它预置点 Stay Time=停留时间 Start=启动 Stop=停止 Record Path=轨迹录制 Record=录制 Finish=完成 Watch=守望 Wait Time=等待时间 Left Limit=左边界 Right Limit=右边界 Start Scan=开始扫描 Stop Scan=结束扫描 Various Scan=花样扫描 NULL=NULL
目录 第一章校园网安全隐患分析 (3 1.1校园内网安全分析 (3 1.1.1 软件层次安全 (3 1.1.2设备物理安全 (3 1.1.3设备配置安全 (3 1.1.4 管理层次安全 (4 1.1.5 无线局域网的安全威胁 (4 1.2校园外网安全分析 (5 1.2.1黑客攻击 (5 1.2.2不良信息传播 (6 1.2.3病毒危害 (6 第二章设计简介及设计方案论述 (7 2.1校园网安全措施 (7 2.1.1防火墙 (7 2.1.2防病毒 (8 2.1.3无线网络安全措施 (10 2.2 H3C无线校园网的安全策略 (12 2.2.1可靠的加密和认证、设备管理 (12 2.2.2用户和组安全配置 (12 2.2.3非法接入检测和隔离 (13 2.2.4监视和告警 (14 第三章详细设计 (15 3.1 ISA软件防火墙的配置 (15 3.1.1基本配置 (16 3.1.2限制学校用机的上网 (16 3.1.3检测外部攻击及入侵 (16 3.1.4校园网信息过滤配置 (17 3.1.5网络流量的监控 (17 3.1.6无线局域网安全技术 (17 3.2物理地址(MAC过滤 (18 3.2.1服务集标识符( SSID 匹配 (18 3.2.2端口访问控制技术和可扩展认证协议 (20 第一章校园网安全隐患分析 1.1.1 软件层次安全 目前使用的软件尤其是操作系统或多或少都存在安全漏洞, 对网络安全构成了威胁。现在网络服务器安装的操作系统有UNIX、Windows NTP2000、Linux 等, 这些系统安全风险级别不同, UNIX因其技术较复杂通常会导致一些高级黑客对其进行攻击; 而Windows NTP2000 操作系统由于得到了广泛的普及, 加上其自身安全漏洞较多, 因此, 导致它成为较不安全的操作系统。在一段时期、冲击波病毒比较盛行, 冲击波这个利用微软RPC 漏洞进行传播的蠕虫病毒至少攻击了全球80 %的Windows 用户, 使他们的计算机无法工作并反复重启, 该病毒还引发了DoS攻击, 使多个国家的互联网也受到相当影响。 设备物理安全主要是指对网络硬件设备的破坏。网络设备包括服务器、交换机、集线 器、路由器、工作站、电源等, 它们分布在整个校园内, 管理起来非常困难。个别人可能出于各种目的, 有意或无意地损坏设备, 这样会造成校园网络全部或部分瘫痪。 设备配置安全是指在设备上要进行必要的一些设置(如服务器、交换机、防火墙、路 由器的密码等 , 防止黑客取得硬件设备的控制权。许多网管往往由于 没有在服务器、路由器、防火墙或可网管的交换机上设置必要的密码或密码设置得过 于简单, 导致一些略懂或精通网络设备管理技术的人员可以通过网络轻易取得对服务器、交换机 、路由器或防火墙等网络设备的控制权, 然后肆意更改这些设备的配置, 严重时甚至会导致整个校园网络瘫痪。 1.1.4 管理层次安全 一个健全的安全体系, 实际上应该体现的是"三分技术、七分管理", 网络的整体安全不是仅仅依赖使用各种技术先进的安全设备就可以实现的, 更重要的是体现在对人、对设备的安全管理以及一套行之有效的安全管理制度, 尤其重要的是加强对内部人员的管理和约束, 由于内部人员对网络的结构、模式都比较了解, 若不加强管理, 一旦有人出于某种目的破坏网络, 后果将不堪设想。IP 地址盗用、滥用是校园网必须加强管理的方面, 特别是学生区、机房等。IP 配置不当也会造成部分区域网络不通。如在学生学习机房, 有学生不甚将自己的计算机的IP 地址设置为本网段的网关地址, 这会导致整个学生机房无法正常访问外网。 1.1.5 无线局域网的安全威胁 利用WLAN进行通信必须具有较高的通信保密能力。对于现有的WLAN 产品,它的安全隐患主要有以下几点: 未经授权使用网络服务 由于无线局域网开放式的访问方式,非法用户可以未经授权而擅自使用网络资源,不仅 会占用宝贵的无线信道资源,增加带宽费用,还会降低合法用户的服 务质量。 地址欺骗和会话拦截 目前有很多种无线局域网的安全技术,包括物理地址(MAC过滤、服务集标识符(SSID匹 配、有线对等保密(WEP、端口访问控制技术(IEEE802.1x、WPA(Wi-Fi Protected Access、IEEE 802.11i等。面对如此多的安全技术,应该选择哪些技术来解决无线局域网的安全问题,才 能满足用户对安全性的要求。在无线环境中,非法用户通过侦听等手段获得网络中合法站 点的MAC地址比有线环境中要容易得多,这些合法的MAC地址可以被用来进行恶意攻击。另 外,由于IEEE802.11没有对AP身份进行认证,攻击者很容易装扮成合法AP进入网络,并进一 步获取合法用户的鉴别身份信息,通过会话拦截实现网络入侵。这些合法的MAC地址

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值