Archive(Cisco)

概念

Archive是一個啟用自動保存的指令,能保存甚麼?Running-Config跟Config的Log。

Archive在管理上是很實用的,聽同學說在設備上的一舉一動都會被錄下來,這點可以透過Archive去達成,看得一清二楚。

由於Archive是思科的功能,似乎在其他家沒有,因此就不特別分類,並且在此篇完成實戰。

目的

瞭解Archive的設定。

設定

TFTP-Server(11.12.13.1)可以使用3CDeamon,將電腦跟R1串起來。


!R1
config t
int g0/0
ip addr 11.12.13.2 255.255.255.0
no sh
exit

首先要先PING到TFTP-Server,出現”!”就可以往下進行。

進入到Global Configuration mode,輸入指令 archive。

R1(config)#archive
R1(config-archive)#

這裡對archive其中兩個指令說一下,其他的還好。

path: path tftp://11.12.13.1/$h
這個指令可以把Running-Config用tftp存到11.12.13.1,$h為hostname,進到路徑會看到 R1-0之類的,-0為Config編號。

maximum:預設是10,如果沒有改,最多只會保留10個archive config。

path tftp://11.12.13.1/$h

接著手動保存。

end
archive config

可以看到冒出”!”,config透過TFTP方式成功送到Server。

show archive 

可以看到第一筆已經在出現了,編號為0。

這樣有個狀況,沒有辦法在Config有更動的時候,即時備份出一份。一旦Config被保存的時候,Archive就應該馬上匯出一份。

R1(config-archive)#write-memory

馬上來嘗試有沒有效果。

copy running-config startup-config
write memory

這兩者都會觸發Archive,然後直接輸出一份config。

要是忘記保存呢?是不是就當前Running-Config就不會留下了?可以下指令,每隔一段時間就執行archive,去保存config。

為了區分是Running-config還是Startup-config,所以先做一點變更。

R1(config)#
int loopback 1
ip addr 1.1.1.1 255.255.255.255
exit
archive
time-period 1 !每隔一分鐘就保存Running-config

這裡很明顯了,是保存Running-config。等待一分鐘來看看,確實有收到,裡面也有loopback的設定。

由於有了變動,現在,要去嘗試版本控制最重要的功能:發現各版本區別。

R1#
show archive config differences tftp://11.12.13.1/R1-0

這是比較Running-config跟指定的檔案差別,跟第一個檔案相比,變動的部分都會顯示出來,就能知道兩者差異。

不過,這是還不夠的。這只能看到Config的變動,但是沒有順序,沒有誰下的,這樣對於安全性是不夠的。接下來要啟用log config,這樣一旦對設定有疑問,就能看出要找誰。

R1(config-archive)#log config
R1(config-archive-log-cfg)#logging enable
R1#show archive log config all
 idx   sess           user@line      Logged command
    1     1        console@console  |  logging enable

看到了第一個被記錄的指令是由console連入,下 logging enable。

接著,新增其他的帳號。

R1(config)#
username jn privilege 15 password jn
line vty 0 4
login local
exit
R1#show archive log config all
 idx   sess           user@line      Logged command
    1     1        console@console  |  logging enable
    2     1        console@console  |  username jn privilege 15 password jn
    3     1        console@console  |  !config: USER TABLE MODIFIED
    4     1        console@console  |line vty 0 4
    5     1        console@console  | login local
    6     1        console@console  | exit

這裡可以直接看到,新增使用者jn的密碼是jn。密碼是很敏感的事情,因此需要被隱藏起來。

R1(config)#
archive
log config
hidekeys
exit
exit
username jn2 privilege 15 password jn2
R1#show archive log config all
 idx   sess           user@line      Logged command
    1     1        console@console  |  logging enable
    2     1        console@console  |  username jn privilege 15 password jn
    3     1        console@console  |  !config: USER TABLE MODIFIED
    4     1        console@console  |line vty 0 4
    5     1        console@console  | login local
    6     1        console@console  | exit
    7     2        console@console  |archive
    8     2        console@console  | log config
    9     2        console@console  |  hidekeys
   10     2        console@console  |exit
   11     2        console@console  |  exit
   12     2        console@console  |username jn2 privilege 15 password *****
   13     2        console@console  |!config: USER TABLE MODIFIED

新增的使用者jn2,看到的密碼變成*****。

接著使用telnet登入,然後新增使用者jn3。

R1#

config t
username jn3 privilege 15 password jn3
exit
R1#show archive log config all

   14     3             jn@vty0     |username jn3 privilege 15 password *****
   15     3             jn@vty0     |!config: USER TABLE MODIFIED

看到連入的jn做了那些設定。

不過這裡log config只是暫存的,一旦重新開機,就會全部消失。

這些log config紀錄可以馬上傳到syslog server,讓log可以被保存。

R1(config-archive-log-cfg)#notify syslog !也要另外設定logging server

再下一些指令,從syslog server上看,的確可以看到。

到這裡已經可以把誰下了甚麼指令跟順序都記錄起來,方便日後的管理。