本章学习重点:
1. 备份和恢复Cisco IOS
2. 备份和恢复Cisco配置
3. 通过CDP和Telnet收集相邻设备的相关信息
4. 解析主机名
5. 使用ping和traceroute命令测试网络连接
Cisco路由器的内部组件
1. bootstrap
2. post
3. ROM
4. 小型IOS
5. RAM
6. ROM
7. NVRAM
8. Configuration register
路由器启动顺序
启动顺序包括下列步骤
1. 路由器执行POST。
2. Bootstrap查找并加载Cisco IOS软件。
3. IOS软件在NVRAM中查找有效的配置文件。
4. 如果NVRAM中有startup-config文件,路由器将加载并运行此文件。
管理配置寄存器
所有Cisco路由器都具有一个位于NVRAM中的16位软件寄存器。默认情况下,配置寄存器设置为从闪存加载startup-config文件。
理解配置寄存器位
配置寄存器的16位从左到右是从15读到0。Cisco路由器默认的配置设置时0x2102。
软件配置意义
位 十六进制 解释
0-3 0x0000-0x000f 启动字段
6 0x0040 忽略NVRAM内容
7 0x0080 启用OEM位
8 0x101 禁用中断
10 0x0400 IP广播全为零
5、11-12 0x0800-0x1000 控制台线路速率
13 0x2000 如果网络启动实效则启动默认ROM软件
14 0x4000 IP广播包含网络号
15 0x8000 启用诊断信息并忽略NVRAM内容
位于配置寄存器0位-3位的启动字段控制路由器的启动顺序。
检查当前配置寄存器值
使用show version命令可以查看配置寄存器的当前值。
Cisco Internetwork Operating System Software
IOS (tm) 2500 Software (C2500-JS56I-L), Version 12.1(5)T12, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.com/tac
Copyright (c) 1986-2002 by cisco Systems, Inc.
(略)
Configuration register is 0x2142
命令最后给出的信息就是配置寄存器的值。
修改配置寄存器的值
可以通过修改配置寄存器的值来修改路由器如何启动和运行。
下面是修改配置寄存器的可能原因:
1. 强制系统进入ROM监控模式
2. 选择启动来源和默认的启动文件名
3. 启用或禁用Break(中断)功能
4. 控制广播地址
5. 设置控制台中断波特率
6. 从ROM加载操作软件
7. 启用从TFTP启动服务器
使用config-register命令修改配置寄存器。
下面命令告诉路由器忽略NVRAM内容:
Router(config)#config-register 0x2142
Router(config)#^Z
Router#sh ver
(略)
Configuration register is 0x2142
恢复口令
如果忘记了口令,可以通过修改寄存器的值来进行恢复。
默认的配置寄存器值是0x2102,在默认情况下,路由器会查找并加载存储在NVRAM中的路由器配置。现在我们要更改值,让路由器忽略NVRAM的内容。
这里是口令恢复的主要步骤:
1. 启动路由器并通过执行一个中断来中断启动顺序
2. 修改配置寄存器开启第6位(值为0x2142)
3. 重载路由器
4. 进入特权模式。
5. 将startup-config文件复制为running-config文件
6. 修改口令
7. 将配置寄存器重设为默认值
8. 保存路由器的配置
9. 重载路由器。
下面是详细步骤:
中断路由器启动顺序
做法是,当路由器第一次启动时同时按下CTRL+BREAK组和键来执行一个中断。
修改配置寄存器
2600系列命令
Rommon 1> confreg 0x2142
2500系列命令
>o/r 0x2142
从载路由器进入特权模式
再此情况下,需要像下面这样从蛇路由器:
2600系列上,输入reset
2500系列上,输入I(初始化)
查看并修改配置
将startup-config文件复制到running-config文件
Copy startup-config running-config
缩写 copy start run
但是不能查看secret设置的口令。要修改口令,这样做
Config t
Enable secret 12345
重设配置寄存器并重载路由器
使用config-register命令将配置寄存器设置回默认值:
Config t
Config-register 0x2102
最后使用Copy run start 命令保存配置并重载路由器。
备份和恢复Cisco IOS
在省级或恢复Cisco IOS之前,应当将已有文件复制到TFTP主机作为备份,以防止新的影响文件不能正常运行。
在将IOS映像文件备份到网络服务器之前,完成下列操作:
1. 确定可以访问网络服务器。
2. 确保网络服务器对于影响文件具有足够的空间。
3. 验证所需的文件名以及路径。
验证闪存
当场是在路由器上用心的IOS文件升级Cisco IOS之前,应当验证闪存具有充足的空间来保存新的映像文件。可以使用sh flash命令验证闪存的容量和姚存储到闪存中文件的大小:
Router#sh flash
System flash directory:
File Length Name/status
1 16082856 c2500-js56i-l.121-5.T12.bin
[16082920 bytes used, 694296 available, 16777216 total]
16384K bytes of processor board System flash (Read ONLY)
这里文件名是c2500-js56i-l.121-5.T12.bin。这个文件名称具有平台特性,名称来源如下:
1. C2500是指平台类型
2. J指示此文件时一个企业级映像文件
3. S指示文件包含扩展性能
4. L指示在需要时可以从闪存中删除此文件,并且此文件时不可压缩文件
5. T12是版本号
6. .bin指示Cisco IOS是二进制可执行文件
备份Cisco IOS
若要将Cisco IOS备份到TFTP服务器,使用copy flash tftp命令
恢复或升级Cisco路由器IOS
可以使用copy tftp flash命令将文件从TFTP服务器下载到闪存中。此命令需要TFTP服务器的IP地址以及要下载到闪存中的文件名。
在开始操作之前,要确保欲放置到闪存中的文件在服务器默认的TFTP目录下。
备份和恢复Cisco配置
对于路由器配置进行的任何修改存储在running-config文件中。在修改了running-config后没有执行copy run start命令,那么路由器重载或掉电后修改的内容会丢失。
备份Cisco路由器配置
要把路由器的配置文件从路由器复制到TFTP服务器,可以使用copy running-config tftp或copy startup-config tftp。其中一个备份当前正在DRAM中运行的路由器配置,一个备份存储在NVRAM中的路由器配置。
验证当前配置
可以使用sh running-config命令
Router>en
Router#sh run
Building configuration...
Current configuration : 547 bytes
!
version 12.1
当前信息表明路由器运行的是IOS 12.1版本
验证存储的配置
下面,应当检查NVRAM中存储的配置。要察看此配置,使用sh start命令:
Router#sh start
Using 547 out of 32762 bytes
!
version 12.1
将当前配置复制到NVRAM
将running-config复制到NVRAM作为备份,可以确信路由器重载时总是重载Running-config文件。
Router#copy run start
Destination filename [startup-config]? [Enter]
Building configuration...
[OK]
Router#
将配置复制到TFTP服务器
使用copy run tftp命令
恢复Cisco路由器配置
使用copy tftp run命令
删除配置
使用erase startup-config命令
Router#erase startup-config
Erasing the nvram filesystem will remove all files! Continue? [confirm][Enter]
[OK]
Erase of nvram: complete
Router#
使用Cisco发现协议
Cisco发现协议(CDP)是Cisco私有,帮助用来管理员收集本地相连和远程设备的信息.
获取CDP定时器和保持时间信息
之前提到过CDP的一些介绍,show cdp命令提供2个信息给你:
1.CDP timer:CDP包传给每个活跃接口的时间间隔,默认是60秒
2.CDP holdtime:某设备从相邻设备收到的包的保持时间,默认是180秒
如下:
Router#sh cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Router#
可以修改默认的时间,分别在全局配置模式下使用cdp timer和cdp holdtime命令,如下:
Router#conf t
Router(config)#cdp timer 90
Router(config)#cdp holdtime 240
在所有接口上关闭CDP,在全局配置模式下使用no cdp run命令;关闭某个接口的CDP使用no cdp enable命令.再次打开分别使用cdp run和ccdp enable命令.如下:
Router(config)#no cdp run
Router(config)#int fa0/1
Router(config-if)#no cdp enable
收集邻居信息
使用show cdp neighbour可以显示直接相连的设备的信息,如下:
Router#sh cdp nei
Capability Codes: R ? Router, T ? Trans Bridge,
B ? Source Route Bridge, S ? Switch, H ? Host,
I ? IGMP, r ? Repeater
Device ID Local Intrfce Holdtime Capability Platform Port ID
1900Switch Eth 0 238 T S 1900 2
2500B Ser 0 138 R 2500 Ser 0
Router#
一些选项的解释如下:
1.Device ID:直接相连的设备的主机名
2.Local Interface:接收CDP包的接口
3.Holdtime:某设备从相邻设备收到的包的保持时间,如果过了这个时间仍然没收到新的CDP包,就将被丢弃
4.Capability:见输出最顶部信息
5.Platform:Cisco设备的类型
6.Port ID:相连设备的接受CDP包信息的接口
要查看更为详细的CDP信息可以使用show cdp neighbor detail或show cdp entry *命令
收集借口流量信息
使用show cdp traffic命令显示接口CDP包流量信息,如下:
Router#sh cdp traffic
CDP counters:
Packets output: 13, Input: 8
Hdr syntax: 0, Chksum error: 0, Encaps failed: 0
No memory: 0, Invalid packet: 0, Fragmented: 0
Router#
收集端口和接口信息
使用show cdp interface命令显示接口的CDP状态信息
使用Telnet
在特权模式下使用telnet [IP地址]的命令进行telnet,如下:
Router#telnet 172.16.10.2
Trying 172.16.10.2 … Open
Password required, but none set
[Connection to 172.16.10.2 closed by foreign host]
Router#
由上面提示可以看出,VTY没有密码配置的话是不允许你telnet的(除非你使用了no login命令,但是安全性几乎为0).所以在telnet前,记得先给目标设备的VTY线路配置密码
同时Telnet到多个设备
当你telnet到远程设备的时候,可以在任何情况下使用exit命令来终止连接.但是假如你想保持这个连接,同时又对另外1个设备进行telnet的时候,使用Ctrl+Shift+6,再按下X键,就可以回到本地console,再对另外1设备进行telnet.如下:
2500#telnet 172.16.10.2
Trying 172.16.10.2 … Open
User Access Verification
Password:
2600>[Ctrl+Shift+6,X]
2500#telnet 192.168.0.32
(略)
检查Telnet连接
查看从本地到远程的连接会话,使用show sessions命令,如下:
2500#sh sessions
Conn Host Address Byte Idle Conn Name
1 172.16.10.2 172.16.10.2 0 0 172.16.10.2
*2 192.168.0.32 192.168.0.32 0 0 192.168.0.32
2500#
注意*所在的会话代表你的最后1个会话,可以直接敲2下Enter键回到*号会话,也可以输入前面的数字,再敲2下Enter键回到相应会话
检查Telnet用户
使用show users命令列举本地所有活动console和VTY端口,如下:
2500#sh users
Line User Host(s) Idle Location
* 0 con 0 172.16.10.2 00:07:52
192.168.0.32 00:07:18
注意上面输出的con代表本地console,这个例子可以看到从本地console连接了远程的2个设备.接下来在我们远程设备上使用这个命令,如下:
2600>sh users
Line User Host(s) Idle Location
0 con 0 idle 9
*2 vty 0
这个输出内容可以看出console是活动的,而且VTY端口2被使用
关闭Telnet会话
之前说过,要终止telnet会话,在远程(被telnet)设备上使用exit命令.但是要从本地设备终止会话的话,就需要在本地使用disconnect命令,如下:
2500#disconnect ?
<1-2> The number of an active network connection
WORD The name of an active network connection
<cr>
2500#disconnect 1
Closing connection to 172.16.10.2 [confirm]
2500#
验证如下:
2600#sh users
Line User Host(s) Idle Location
*0 con 0 idle 0
1 aux 0 idle 0
2 vty 0 idle 172.16.10.1
清除连接,使用clear line命令,并验证,如下:
2600#clear line 2
[confirm]
[OK]
2600#sh users
Line User Host(s) Idle Location
*0 con 0 idle 0
1 aux 0 idle 1
2600#
解析主机名
2种解析主机名到IP地址的办法:
1.在每个router上建立主机表(host table)
2.建立DNS服务器(Domain Name System server),这个类似动态主机表
建立主机表
主机表只提供包含其中的解析,建立主机表的命令是ip host [主机名] [TCP端口号] [IP地址],默认TCP端口号为23.1个主机可以对应最多8个IP地址.如下:
2500(config)#ip host 2501B 172.16.10.2
2500(config)#ip host 1900S 192.168.0.32
2500(config)#^Z
使用show hosts命令验证新建的主机表,如下:
2500#sh hosts
Default domain is not set
Name/address lookup uses domain service
Name servers are 255.255.255.255
Host Flags Age Type Address(es)
2501B (perm, OK) 0 IP 172.16.10.2
1900S (perm, OK) 0 IP 192.168.0.32
2500#
注意Flags选项的perm,代表是手动输入的,如果这项是temp的话,表明是由DNS解析的
使用DNS解析名称
假如你在CLI下输入了1个Cisco设备不能识别的命令,它会默认通过DNS来进行解析(它认为是主机名).这个不好的地方是要花费额外的时间等待DNS解析完.可以在全局配置模式下使用no ip domain-lookup命令关闭它
假如你在你的网络里有DNS服务器,可以使用1些命令使DNS解析开始工作:
1.第一条命令是:ip domain-lookup,这个命令默认是打开了的.如果你之前使用了no ip domain-lookup的话,就要用这条命令打开它
2.第二条命令是:ip name-server.设置DNS服务器的IP地址,可以使1个IP地址对应多达6个服务器
3.最后条命令是:ip domain-name.虽然这个命令是可选的,但是最好还是设置1下
实例如下:
2500(config)#ip domain-lookup
2500(config)#ip name-server 192.168.0.23
2500(config)#ip domain-name noko.com
2500(config)#^Z
2500#
可以使用ping命令来严正下,如下:
2500#ping 1900S
Translating “1900S”…domain server (192.168.0.23) [OK]
(略)
使用show hosts命令验证下,如下:
2500#sh hosts
Default domain is noko.com
Name/address lookup uses domain service
Name servers are 192.168.023
Host Flags Age Type Address(es)
2501B (perm, OK) 0 IP 172.16.10.2
1900S.noko.com (temp, OK) 0 IP 192.168.0.32
2500#
检查网络连接
使用ping命令和Traceroute命令