2016年10月7日 星期五

Cisco ios 基礎操作

參考來源: https://www.cyut.edu.tw/~ywfan/201109ios/Chapter3.htm


Chapter 3 Cisco ios 基礎操作

1.存取命令列介面 (CLI)

人們可以透過多種方法存取 CLI 環境。最常用的方法有:
a.主控台

主控台的用途如下:
初次設定網路設備時,因為網路環境未設定,只能使用主控台模式。
在遠端存取不可行時 ,只能使用主控台模式。
密碼恢復程序時,只能使用主控台模式。

b.Telnet 或 SSH
執行 Telnet 可以登入 Cisco 設備上的 VTY虛擬介面 。IOS會要求 Telnet 會談使用密碼。

SSH 通訊協定是一種更安全的遠端設備存取方法。此通訊協定提供與 Telnet 相似的遠端登入結構,但使用更安全的網路加密通道。

SSH 會談會將使用者端與 IOS 設備之間的所有通信加密。這可使使用者 ID、密碼和管理會談的詳細資訊保持私密。

基於安全,只要可能,就應該始終用 SSH 替代 Telnet。

c.輔助埠

使用輔助連接埠連接的數據機,再透過電話撥號連線建立會談。

需要遠方工程師技術支援時,才需要使用輔助連接埠替代主控台連接埠。



2.設定檔的類型

每台 Cisco 網路設備包含兩個設定檔:執行設定檔 與啟動設定檔 。


啟動設定檔  ( startup-config)

啟動設定檔 ( startup-config) 用於在系統啟動程序中設定設備。 startup-config 儲存在 NVRAM。

每次路由器啟動或重載時,都會將 startup-config 檔載入到RAM中。該設定檔一旦載入到記憶體中,就被視為執行設定組態(即 running-config )。

執行設定 (running-config )

此設定檔一旦載入到記憶體中,即被用於操作網路設備。

當網路管理員更改設定時,執行設定檔案即被修改。修改執行設定檔會立即影響 Cisco 設備的執行。

修改之後,管理者可以選擇將更改保存到 startup-config 檔中,下次重啟設備時將會使用修改後的設定。

因為執行設定檔儲存在RAM中,所以當您關閉設備電源或設備重新開機時,該設定檔會遺失。如果在設備關閉前,沒有把對 running-config 檔案的更改儲存到 startup-config 檔案中,那些更改也將會遺失。

 

3.作業系統的工作模式

Cisco IOS 具有多種工作模式,每種模式有各自的工作領域。對於這些模式,CLI 採用了階層結構。

主要的模式有:
使用者執行模式
特權執行模式
全域設定模式
其他特定設定模式

每種模式用於完成特定任務,並具有可在該模式下使用的特定命令集。

例如,要設定某個路由器介面,使用者必須進入介面設定模式。在介面設定模式下輸入的所有設定僅應用到該介面。

每種模式都具有獨特的提示字元,且只有適用於相應模式的命令才能執行。

可設定分層次的模式化結構以提供安全性。每種層次的模式可能需要不同的驗證資格。這樣可控制向網路工作人員授予的權限級別。



4.使用者執行模式 (User Executive Mode)

此模式是 IOS 路由器 CLI 的第一個入口。

使用者執行模式僅允許數量有限的基本監控命令。它常稱為僅查看模式。使用者執行級別不允許執行任何可能改變設備設定的命令。

預設情況下,從主控台存取使用者執行模式時無需驗證。一種好的做法是確保在初始設定期間設定了驗證。

使用者執行模式由採用 > 符號結尾的 CLI 提示字元標識。下例所示的提示字元即包含 > 符號:

Switch>

5.特權執行模式 (Privileged EXEC Mode)

管理者若要執行設定和管理命令,需要使用特權執行模式或處於其下級的特定模式。

特權執行模式由採用 # 符號結尾的提示字元標識。

Switch#

預設情況下,特權執行不要求驗證。作為一種良好的做法,應確保設定驗證。



6.在使用者執行模式和特權執行模式間轉換

enable 和 disable 命令用於使 CLI 在使用者執行模式和特權執行模式間轉換。

要存取特權執行模式,請使用 enable 命令。特權執行模式有時稱為enable mode。

用於輸入 enable 命令的語法為:

Router>enable

此命令無需參數或關鍵字。一旦按下 ,路由器提示字元即變為:

Router#

提示字元結尾處的 # 表明該路由器現在處於特權執行模式。

如果為特權執行模式設定了驗證密碼,則 IOS 會提示您輸入密碼。

例如:

Router>enable
Password:
Router#

