作者:红头发
Chapter8 Managing a Cisco Interwork
The Internal Components of a Cisco Router
Cisco Router的一些组件:
bootstrap:存储在ROM中的微码(microcode)中,用来在初始化的时候启动router,然后加载
IOS
POST:存储在ROM中的微码中,用来检查硬件基本配置是否正常,然后决定哪些接口可
用
ROM monitor:存储在ROM中的微码中,作用是测试和排疑等
Mini-IOS:Cisco叫它RXBOOT或bootloader,它是存储在ROM中的,IOS的简化版本,用来把
IOS加载到闪存中
RAM(random-access memory):用来保存数据包缓存,ARP缓存,路由表,和running-config
配置文件.某些router上,IOS可以从RAM中运行
ROM(read-only memory):用来启动和维持router正常化
Flash memory(闪存):用来存放IOS,当router重新启动的时候闪存是不会被擦除的,由Intel
创造的EEPROM
NVRAM(nonvolatile RAM):存储startup-config配置文件,当router重新启动的后,这些文
件是不会被擦除的
configuration register:用来控制router如何启动,这个值可以使用show version来查看,一
般为0x2102(16进制),含义是告诉router从闪存里加载IOS和从NVRAM里加载配置文件
The Router Boot Sequence
启动序列用来测试硬件和加载所必需的软件,包括以下几个步骤:
1.先进行POST,测试硬件
2.bootstrap查找和加载IOS
3.IOS在NVRAM中查找有效的startup-comfig配置文件
4.如果在NVRAM里查找到了这个配置文件,router就可操作;如果文件不存在,router进到
setup模式
Managing Configuration Registers
Cisco的router有1个存储在NVRAM中的,16位长的configuration register.默认这个值
0x2102设置成从闪存中加载IOS和从NVRAM中查找启动配置文件
Understanding the Configuration Register Bits
一些常见的位的含义:
1.第0到3位:启动字段
2.第6位:忽略NVRAM内容
3.第8位:禁用BREAK
启动字段(00到03):
1.设置成00:ROM monitor模式,进入到这个模式,configuration register的值设置成2100.
然后要启动router的话需要手动在命令行提示符rommon>下输入b(感觉有点类似Solaris的
OpenBoot哈哈)
2.设置成01:从ROM中的镜象启动,把configuration register的值设置成2101,提示符为
router(boot)>
3.设置成02到0F:定义默认启动文件名,在NVRAM中查找
Checking the Current Configuration Register value
使用show version命令可以查看当前configuration register的值,在输出的最下部分.这个
命令将会显示硬件的配置信息,软件版本,配置文件信息,启动镜象等
Changing the Configuration Register
可以通过修改configuration register的值来决定router的启动和运行方式.在全局配置模
式下使用config-register的命令.修改值为0x101,注意输出内容,如下:
Router(config)#config-register 0x101
Router(config)#^Z
Router#sh ver
(略)
Configuration register is 0x2102 (will be 0x0101 at next reload)
注意修改后的值和当前值,修改后的值只在重新启动后生效
Recovering Passwords
如果你把密码忘记了怎么办?之前提到过,位6可以忽略掉NVRAM里的储存的启动配置
文件的内容,默认是0x2102,所以我们把值修改成0x2142,就可以达到忽略NVRAM这个效果.
下面是密码恢复的主要几个步骤:
1.在启动router的时候使用BREAK中断启动
2.把configuration register的值设置成0x2142
3.重新启动
4.进入特权模式
5.把startup-config文件复制到running-config文件中
6.修改密码
7.把configuration register的值还原为0x2102
8.保存配置
9.重新启动
具体的修改,2500系列和2600系列有一点不一样,我们先来看2600系列的修改实例,使用
Ctrl+BREAK中断启动.注意提示monitor: command "boot" aborted due to user interrupt.
如下:
System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)
(略)
PC = 0xfff0a530, Vector = 0x500, SP = 0x80004374
monitor: command "boot" aborted due to user interrupt
rommon 1 >confreg 0x2142
You must reset or power cycle for new config to take effect
提示重新启动,如下:
rommon 1>reset
重新启动后,进入特权模式,把startup-config复制到running-config中,并修改密码.如下:
Router#copy run start
Router#conf t
Router(config)#enable secret noko
把configuration register的值还原,并保存,如下:
Router(config)#config-register 0x2102
Router(config)#^Z
Router#copy run start
2500系列下的修改,在启动时输入o中断启动,再用o/r修改configuration register的值,
如下:
System Bootstrap, Version 11.0(10c), SOFTWARE
(略)
Abort at 0x1098FEC (PC)
>o
(略)
>0x2142
重新启动,输入I,如下:
>I
接下来的步骤和2600系列一样,如下:
Router#copy run start
Router#conf t
Router(config)#enable secret noko
把configuration register的值还原,并保存,如下:
Router(config)#config-register 0x2102
Router(config)#^Z
Router#copy run start
Backing Up and Restoring the Cisco IOS
把IOS备份到TFTP服务器前的准备工作:
1.确认你可以访问TFTP服务器
2.确认TFTP服务器是否有足够空间来保存IOS文件
3.确定名称和路径
Verifying Flash Memory
验证闪存信息,使用show flash命令,如下:
Router#sh flash
System flash directory:
File Length Name/status
1 8121000 c2500-js-l.112-18.bin
Backing Up the Cisco IOS
把IOS备份到TFTP服务器上,特权模式下使用copy flash tftp命令,记住备份之前{zh0}对
服务器ping下看是否是通的
Restoring or Upgrading the Cisco Router IOS
从TFTP恢复或者升级IOS,特权模式下使用copy tftp flash命令
Backing Up and Restore the Cisco Configuration
把配置文件备份到TFTP服务器,和把IOS备份到TFTP服务器的命令类似;恢复也是如
此:
1.startup-config文件的备份:copy startup-config tftp
2.startup-config文件的恢复:copy tftp startup-config
3.running-config文件的备份:copy running-config tftp
4.running-config文件的恢复:copy tftp running-config
验证命令为show running-config和show startup-config
Erasing the Configuration
擦除启动配置文件startup-config文件,在特权模式下使用erase startup-config命令,擦除了
以后,立即重新启动的话,router将进到setup模式
Using Cisco Discovery Protocol(CDP)
Cisco发现协议(CDP)是Cisco私有,帮助用来管理员收集本地相连和远程设备的信息.
Getting CDP Timers and Holdtime Information
之前提到过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
Gathering Neighbor Information
使用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 *命令
Gathering Interface Traffic Information
使用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#
Gathering Port and Interface Information
使用show cdp interface命令显示接口的CDP状态信息
Using 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线路配置密码
Telnetting into Multiple Devices Simultaneously
当你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
(略)
Checking Telnet Connections
查看从本地到远程的连接会话,使用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#
注意*所在的会话代表你的{zh1}1个会话,可以直接敲2下Enter键回到*号会话,也可以
输入前面的数字,再敲2下Enter键回到相应会话
Checking Telnet Users
使用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被使用
Closing Telnet Sessions
之前说过,要终止telnet会话,在远程(被telnet)设备上使用exit命令.但是要从本地设备终
止会话的话,就需要在本地使用disconnect命令,如下:
2500#disconnect ?
<1-2> The number of an active network connection
WORD The name of an active network connection
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
xx连接,使用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#
Resolving Hostnames
2种解析主机名到IP地址的办法:
1.在每个router上建立主机表(host table)
2.建立DNS服务器(Domain Name System server),这个类似动态主机表
Building a Host Table
主机表只提供包含其中的解析,建立主机表的命令是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解析的
Using DNS to Resolve Names
假如你在CLI下输入了1个Cisco设备不能识别的命令,它会默认通过DNS
来进行解析(它认为是主机名).这个不好的地方是要花费额外的时间等待DNS解
析完.可以在全局配置模式下使用no ip domain-lookup命令关闭它
假如你在你的网络里有DNS服务器,可以使用1些命令使DNS解析开始工作:
1.{dy}条命令是:ip domain-lookup,这个命令默认是打开了的.如果你之前
使用了no ip domain-lookup的话,就要用这条命令打开它
2.第二条命令是:ip name-server.设置DNS服务器的IP地址,可以使1个
IP地址对应多达6个服务器
3.{zh1}条命令是:ip domain-name.虽然这个命令是可选的,但是{zh0}还是设
置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#
Checking Network Connectivity
ping和traceroute命令是检查网络连接是否完好的有利工具。
(Written by 红头发,ChinaITLab BBS)