最新消息:阿啰哈,本人90后,目前单身,欢迎妹子们来撩!.(。→‿←。) 微信:frank01991

NTP

Cisco 林志斌 1005浏览

默认情况未启用NTP,下面是默认NTP的一些状态:
NTP2#sh run | i ntp

NTP2#sh ntp stat
Clock is unsynchronized, stratum 16, no reference clock(层次为16,意味着无法进行NTP时间同步)
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is D0FA479F.8FD4A6BB (10:27:43.561 UTC Mon Feb 7 2011)
clock offset is -22.1436 msec, root delay is 247.96 msec
root dispersion is 916.15 msec, peer dispersion is 893.97 msec

NTP2#sh ntp ass

      address         ref clock     st  when  poll reach  delay  offset    disp
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

 

现在有3台路由器串连着(NTP_Ser---NTP2---NTP3,NTP工作在应用层,请先配置好三层IP或路由协议),下面是现在各个设备的时间,暂时都不一致:
NTP_Ser#sh clock
10:33:48.835 UTC Mon Feb 7 2011

NTP2#sh clock
.10:33:37.463 UTC Mon Feb 4 2010

NTP3#sh clock
*00:29:50.395 UTC Fri Mar 1 2002

 

NTP_Ser路由器作为整个网络的时间源,现在来校正NTP_Ser的时间:
NTP_Ser#clock set 17:33:00 feb 10 2011

.Feb 10 17:33:00.000: %SYS-6-CLOCKUPDATE: System clock has been updated from 10:37:06 UTC Mon Feb 7 2011 to 17:33:00 UTC Thu Feb 10 2011, configured from console by console.
NTP_Ser#sh clo
.17:33:06.983 UTC Thu Feb 10 2011

 

现在把NTP_Ser路由器设置为网络中的NTP时间源:
NTP_Ser(config)#ntp master ?
  <1-15>  Stratum number
  <cr>

NTP_Ser(config)#ntp master 1

 

立刻查看一下NTP_Ser路由器的NTP状态:
NTP_Ser(config)#do sh ntp stat
Clock is synchronized, stratum 1, reference is .LOCL.(时间源的层次被设置为1,这意味着该NTP服务器拥有最高的层次,若有多个时间源,那么其它NTP客户端会根据层次级别来优先选用层次最高的服务器的时间作为同步。当然,实际在多个时间源里挑选一个以同步时间时,会有一些规则,并不一定层次最高的就会被用作同步,进一步的信息请查阅cisco的技术文档或E-mail于我分享相关技术文档。)
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is D0FEA019.49BE1188 (17:34:17.288 UTC Thu Feb 10 2011)
clock offset is 0.0000 msec, root delay is 0.00 msec
root dispersion is 7875.02 msec, peer dispersion is 7875.02 msec

NTP_Ser(config)#do sh ntp ass

      address         ref clock     st  when  poll reach  delay  offset    disp
*~127.127.7.1      .LOCL.            0    61    64    3     0.0    0.00  7875.0(NTP服务器使用自己的本地时间作为参考时间)
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

 

现在把NTP2路由器的NTP服务器设置为NTP_Ser:
NTP2(config)#do sh clo(同步前的时间)
.10:41:40.531 UTC Mon Feb 4 2010
NTP2(config)#ntp server 192.168.1.1
NTP2(config)#do sh clo(同步后的时间)
17:38:03.837 UTC Thu Feb 10 2011

NTP2(config)#do sh ntp stat
Clock is synchronized, stratum 2, reference is 192.168.1.1(把NTP服务器作为时间源的设备的层次都是2)
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is D0FEA0FF.D179B6BB (17:38:07.818 UTC Thu Feb 10 2011)
clock offset is 33.8794 msec, root delay is 240.33 msec
root dispersion is 926.99 msec, peer dispersion is 18.08 msec

NTP2(config)#do sh ntp ass

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.1.1      .LOCL.            1     2    64  377   252.1   88.18    36.0(正在使用192.168.1.1作为NTP同步的时间源)
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

 