disable 命令用於從特權執行模式返回到使用者執行模式。
例如:

Router#disable
Router>

7.  IOS 命令的語法

每個 IOS 命令都具有特定的格式,並在相應的提示字元下執行。

常規命令語法為 命令 後接相應的關鍵字和參數。

關鍵字用於向命令解釋程式描述特定參數。

例如: show 命令用於顯示裝置相關的資訊。它有多個關鍵字,這些關鍵字可以用於定義要顯示的特定輸出。

Switch#show running-config

show 命令後接 running-config 關鍵字。該關鍵字指定要將running-config作為輸出結果顯示。

 

一條命令可能需要一個或多個參數。參數一般不是預先定義的詞,這一點與關鍵字不同。參數是由使用者定義的值或變數。

例如,要使用 description 命令為介面應用描述,可輸入類似下列的命令列:

Switch(config-if)#description MainHQ Office Switch

命令為: description。參數為:MainHQ Office Switch。該參數由使用者定義。對於此命令,參數可以是長度不超出 80 個字元的任意文字字串。
 

輸入包括關鍵字和參數在內的完整命令後,按 鍵將該命令提交給命令解釋程式。

 

8.CLI的輔助

IOS 提供多種形式的幫助:對上下文敏感的幫助, 命令語法檢查, 熱鍵和快捷方式。

對上下文敏感的幫助

要使用對上下文敏感的幫助,請在任何提示字元後輸入一個問號" ?" 。系統會立即回應,無需您按 鍵。

對上下文敏感的幫助的用處之一就是獲取可用命令的列表。當您不確定某個命令的名稱時,或您想知道 IOS 在特定模式下是否支援特定命令時,它就可以派上用場了。
例如,要列出使用者執行級別下可用的命令,請在 Router> 提示字元後輸入一個問號 ?。

上下文相關的幫助的另一個用處是顯示以特定字元或字元組開頭的命令或關鍵字的清單。輸入一個字串行後,如果緊接著輸入問號(不帶空格),則 IOS 將顯示一個命令或關鍵字清單,清單中的命令或關鍵字可在此上下文環境中使用且以所輸入的字元開頭。
例如,輸入 sh? 可獲取一個命令列表,該清單中的命令都以字串行 sh 開頭。

最後,還有一類上下文相關的幫助用於確定哪些選項、關鍵字或參數可與特定命令匹配。當輸入命令時,輸入一個空格,緊接著再輸入一個問號 ? 可確定隨後可以或應該輸入的內容。
如圖所示,輸入命令 clock set 19:50:00 後,可輸入問號 ? 以確定適用於此命令的選項或關鍵字。



命令語法檢查

當透過按 鍵提交命令後,命令列解譯器從左向右解析該命令,以確定使用者要求執行的操作。如果解釋程式可以理解該命令,則使用者要求執行的操作將被執行,且 CLI 將返回到相應的提示字元。然而,如果解釋程式無法理解使用者輸入的命令,它將提供回饋,說明該命令存在的問題。

錯誤訊息分為三類:
 

a.命令不明確 % Ambiguous command: 'command' 輸入的字元不足,致使 IOS 無法鑒別該命令。
b.命令不完整 % Incomplete command. 未輸入必填的全部關鍵字或參數。
c.命令不正確 % Invalid input detected at '^' marker 命令輸入不正確。顯示插入標記 (^) 的位置出現了該錯誤。
熱鍵和快捷方式

IOS CLI 提供熱鍵和快捷方式,以便設定、監控和排除故障。

下列快捷方式值得特別說明:
Tab — 填寫命令或關鍵字的剩下部分。
Ctrl-R — 重新顯示一行
Ctrl-Z — 退出設定模式並返回到執行模式
向下箭頭 — 用於在前面用過的命令的列表中向前捲動
向上箭頭 — 用於在前面用過的命令的列表中向後捲動
Ctrl-Shift-6 — 用於中斷諸如 ping 或 traceroute 之類的 IOS 程序
Ctrl-C — 放棄當前命令並退出設定模式

 

9.使用Show命令查看機器狀態

Cisco 路由器有一系列的指令,可讓您決定路由器是否運作正常,或是發生問題的位置。除此之外,路由器狀態指令顯示如下:

