命令歷史簡(jiǎn)化路由器輸入操作
在Dos環(huán)境中(比較新的版本),可以通過(guò)上下箭頭來(lái)查找最近用過(guò)的命令。在Linux操作系統(tǒng)的命令行環(huán)境中,也有類似的功能。這些命令歷史記錄可以簡(jiǎn)化管理員在命令行下的工作。其實(shí)在路由器的IOS操作系統(tǒng)中,也有這方面的功能。而且功能要比Windows或者Linux操作系統(tǒng)下的命令行環(huán)境強(qiáng)大的多。可惜的是,有不少網(wǎng)絡(luò)管理員在這方面只是掌握了一點(diǎn)皮毛。在這篇文章中,筆者就對(duì)此做一些詳細(xì)的說(shuō)明,希望對(duì)各位讀者有所幫助。
一、系統(tǒng)的默認(rèn)設(shè)置
命令歷史功能對(duì)于多次使用命令很長(zhǎng)或者很復(fù)雜的命令是非常有幫助的。在默認(rèn)情況下,命令歷史功能是啟動(dòng)的。也就是說(shuō),系統(tǒng)會(huì)自動(dòng)在歷史緩沖區(qū)中記錄最近使用過(guò)的十條命令。當(dāng)然這些默認(rèn)的設(shè)置,網(wǎng)絡(luò)管理員可以根據(jù)需要進(jìn)行更改。如可以重新設(shè)置命令歷史緩存的大小,讓其保存更多的命令;或者說(shuō)關(guān)閉命令緩存功能等等。在了解后續(xù)的操作以及維護(hù)命令歷史功能之前,掌握這些默認(rèn)配置是非常有必要的。
二、最簡(jiǎn)單的應(yīng)用:使用Tab鍵補(bǔ)全命令行
在路由器管理中,有些命令比較長(zhǎng)。如在思科的IOS軟件中,大部分用的都是英文單詞,很少使用縮略詞。此時(shí)如果在維護(hù)的時(shí)候,要將一個(gè)單詞輸全,這不但對(duì)網(wǎng)絡(luò)管理員的英文水平有比較高的要求,而且效率也不高。如要啟用路由器的高級(jí)編輯特性,那么就需要輸入命令terminal editing。一個(gè)字符都不能錯(cuò)。這個(gè)命令相對(duì)來(lái)說(shuō)還是比較簡(jiǎn)單的。但是要一字不差的輸入完整,即使對(duì)于英語(yǔ)過(guò)8級(jí)的管理員來(lái)說(shuō)也有不小的難度。
那么有沒(méi)有簡(jiǎn)單的方法呢?答案是肯定的。在命令歷史記錄功能中,有一個(gè)命令補(bǔ)全的功能。也就是說(shuō),管理員在輸入命令的時(shí)候,不需要全部輸入完整。而只需要輸入前面幾個(gè)字符,然后鍵入Tab鍵,系統(tǒng)就會(huì)自動(dòng)補(bǔ)全后面的內(nèi)容。簡(jiǎn)單的說(shuō),就是在輸入命令的時(shí)候,管理員可以輸入表示這個(gè)命令的唯一字符串,然后按下Tab鍵,用戶界面就會(huì)替你完成后續(xù)的命令行。注意這里有一個(gè)唯一性的要求。
如上圖所示,如果要在命令行中輸入terminal,不需要輸全。只需要輸入前面幾個(gè)字符,如te,然后按一下Tab鍵,系統(tǒng)就會(huì)自動(dòng)將后面的字符補(bǔ)全,從而簡(jiǎn)化系統(tǒng)管理員的輸入。
另外需要說(shuō)明的一點(diǎn)是,這個(gè)命令補(bǔ)全功能跟Linux操作系統(tǒng)下的命令補(bǔ)全功能有一定的差異。在Linux操作系統(tǒng)下,并沒(méi)有唯一性的要求。也就是說(shuō),如果輸入的字符不唯一的話,此時(shí)輸入Tab鍵,系統(tǒng)將會(huì)列出所有以這個(gè)輸入的字符開(kāi)頭的命令。而在IOS命令行中,如果輸入的字符不唯一,那么按Tab鍵將不會(huì)有任何反應(yīng)。或許在以后的IOS版本中這方面有所改進(jìn)。筆者剛開(kāi)始學(xué)的是Linux操作系統(tǒng),后來(lái)才轉(zhuǎn)向網(wǎng)絡(luò)維護(hù)。在剛開(kāi)始的時(shí)候,特別的不習(xí)慣。相信不好網(wǎng)絡(luò)管理員也會(huì)更筆者有類似的感受。
三、查看并調(diào)用最近使用過(guò)的命令
命令歷史記錄功能核心的任務(wù)是記錄用戶最近所使用的命令。在路由器維護(hù)中,管理員往往需要查看最近使用的命令,以了解最近對(duì)路由器進(jìn)行的操作,或者選擇某條命令重新執(zhí)行。要完成這項(xiàng)工作的話,可以通過(guò)命令show history來(lái)完成。如下圖所示:
不過(guò)在使用這個(gè)命令的時(shí)候,需要注意一個(gè)問(wèn)題。如上圖所示,筆者一開(kāi)始使用了一條命令(設(shè)置命令緩沖區(qū)的大小),但是系統(tǒng)顯示命令出錯(cuò),無(wú)法正常執(zhí)行??墒窃诿顨v史記錄中,仍然會(huì)顯示出這條命令的記錄。也就是說(shuō),無(wú)論管理員輸入的命令是否是正確的,系統(tǒng)都會(huì)一五一十的記錄下來(lái)。而不是說(shuō),命令歷史中的記錄都是被正確執(zhí)行的。如此的話,用戶后續(xù)在選擇命令執(zhí)行的時(shí)候,就需要有一個(gè)核對(duì)的動(dòng)作。即需要判斷當(dāng)前的命令語(yǔ)法是否有錯(cuò)誤等等。
還有一點(diǎn)需要說(shuō)明的是,路由器有幾種執(zhí)行模式。如接口模式、子接口模式、Linemoshi 、路由器模式、路由映射模式等等。還包括特權(quán)模式、全局配置模式等等。注意這些模式并不是簡(jiǎn)單的功能劃分而已。其核心的功能是權(quán)限的控制。如在非特權(quán)模式下,只能夠查看路由器的相關(guān)信息,而不能夠?qū)ζ溥M(jìn)行修改。如果要進(jìn)行修改的話,如需要更改IP地址等等,這必須要進(jìn)入特權(quán)模式。有時(shí)候還需要進(jìn)入到全局配置模式或者其他的特定配置模式。筆者之所以提出這些工作模式,主要是為了說(shuō)明在命令歷史記錄中,并不會(huì)借鑒這種工作模式。這是什么意思呢?假設(shè)網(wǎng)絡(luò)管理員在全局配置模式下,利用命令更改了路由器的名字。然后退回到非特權(quán)模式。此時(shí)使用方向鍵來(lái)查看命令歷史記錄的時(shí)候,仍然可以看到剛才的命令。但是如果按下回車鍵來(lái)執(zhí)行這個(gè)命令的時(shí)候,則系統(tǒng)就會(huì)報(bào)錯(cuò)。因?yàn)槿狈ο嚓P(guān)的權(quán)限或者對(duì)應(yīng)的工作模式不對(duì)。
那么如何來(lái)調(diào)取命令歷史記錄中的命令重新執(zhí)行呢?這里有好幾種方法。但命令行中地記錄不多,或者說(shuō)需要調(diào)用剛才使用過(guò)的命令的時(shí)候,這可以采用方向鍵來(lái)調(diào)取。如點(diǎn)一下向上的方向鍵,則系統(tǒng)就會(huì)調(diào)出剛才使用過(guò)的命令。由于這種方法相對(duì)簡(jiǎn)單,筆者比較喜歡使用。另外,如果管理員有需要的話,也可以使用組合鍵來(lái)完成。如Ctrl鍵+數(shù)字鍵,這對(duì)組合鍵可以用來(lái)指定執(zhí)行下一條命令。其次使用Ctrl+P組合鍵(最近使用的命令出現(xiàn)在最前面)可以重執(zhí)行新最近一條(即前一條)命令。其對(duì)應(yīng)的就是向上的方向鍵和向下的方向鍵。利用組合鍵顯然沒(méi)有直接使用方向鍵那么方便。當(dāng)然蘿卜青菜各有所愛(ài),具體使用哪種方式還是需要根據(jù)管理員的習(xí)慣而定。
四、調(diào)整緩沖區(qū)的大小
筆者在文章一開(kāi)頭就談到,默認(rèn)情況下系統(tǒng)記錄的歷史命令只有十條,即最近使用過(guò)的十條命令(包括沒(méi)有執(zhí)行成功的)。在有些情況下,這點(diǎn)記錄可能不夠用。特別是在網(wǎng)絡(luò)組建的時(shí)候,需要大量的配置與測(cè)試工作。此時(shí)管理員就喜歡系統(tǒng)記錄的命令能夠多一點(diǎn),以方便他們使用。
在IOS中,允許用戶更改命令緩沖區(qū)的大小。如上面第一張圖所示,命令Terminal History就是用來(lái)設(shè)置命令緩沖區(qū)大小的命令。如可以將其設(shè)置為20或者更多。不過(guò)一般來(lái)說(shuō),不建議設(shè)置的太多。因?yàn)檫@些歷史紀(jì)錄其是保存在路由器的內(nèi)存當(dāng)中的。如果記錄數(shù)量一多的話,就會(huì)占用路由器寶貴的內(nèi)存,從而影響到路由器的正常運(yùn)行。通常來(lái)說(shuō),只要路由器運(yùn)行正常之后,筆者建議還是將這個(gè)緩沖區(qū)的大小恢復(fù)為默認(rèn)值最好。如果確實(shí)不必要的話,還可以將其關(guān)閉。這有可能是從安全角度考慮。如攻擊者可以從歷史命令中查看路由器的最近配置,包括口令等信息。IOS中有一種口令是明文存儲(chǔ)的,從歷史命令中可以看到這個(gè)密碼信息。所以這歷史命令記錄還是一把雙刃劍。一方面其可以方便網(wǎng)絡(luò)管理員的操作,另一方面其也會(huì)將一些機(jī)密信息“奉送”給攻擊者,為其入侵提供方便。
所以對(duì)這個(gè)命令歷史記錄功能在使用過(guò)程中,還是需要謹(jǐn)慎。