再把NTP3路由器的NTP服务器设置为NTP_Ser:
NTP3(config)#do sh clo(同步前的时间)
*00:41:04.507 UTC Fri Mar 1 2002
NTP3(config)#ntp server 192.168.1.1
NTP3(config)#do sh clo(同步后的时间)
17:41:17.495 UTC Thu Feb 10 2011

NTP3(config)#do sh ntp stat
Clock is synchronized, stratum 2, reference is 192.168.1.1(把NTP服务器作为时间源的设备的层次都是2,即使NTP3从NTP_Ser得到的NTP信息,中间需要经过NTP2,因此,并不是说中间经过的路由器个数就是层次的分界。层次的概念不在此赘述,感兴趣的网友可以在cisco网站查询相关信息或E-mail于我分享相关技术文档。)
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**18
reference time is D0FEA1BB.29F068F0 (17:41:15.163 UTC Thu Feb 10 2011)
clock offset is -29.7257 msec, root delay is 259.86 msec
root dispersion is 76.93 msec, peer dispersion is 47.16 msec

NTP3(config)#do sh ntp ass

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.1.1      .LOCL.            1     9    64  377   259.9  -29.73    47.2(正在使用192.168.1.1作为NTP同步的时间源)
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

 

NTP3路由器的另外一种配置(配置前先把NTP3路由器上的NTP服务器删除并把时间修改为与NTP_Ser的不一致,以方便后面的比较):
NTP3(config)#no ntp server 192.168.1.1
NTP3(config)#do clock set 11:11:00 Dec 22 2022
.Dec 22 11:11:00.000: %SYS-6-CLOCKUPDATE: System clock has been updated from 17:47:22 UTC Thu Feb 10 2011 to 11:11:00 UTC Thu Dec 22 2022, configured from console by console.
NTP3(config)#do sh clo
.11:11:07.012 UTC Thu Dec 22 2022

NTP3(config)#ntp peer 192.168.2.1(指定需要同步的对方的IP,这是NTP2路由器的IP)
NTP3(config)#do sh clo
17:47:49.419 UTC Thu Feb 10 2011

NTP3(config)#do sh ntp stat
Clock is synchronized, stratum 3, reference is 192.168.2.1(现在NTP的层次变成了3,NTP3会直接向NTP2发送时间同步请求信息,并从NTP2上进行同步,而不是像之前的从NTP_Ser路由器得到NTP同步信息,进而优化了NTP数据包的传输路径,相对减轻网络负担。peer和server间的区别不在此赘述,感兴趣的网友可以在cisco网站查询相关信息或E-mail于我分享相关技术文档。)
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is D0FEA348.02EAE6AE (17:47:52.011 UTC Thu Feb 10 2011)
clock offset is 57.1345 msec, root delay is 320.48 msec
root dispersion is 343.22 msec, peer dispersion is 238.72 msec

NTP3(config)#do sh ntp ass

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.2.1      192.168.1.1       2     0    64  377   128.2   57.13   100.8
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured

补充:当你在NTP client中sh run时,会看到一条类似于ntp clock-period 17179869的命令,不要手工配置该命令!下面一段话是有关该命令的解释(摘自cisco技术原文档):
Note: The ntp clock-period command is added automatically to jump-start the NTP frequency compensation when the box is rebooted. (Do not configure this command manually.) This is essentially a representation of the frequency of the crystal used as the local timebase, and may take several days to calculate otherwise. Use the write mem command after a week or so to save a good value.

 

好,下面来看看NTP的一个安全特性——认证!因为NTP信息使用的是UDP 123端口进行传输的,所以,传输是不可靠的,这意味着NTP固有一定的安全脆弱性!下面会介绍cisco设备中如何开启NTP的安全认证,但这对于安全性要求更严格的生产网络,这样的安全措施还是不够的,还应结合NTP的访问控制来进一步加固它的安全性,而后面这部分内容不会在这篇文章中涉及,感兴趣的网友可以到cisco网站查阅相关信息或E-mail于我分享相关技术文档。

