背景信息
这段时间,思科产品价格由于火箭一样不断攀升,货期则是遥遥无期…C9300/C9200基本都已经达到20周或以上…半导体紧缺也不至于这样子,项目无法开展的。我们有许多客户开始逐渐考虑国内替品,如H3C、锐捷……不论他们性能如何,价格与货期真的有优势的。
正因为此部分项目也遇到一些小问题,比如思科与H3C互联对接丢包、不通等。
常见问题
1. Trunk互联不通
- H3C交换机配置
<h3c>system-view //进入系统配置模式
[h3c]interface GigabitEthernet1/0/24 //进入24号端口
[h3c-GigabitEthernet1/0/24]port link-type trunk //trunk是端口汇聚的意思
[h3c-GigabitEthernet1/0/24]port trunk permit vlan all //配置允许通过所有的VLAN
[h3c-GigabitEthernet1/0/24]dhcp snooping trust //设置信任DHCP配置
[h3c-GigabitEthernet1/0/24]quit //退出端口配置
[h3c]interface vlan-interface102 //进入管理ip地址
[h3c-vlan-interface102]ip address 192.168.1.240 255.255.255.0 //配置一个管理ip地址
[h3c-vlan-interface102]quit //退出端口配置
[h3c] ip route-static 0.0.0.0 0.0.0.0 192.168.1.254 //配置交换机到网关的静态路由
[H3C] local-user admin //设置本地用户名为admin)
[H3C-luser-admin] service-type telnet level 3 //用户级别设为3,即:管理级用户)
[H3C-luser-admin] password simple admin //设置登录密码位admin)
[H3C-luser-admin]quit //退出端口配置
[H3C] ip http enable //开启网页版模式
[H3C]user vty 0 4 //进入用户界面视图
[H3C-v-0-4] auth s //表示需要进行本地或者远端用户名和口令认证
[H3C-v-0-4]quit //退出端口配置
[h3c]vlan 102 //创建vlan102
[h3c-vlan102]port g1/0/1 to g1/0/23 //把1到23号端口划分到vlan 102 里面去
[h3c-vlan102]quit //退出端口配置
[h3c]save //保存配置
[h3c]display current-configuration //显示现在交换机正在运行的配置明细
- Cisco交换机配置
interface range GigabitEthernet1/0/1 - 1/0/23
switchport access vlan 102
interface GigabitEthernet1/0/24
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allow vlan all
dhcp-snooping trust
2. 生成树互联丢包不通
因此思科与H3C的生成树要互联互通的话,如下是H3C官方描述:
1、H3C交换机与CISCO交换机的MST互通
(1)由于思科对于mstp摘要计算方法特殊,导致H3C交换机和CISCO交换机在做MSTP对接时,即使它们的域配置相同,各自计算出的配置摘要也会不相同;
(2)可通过如下方法和CISCO MSTP实现域内多实例的互通:
保证H3C交换机和CISCO交换机的MSTP域配置完全相同;
在任一个和CISCO交换机相连的端口上使能Configuration Digest Snooping功能。
(3)由于CISCO的MSTP状态机实现机制与H3C的有所不同,导致CISCO设备与H3C设备相连的指定端口不能快速迁移到Fowarding状态。为实现快速迁移,可在和CISCO设备互连的端口配置下面的命令:
[端口视图] stp no-agreement-check
[系统视图] stp interface interfacename no-agreement-check
2、H3C交换机与PVST+互通问题
(1)PVST+是基于vlan的私有协议,要与之互通必须满足一定条件才能互通配合;
(2)PVST+在端口PVID的VLAN里发送的是标准BPDU报文,但在其它VLAN内发送的是特殊的SNAP报文。对于SNAP封装的Type字段,在以太网封装中,对Type字段要求是值必须大于0x600,以此来区分Type和Length。
(3)正是由于PVST+报文封装格式中这个字段导致报文可能被许多设备丢弃而不做二层转发。在组网时:
access口可以互通。
如果是trunk口,则必须保证下游discarding端口与PVST+逻辑discarding端口一致。也就是说标准stp设备只能做下游设备,不得做根。
PVST+与mstp多实例无法互连。
配置模式可以参考如下:
参考配置:
- H3C交换机配置
# 开启STP协议,将其配置问MSTP
stp enable
stp mode mstp
# 配置MSTP实例,在这台交换机上将instance 0 设置为主
stp region-configuration
region-name h3c
revision-level 1
instance 0 vlan 1 to 4094
active region-configuration
# 配置与CISCO设备对接时需要修改的参数
stp bpdu-protection
stp pathcost-standard dot1t
stp timer-factor 1
stp no-agreement-check
stp instance 0 root primary
stp config-digest-snooping
# 接口基本设置,并开启摘要监听功能
interface GigabitEthernet5/0/1
port link-mode bridge
port access vlan 100
stp config-digest-snooping
interface GigabitEthernet5/0/4
port link-mode bridge
port link-type trunk
port trunk permit vlan all
stp config-digest-snooping
interface GigabitEthernet5/0/5
port link-mode bridge
port link-type trunk
port trunk permit vlan all
speed 1000
duplex full
stp config-digest-snooping
- CISCO交换机配置
# 将STP配置MST模式,并将pathcost配置long
spanning-tree mode mst
spanning-treee pathcost method long
# 配置MST实例
spanning-tree mst configuration
name h3c
revision 1
instance 0 vlan 1-4094
# 接口基本配置,并配置MST开销值为20000
interface g1/0/27
switchport access vlan 100
switchport mode access
spanning-tree mst 0 cost 20000
interface g1/0/28
switchport access vlan 100
switchport mode access
spanning-tree mst 0 cost 20000
思科的三层与二层交换机配置基本都是一样的。
3.VRRP不能正常工作?
思科设备追加配置如下参数:
# 作为Master时,它可以配置具体的通告时间
(config-if)# vrrp 1 timers advertise 10
# 作为Slave时,它可以当收到通告时间不等于10时,自动学习当前Master的通告时间
(config-if)# vrrp 1 timers learn
4.链路聚合不成功,端口不停up/down
思科侧日志:
ROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/24, changed state to up
%UDLD-4-UDLD_PORT_DISABLED: UDLD disabled interface Gi1/0/24, neighbor mismatch detected
%PM-4-ERR_DISABLE: udld error detected on Gi1/0/24, putting Gi1/0/24 in err-disable state
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/26, changed state to down
%LINK-3-UPDOWN: Interface GigabitEthernet1/0/26, changed state to down
%PM-4-ERR_DISABLE: channel-misconfig error detected on Gi1/0/25, putting Gi1/0/25 in err-disable state
原因非常多,解决思路无非两个:
- 思科聚合链路配置中,将misconfig选项关闭。
- udld是Cisco私有协议,不能和其它厂家跨设备启动,建议Cisco端口下取消该协议。
参考配置:
- H3C交换机配置
interface Bridge-Aggregation2
description To-CiscoSwitch
port link-type trunk
port trunk permit vlan all
interface GigabitEthernet1/0/21
port link-type trunk
port trunk permit vlan all
port link-aggregation group 2
interface GigabitEthernet1/0/22
port link-type trunk
port trunk permit vlan all
port link-aggregation group 2
- Cisco交换机配置
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
interface FastEthernet0/21
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode on
interface FastEthernet0/22
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode on
5.Cisco偶尔无法ping通H3C
Cisco设备发ping包的速率要比普通PC发的ping包速度快。之所以从Cisco设备ping H3C交换机存在丢包,是因为H3C交换机对ping自己三层接口的报文设置了漏桶大小,目的是防DOS攻击,在持续ping报文,大流量ping报文,长包持续ping包的情况,会丢弃一部分报文,避免ICMP等恶意攻击耗费CPU资源。