H3C S10500与ACG、IPS 板卡配合形成未知单播风暴的一个典型案例分析
一、 组网:
图中两台S10500配置了IRF 2,在框1 上配置有一块ACG 、一块IPS 、一块FW板卡,框2 上配置有一块IPS 板卡、一块FW板卡。框2上的IPS板卡与框1 上的IPS 板卡互为备份。两块FW板卡在vlan 4 5 10运行VRRP 作为server区域的网关,其中框1上为master ,且三个vlan配置的vrrp 的vrid 各不相同。普通区域的PC dhcp 获取IP地址,网关位于105 上。
二、 问题描述:
现场反馈不定时网络会形成风暴,查看ACG IPS的内敛口端口利用率达到100%,整网业务中断,shutdown 、undo shutdown OAA板卡的内敛口故障恢复。
首先,进一步了解下现场的流量模型。
主要有三种业务流量分别为:
1、S105 下SERVER区域(vlan 4 5 10)的终端访问外网的流量(LSW3模拟外网交换机)。
2、S105下普通区域的终端PC 访问外网的流量(LSW3模拟外网交换机)。
3、S105 下的普通区域终端与S105下server区域终端的互访流量。
三种业务的流量走向要求如下:
1、内网普通区pc访问server :流量先上acg ips ,然后经三层转发给fw 。fw 三层转发给server。server 回程时流量直接上fw ,然后fw回来后此时在引流上ips acg ,然后交换机三层转发给pc 。此时fw 内敛口仅仅引流server的回程流量。
2、内网普通区PC访问外网时:流量先上acg ips ,然后三层转发给fw ,fw三层转发给外网。回程的时候,fw 三层转发后的流量上ips acg ,然后交换机三层转发给pc 。
3、server 访问内网,请参考1 中的介绍。
4、server 访问外网的时候,流量首先上acg ips ,然后经105二层转发给fw ,fw直接转发给公网。回程的时候流量不经过IPS ACG。经FW三层转发,S105 二层转发给SERVER。在这个过程中S105 需要进行多次二层转发。
三、过程分析:
通过查看IPS ACG板卡的内敛口流量统计,发现组播、广播报文数量正常。因此怀疑造成风暴的流量肯定是下面的两种流量或者其中之一。
1、未知单播流量。
2、引流上ACG 、IPS 的策略配置问题导致流量互引成环。
由于现场故障时通过shutdown ,undo shutdown 端口快速恢复了业务,没有及时抓取到形成环路的具体报文,因此基于上述两点进行如下优化:
1、修改VLAN 4 5 10 网关设备(FW)上的vrid 全部为1,由于内敛口需要允
许目的mac是fw的报文通过,减少ACL配置的复杂度。
2、全部引流策略通过ACL 匹配IP 特征、匹配VLAN 特征、匹配目的MAC特征
避免流量互引形成风暴。
优化后的关键配置如下:
ACL的关键配置:
acl number 3001 name ALL_DOWN_ACG
rule 0 permit ip destination 10.10.0.0 0.0.255.255
acl number 3002 name SERVER_UP_IPS1
rule 5 permit ip source 10.10.4.0 0.0.0.255
rule 10 permit ip source 10.10.5.0 0.0.0.255
rule 15 permit ip source 10.10.10.0 0.0.0.255
acl number 3004 name NEI_UP_IPS2
rule 5 permit ip source 10.10.6.0 0.0.0.255
......
rule 255 permit ip source 10.10.250.0 0.0.0.255
acl number 3005 name NEI_DOWN_IPS
rule 5 permit ip destination 10.10.6.0 0.0.0.255
......
rule 255 permit ip destination 10.10.250.0 0.0.0.255
acl number 3006 name NEI_SERVER
rule 5 permit ip source 10.10.0.0 0.0.255.255 destination 10.10.4.0 0.0.0.255
rule 10 permit ip source 10.10.0.0 0.0.255.255 destination 10.10.5.0 0.0.0.255
rule 15 permit ip source 10.10.0.0 0.0.255.255 destination 10.10.10.0 0.0.0.255
acl number 3007 name NEI_NEI
rule 5 permit ip source 10.10.0.0 0.0.255.255 destination 10.10.0.0 0.0.255.255
acl number 3008
description VLAN 5
rule 0 permit ip source 10.10.5.0 0.0.0.255
acl number 3009 name VLAN10
rule 0 permit ip source 10.10.10.0 0.0.0.255
acl number 3010 name VLAN4
rule 0 permit ip source 10.10.4.0 0.0.0.255
#
acl number 4000 name Match-MultiCast-ARP
rule 2 permit dest-mac 0100-0000-0000 0100-0000-0000
rule 10 permit type 0806 ffff
acl number 4002
rule 0 permit
QOS 类的配置,此处注意匹配目的mac和vlan 信息:
traffic classifier NEI_UP_IPS2 operator and
if-match acl 3004
if-match destination-mac 0cda-41b5-de45
if-match service-vlan-id 6
if-match service-vlan-id 13 to 250
traffic classifier NEI_UP_IPS2-1 operator and
if-match acl 3004
if-match destination-mac 0cda-41b5-de45
if-match service-vlan-id 6
if-match service-vlan-id 13 to 250
traffic classifier NEI_SER operator and
if-match acl 3006
if-match destination-mac 0cda-41b5-de45
traffic classifier NEI_SER-1 operator and
if-match acl 3006
if-match destination-mac 0cda-41b5-de45
traffic classifier Multicast-Broadcast-ARP operator and
if-match acl 4000
traffic classifier ALL-ADD operator and
if-match acl 4002
traffic classifier ALL_DOWN_ACG operator and
if-match service-vlan-id 1000
if-match destination-mac 0cda-41b5-de45
if-match acl 3005
traffic classifier NEI_NEI operator and
if-match acl 3007
traffic classifier UP_VLAN10 operator and
if-match acl 3009
if-match service-vlan-id 10
if-match destination-mac 0000-5e00-0101
traffic classifier UP_VLAN4 operator and
if-match acl 3010
if-match service-vlan-id 4
if-match destination-mac 0000-5e00-0101
traffic classifier UP_VLAN5 operator and
if-match acl 3008
if-match service-vlan-id 5
if-match destination-mac 0000-5e00-0101
traffic classifier Layer-3 operator or
if-match destination-mac 0cda-41b5-de45
if-match destination-mac 0000-5e00-0101
traffic classifier Nei_UP_ACG operator and
if-match acl 3004
if-match destination-mac 0cda-41b5-de45
traffic classifier SERVER_UP_IPS1 operator and
if-match acl 3002
if-match service-vlan-id 4 5 10
if-match destination-mac 0000-5e00-0101
traffic classifier NEI_DOWN_IPS2 operator and
if-match acl 3005
if-match service-vlan-id 1000
if-match destination-mac 0cda-41b5-de45
traffic classifier SERVER_UP_IPS1-1 operator and
if-match acl 3002
if-match service-vlan-id 4 5 10
if-match destination-mac 0000-5e00-0101
traffic classifier NEI_DOWN_IPS2-1 operator and
if-match acl 3005
if-match service-vlan-id 1000
if-match destination-mac 0cda-41b5-de45
traffic classifier VLAN1000 operator and
if-match service-vlan-id 1000
QOS 行为的配置:
traffic behavior UP_ACG
redirect interface Ten-GigabitEthernet1/3/0/1
traffic behavior DOWN_ACG
redirect interface Ten-GigabitEthernet1/3/0/1
traffic behavior UP_IPS_1
redirect interface Ten-GigabitEthernet1/4/0/1
traffic behavior UP_IPS_2
redirect interface Ten-GigabitEthernet2/4/0/1
traffic behavior Deny
filter deny
traffic behavior DOWN_IPS_1
redirect interface Ten-GigabitEthernet1/4/0/1
traffic behavior DOWN_IPS_2
redirect interface Ten-GigabitEthernet2/4/0/1
traffic behavior Allow
filter permit
QOS policy的配置,这里注意
qos policy UP_ACG
classifier Multicast-Broadcast-ARP behavior Allow
classifier NEI_SER behavior UP_ACG
classifier NEI_NEI behavior Allow
classifier Nei_UP_ACG behavior UP_ACG
classifier UP_VLAN4 behavior UP_ACG
classifier UP_VLAN5 behavior UP_ACG
classifier UP_VLAN10 behavior UP_ACG
qos policy DOWN_ACG
classifier Multicast-Broadcast-ARP behavior Allow
classifier ALL_DOWN_ACG behavior DOWN_ACG
qos policy UP_IPS
classifier Multicast-Broadcast-ARP behavior Allow
classifier VLAN1000 behavior Allow
classifier NEI_SER behavior UP_IPS_1
classifier SERVER_UP_IPS1 behavior UP_IPS_1
classifier NEI_UP_IPS2 behavior UP_IPS_2
classifier NEI_SER-1 behavior UP_IPS_2
classifier SERVER_UP_IPS1-1 behavior UP_IPS_2
classifier NEI_UP_IPS2-1 behavior UP_IPS_1
qos policy DOWN_IPS
classifier NEI_DOWN_IPS2 behavior DOWN_IPS_2
classifier NEI_DOWN_IPS2-1 behavior DOWN_IPS_1
qos policy Defender-ACG
classifier Multicast-Broadcast-ARP behavior Deny
classifier Layer-3 behavior Allow
classifier ALL-ADD behavior Deny
#
interface Ten-GigabitEthernet1/3/0/1
port link-mode bridge
description ACG
port link-type trunk
port trunk permit vlan all
stp disable
qos apply policy UP_IPS inbound
qos apply policy Defender-ACG outbound
mac-address mac-learning disable
#
interface Ten-GigabitEthernet1/5/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 4 to 5 10 500 1000
stp disable
qos apply policy DOWN_IPS inbound
#
interface Ten-GigabitEthernet1/4/0/1
port link-mode bridge
description IPS_1
port link-type trunk
port trunk permit vlan all
stp disable
qos apply policy DOWN_ACG inbound
qos apply policy Defender-ACG outbound
mac-address mac-learning disable
#
interface Ten-GigabitEthernet2/5/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 4 to 5 10 500 1000
stp disable
qos apply policy DOWN_IPS inbound
#
interface Ten-GigabitEthernet2/4/0/1
port link-mode bridge
description IPS_2
port link-type trunk
port trunk permit vlan all
stp disable
qos apply policy DOWN_ACG inbound
qos apply policy Defender-ACG outbound
mac-address mac-learning disable
#
观察一段时间后现场再次发生风暴故障。
基于以上优化后,若是仍形成风暴则报文目的mac仅仅可能是S105 虚接口mac 或者FW vrrp 虚拟mac。然而在对于普通PC 的业务vlan 中S105虚接口的目的mac 在交换机上不存在老化这么一说。
FW VRRP 的MASTER不断的或发送VRRP 报文,vlan 4 5 40 的网关MAC 应该不会老化。由于在OAA的内敛口关闭了mac地址学习,因此无法直接看出当时在那个vlan 中形成风暴。
在后续的一个故障中现场抓取了形成单播风暴的报文,源目的ip 如下。查看引流策略该报文不会在ACG 和IPS的内敛口流量互引成环。
由于现场抓包的PC无法识别报文的vlan tag ,因此还是无法直接看出哪个vlan 中的流量造成风暴,但是从该报文可以看出目的mac是FW的虚拟mac 。既然这个mac在vlan 4 5 10 vlan 中不会老化,因此怀疑这个报文是在普通PC区的业务vlan 形成环路。
结合现场故障前的操作及实验室验证,现场造成故障的原因如下:
用户的一些终端经常有在普通区pc vlan和server 区vlan(4 5 10)之间切换的需求,切换的方法是直接修改接入交换机端口的vlan 属性。这样终端的vlan 变化了,但是终端的ip 及学习到网关的arp 还没有来的及老化,此时pc 再发送相关的任何一个目的mac是原网关的单播报文,都会形成单播风暴。
原因是在普通业务vlan 中不可能学下到FW VRRP的mac地址,同理在server vlan中不可能学习到S105 网关的mac地址。因此会造成未知单播变广播风暴。
四、 解决方法:
根据现场的情况建议如下的三种规避方法,最终用户选择第一种。
1、fw作为网关的流量不上acg ips 就不会存在问题。
2、现场端口直接改vlan的时候请先shutdown 物理端口后再修改。
3、将FW的VRRP 虚mac 在普通区PC的vlan 中配置黑洞mac 防止终端从server区vlan迁移到普通区vlan 形成风暴。在OAA内敛口outbound方向下发qos策略deny service-vlan 4 5 10 且目的mac为交换机虚接口mac的报文,这个来防止普通区PC切换至server 去vlan 后形成风暴。
添加的防环的QoS策略:
traffic classifier weizhidanbo operator and
if-match service-vlan-id 4 5 10
if-match destination-mac 0cda-41b5-de45
qos policy Defender-ACG
classifier Multicast-Broadcast-ARP behavior Deny
classifier weizhidanbo behavior Deny
classifier Layer-3 behavior Allow
classifier ALL-ADD behavior Deny
黑洞mac:
mac-address blackhole 0000-5e00-0101 vlan 6
mac-address blackhole 0000-5e00-0101 vlan 7
……
mac-address blackhole 0000-5e00-0101 vlan 251
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作