Cisco IOS 系統介紹
來源 https://zhuanlan.zhihu.com/p/26093353
提起操作系統,現在大家最熟悉的不過智能手機的Android(安卓)、iOS、Windows Phone 8與PC端的Windows、Linux及OS等等操作系統,而網絡設備公司生產的數據中心的網絡設備也都有着自家的操作系統。網絡設備公司通過操作系統可以孵化出多款路由器、交換機及存儲設備,操作系統就相當於網絡設備公司的軟件大平台,公司制造的所有設備都運行着這樣的操作系統。這里介紹Cisco的IOS系統。
一、Cisco IOS概述
Cisco公司是全球最大的網絡設備制造商,占據着全球網絡設備市場近70%的份額,也是數據中心建設重要的參與者。Cisco IOS(Cisco 互聯網網絡操作系統 Internetwork Operating System)是一個為網際互連優化的復雜操作系統,是Cisco后來自己開發的網絡操作系統。IOS是一個與硬件分離的軟件體系結構,隨着網絡技術的不斷發展,可動態升級以適應不斷變化的技術。
Cisco IOS是運行於Cisco路由器和某些Cisco交換機上的操作系統,它是一個專用內核,提供路由選擇、交換、網絡互聯和遠程通信功能,使用Cisco IOS命令行界面(CLI)來配置Cisco IOS路由器。
思科路由器IOS軟件負責負責包括以下方面的內容: 運行網絡協議並提供功能;在設備之間高速傳輸數據; 控制訪問和禁止未授權的網絡使用,從而提高安全性;提供可擴展性(以方便網絡擴容)和冗余性;提供連接網絡資源的可靠性。
二、Cisco 內部路由器的組件
* 1、內存:
* Bootstrap:存儲在ROM中的微代碼,bootstrap用於在初始化階段啟動路由器,它將啟動路由器然后裝入IOS。
* POST(開機自檢):存儲在ROM中的微代碼,POST用於檢測路由器硬件的基本功能並確定哪些接口當前可用。
* Mini IOS(微型IOS):微型IOS是一個在ROM中可以啟動接口並將Cisco IOS加載到閃存中的小型IOS,也可以執行其他動作。 用作緊急故障恢復使用。
* Rom Monitor(ROM監控程序):存儲在ROM中的微代碼,ROM監控程序用於手動測試和故障診斷。
* ROM(只讀存儲器):用於啟動和維護的路由器,存儲POST和bootstrap程序,以及微型IOS。
* RAM(隨機存取存儲器):用於保存數據包的緩沖包,ARP高速緩存、路由表,以及路由器運行所需的軟件和數據結構running-config文件存儲在RAM中,並且有些路由器也可以從RAM運行IOS
* 2、Flash(閃存):路由器用於保存Cisco IOS。當路由器重新加載時,並不擦除閃存中的內容。它是一種由intel開發的EERPOM(電可擦除只讀存儲器)。相當於路由器的硬盤。
* 3、NVRAM(非易失性RAM):用於保存路由器和交換機的配置。當路由器或交換機重新加載時並不擦除NVRAM中的內容。NVRAM中未存儲IOS,配置寄存器存儲在NVRAM中
三、Cisco路由器的啟動步驟
1、檢測路由器硬件
* Power-On Self Test (POST):開機自檢,POST檢查硬件,以驗證設備的所有組件目前是可以運行的。
* 執行引導裝入程序,。
2、定位加載 Cisco IOS 軟件
* 定位 IOS:
* 加載 IOS:bootstrap程序負責找到每個IOS程序的位置,然后加載該文件
IOS默認的啟動順序是閃存、TFTP服務器,然后是ROM。
3、定位加載啟動配置文件或進入配置模式
* 啟動程序搜尋配置文件 :IOS軟件在NVRAM中查找有效的配置文件,此文件成為startup-config。只有管理員將running-config文件復制到NVRAM中時才產生該文件。
1. 如果NVRAM中存在startup-config,路由器將使用此文件復制到RAM中並調用running-config,路由器使用此文件運行路由器
2. 如果NVRAM中不存在startup-config,路由器將向所有進行載波檢測(carrier detect CD)的接口發送廣播,查找TFTP主機以便尋找配置。如果沒有找到(一般不會找到),路由器將啟動setup mode(設置模式)進行配置
配置寄存器:
位於NVRAM中的16位軟件寄存器,默認情況下,配置寄存器設置為從閃存加載Cisco IOS,並且從NVRAM查找並加載startup-config文件。
默認設置是0x2102 0x表示后面的數字是十六進制
R1#show version | include reg 查看寄存器的值
Cisco IOS Software, 3600 Software (C3640-IK9O3S-M), Version 12.4(10), RELEASE SOFTWARE (fc1)
Technical Support: Support and Documentation - Cisco Systems
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Wed 16-Aug-06 04:04 by prod_rel_team
<......>
Configuration register is 0x2102
R1(config)#config-register 0X2102 修改寄存器的值
路由器;操作系統與配置分離
很像一台主機,沒有KVM(鼠標 鍵盤 顯示器)
1、Console 控制台端口:RJ45-8針的模塊化
2、AUX:auxiliaire port 輔助端口
輔助端口可以配置調制解調命令,以便調制解調器鏈接到路由器。
如果遠程路由器出現故障,而你需要對其進行帶外配置(out-of-band在網絡外進行配置),這項功能讓你能夠通過撥號連接其輔助端口。
在無法遠程telnet的情況下,只能通過console口進行配置,如果人在外地,無法實現遠程配置。這時候,可以使用AUX口,連接model,接電話線,遠程撥號,連上路由器,進行配置。
3、Telnet: 帶內方式,通過網絡配置路由器。
ctrl+c 中斷配置對話框
筆記本沒有公口,USB轉RS-232轉接線
End-Of-Life 停產
2800系列路由器--Integrated Service Router集成服務路由器
內置了眾多服務(如安全)而得名。模塊化。
交換機沒有IOS 導入IOS
1、調整交換機傳輸速率
Flash_init
Load_helper
set BAUD 115200
2、調整超級終端傳輸速率
3、傳輸命令
copy xmodem: flash:IOS名稱
如 copy xmodem: flash: c3560-ipservices-mz.122-25.SEC
4、導入IOS
5、最后把計算機的速率調回9600
Line con 0
Speed 9600
一:cisco交換機啟動過程:
啟動加載器是存儲在NVRAM中的小程序,並在交換機第一次開機時執行。
①交換機從NVRAM中加載啟動加載器軟件。
②啟動加載器。
③執行低級CPU子系統的POST(開機自檢)。
④初始化系統主板上的閃存文件系統。
⑤將默認操作系統軟件鏡像加載到內存中,並啟動交換機。
⑥操作系統使用config.text文件運行,該文件存儲在交換機的閃存存儲器中。
注:啟動加載器還可以在操作系統無法使用的情況下用於訪問交換機。啟動加載器有一個命令行工具,可用於在操作系統之前訪問存儲在閃存中的文件。從啟動加載器命令行上,可以輸入命令來格式化閃存文件系統,重新安裝操作系統軟件映像,或者在遺失或遺忘口令時進行恢復。
二:cisco路由器啟動過程:
①加電后,路由器執行POST(開機自檢),POST是存儲在ROM中得微代碼,檢測設備硬件是否可以正常運行。
②bootstrap查找並加載IOS,bootstrap是存儲在ROM中得微代碼,IOS存儲在flash中,默認加載順序:flash--TFTP--ROM(mini IOS)。
③IOS在NVRAM中查找startup-config,並復制到RAM,並調用running-config,運行路由器。如果NVRAM沒有startup-config,發送廣播到所有接口上查找TFTP主機查找配置文件,如果沒找到,啟動setup mode(設置模式)進行配置。
Cisco路由器啟動過程詳解
*Nov 26 01:50:41.727: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.
System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)
Technical Support: Support and Documentation - Cisco Systems
Copyright (c) 2006 by cisco Systems, Inc.
PLD version 0x10
GIO ASIC version 0x127
c1841 platform with 393216 Kbytes of main memory
Main memory is configured to 64 bit mode with parity disabled
Readonly ROMMON initialized
program load complete, entry point: 0x8000f000, size: 0xcb80
program load complete, entry point: 0x8000f000, size: 0xcb80
program load complete, entry point: 0x8000f000, size: 0x22a4304
Self decompressing the image : ################################################################################################################################################################################## [OK]
有關引導程序POST時的信息,將高速路由器如何加載IOS(默認在閃存中查找IOS,)並且還指出錄用油漆的內存(RAM值)
#號表示正在將IOS解壓到RAM,解壓縮到RAM后,IOS將被加載並運行路由器。
IOMEM set to: 25
0X000021B8 Onboard USB
PMem allocated: 300941312 bytes; IOMem allocated: 101711872 bytes
Restricted Rights Legend
Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.
cisco Systems, Inc.
170 West Tasman Drive
San Jose, California 95134-1706
Cisco IOS Software, 1841 Software (C1841-ADVENTERPRISEK9-M), Version 12.4(15)T13, RELEASE SOFTWARE (fc3)
Technical Support: Support and Documentation - Cisco Systems
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Wed 07-Apr-10 10:21 by prod_rel_team
Image text-base: 0x60086DF4, data-base: 0x62A02FB0
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
Export Compliance Product Report Application
If you require further assistance please contact us by sending email to
export@cisco.com.
Installed image archive
Cisco 1841 (revision 7.0) with 293888K/99328K bytes of memory. /--內存/二級緩存容量--/
Processor board ID FHK112510RS
2 FastEthernet interfaces
2 Serial(sync/async) interfaces
1 Virtual Private Network (VPN) Module /--內置接口模塊--/
DRAM configuration is 64 bits wide with parity disabled.
191K bytes of NVRAM.
62592K bytes of ATA CompactFlash (Read/Write) /--Flash容量--/
--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]:
輸入no或者隨時按CTRL+C退出配置模式
路由器的模式
用戶EXEC模式:只能執行基本的監視命令
特權EXEC模式:讓你能夠訪問其他所有的路由器命令
全局配置模式:可以執行影響整個系統的命令
具體的配置模式:課執行影響接口/進程的命令
設置模式:交互式配置對話
IOS升級、備份方式
方法:
* TFTP
TFTP(TrivialFile Transfer Protocol)普通文件傳輸協議最大就支持傳輸32MB的文件,TFTP的IOS傳輸必須經過以太網線.
* FTP
* Xmodem
Xmodem是通過控制線來傳輸的,所以使用Xmodem恢復IOS就不必進行PC機和路由器的網線連接,也不需要IP地址方面的設置,省了不少事。但是Xmodem是通過控制線(console)來進行傳輸的,一般和cisco路由器相連的控制線波特率是9600,就是9.6k/s,速度很慢傳輸一個幾M大小的文件需要比較長的時間,需要耐心的等待.
模式:
rommon>
]] >
(boot)>
switch:
#
IOS升級備份-TFTP的方式:
把IOS 備份到TFTP服務器前的准備工作:
1. 確認可以訪問TFTP服務器。
2. 確認TFTP服務器是否有足夠空間來保存IOS 文件。
3. 確定文件的名稱和路徑。
驗證閃存信息,使用show flash 命令,如下:
Router#show flash
System flash directory:
File Length Name/status
1 8121000 c2500-js-l.112-18.bin
把IOS備份到TFTP服務器上,特權模式下使用copy flash tftp命令
案例1:
通過TFTP服務器升級Cisco路由器IOS
設置tftp服務器
升級路由器的ios
備份路由器的ios:
Router# copy flash tftp
IOS升級備份-FTP的方式
把IOS 備份到FTP服務器前的准備工作:
1. 確認可以訪問FTP服務器。
2. 確認FTP服務器是否有足夠空間來保存IOS 文件。
3. 確定文件的名稱和路徑。
驗證閃存信息,使用show flash 命令,如下:
Router#show flash
System flash directory:
File Length Name/status
1 8121000 c2500-js-l.112-18.bin
路由器上的配置:
Router(config)#ip ftp username <用戶名>
Router(config)#ip ftp password <密碼>
把IOS備份到FTP服務器上,特權模式下使用copy flash ftp命令
案例2:
通過FTP服務器升級Cisco路由器IOS
1)配置FTP服務器
配置FTP服務器目錄
配置用戶名、密碼
2)在路由器上配置登錄FTP用戶名、密碼
Router(config)# ip ftp username benet
Router(config)# ip ftp password cisco
3)升級路由器的ios
備份路由器的ios:
Router# copy flash ftp
IOS升級備份-Xmodem方式
修改默認波特率,改變傳輸速率,可以用confreg命令來修改,如下:
rommon 2 > confreg
Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: image specified by the boot system commands
or default to: cisco2-C3600
do you wish to change the configuration? y/n [n]: y
enable "diagnostic mode"? y/n [n]: !--- pressing "Enter" accepts the
!--- default (value between the brackets)
enable "use net in IP bcast address"? y/n [n]:
disable "load rom after netboot fails"? y/n [n]:
enable "use all zero broadcast"? y/n [n]:
enable "break/abort has effect"? y/n [n]:
enable "ignore system config info"? y/n [n]:
change console baud rate? y/n [n]: y
enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400
4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [7]: 7
change the boot characteristics? y/n [n]:
Configuration Summary
enabled are:
load rom after netboot fails
console baud: 115200
boot: image specified by the boot system commands
or default to: cisco2-C3600
do you wish to change the configuration? y/n [n]:
You must reset or power cycle for new config to take effect
改完了,你需要重起一下,讓配置生效,注意,你的調試機器上的超級終端的連接波特率也要改為115200,不然你重起后你可能看見的就是一堆亂碼#^¥&%×^×^,呵呵。
接下就是用xmodem命令來做了,xmodem的使用方法如下:
rommon 1 > xmodem [-cyrx]
選項 功能:
-c 傳輸過程中使用 CRC-16 檢查. 缺省的是 8-bit CRC.
-y ymodem-batch 協議使用CRC-16錯誤檢查
-r 讓軟件傳到DRAM中,缺省的是Flash中。
注意: 不推薦!重起后,DRAM的文件會丟失,你還要進行一次恢復IOS.
-x 讓軟件傳到DRAM中,但是不執行,除非使用launch 命令。
注意: 不推薦!同上一個參數-r
-f 擦除Flash里全部的文件
這個選項是1600系列路由器指定的;在其他平台上是缺省項
Examples:
rommon 1 > xmodem -cf c1600-nsy-mz_112-15a_P
rommon 1 > xmodem -y c2500-js-mz_120-14
讓我們step by step來試試:
1. 來執行xmodem命令:rommon 1 > xmodem c1600-nsy-mz_112-15a_P
c1600-nsy-mz_112-15a_P是我們打算在路由器中保存的文件名,你可以起自己想要的名字,不過最好是按原文件的名字來。
2.等待ROMmon 提示信息,類似下面:
Ready to receive file c1600-nsy-mz_112-15a_P ...
3.ok,可以進行文件傳輸了,在超級終端界面,點擊鼠標右鍵,選擇發送文件,彈出的對話框,上面選擇你要傳送到路由器內的新的IOS,下面選擇Xmodem協議。然后點擊發送,就可以了。如下:
4.接下來就是文件傳輸的界面了,耐心些等待吧……
5.當顯示:Download Complete!信息時,就差不多萬事大吉了,不過做為列行的檢查還是必要的,用命令:dir flash: 看看文件是不是已經正確無誤的傳過去了。
rommon 1 > dir flash:
File size Checksum File name
2179331 bytes (0x214103) 0x7b95 c1600-nsy-mz_112-15a_p
6.最后:使用 reset或者 bootflash:[filename] 命令,如下顯示:
rommon 1 > reset或者rommon 1 > boot flash:c1600-nsy-mz_112-15a_P
重起路由器,ok了嗎?如果已經進入正常的界面了,那就恭喜你了,IOS恢復就成功了,你可以檢查一些看看:show version;show flash等。但是別忘了,剛才你把默認的控制線波特率9600改為115200了,現在要做就是改回來,命令:config t;config-register 0x2102;end。
BANNER旗標
配置旗標:可以給任何試圖通過遠程登錄或撥號連接你的互聯網絡的人發出安全警告,向任何登錄到路由器的人現實你想告訴他的信息。
4種類型的旗標:
* EXEC進程創建旗標(exec process creation banner):
* 入站終端線路旗標(incoming terminal line banner):
* 登錄旗標
* 每日消息旗標
EXEC旗標:可配置線路激活(EXEC)旗標,這種旗標在創建EXEC進程(如線路激活或由VTY線路連接)時顯示。通過控制台端口建立
EXEC會話時,我們將激活ECEC旗標
入站旗標:在連接到反向Telnet線路的終端上顯示。這種旗標可以用於反向Telnet的用戶提供操作說明。
登錄旗標:可配置在所有鏈接的終端上顯示的登陸旗標。這種旗標在MOTD旗標之后顯示,並在登陸提示前顯示。我們不能基於線路禁用登陸旗標,而必須全局禁用它。no banner login 刪除。
Router(config)#banner login #hello#
每日消息旗標:向任何撥號或通過telnet、輔助端口甚至控制台端口連接路由器的人顯示一條消息。
Switch(config)#banner motd # message #
Router(config)#banner motd # This is a cisco Router #
查看IOS版本
Router#show version 顯示系統硬件的基本配置以及軟件版本和啟動映像
Cisco IOS Software, 1841 Software (C1841-ADVENTERPRISEK9-M), Version 12.4(15)T13, RELEASE SOFTWARE (fc3)
Technical Support: Support and Documentation - Cisco Systems
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Wed 07-Apr-10 10:21 by prod_rel_team
ROM: System Bootstrap, Version 12.4(13r)T, RELEASE SOFTWARE (fc1)
Router uptime is 1 hour, 23 minutes 顯示路由器運行了多長時間
System returned to ROM by reload at 01:50:41 UTC Tue Nov 26 2013 路由器是如何重啟的
System image file is "flash:c1841-adventerprisek9-mz.124-15.T13.bin" IOS的的文件路徑名
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
Export Compliance Product Report Application
If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco 1841 (revision 7.0) with 293888K/99328K bytes of memory. /--內存/二級緩存容量--/
Processor board ID FHK112510RS
2 FastEthernet interfaces
2 Serial(sync/async) interfaces
1 Virtual Private Network (VPN) Module
DRAM configuration is 64 bits wide with parity disabled.
191K bytes of NVRAM.
62592K bytes of ATA CompactFlash (Read/Write) Flash容量
Configuration register is 0x2102 配置寄存器值
no server config
3640總是不斷彈出%Error opening tftp://255.255.255.255/之類的東西,很是惱火,在全局配置模式下敲入no logging console以及設置啟動目錄boot system 也沒用,因為我在sh flash里面沒發現文件,后來在網上找了一下,終於找到了解決方法
#
conf t
no service config
do wr (一定要保存,否則還是會報錯)
高級編輯命令
show history 顯示最后一次輸入的命令
show terminal 顯示終端配置和歷史記錄緩沖區的大小
terminal history size 修改緩沖區的大小(最大為256)
SDM
•在路由器連接PC的接口上配置IP地址,測試PC到路由器的連通性
•在路由器上開啟HTTP或者HTTPS的服務
Router(config)#ip http server
Router(config)#ip http authentication local
•創建一個15等級的用戶
Router(config)#username cisco privilege 15 password cisco
•配置TELNET/SSH啟用認證本地數據庫
Router(config)#line vty 0 4
Router(config-line)#login local
思科路由器ROM模式下灌入IOS
這次遇到的是思科路由器,為2800,根據客戶提供的信息,該路由器無法正常啟動,啟動時會自動進入到ROM模式,初步認為是IOS損壞。於是使用TFTP
向路由器灌入IOS,使用的IOS為:c2800nm-ipbase-mz.124-15.T13.bin
步驟如下:
1.進入ROM模式,查看FLASH中是否存在IOS。
rommon1>show flash:
Bad device name
無法查看到IOS,那么就要進行灌入IOS
2.設置TFTP
rommon2>setIP_ADDRESS 10
usage:set
rommon3>IP_ADDRESS=172.16.100.1 設置路由器IP地址,為F0/0口
rommon4>IP_SUBNET_MASK=255.255.255.0 設置子網掩碼
rommon5>DEFAULT_GATEWAY=172.16.100.2 設置網關
rommon7>TFTP_SERVER=172.16.100.2 設置TFTP服務器IP
rommon8>TFTP_FILE=c2800nmipbase-mz.124-15.T13.bin 設置IOS名稱
設置完畢。
注意:以上命令必需用大寫,TFTP服務器IP地址必需可達,在TFTP服務器中預先設置好根目錄並且將IOS放入根目錄中。
下面將進行灌入
IOSrommon9>tftpdnld
IP_ADDRESS: 172.16.100.1IP_SUBNET_MASK: 255.255.255.0
DEFAULT_GATEWAY: 172.16.100.2
TFTP_SERVER:172.16.100.2
TFTP_FILE:c2800nm-ipbase-mz.124-15.T13.bin
目前Cisco IOS向可移植化的發展表明,IOS 11.3及更高版本更易於移植到新的平台。最終的目標是將IOS發展為靜態的更為高級的模塊化結構,它允許單獨定義IOS特性而與其它特性(或子系統)不相關。Cisco可根據客戶的特定需求建立IOS特性/解決方案集。隨着IOS繼續發展,客戶將能夠和匹配專門的IOS特性,來滿足其特定環境的要求。
============= End