show version -- 顯示系統硬體、軟體版本、組態檔名稱與來源與開機影像
show processes -- 顯示作用程序中的訊息
show protocols -- 顯示已設定的協定。此處會顯示所有已設定的的第三層協定
show memory -- 顯示路由器記憶體的統計資料,包括記憶體可用儲存區統計資料
show stacks -- 監看程序的堆疊使用情況、中斷例行作業並顯示系統最近重新開機的原因
show buffers -- 提供路由器上緩衝器儲存區的統計資料
show flash -- 顯示快閃記憶體的設備資訊
show running-config  -- 顯示作用中的組態檔案
show startup-config  -- 顯示備份組態檔
show interfaces -- 顯示路由器上所有已設定介面的統計資料 。show ip interface brief--這可用於快速獲取介面及其工作狀態的摘要資訊。


例如:Router#show version

用於顯示與當前載入的軟體版本以及硬體和設備相關的資訊。此命令顯示的部分資訊如下:
軟體版本 — IOS 軟體版本(儲存在快閃記憶體中)
Bootstrap 版本 — Bootstrap 版本(儲存在引導 ROM 中)
系統持續執行時間 — 自上次重新啟動以來的時間
系統重新開機資訊 — 重新啟動方法(例如,重新通電)
軟體映射名稱 — 儲存在快閃記憶體中的 IOS 檔案名
路由器類型和處理器類型 — 型號和處理器類型
記憶體類型和分配情況(共用/主)— 主處理器記憶體和共用封包輸入/輸出緩衝區
軟體功能 — 支援的協定/功能集
硬體介面 — 路由器上提供的介面
設定暫存器 — 用於確定啟動規範、主控台速度設定和相關參數。

圖中所示為 show version 命令的典型輸出例子。



10.實驗 4.2.4 路由器 show 指令

實驗 4.2.4 路由器 show 指令

提示字元

當命令返回的輸出無法在一個螢幕內顯示完全時,螢幕底部會出現 --More-- 提示字元。

當出現 --More-- 提示字元時,按 空白鍵 可查看輸出的下一部分。

要僅顯示文本行,請按 Enter 鍵。如果按了其它任何鍵,則會取消輸出並返回到命令提示字元狀態。

 

11. 全域設定模式 (Global Configuration Mode)

在全域設定模式中進行的 CLI 設定更改會影響設備的整體工作情況。

另外,我們還將全域設定模式當作存取各種特定設定模式的跳板。

下列 CLI 命令用於將設備從特權執行模式轉換到全域設定模式,並使使用者可以從終端輸入設定命令:

Router#configure terminal

一旦該命令執行完成,提示字元會發生變化,以表明路由器處於全域設定模式。

Router(config)#

使用特權 EXEC 指令 configure 來進入全域組態模式。輸入這個指令時,EXEC 會提示您輸入組態指令的來源。

您可以指定終端機、NVRAM、或是儲存在網路伺服器上的檔案作為來源。預設值是由終端機主控台輸入指令。只要按下 Return 鍵,就可開始執行這種組態方法。

特定的設定模式

從全域設定模式可進入多種不同的設定模式。其中的每種模式可以用於設定 IOS 設備的特定部分或特定功能。下表列出了這些模式中的一小部分:
介面模式 — 用於設定一個網路介面(Fa0/0、S0/0/0 等)
線路模式 — 用於設定一條線路(實際線路或虛擬線路)(例如主控台、AUX 或 VTY 等等)
路由器模式 — 用於設定一個路由協定的參數

要退出具體的設定模式並返回全域設定模式,請在提示字元後輸入 exit。

要完全離開設定模式並返回到特權執行模式,請輸入 end 或使用按鍵序列 Ctrl-Z 。

一旦在全域設定模式下作出了更改,比較好的做法是將更改儲存到儲存在 NVRAM 內的啟動設定檔中。這樣可防止所作的更改在電源故障或蓄意重新開機時遺失。用於將執行設定檔儲存到啟動設定檔的命令為:

Router#copy running-config startup-config
 



12.設定主機名稱

如果未明確設定主機名稱,則路由器會使用出廠時預設的主機名稱 "Router"。交換器的出廠預設主機名稱為 "Switch"。想像一下,如果互連網路中的多個路由器都採用預設名稱 "Router",將會在網路設定和維護時造成多大的混亂。

當使用 Telnet 或 SSH 存取遠端設備時,如果所有設備都採用其預設名稱,我們就無法確定連接的是不是正確的設備。

透過審慎的選擇並記錄名稱,就容易記住、討論和鑒別網路設備。要採用一致有效的方式命名設備,需要在整個公司建立統一的命名慣例。比較好的做法是在建立定址方案的同時建立命名慣例,以在整個組織內保持良好的延續性。

有關命名慣例的一些方針對名稱提出下列要求:
以字母開頭
不包含空格
以字母或數位結尾
僅由字母、數位和短劃線組成
長度不超過 63 個字元

