NTP概念簡介服務器
Network Time Protocol(NTP)是用來使計算機時間同步化的一種協議,它能夠使計算機對其服務器或時鐘源(如石英鐘,GPS等等)作同步化,它能夠提供高精準度的時間校訂(LAN上與標準間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議***。網絡
手動設置網絡設備的時區與時鐘:ide
時鐘設置:oop
clock set hh:mm:ss day month year加密
例:spa
clock set 12:30:00 May 1 2009調試
時區設置:server
clock timezone zone hours-offset [minutes-offset] //本命令在全局下打blog
例:接口
clock timezone GMT +8
show clock //查看時鐘
注意:在使用NTP同步時,只能同步時鐘,不能同步時區信息
1)設定NTP時鐘服務器
R1:
ntp master //本命令用來將設備設置爲NTP服務器
還能夠在配置時指定時鐘源的級別,若是沒指定,默認是8
ntp master 1 //將設備設爲一級時鐘源
查看狀態:
show ntp status
....Clock is synchronized, stratum 1, reference is .LOCL.
stratum表明時鐘源的級別,低級別的能夠跟高級別的同步,高級別的不能與低級別的同步
還能夠在NTP服務器上指定一個更新源地址,服務器將以這個地址爲源地址與客戶端通訊。
R1:
ntp source loopback 0 //將R1的環回口設爲更新源
2)設定NTP客戶端
能夠將其它設備設爲客戶端,NTP客戶端會跟着NTP服務器同步,以上圖爲例,將R2設爲客戶端。
R2:
ntp server 12.1.1.1 //在客戶端要說明服務器的地址
ntp server 12.1.1.1 source lo0 //也能夠指定更新源
show ntp status
...Clock is synchronized, stratum 2, reference is 12.1.1.1
show ntp associations //查看關聯
3)跟次級時鐘源同步:
還能夠讓路由器的系統時鐘與其對等體的時鐘同步(或對對等體的時鐘進行同步)。 如上圖所示,能夠讓R3跟着R2同步。
R3:
ntp peer 10.1.1.2
ntp peer 10.1.1.2 source lo0 //還能夠指定更新源
例:
路由器R1被設置爲NTP主時鐘,路由器R2被配置成經過NTP服務器R1進行時鐘同步,路由器R3則被配置成路由器R2的對等體,與R2的時鐘同步。
R1#clock set xx:xx:xx:xx
R1(config)# int e0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config)# ntp master 1
R2(config)#ntp server 10.1.1.1
R2(config)# int e0/0
R2(config-if)#ip add 10.1.1.2 255.255.255.0
R3(config)#ntp peer 10.1.1.2
兩個設備間互相使用peer命令,能夠互相同步。
4)廣播更新
NTP還能夠在本地鏈路上以廣播傳遞時鐘信息
例:
R1:
ntp master
int e0/0
ntp broadcast
R3:
int e0/0
ntp broadcast client
ntp broadcast: //是一個接口命令,用於指定一特定接口來發送N T P廣播包。
ntp broadcast client: //是一個接口命令,使路由器經過特定接口來接收N T P廣播包。
5)NTP認證: 單向認證
R1:(NTP Master)
ntp authentication-key 1 md5 wolf
ntp authenticate
ntp master 6
R2:
ntp authentication-key 1 md5 wolf
ntp authenticate
ntp trusted-key 1 //這一命令在客戶端作,在服務器有多個KEY的狀況下,指定信任哪個KEY
ntp server 12.1.1.2 key 1 //指定發送自已哪一個KEY去和對方比較
注意:NTP的認證其實只是一個單向認證,客戶端會對服務器發過來的包作認證,而服務器是不會對客戶端的包作認證
6)硬件時鐘
高檔的路由器/交換機上提供了硬件時鐘,稱爲calendar,與clock相互獨立,在系統重啓時軟件clock會自動使用calendar的值。能夠用命令calendar set設置硬件時鐘的值,用命令clock read-calendar將系統時鐘設置爲calendar的值,也能夠用命令clock update-calendar將當前系統時鐘值寫入calendar中。
calendar set //設置硬件時鐘的值
clock read-calendar //將calendar設置爲系統時鐘的值
ntp update-calendar //將當前系統時鐘值寫入calendar中
clock calendar-valid //將硬件時鐘源做爲權威時鐘源(此命令不是必須的。)
show calendar
在客戶端,用命令ntp update-calendar 能夠讓NTP協議定時更新calendar的值。若是更改了時鐘源的時間,須要數分鐘才能同步到客戶端,更新calendar須要更長的時間。經常使用的調試命令有:show ntp status 和 show ntp associations等。
注意:NTP的會聚(convergence)可能須要長達半個小時,這意味着在修改NTP主系統時鐘以後,再過半個小時其它的時鐘才進行同步。這是由於NTP將時鐘的改變視爲時鐘系統的不穩定。NTP需在等待系統穩定後纔會進行同步和傳遞時鐘的改變