Cisco 交换机与路由器故障处理方法分享
一、网络的复杂性
一般网络包括路由、拨号、交换、视频、WAN(ISDN、帧中继、ATM、…)、LAN、VLAN、…
二、故障处理模型
1、 界定问题(Define the Problem)
详细而精确地描述故障的症状和潜在的原因
2、 收集详细信息(Gather Facts)R>信息来源:关键用户、网络管理系统、路由器/交换机
1) 识别症状 :
2) 重现故障:校验故障依然存在
3) 调查故障频率:
4) 确定故障的范围:有三种方法建立故障范围
由外到内故障处理(Outside-In Troubleshooting):通常适用于有多个主机不能连接到一台服务器或服务器集
? 由内到外故障处理(Inside-Out Troubleshooting):
? 半分故障处理(Divide-by-Half Troubleshooting)
3、 考虑可能情形(Consider Possibilities)考虑引起故障的可能原因
4、 建立一份行动计划(Create the Action Plan)
5、 部署行动计划(Implement the Action Plan)
用于纠正网络故障原因。从最象故障源处,想出处理方法每完成一个步骤,检查故障是否解决
6、 观察行动计划执行结果(Observe Results)
7、 如有行动计划不能解决问题,重复上述过程(Iterate as Needed)
三、记录所做修改
在通过行动计划解决问题后,建议把记录作为故障处理的一部分,记录所有的配置修改。
第2章 网络文档
一、网络基线
解决网络问题的最简单途径是把当前配置和以前的配置相比较。
基线文档由不同的网络和系统文档组成,它包括:
网络配置表
网络拓扑图
ES网络配置表
ES网络拓扑图
创建网络的注意事项:
1) 确定文档覆盖的范围;
2) 保持一致:收集网络中所有设备的相同信息;
3) 明确目标:了解文档的用途;
4) 文档易于使用和访问;
5) 及时维护更新文档。
二、网络配置表
网络配置表的通常目标是提供网络中使用的硬件和软件组成的列表,其组成有:
分级 项目
杂项信息 设备名、设备型号、CPU类型、FLASH、DRAM、接口描述、用户名口令
第1层 介质类型、速率、双工模式、接口号、连接插座或端口
第2层 MAC地址、STP状态、STP根桥、速端口信息、VLAN、Etherchannel配置、封装、中继状态、接口类型、端口安全、VTP状态、VTP模 式
第3层 IP地址、IPX地址、HSRP地址、子网掩码、路由协议、ACL、隧道信息、环路接口
在多数情形下,存储这些信息的最佳方式是电子表格或数据库,电子表格用于较小的,网络数据库用于较大的网络。
三、网络拓扑图
网络拓扑图是图示网络的各组成部分之间如何在逻辑上和物理上相互连接。
1、网络拓扑图的组成
分级 项目
杂项信息 设备名、设备型号、设置间连接、接口描述
第1层 介质类型、接口号
第2层 MAC地址、VLAN、封装、中继状态、接口类型、DLCI
第3层 IP地址、子网掩码、路由协议
对于大型的网络,可以制作多个网络拓扑图,每个网络拓扑图反映一个分离的部分。
2、建立网络拓扑图
四、发现网络配置信息
1、收集路由器和第3层交换机网络配置信息
show version ;显示设备型号、Flash、DRAM、IOS版本
show ip interface brief ;显示接口简要信息(类型、状态、协议状态、IP地址)
show interface e0/0 ;显示某接口详细信息(MAC、IP、MASK、…)
show ip protocols ;显示IP路由协议信息
show ip interface e0/0 ;显示接口的IP协议信息(状态、IP地址、ACL、…)
2、收集交换机配置信息
交换机网络配置表包含的信息:设备名、型号、位置、Flash、DRAM、CATOS版本、管理地址、VTP域、VTP模式、端口号、端口速率、端口双 工、VLAN、STP状态、速端口状态、中继状态、…
show version ;显示IOS或CATOS版本、DRAM、Flash
show vtp domain ;(CatOS)显示VTP域和VTP模式
show vtp status ;(IOS)
show interface ;(CatOS)显示管理接口信息
show port ;(CatOS)显示每个端口的简要信息(号、VLAN、双工、…)
show interface ;(IOS)
show trunk ;(CatOS)显示中继信息(模式、封装、允许端口、剪裁、…)
show interface trunk ;(IOS)
show spantree 45 ;(CatOS)显示端口的STP模式、类型、状态、速端口、…)
show spanning-tree 45 ;(IOS)
3、发现相邻CISCO设备的信息
CDP(Cisco Discovery Protocol)是CISCO的专用协议,用于识别直接相邻的CISCO设备信息,CDP工作在第2层。
Show cdp neighbor ;显示相邻CISCO设备的简要信息(ID、相邻接口、平台、…)
Show cdp neighbor detail;显示相邻CISCO设备的详细信息(包含第3层信息)
五、创建网络文档的过程
1、 LOGIN ;登录到设备进入特权模式。
2、 接口发现 ;发现关于设备的所需信息
3、 Document ;在网络配置表中记录发现的信息。
4、 Diagram ;从网络配置表传输所需信息到网络拓扑图
5、 设备发现 ;判断是否有相邻设备没有记录文档。
第3章 ES文档和故障处理
一、ES网络配置表
ES网络配置表是ES的硬件和软件组成的列表。ES网络配置常包括以下项目:
分级 项目
杂项信息 系统名、系统厂商/型号、CPU速率、RAM、存储器、系统功能
第1、2层 介质类型、接口速率、VLAN、MAC、网络接头
第3层 IP地址、缺省网关、子网掩码、WINS、DNS、
第7层 操作系统(版本)、基于网络的应用程序、高带宽应用程序、低延时应用程序、特定考虑
二、ES网络拓扑图
ES网络拓扑图的典型项目有:系统名、网络连接、物理位置、系统目标、VLAN、IP地址、子网掩码、操作系统、网络应用程序
大多数ES网络拓扑图都建立在网络拓扑图中,其中还可加入ES网络配置表数据的子集。
三、收集ES网络配置信息
通用命令:
1) ping host/ip-address ;发送和接收ICMP响应,校验网络的连通性
2) arp -a ;查看修改ES的MAC-IP映射表(同一子网)
3) telnet host/ip-address ;登录远程ES或特定TCP端口
Windows平台命令
1) ipconfig /all ;查看修改ES的IP信息(适用所有Windows平台)
2) winipcfg ;查看修改ES的IP信息(仅适用于Win9x平台)
3) tracert host/ip-address ;校验到主机的连接并显示路径上的设备IP
4) route print ;显示本设备IP路由表的内容
5) netstat ;显示当前网络连接
Unix、Linux和Mac OS系统命令
1) ifconfig -a ;查看UNIX和MAC主机的IP信息
2) traceroute host/ip ;
3) route –n ;
4) cat /etc/resolv.conf ;查看DNS服务器信息
四、通用的故障处理过程
1、通用的故障处理过程:
l 收集症状:收集网络、用户、ES的症状
1) 分析现存症状
2) 判断所属
3) 窄化范围
4) 判定症状
5) 记录症状
l 分离问题
1) Bottom-Up troubleshooting
从物理层开始向上排查,直到应用层。常用于怀疑问题发生在物理层,或在处理复杂网络问题时使用。
2) Top-Down troubleshooting
从应用层开始向下排查故障,用于怀疑问题发生在软件部分。
3) Divide-and-Conquer troubleshooting
选择OSI模型的特定层(数据链路层、网络层、传输层)开始故障处理,确定问题是在该层、还是上层或下层。适于具有丰富的经验的人员使用。
常用traceroute命令检查下4层(从物理层到应用层)。
l 纠正问题
2、ES故障处理命令
1) ping
连续Ping: ping –t 192.168.0.1 ;Windows系统
ping –s 192.168.0.1 ;Unix环境
记录路由: ping –r 192.168.0.1 ;Windows
ping –s –nRv 192.168.0.1 ;Unix
2) Trace Route
Tracert 10.0.0.1 ;Windows系统
Tracerout 10.0.0.1 ;Unix
Ping记录路由器的出接口,而traceroute通常记录进入的接口。
3) Arp
显示第2层和第3层地址的映射表: Arp –a ;Windows/Unix
4) Route
显示路由表: route print ;windows系统
route –n ;Unix
5) Netstat
显示到ES的当前连接及端口: netstat –n ;Windowx & Unix
6) Ipconfig&Ifconfig
显示ES的IP配置: ipconfig /all ;windows
ifconfig –a ;unix
7) Nbtstat
显示当前名称解析缓存: nbtstat –c ;
清除当前名称解析缓存: nbtstat –r ;
第4章 协议属性
一、OSI参考模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
二、全局协议分类
1、面向连接的协议:
windows size:在需要目标系统确认的传输的数据包数。
队列数据传送:对进入和发送的PDU指定序号,在目的地再按序号重排数据;
流控:确保发送的速率不超过目标接收的速率,通过为传输建立窗口尺寸实现;
错误控制:确保接收到的数据连续并无错,如有丢失或损失的PDU,则不发送ACK包。
面向连接的协议有:ATM、TCP、Novell SPX、Apple Talk ATP;
2、非连接的协议
不包括连接设置和终止,没有流控和错误控制。
非连接的协议有:UDP、Apple Talk DDP、Novell IPX;
三、第2层:数据链路层
1、Ethernet/IEEE802.3
2、Token Ring/IEEE802.5
四、PPP
五、SDLC
六、Frame Relay
七、ISDN
八、第3、4层:IP路由协议
1、IP
2、ICMP
3、TCP
4、UDP
一、故障处理命令
1、show命令:
1) 全局命令:
show version ;显示系统硬件和软件版本、DRAM、Flash
show startup-config ;显示写入NVRAM中的配置内容
show running-config ;显示当前运行的配置内容
show buffers ;详细输出buffer的名称和尺寸
show stacks ;提供路由器进程和处理器利用率信息, 用stack decode
show tech-support ;显示几个show命令的输出
show access-lists ;查看访问列表配置
show memory ;用于测试内存问题
2) 接口相关命令
show queueing [fair|priority|custom]
show queue e0/1 ;查看接口上队列的设置和操作
show interface e0/1 ;Cisco缺省的Ethernet封装方法是ARPA
show ip interface e0/1 ;显示指定接口的TCP/IP配置信息
3) 进程相关命令
show processes cpu ;显示路由器CPU的使用率和当前的进程
show processes memory ;显示路由器当前进程的内存使用情况
4) TCP/IP协议相关命令
Show ip access-list ;显示IP访问列表(1-199)
Show ip arp ;显示路由器的ARP缓存(IP、MAC、封装类型、接口)
Show ip protocols ;显示运行在路由器上的IP路由协议的信息
Show ip route ;显示IP路由表中的信息
Show ip traffic ;显示IP流量统计信息
2、debug命令
DEBUG不应在CPU使用率超过50%的路由器上运行。
1) 限制debug输出
在使用DEBUG获得所需数据后,要关闭Debug
使路由器对所有消息都配置使用时间戳:
Router#service timestamps debug datetime msec localtime
Router#service timestamp log datetime msec localtime
缺省,error和debug信息仅发送到console,telnet到路由器上看不到debug和log的信息。想在telnet中看到debug和 log信息:
Router#terminal monitor
Router#terminal monitor ;关闭信息输出
Router#undebug all ;关闭debug进程及所有相关信息的输出
可以应用ACL到debug以限定仅输出要求的debug信息。
如仅查看从10.0.1.1到10.1.1.1的ICMP包:
Router(config)#access-list 101 permit icmp host 10.0.1.1 host 10.1.1.1
Router#debug ip packet detail 101
2) 全局debug命令:
3) 接口debug
4) 协议debug
5) IP debug
debug ip packets
3、logging命令
输出error和其它信息到console、terminal、路由器内部buffer或一台syslog服务器:
Router>show logging
Cisco路由器有8种可能的logging级:0-7
Logging级别 名称 描述
1 Emergencies 系统不能用的信息
2 Alerts 直接行动
3 Critical 紧急情形
4 Errors 错误信息
5 Warnings 警告信息
6 Notifications 正常但重要的情形
7 Informational 信息
8 Debugging 调试
缺省地,console、monitor、buffer的logging被设置为debugging级,而trap(syslog)服务器的 logging被设置为informational.
4、执行路由核心复制
core dump包含一份当前系统内存中信息的精确拷贝。捕捉包含在内存中信息的方法有:
1) 配置路由器在崩溃时执行Core Dump,存储到TFTP、FTP、RCP服务器:
对TFTP协议,只需指定TFTP服务器IP,不需要任何附加的配置:
Router(config)#exception dump 192.168.1.1 ;TFTP服务器的IP地址
对FTP协议的配置:
Router(config)#exception dump 192.168.1.1 ;FTP服务器的IP地址
Router(config)#ip ftp username Kevin
Router(config)#ip ftp password aloha
Router(config)#ip ftp source-interface e0
Router(config)#exception protocol ftp
对RCP协议的配置:
Router(config)#exception protocol rcp
Router(config)#exception dump 192.168.1.1 ;RCP服务器的IP地址
Router(config)#ip rcmd remote-username Kevin
Router(config)#ip rcmd rcp-enable
Router(config)#ip rcmd rsh-enable
Router(config)#ip rcmd remote-host Kevin 192.168.1.1 kevin ;
2) 在系统没有崩溃的情况下,执行Core Dump命令。
Router#write core
Core Dump仅在Cisco工程师测试和解决路由器问题时有用。
5、ping命令
ping用于测试整个网络可达性和连通性。可在用户EXEC模式和特权EXEC模式下使用。
IP的ping使用ICMP协议提供连通性和可能性信息,缺省只发送5个echo信息。
扩展Ping的选项有:源IP地址;服务类型;数据;包头选项。
Ping的响应字符集
字符 解释 字符 解释
! Received an echo-reply message Q Source quench
。 Timeout M Unable to fragment
U/H Destination unreachable A Administratively denied
N Network unreachable ? Unknown packet-type
P Protocol unreachable
6、traceroute命令
traceroute用于显示到达目标的包路径。可在用户模式和特权模式下使用。
Traceroute的响应:
字符 解释 字符 解释
Xx msec The RTT for each packet * Timeout
H Host unreachable U Port unreachable
N Network unreachable P Protocol unreachable
A Administratively denied Q Source quench
Unknown packet type
二、LAN连接问题
1、获得IP地址
主机可以动态或静态获得IP地址。
1) DHCP:DHCP比BootP多了地址池和租期。
2) BootP:
3) Helper Addresses:指定集中放置的DHCP服务器的IP地址
Ip helperaddress ip-address ;
No ip forward-protocol udp 137 ;
4) 路由器上的DHCP服务:配置路由器为一台DHCP服务器
5) DHCP和BootP故障处理
Show dhcp server ;
Show dhcp lease ;
2、ARP
ARP映射第2层MAC地址到第3层地址。
Show arp ;显示路由器的ARP表
Debug arp ;
1) ARP代理:缺省Cisco路由器的ARP代理是启用的
在下列情况下,CISCO路由器将用自身的MAC地址响应ARP请求:
接收到ARP的接口上的Proxy ARP是启用的;
ARP请求的地址不在本地子网;
路由器的路由表中包含ARP请求地址的子网;
3、TCP连接示例
三、IP访问列表
1、标准ACL:基于IP包的源IP地址允许或禁用
2、扩展ACL:提供源地址、目标地址、端口号、会话层协议进行过滤。
3、命名ACL:可以是标准ACL,也可以是扩展ACL.
命名ACL与编号ACL的区别:命名ACL有一个逻辑名,可以删除命名ACL中单独一行。
Ip access-list extended Example-Named-ACL
Deny tcp any any eq echo
Deny tcp any any eq 37
Permit udp host 172.16.10.2 any eq snmp
Permit tcp any any