先把路由器NTP2和NTP3的所有NTP配置清除,并把时间调为与NTP_Ser不一致以方便后面比较……

在NTP_Ser上启用认证:
NTP_Ser(config)#ntp authenticate
NTP_Ser(config)#ntp authentication-key 163 md5 cisco
NTP_Ser(config)#ntp trusted-key 163

在NTP2上启用认证:
NTP2(config)#do sh clo(同步前的时间)
.11:13:22.048 UTC Tue Oct 3 2000
NTP2(config)#ntp authenticate(开启NTP认证)
NTP2(config)#ntp authentication-key 163 md5 cisco(把authentication-key与密码相关联)
NTP2(config)#ntp tr 163(信任该key,也就是调用该key)
NTP2(config)#ntp ser 192.168.1.1 key 163(指定NTP服务器和与之关联的key)
NTP2(config)#do sh clo(同步后的时间)
18:31:51.235 UTC Thu Feb 10 2011

在NTP3上启用认证:

NTP3(config)#do sh clo(同步前的时间)
*00:49:46.263 UTC Fri Mar 1 2002
NTP3(config)#ntp authenticate
NTP3(config)#ntp authentication-key 163 md cisco
NTP3(config)#ntp tr 163
NTP3(config)#ntp peer 192.168.2.1 key 163
NTP3(config)#do sh clo(同步后的时间)
18:35:06.994 UTC Thu Feb 10 2011

可以通过抓包来分析需要认证的NTP包

NTP Server和Client每64s为一个更新周期,对时间进行一次同步:

下图是一个生产网络中使用的NTP时间源,参考时间为GPS:

 

附加(但不限于此):
These are the possible reasons that routers are not able to sync with the public time servers:
Access control lists that do not permit UDP port 123 packets to come through 
Misconfiguration in the routers, such as the clock timezone and clock summer-time commands are absent on the routers
Public time server is down
NTP server software on NT or UNIX is misconfigured
More traffic is on the router and more traffic on the way to the server
NTP master lost sync and router loses sync periodically
High CPU utilization
High offset and more between the server and the router (use the show ntp association detail command to check for this)


下面是本人实验时认识到的配置认证时的两个注意事项(如有纰漏,恳请斧正!感谢!):
在指定server或peer时,要在后面关联上相应的key,否则认证不生效,但时间仍然可以同步。
只配置一端的认证会导致认证失败而无法进行时间同步。


为了提高容错能力,可以适当设置冗余的ntp server或ntp peer等。
如果使用Server操作系统充当NTP时间源,那么,Windows中的W32Time服务(SNTP)不能为cisco设备的提供时间同步,而cisco设备更钟爱GUN/Linux或Unix服务器为其提供时间同步。

注意,默认使用的是UTC时间标准,所以,按照相应的规定,我们中国的时间位于东八区,应该在原有的时间上加8个小时,可以使用clock timezone命令来校正时区。(另外,国外的不少国家使用夏时制,但我在这里也没有涉及,因为中国在以前废止了夏时制且至今未使用,感兴趣网友的可以去网上搜索相关知识,很有意思的)但是,话又说回来,因为我这里的实验使用的是本地的设备作为时间源,所以也就没有顾及时区的问题,但是,如果你选用了“公共时间服务器(Public Time Server)”作为时间源,那么,必须校正你的时区,以保证时间的精确性!
本文只涉及了NTP的一部分配置(个人感觉NTP还是蛮复杂的……)。NTP关联选用的是client/Server模式,还有另外两个模式没有涉及;NTP的设计标准也没有涉及;NTP三种架构也没有涉及等等,有关更多的NTP更多信息,请参阅cisco技术文档。

鉴于本人水平有限,难免有纰漏之处,恳请大家给予斧正,不胜感激!


转载请注明:林志斌 » NTP

发表评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址