命令簡化路由器輸入操作的說明?

一、系統的預設設定

  命令歷史功能對於多次使用命令很長或者很複雜的命令是非常有幫助的。在預設情況下,命令歷史功能是啟動的。也就是說,系統會自動在歷史緩衝區中 記錄最近使用過的十條命令。當然這些預設的設定,網路管理員可以根據需要進行更改。如可以重新設定命令歷史快取的大小,讓其儲存更多的命令;或者說關閉命 令快取功能等等。在瞭解後續的操作以及維護命令歷史功能之前,掌握這些預設配置是非常有必要的。

  二、最簡單的應用:使用Tab鍵補全命令列

  在路由器管理中,有些命令比較長。如在思科的IOS軟體中,大部分用的都是英文單詞,很少使用縮略詞。此時如果在維護的時候,要將一個單詞輸全,這不但對網路管理員的英文水平有比較高的要求,而且效率也不高。如要啟用路由器的高階編輯特性,那麼就需要輸入命令terminalediting。一個字元都不能錯。這個命令相對來說還是比較簡單的。但是要一字不差的輸入完整,即使對於英語過8級的管理員來說也有不小的難度。

  那麼有沒有簡單的方法呢?答案是肯定的。在命令歷史記錄功能中,有一個命令補全的功能。也就是說,管理員在輸入命令的時候,不需要全部輸入完整。而只需要輸入前面幾個字元,然後鍵入Tab鍵,系統就會自動補全後面的內容。簡單的說,就是在輸入命令的時候,管理員可以輸入表示這個命令的唯一字串,然後按下Tab鍵,使用者介面就會替你完成後續的命令列。注意這裡有一個唯一性的要求。

  如上圖所示,如果要在命令列中輸入terminal,不需要輸全。只需要輸入前面幾個字元,如te,然後按一下Tab鍵,系統就會自動將後面的字元補全,從而簡化系統管理員的輸入。

  另外需要說明的一點是,這個命令補全功能跟Linux作業系統下的命令補全功能有一定的差異。在Linux作業系統下,並沒有唯一性的要求。也 就是說,如果輸入的字元不唯一的話,此時輸入Tab鍵,系統將會列出所有以這個輸入的字元開頭的命令。而在IOS命令列中,如果輸入的字元不唯一,那麼按 Tab鍵將不會有任何反應。或許在以後的IOS版本中這方面有所改進。筆者剛開始學的是Linux作業系統,後來才轉向網路維護。在剛開始的時候,特別的不習慣。相信不好網路管理員也會更筆者有類似的感受。

  三、檢視並呼叫最近使用過的命令

  命令歷史記錄功能核心的任務是記錄使用者最近所使用的命令。在路由器維護中,管理員往往需要檢視最近使用的命令,以瞭解最近對路由器進行的操作,或者選擇某條命令重新執行。要完成這項工作的話,可以通過命令show history來完成。如下圖所示:

  不過在使用這個命令的時候,需要注意一個問題。如上圖所示,筆者一開始使用了一條命令(設定命令緩衝區的大小),但是系統顯示命令出錯,無法正 常執行。可是在命令歷史記錄中,仍然會顯示出這條命令的記錄。也就是說,無論管理員輸入的命令是否是正確的,系統都會一五一十的記錄下來。而不是說,命令歷史中的記錄都是被正確執行的。如此的話,使用者後續在選擇命令執行的時候,就需要有一個核對的動作。即需要判斷當前的命令語法是否有錯誤等等。

  還有一點需要說明的是,路由器有幾種執行模式。如介面模式、子介面模式、Linemoshi 、路由器模式、路由對映模式等等。還包括特權模式、全域性配置模式等等。注意這些模式並不是簡單的功能劃分而已。其核心的功能是許可權的控制。如在非特權模式下,只能夠檢視路由器的相關資訊,而不能夠對其進行修改。如果要進行修改的話,如需要更改IP地址等等,這必須要進入特權模式。有時候還需要進入到全域性配置模式或者其他的特定配置模式。筆者之所以提出這些工作模式,主要是為了說明在命令歷史記錄中,並不會借鑑這種工作模式。這是什麼意思呢?假設網路管理員 在全域性配置模式下,利用命令更改了路由器的名字。然後退回到非特權模式。此時使用方向鍵來檢視命令歷史記錄的時候,仍然可以看到剛才的命令。但是如果按下回車鍵來執行這個命令的時候,則系統就會報錯。因為缺乏相關的許可權或者對應的工作模式不對。

  那麼如何來調取命令歷史記錄中的命令重新執行呢?這裡有好幾種方法。但命令列中地記錄不多,或者說需要呼叫剛才使用過的命令的時候,這可以採用方向鍵來調取。如點一下向上的方向鍵,則系統就會調出剛才使用過的命令。由於這種方法相對簡單,筆者比較喜歡使用。另外,如果管理員有需要的話,也可以使 用組合鍵來完成。如Ctrl鍵+數字鍵,這對組合鍵可以用來指定執行下一條命令。其次使用Ctrl+P組合鍵(最近使用的命令出現在最前面)可以重執行新 最近一條(即前一條)命令。其對應的就是向上的方向鍵和向下的方向鍵。利用組合鍵顯然沒有直接使用方向鍵那麼方便。當然蘿蔔青菜各有所愛,具體使用哪種方式還是需要根據管理員的習慣而定。

  四、調整緩衝區的大小

  筆者在文章一開頭就談到,預設情況下系統記錄的歷史命令只有十條,即最近使用過的十條命令(包括沒有執行成功的)。在有些情況下,這點記錄可能不夠用。特別是在網路組建的時候,需要大量的配置與測試工作。此時管理員就喜歡系統記錄的命令能夠多一點,以方便他們使用。

  在IOS中,允許使用者更改命令緩衝區的大小。如上面第一張圖所示,命令TerminalHistory就是用來設定命令緩衝區大小的命令。如可以將其設定為20或者更多。不過一般來說,不建議設定的太多。因為這些歷史紀錄其是儲存在路由器的記憶體當中的。如果記錄數量一多的話,就會佔用路由器寶貴的記憶體,從而影響到路由器的正常執行。通常來說,只要路由器執行正常之後,筆者建議還是將這個緩衝 區的大小恢復為預設值最好。如果確實不必要的話,還可以將其關閉。這有可能是從安全形度考慮。如攻擊者可以從歷史命令中檢視路由器的最近配置,包括口令等資訊。IOS中有一種口令是明文儲存的,從歷史命令中可以看到這個密碼資訊。所以這歷史命令記錄還是一把雙刃劍。一方面其可以方便網路管理員的操作,另一方面其也會將一些機密資訊“奉送”給攻擊者,為其入侵提供方便。

相關問題答案