IOS 設備中所用的主機名稱會保留字母的大小寫狀態。

要建立路由器的命名慣例,請將地點和設備用途列入考慮。向您自己詢問類似下列的問題:這些路由器屬於某個公司總部內的設備嗎?每個路由器的用途是否各不相同?例如,位於 Atlanta 的路由器是網路中的主交匯點還是僅僅是網鏈中的一個交匯點?

在本例中,我們將每個路由器確定為分處各個城市的分公司總部的主路由器。因此可相應命名為 AtlantaHQ、PhoenixHQ 和 CorpusHQ。如果每個路由器只是連續網鏈中的一個交匯點,則可相應命名為 AtlantaJunction1、PhoenixJunction2 和 CorpusJunction3。

我們可以將這些名稱及其來由記入網路文件,以在建立設備時確保命名慣例的連貫性。

一旦確定命名慣例後,接下來的步驟就是使用 CLI 將名稱應用到路由器。

本例說明位於 Atlanta 的路由器的命名程序。

設定 IOS 主機名稱

從特權執行模式中輸入 configure terminal 命令存取全域設定模式:

Router#configure terminal

命令執行後,提示字元會變為:

Router(config)#

在全域設定模式下,輸入主機名稱:

Router(config)#hostname AtlantaHQ

命令執行後,提示字元會變為:

AtlantaHQ(config)#

請注意,該主機名稱出現在提示字元中。要退出全域設定模式,請使用 exit 命令。

每次建立或修改設備時,請確保更新相關文件。請在文件中透過地點、用途和位址來標識設備。

註: 要消除命令的影響,請在該命令前面建立 no 關鍵字。

例如,要刪除某設備的名稱,請使用:

AtlantaHQ(config)#no hostname
Router(config)#

我們可以看到,no hostname 命令使該路由器恢復到其預設主機名稱 "Router"。


13.實驗: 練習 11.2.1:設定host name

練習 11.2.1:設定hostname.pka

 

14. 使用密碼來限制存取使用

密碼仍是防範未經授權的人員存取網路設備的主要手段。必須從本地為每台設備設定密碼以限制存取。

如前所述,IOS 使用分層模式來提高設備安全性。作為此安全措施的一部分,IOS 可以透過不同的密碼來提供不同的設備存取權限。

在此介紹的密碼有:
主控台密碼 — 用於限制人員透過主控台連接存取設備
啓用密碼 — 用於限制人員存取特權執行模式
啓用加密密碼 — 經加密,用於限制人員存取特權執行模式
VTY 密碼 — 用於限制人員透過 Telnet 存取設備

作為一種良好的做法,應該為這些權限級別分別採用不同的驗證密碼。

此外,請使用不容易猜到的強密碼。使用弱密碼或容易猜到的密碼一直是在商業界中的許多面向中的安全議題。
選擇密碼時請考慮下列關鍵因素:
密碼長度應大於 8 個字元。
在密碼中組合使用小寫字母、大寫字母和數位序列。
避免為所有設備使用同一個密碼。
避免使用常用詞語,例如 password 或 administrator,因為這些詞語容易被猜到。

註: 在大多數實驗中,我們會使用諸如 cisco 或 class 等簡單密碼。


主控台密碼

Cisco IOS 設備的主控台連接埠具有特別權限。作為最低限度的安全措施,必須為所有網路設備的主控台連接埠設定強密碼。這可降低未經授權的人員將纜線實體插入設備來存取設備的風險。

可在全域設定模式下使用下列命令來為主控台線路設定密碼:

Switch(config)#line console 0
Switch(config-line)#password password
Switch(config-line)#login

命令 line console 0 用於從全域設定模式進入主控台線路設定模式。零 (0) 用於代表路由器的第一個(而且在大多數情況下是唯一的一個)主控台介面。

第二個命令 password password 用於為一條線路指定密碼。

login 命令用於將路由器設定為在使用者登錄時要求身份驗證。當啟用了 login 且設定了密碼後,設備將提示使用者輸入密碼。

一旦這三個命令執行完成後,每次使用者嘗試存取主控台連接埠時,都會出現要求輸入密碼的提示。

 

啓用密碼和啓用加密密碼

為提供更好的安全性,請使用 enable password 命令或 enable secret 命令。這幾個密碼都可用於在使用者存取特權執行模式(enable mode)前進行驗證。

請盡可能使用 enable secret 命令,而不要使用較老版本的 enable password 命令。enable secret 命令可提供更強的安全性,因為使用此命令設定的密碼會被加密。enable password 命令僅在尚未使用 enable secret 命令設定密碼時才能使用。

