配置不当导致网络拓扑图中无法看到交换机
故障现象
笔者曾参与过一个布线工程,网络里有1台CISCO 4006主干交换机,作为VLAN间路由;另外还有10多台C1SCO 2924桌面交换机和1台CISCO 3640出口路由器。 在1台Windows NT 4.0+IE5.5的计算机上安装了CISCO works 2000局域网解决方案软件套件(LMS 2.0),但是在Campus Manager Topology Serverices Layer2view中查看网络的拓扑图时,却只能看到1台CISCO 2924交换机和CISCO 4006交换机、CISCO 3640路由器,其他的CISCO 2924交换机都看不到。
诊断过程
首先,检查连通性,笔者检查从网管计算机是否能Ping通这些 "隐身"的交换机;其次检查SNMP设置,看是否每台设备的Community tring设置都一样;最后,通过cdp确认连接:在每台交换机上是否都能看到别的邻居?以上测试都是成功的,表明设置正确,以下是一台2924交换机的配置:
[省略...]
!
hostname Switch
!
enable secret 5 $1$OIKdsftJSJdKKUfLoNkhUJN;L
!
ip subnet-zero
!
interface FastEthernet0/1
switchport Access vlan 2
[省略...]
!
interface FastEthernet0/24
switchport trunk encapsulation dotlq
switchport mode trunk
!
interface VLAN1
ip address 10.1.1.1 255.255.255.0
no ip directed-broadcast
no ip route-cache
!
snmp-server enginelD local 0000039384830075035BFCO
snmp-server community xxxx RO
snmp-server community yyyy RW
[省略...]
由于怀疑LMS软件和WindowsNT的兼容性,笔者又重新安装了操作系统,这次使用的是Windows2000+IE6·0,问题依旧。
希奇的是,是在网络拓扑图中看不到的交换机可以用Telnet等方法治理;Discovery Setting中"跨越路由器边界"选项已选中(假如不选该项则不查找网管工作站以外网段上的设备):而且4006交换机的SE配置也是正确的。
[4006配置摘要]
#snmp
set snmp community read-only xxxx
set snmp community read-write yyyy
set snmp community read-write-all yyyy
#vtp
set vtp domain xxxx
set vlan 1 name default type ethernet mtu 1500 said 100001 state
active
set vlan 1
!
#iP
set interface scO 1 10.1.1.21/255.255.255.0 10.1.1.255
set ip route 0.0.0.0/0.0.0.0 10.1.1.254
#module 2 : 34-port Router Switch Card
set trunk 2/1 on dotlq 1-1005
!
#module 3 , 24-port 100BaseFX Ethernet
set trunk 3/1 on dotlq 1-1005
笔者还观察到,假如把拓扑图上显示的设备删掉,重新进行Discovery操作,仍然只能找到其中一台2924交换机而且不一定是原来能找到的那台。
于是笔者的怀疑集中在2924交换机的配置上,检查一下每台计算机上这个号码是不是都一样:snmp-server enginelD local 0000039384830075035BFCO。另外笔者还对3台2924交换机的配置及4006路由器上"show cdp nei Detal"的输出进行检查。
笔者比较3台2924交换机的配置发现,snmp-server enginelD是互不相同的,但主机名都用了默认的"Switch",从show cdp nei detail输出中也能看出来。为这些交换机设置一个互不相同的名字之后,重新Discovery,拓扑图显示正常了。
排除心得
在本例中,治理软件LMS 2.0跟以往的版本相比有较多改进,其中的一点是可以显示主机名(System name),以往的版本则只能显示设备的IP地址,没想到却出现这样一个Bug。因此在使用这类软件时,要注重新旧版本的区别,对号入座才能避免问题的发生。