一、概述
目前绝大部分大型网络的网络设备数量较多,网络结构较为复杂,然而大部分网络出现问题时,多数是由于二层协议造成的网络中断,影响规模较大,导致用户无法正常业务及上网办公等问题,其实目前的二层网络技术已有一定积累,能够解决绝大部分的二层网络问题,为此结合大型二层网络架构提供技术优化手段,保证企业网络的稳定性可靠性。
二、网络优化目标
综合上述的问题,在现有的基础上,从设备、配置、维护等层面进行改造,采用先进稳定的技术和管理模式,为了保证基础网络的安全性、稳定性,建设一个快速、高效、通畅、安全的办公网络,优化后的网络架构必须具备以下几点:
- 安全可靠性:通过二层网络的调整和优化,实现网络的安全稳定运行,即使网络中发生单条链路中断也能稳定运行并及时实现日志告警,从而提高企业网络的可靠性。
- 方便运维:通过技术手段隔离各个二级机构或二层广播报文,成立个节点独立维护模式,以便缩小影响范围,防止大面积网络瘫痪,有效的提高运维工作,实现当问题出现时能够快速的定位到问题源及时解决。
三、优化方案
3.1网络优化
大型网络中的二层设备众多,其汇聚设备也分布在各个区域,分别负责该区域的数据转发,针对二层环境提供如下两种常规优化方法;
- 接入交换机与汇聚交换机之间通过trunk模式互联,所有终端的网关地址都在汇聚交换机上。虽然开启了stp功能,但是误操作也很容易出现环路,导致整个网络的故障。所以将下接二级机构的互联接口调整为三层路由模式,缩小影响范围,方便快速定位问题。
- 在楼层汇聚层交换机上关闭汇聚交换机空闲端口,提高网络安全性,防止外来人员随意接入骨干设备。
3.2 STP生成树优化
网络中互联交换机之间虽然启用了生成树协议,但是并不完善,很多优化策略并没有使用,比如边缘端口和bpduguard等。边缘端口(portfast)是指不直接与任何交换机连接,也不通过端口所连接的网络间接与任何交换机相连的端口。用户如果将某个端口指定为边缘端口,那么当该端口由堵塞状态向转发状态迁移时,这个端口可以实现快速迁移,而无需等待延迟时间。
图1 配置STP功能图
配置STP功能
配置环网中的设备生成树协议工作在STP模式
[SwitchA] stp mode stp # 配置交换设备SwitchA的STP工作模式。
[SwitchB] stp mode stp # 配置交换设备SwitchB的STP工作模式。
[SwitchC] stp mode stp # 配置交换设备SwitchC的STP工作模式。
[SwitchD] stp mode stp # 配置交换设备SwitchD的STP工作模式。
所有交换机配置STP域名
[Switch]stp region-configuration
[Switch]region-name XXX
配置根桥和备份根桥设备
[SwitchA] stp root primary # 配置SwitchA为根桥。
[SwitchD] stp root secondary # 配置SwitchD为备份根桥。
配置端口的路径开销值,实现将该端口阻塞
[SwitchA] stp pathcost-standard legacy # 配置SwitchA的端口路径开销计算方法为华为计算方法。
[SwitchB] stp pathcost-standard legacy # 配置SwitchB的端口路径开销计算方法为华为计算方法。
[SwitchC] stp pathcost-standard legacy # 配置SwitchC端口GigabitEthernet0/0/1端口路径开销值为20000。
[SwitchC] interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1] stp cost 20000
[SwitchC-GigabitEthernet0/0/1] quit
[SwitchD] stp pathcost-standard legacy # 配置SwitchD的端口路径开销计算方法为华为计算方法。
与终端相连的交换端口开启BPDU保护与过滤功能
将与PC机相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能
[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] stp edged-port enable
[SwitchB-GigabitEthernet0/0/2] stp bpdu-filter enable
在全局视图:stp bpdu-protection
3.2 MSTP生成树优化
在一个复杂的网络中,由于冗余备份的需要,规划者一般都倾向于在设备之间部署多条物理链路,其中一条作为主用链路,其他作为备份链路。这样就难免会形成环路,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。为此,可以在网络中部署MSTP协议预防环路。MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
图2配置MSTP功能图
配置MSTP功能
配置MST域
[~SwitchA] stp region-configuration
[~SwitchA-mst-region] region-name RG1
[*SwitchA-mst-region] instance 1 vlan 2 to 10
[*SwitchA-mst-region] instance 2 vlan 11 to 20
[*SwitchA-mst-region] commit
配置SwitchB的MST域
[~SwitchB] stp region-configuration
[~SwitchB-mst-region] region-name RG1
[*SwitchB-mst-region] instance 1 vlan 2 to 10
[*SwitchB-mst-region] instance 2 vlan 11 to 20
[*SwitchB-mst-region] commit
配置SwitchC的MST域。
[~SwitchC] stp region-configuration
[~SwitchC-mst-region] region-name RG1
[*SwitchC-mst-region] instance 1 vlan 2 to 10
[*SwitchC-mst-region] instance 2 vlan 11 to 20
[*SwitchC-mst-region] commit
配置SwitchD的MST域。
[~SwitchD] stp region-configuration
[~SwitchD-mst-region] region-name RG1
[*SwitchD-mst-region] instance 1 vlan 2 to 10
[*SwitchD-mst-region] instance 2 vlan 11 to 20
[*SwitchD-mst-region] commit
配置MSTI1的根桥与备份根桥
[~SwitchA] stp instance 1 root primary //配置SwitchA为MSTI1的根桥
[~SwitchB] stp instance 1 root secondary //配置SwitchB为MSTI1的备份根桥
配置MSTI2的根桥与备份根桥
[~SwitchB] stp instance 2 root primary //配置SwitchB为MSTI2的根桥
[~SwitchA] stp instance 2 root secondary //配置SwitchA为MSTI2的备份根桥
配置SwitchA的端口路径开销值的计算方法为华为计算方法
[~SwitchA] stp pathcost-standard legacy
配置SwitchB的端口路径开销计算方法为华为计算方法
[~SwitchB] stp pathcost-standard legacy
配置SwitchC的端口路径开销计算方法为华为计算方法,将端口10GE1/0/2在实例MSTI2中的路径开销值配置为20000。
[~SwitchC] stp pathcost-standard legacy
[*SwitchC] interface 10ge 1/0/2
[*SwitchC-10GE1/0/2] stp instance 2 cost 20000
[*SwitchC-10GE1/0/2] commit
配置SwitchD的端口路径开销计算方法为华为计算方法,将端口10GE1/0/2在实例MSTI1中的路径开销值配置为20000。
[~SwitchD] stp pathcost-standard legacy
[*SwitchD] interface 10ge 1/0/2
[*SwitchD-10GE1/0/2] stp instance 1 cost 20000
[*SwitchD-10GE1/0/2] commit
设备全局开启MSTP
[~SwitchA] stp enable //在SwitchA上启动MSTP
[~SwitchB] stp enable //在SwitchB上启动MSTP
[~SwitchC] stp enable //在SwitchC上启动MSTP
[~SwitchD] stp enable //在SwitchD上启动MSTP
将与终端相连的所有端口都关闭MSTP
# 配置SwitchC端口10GE1/0/1的STP去使能。
[~SwitchC] interface 10ge 1/0/1
[~SwitchC-10GE1/0/1] stp disable
[*SwitchC-10GE1/0/1] commit
# 配置SwitchD端口10GE1/0/1的STP去使能。
[~SwitchD] interface 10ge 1/0/1
[~SwitchD-10GE1/0/1] stp disable
[*SwitchD-10GE1/0/1] commit
配置保护功能
如在各实例的根桥设备的指定端口配置根保护功能
[~SwitchA] interface 10ge 1/0/1 //在SwitchA端口10GE1/0/1上启动根保护
[~SwitchA-10GE1/0/1] stp root-protection
[*SwitchA-10GE1/0/1] commit
[~SwitchB] interface 10ge 1/0/1 //在SwitchB端口10GE1/0/1上启动根保护
[~SwitchB-10GE1/0/1] stp root-protection
[*SwitchB-10GE1/0/1] commit
3.3 部署环路检测功能
网络中的环路会导致设备对广播、组播以及未知单播等报文进行重复发送,造成网络资源浪费甚至网络瘫痪。为了能够及时发现二层网络中的环路,Loop Detection正是这样的检测技术。它通过从接口周期性发送检测报文,检查该报文是否返回本设备(不要求收、发接口为同一接口),进而判断该接口、设备所在网络或设备下挂网络是否存在环路。
图3配置STP功能图
开启全局的Loop Detection功能
[HUAWEI] sysname Switch
[Switch] loop-detection enable //使能全局的Loop Detection功能
开启VLAN的Loop Detection功能
[Switch] vlan batch 10 to 20
[Switch] loop-detection enable vlan 10 to 20 //配置设备对VLAN10到VLAN20下的所有接口进行环路检测
配置Loop Detection检测报文的发送周期
[Switch] loop-detection interval-time 10 //配置Loop Detection检测报文的发送周期为10s
配置Loop Detection处理动作
打开Loop Detection告警开关。
[Switch] snmp-agent trap enable feature-name ldttrap 打开Loop Detection的告警开关,使设备具有发送Loop Detection Trap报文的功能
配置Loop Detection处理动作为Shutdown。
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] stp disable 去使能接口的STP功能
[Switch-GigabitEthernet1/0/1] port hybrid tagged vlan 10 to 20
[Switch-GigabitEthernet1/0/1] loop-detection mode port-shutdown //配置Loop Detection检测到环路时对接口GE1/0/1的处理动作为Shutdown
3.4 广播域抑制
广播域控制异常流量的方法有两种,分别是流量抑制和风暴控制,两种用于控制广播、未知组播以及未知单播报文,防止这三类报文引起广播风暴的安全技术。
流量抑制主要通过配置阈值来限制流量,而风暴控制则主要通过关闭端口来阻断流量
图4配置组网图
图4
流量抑制配置
[SwitchA] interface gigabitethernet 0/0/1 //进入接口视图
配置广播流量抑制,按百分比抑制,百分比值为20%。
[SwitchA-GigabitEthernet0/0/1] broadcast-suppression 20
配置未知组播流量抑制,按百分比抑制,百分比值为20%。
[SwitchA-GigabitEthernet0/0/1] multicast-suppression 20
配置未知单播流量抑制,按百分比抑制,百分比值为20%。
[SwitchA-GigabitEthernet0/0/1] unicast-suppression 20
验证配置结果
执行命令display flow-suppression interface查看GE0/0/1接口下的流量抑制配置情况。
[SwitchA] display flow-suppression interface gigabitethernet 0/0/1
风暴控制配置
[SwitchA] interface gigabitethernet0/0/1 //进入接口视图
配置广播风暴控制最小1000个包,最大2000个包
[SwitchA-GigabitEthernet0/0/1] storm-control broadcast min-rate 1000 max-rate 2000
配置未知组播风暴控制最小1000个包,最大2000个包
[SwitchA-GigabitEthernet0/0/1] storm-control multicast min-rate 1000 max-rate 2000
配置未知单播风暴控制最小1000个包,最大2000个包
[SwitchA-GigabitEthernet0/0/1] storm-control unicast min-rate 1000 max-rate 2000
配置风暴控制的动作为阻塞报文
[SwitchA-GigabitEthernet0/0/1] storm-control action block
配置打开风暴控制时记录日志的功能
[SwitchA-GigabitEthernet0/0/1] storm-control enable log
配置风暴控制的检测时间间隔
[SwitchA-GigabitEthernet0/0/1] storm-control interval 90
验证配置结果
执行命令display storm-control interface查看GE0/0/1接口下的风暴控制配置情况。
[SwitchA] display storm-control interface gigabitethernet 0/0/1
3.5防护
DHCP Server仿冒者gongji:在网络上随意添加一台DHCP服务器,它可以为客户端分配IP地址以及其他网络参数。如果该DHCP服务器为用户分配错误的IP地址和其他网络参数,将会对网络造成非常大的危害。
为了为DHCP用户提供更优质的服务,网络管理员可以通过配置DHCP Snooping功能,实现DHCPgongji防范。
图5配置组网图
开启DHCP Snooping基本功能
使能全局DHCP Snooping功能并配置设备仅处理DHCPv4报文
[SwitchC] dhcp snooping enable ipv4
使能用户侧接口的DHCP Snooping功能。以GE1/0/1接口为例,GE1/0/2的配置与GE1/0/1接口相同,不再赘述。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] dhcp snooping enable
使能ARP与DHCP Snooping的联动功能。
[SwitchC] arp dhcp-snooping-detect enable
检测DHCP Request报文中GIADDR字段是否非零的功能。以GE1/0/1接口为例,GE1/0/2的配置与GE1/0/1接口相同,不再赘述。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] dhcp snooping check dhcp-giaddr enable
配置DHCP报文上送DHCP报文处理单元的最大允许速率并丢弃报文告警功能
配置DHCP报文上送DHCP报文处理单元的最大允许速率为90pps。
[SwitchC] dhcp snooping check dhcp-rate enable
[SwitchC] dhcp snooping check dhcp-rate 90
使能丢弃报文告警功能,并配置报文限速告警阈值。
[SwitchC] dhcp snooping alarm dhcp-rate enable
[SwitchC] dhcp snooping alarm dhcp-rate threshold 500
在用户侧接口进行配置。以GE1/0/1接口为例,GE1/0/2的配置与GE1/0/1接口相同,不再赘述。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] dhcp snooping check dhcp-request enable
[SwitchC-GigabitEthernet1/0/1] dhcp snooping alarm dhcp-request enable
[SwitchC-GigabitEthernet1/0/1] dhcp snooping alarm dhcp-request threshold 120
配置接口允许接入的最大用户数并使能对CHADDR字段检查功能,同时使能数据帧头MAC地址与DHCP报文中的CHADDR字段不一致被丢弃的报文达到阈值时产生告警信息功能。
在用户侧接口进行配置。以GE1/0/1接口为例,GE1/0/2的配置与GE1/0/1接口相同,不再赘述。
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] dhcp snooping max-user-number 20
[SwitchC-GigabitEthernet1/0/1] dhcp snooping check dhcp-chaddr enable
[SwitchC-GigabitEthernet1/0/1] dhcp snooping alarm dhcp-chaddr enable
[SwitchC-GigabitEthernet1/0/1] dhcp snooping alarm dhcp-chaddr threshold 120
[SwitchC-GigabitEthernet1/0/1] quit