如果設備使用的 Cisco IOS 軟體版本較舊,無法鑒別 enable secret 命令,則可使用 enable password 命令。

以下命令用於設定密碼:

Router(config)#enable password password
Router(config)#enable secret password

註: 如果 enable password 或 enable secret 均未設定,則 IOS 將不允許使用者透過 Telnet 會談存取特權執行模式。

若未設定 enable password,Telnet 會談將作出如下回應:

Switch>enable
% No password set
Switch>

 

VTY 密碼

VTY 線路使用戶可透過 Telnet 存取路由器。許多 Cisco 設備預設支援五條 VTY 線路,這些線路編號為從 0 到 4。所有可用的 VTY 線路均需要設定密碼。可為所有連接設定同一個密碼。然而,理想的做法是為其中的一條線路設定不同的密碼,這樣可以為管理者提供一條保留通道,當其它連接均被使用時,管理者可以透過此保留通道存取設備以進行管理工作。

下列命令用於為 VTY 線路設定密碼:

Router(config)#line vty 0 4
Router(config-line)#password password
Router(config-line)#login

預設情況下,IOS 自動為 VTY 線路執行了 login 命令。這可防止設備在使用者透過 Telnet 存取設備時不事先要求其進行驗證。如果用戶錯誤的使用了 no login 命令,則會取消身份驗證要求,這樣未經授權的人員就可透過 Telnet 連接到該線路。這是一項重大的安全風險。

 

密碼顯示加密

還有一個很有用的命令,可在顯示設定檔案時防止將密碼顯示為明文。此命令是 service password-encryption。

它可在使用者設定密碼後使密碼加密顯示。service password-encryption 命令對所有未加密的密碼進行弱加密。當透過媒體發送密碼時,此加密手段不適用,它僅適用於設定檔中的密碼。此命令的用途在於防止未經授權的人員查看設定檔中的密碼。

如果您在尚未執行 service password-encryption 命令時執行 show running-config 或 show startup-config 命令,則可在設定輸出中看到未加密的密碼。然後可執行 service password-encryption 命令,執行完成後,密碼即被加密。密碼一旦加密,即使取消加密服務,也不會消除加密效果。
 



15.標語訊息 (banner motd)

必須向試圖存取設備的人員聲明僅授權人員才可存取設備。出於此目的,可向設備輸出中加入一條標語。

當控告某人侵入設備時,標語可當法律程序的重要部分。有些法律體系不會起訴該使用者,甚至監控該使用者,除非通知是可見的。

標語的確切內容或措辭取決於當地法律和企業政策。下面列舉幾例可用在標語中的資訊:
僅授權人員才可使用設備(Use of the device is specifically for authorized personnel)。
活動可能被監控(Activity may be monitored)。
未經授權擅自使用設備將招致訴訟(Legal action will be pursued for any unauthorized use)。

因為任何試圖登錄的人員均可看到標語,因此標語訊息應該謹慎措辭。任何暗含“歡迎登錄”或“邀請登錄”意味的詞語都不合適。如果標語有邀請意味,則當某人未經授權進入網路並進行破壞後,會很難舉證。

此外,標語可以涉及影響所有網路使用者的資訊,例如系統關機安排和其它資訊。

IOS 提供多種類型的標語。當日訊息 (MOTD) 就是其中常用的一種。它常用於發佈法律通知,因為它會向連接的所有終端顯示。

MOTD 可在全域設定模式下透過 banner motd 命令來設定。

如圖所示,banner motd 命令需要採用定界符來界定標語訊息的內容。banner motd 命令後接一個空格和一個定界字元。隨後輸入代表標語訊息的一行或多行文本。當該定界符再次出現時,即表明訊息結束。定界符可以是未出現在訊息中的任意字元。因此,經常使用 " # " 之類的字元。

要設定 MOTD,請從全域設定模式輸入 banner motd 命令:

Switch(config)#banner motd # message #

一旦命令執行完畢,系統將向之後存取設備的所有使用者顯示該標語,直到該標語被刪除為止。

16. 實驗: 設定password

實驗: 設定password 及banner

 

 

 

 

沒有留言:

TeraTerm是一款開放原始碼的遠程客戶端操作軟體

因為工作需求,有時我們需要從遠端登入某設備或是主機,又或者因為故障排除,需要透過serial port連入某設備進行檢查和操控。 偶然看到某SI的工程師,使用這個工具,想說也來使用看看。心中相信這應該是好工具,人家才會用它。 我自己通常都是簡單使用的話用 putty,想要用好一...