第五章
管理Cisco互联网络
1、Cisco路由器的内部组件
组件 |
解释 |
Bootstrap |
存储在ROM中的微代码,bootstrap用于在初始化阶段启动路由器。它将启动路由器然后装入IOS |
POST(开机自检) |
存储在ROM中的微代码,POST用于检测路由器硬件的基本功能并确定哪些接口当前可用 |
ROM监控程序 |
存储在ROM中的微代码,ROM监控程序用于手动测试和故障诊断 |
微型IOS |
Cisco调用RXBOOT或bootstrap(引导装入程序),微型IOS是一个在ROM中可以启动接口并将Cisco IOS加载到闪存中的小型IOS。微型IOS也可以执行一些其他的维护操作 |
RAM |
用于保存数据包缓冲、ARP高速缓存,以及路由器运行所需要的软件和数据结构。Running-config文件存储在RAM中,并且有些路由器也可以从RAM运行IOS |
ROM |
用于启动和维护路由器。存储POST和bootstrap程序,以及微型IOS |
Flash memory(闪存) |
路由器用于保存Cisco IOS。当路由器重新加载时并不擦除闪存中的内容。它是一种由Intel开发的EEPROM(电可擦除只读存储器) |
NVRAM(非易失性RAM) |
用于保存路由器和交换机配置。当路由器或交换机重新加载时并不擦除NVRAM中的内容。NVRAM中未存储IOS,配置寄存器存储在NVRAM中 |
Configuration register(配置寄存器) |
用于控制路由器如何启动。配置寄存器的值可以在show version 命令输出结果的最后一行中找到,通常为0x2102,这个值意味着路由器从闪存加载IOS,并告诉路由器从NVRAM调用配置 |
2、路由器启动顺序(boot sequence)
a、执行POST(加电自检)
b、bootstrap查找并加载Cisco IOS软件。(IOS默认启动顺序是闪存、TFTP服务器、ROM)
c、IOS软件在NVRAM中查找有效的配置文件(startup-config)。新的ISR路由器中有一个预先加载的小型startup-config文件
d、如果NVRAM中有startup-config文件,路由器将此文件复制到RAM中并调用running-config。如果没有,将向所有载波检测的接口发送广播,查找TFTP主机以便寻找配置,如果没有找到将启动setup mode进行配置
3、理解配置寄存器位
Cisco路由器默认的配置是Ox2102。这意味着位13、位8、位1是开启的(值为1),如下表:
配置寄存器 |
2 |
1 |
0 |
2 |
位值 |
15 14 13 12 |
11 10 9 8 |
7 6 5 4 |
3 2 1 0 |
二进制 |
0 0 1 0 |
0 0 0 1 |
0 0 0 0 |
0 0 1 0 |
软件配置的意义
位 |
十六进制 |
解释 |
0~3 |
Ox0000~Ox000F |
启动字段(见下面的表格) |
6 |
Ox0040 |
忽略NVRAM内容 |
7 |
Ox0080 |
启用OEM位 |
8 |
Ox0100 |
禁用中断 |
10 |
Ox0400 |
IP广播全为零 |
5、11~12 |
Ox0800~Ox1000 |
控制台线路速率 |
13 |
Ox2000 |
如果网络启动失败,则启动默认ROM软件 |
14 |
Ox4000 |
IP广播不包含网络号 |
15 |
Ox8000 |
启用诊断信息并忽略NVRAM内容 |
启动字段(配置寄存器00~03位)
启动字段 |
意义 |
用途 |
00 |
ROM监控模式 |
若要启动时采用ROM监控模式,将配置寄存器的值设置为2100。必须用b命令来手动启动路由器。路由器将显示rommon>作为提示 |
01 |
从ROM启动映像文件 |
若要启动存储在ROM中的IOS映像文件,将配置寄存器的值设为2101。路由器将显示router(boot)>作为提示 |
02~0F |
指定默认启动文件名 |
任何从2102到210F的值告诉路由器使用NVRAM中指定的启动命令 |
4、恢复Cisco路由器口令
第一步启动路由器,同时按下Ctrl和Break组合键来执行一个中断;
第二步修改配置寄存器以开启位6(值为Ox2142);
Cisco2600系列命令
Rommon 1 >confreg Ox2142
Rommon 2 >reset
Cisco2500系列命令
>O //产生一个配置寄存器选项设置菜单
>O/R Ox2142
第三步重载路由器并进入特权模式;
在ISR/2600系列路由器上,输入I或reset
在2500系列路由器上输入I
第四步进入特权模式;
router>enable
router#
第五步将startup-config文件复复制为running-config文件;
router#copy startup-config running-config
第六步修改口令;
router#config terminal
router(config)#enable secret XXXXXX //重设一个新密码
第七步将配置寄存器重设为默认值;
router(config)#config-register Ox2102
第八步保存路由器的配置文件;
router(config)#exit
router#copy running-config startup-config
第九步重载路由器
router#reload
5、Cisco交换机口令恢复方法
(通常交换机把Flash:config.text虚拟成NVRAM)
第一步断电;
第二步得新加电并按住面板上的mode键;
第三步重启出现Switch:为止;
第四步
Switch: flash-init
Switch: load-helper
Switch: ren flash:config.text flash:config.ttt //将文件改个名保存
Switch: boot
(此后将以空配置方式启动)
第五步
Switch> enable
Switch# ren flash:config.ttt flash:config.text
Switch# copy flash:config.text running-config
Switch#config terminal
Switch(config)# enable secret XXXXXX //重设一个新密码
Switch(config)# exit
Switch# copy running-config startup-config
第六步重新加载
Switch# relaod
6、boot system命令
Router(config)# boot system flash c2800nm-advsecurityk9-mz-124-12.bin
//告诉路由器从闪存中的c2800nm-advsecurityk9-mz-124-12.bin文件启动
Router(config)# boot system tftp c2800nm-advsecurityk9-mz-124-12.bin 1.1.1.2
//告诉路由器从TFTP(1.1.1.2)中的c2800nm-advsecurityk9-mz-124-12.bin文件启动
7、备份和恢复Cisco IOS
Router# copy flash tftp //将flash中的IOS复制到TFTP服务器备份
Router# copy tftp flash //将TFTP服务器中的IOS复制到flash恢复
8、使用Cisco IOS文件系统(Cisoc IFS)
Cisco开发的文件系统,允许你就像在Windows DOS提示符下一样操作文件和目录,常用的一些命令有:
Dir (查看目录下的文件,默认情况下获得flash:/目录下的内容);
Copy(复制源文件到目标文件);
More(与UNIX中的命令功能相同,给你一个文本文件并且让你在卡中查看此文件);
Show file(用于简单显示一个特定文件或文件系统,它并不常用);
Delete(执行文件删除功能);
Erase / Format (慎重使用);
Cd / Pwd (cd 用于改变目录、pwd用于打印<显示>工作目录);
Mkdir / Rmdir (mkdir 用于创建目录、rmdir用于删除目录)。
9、备份、恢复、删除Cisco配置
Router# copy running-config startup-config //将running-config复制到NVRAM作为备份
Router# copy running-config tftp //将running-config复制到tftp服务器作为备份
(恢复操作源、目标文件刚好相反)
Router# erase startup-config //删除配置文件
10、使用Cisco发现协议CDP(Cisco Discovery Protocol)
CDP是由Cisco设计的专用协议,有助于管理员收集关于本地连接和远程连接设备的相关信息。通过CDP可以收集相邻设备的硬件和协议信息,此信息对于故障诊断和网络文件归档非常有用。
Show cdp 命令可显示两个CDP全局参数的信息;
CDP定时器:指多长时间将CDP数据包传输到所有活动接口的时间量,可使用命令cdp timer <10-255>设置,单位为秒;
CDP保持时间:指设备保留从相邻设备接收到的数据包的时间量,可使用命令cdp holdtime <5-254>设置,单位为秒;
在路由器全局配置模式下可以使用no cdp run命令完全关闭CDP。若要在路由器接口上关闭或打开CDP,使用no cdp enable和cdp enalbe命令。
收集邻居信息(show cdp neighbors)
记信CDP数据包不经过Cisco交换机这非常重要,并且只能看到直接连接的设备。这意味着如果你的路由器连接到交换机上,不会看到连接到交换机的其它设备。
Router#show cdp neighbors //显示与该设备直连的Cisco设备
Show cdp neighbor 命令输出项说明:
字段 |
解释 |
Device ID |
直连设备的主机名 |
Local interface |
要接收CDP数据包的端口或接口 |
Holdtime |
如果没有收到其他CDP数据包,在丢弃接收的信息之前将要保存的时间量 |
Capability |
邻居设备的性能,如路由器、交换机或中继器。代码在输出的顶端列出 |
Platform |
直连的Cisco设备类型 |
Port ID |
组播CDP数据包的相邻设备的端口或接口 |
Router# show cdp neighbors detail //显示直连Cisco设备的详细信息,包括相邻设备IOS版本。
Router# show cdp entry * //功能同上
(但是show cdp entry *命令有两个选项是show cdp neighbors detail 命令所没有的。)
Router# show cdp entry * protocols //显示每个直连设备的IP
Router# show cdp entry * version //显示直连邻居的IOS版本
Router# show cdp traffic //显示接口流量的信息,包括发送和接收CDP数据包的数量,以及CDP出错信息。
Router# show cdp interface //显示路由器接口或交换机端口CDP状态。
Router# config terminal
Router(config)# interface serial0/0/0
Router(config-if)# no cdp enable //关闭S0/0/0端口的CDP,这它的端口信息将不会被显示。
11、使用Telnet
(CDP不能收集非直连设备的信息,然而,可以使用Telnet程序连接到相邻设备,并在那些远程设备上运行CDP来收集远程设备的CDP信息。)
记住,在路由器上的VTY端口配置为login,意味着必须设置VTY口令或使用no login取消登录验证。
Router# telnet 10.2.2.2 和 Router# 10.2.2.2 是一个效果。
(在任何时候输入exit结束连接。若要保持现有连接,并telnet到其它设备,可以按下Ctrl+Shift+6组合键,放开后,再按X键。Telnet成功后你将在用户模式下!!)
Router# show sessions 命令可显示所有telnet会话(连接到其它设备的),其中带*号的是你所在的最后一个会话。按两次Enter键可返回到上一个会话。也可输入连接号并按两次Enter键返回到任何一个会话。
Router# show users 命令可显示本设备的VTY端口会话(其它设备连进来的),其中带*号的代表当前终端会话用户。
关闭Telnet会话
若要从远程设备结束会话,使用exit
Router> exit
若要从本设备断掉一个远程连入的会话,使用disconnect
Router# disconnect 2 //结束会话号为2的会话
若要从本设备断掉通过telnet和你建立了连接的设备的会话,使用clear line
Router# clear line 194 //结束VTY线路194的会话。其中连接线路是不能选择的!这正是为什么要在所有VTY线路上设置相同口令的原因。用show users可查看线路号!
12、解析主机名
有两种方法可以将主机名解析为IP地址:在每台路由器上建立一个主机表,或组建一个类似于动态主机表的域名系统服务器。这样可以使用主机名而不是IP地址连接远程设备。
建立主机表
router# config t
router(config)# ip host r1 10.2.2.2 //主机名r1与IP地址10.2.2.2对映
router(config)# ip host ap 10.1.1.1 //主机名ap与IP地址10.1.1.1对映
router(config)# do show hosts //查看主机表
router(config)# no ip host r1 //从主机表中删除主机名r1
使用DNS解析名称
(任何时候Cisco设备接收了一个无法理解的命令时,默认情况下它尝试通过DNS解析。可在全局模式下使用no ip domain-lookup命令防止费时的DNS查找。)
如果网络上有DNS服务器,需要添加一些命令使DNS名称解析正常运行:
router# config terminal
router(config)# ip domain-lookup //开启DNS查找
router(config)# ip name-server 192.168.0.70 //指定DNS服务器的IP地址。最多可有6个
router(config)# ip domain-name lammle.com //将域名添加到输入的主机名中(可选,但建议设置)
13、检查网络连接并排除故障
在用户模式下或特权模式下使用Ping命令来测试连通性;
Router# ping r1 或 Router# ping 10.2.2.2
在用户模式下或特权模式下使用Traceroute命令来显示数据包到达远程网络的路径;
Router# traceroute r1
在特权模式下使用Debug命令来测试排除网络故障(该命令具有非常高的优先级,会消耗巨大资源,需合理使用!);
Router# debug all // 调试所有。在前面加no可取消;
Router# debug ip rip //显示路由器发送和接收RIP更新情况;
(在设备上使用debug命令要谨慎。如果路由器的CPU利用率已达到50%以上,就不再适合用debug all命令,除非想看到路由器垮掉!)
Router# show processes //或show processes cpu 查看给定路由器的CPU利用率。在其输出结果中,第一行显示最后5秒、1分钟和5分钟时CPU的利用率。在输出“CPU utilization for the last 5 seconds”一行前给出的数据分别是:总利用率/由于中断运行时程序导致的利用率。