源MAC地址攻击导致端口流量瞬断故障处理


第1章  MAC地址攻击导致端口流量瞬断故障处理

1.1  现象描述

组网如1-1所示,Switch下接DSLAM,上接BAS,由BAS终结用户的拨号PPPoE报文。在Switch上配置灵活QinQ功能,用户侧VLAN824,网络侧VLAN1003BAS的网关MAC地址为0090-1AA0-D47A

图1-1 MAC地址攻击导致端口流量瞬断组网图

故障现象为:DSLAM下挂用户不定时大规模掉线。出现问题时,发现Ethernet3/0/4端口的流量急剧下降,从该端口进来的单播报文被全部丢弃。大约5分钟左右,Ethernet3/0/4端口的流量开始慢慢回升,证明此时大规模掉线已经结束,DSLAM下挂用户又在逐步恢复连接,网络在逐步恢复正常状态。

1.2  display信息显示

<Switch> display interface ethernet 3/0/4

 Ethernet3/0/4 current state: UP

 IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 000f-e200-8048

 Description: Ethernet3/0/4 Interface

 Loopback is not set

 Media type is twisted pair, port hardware type is 100_BASE_TX

 Unknown-speed mode, unknown-duplex mode

 Link speed type is autonegotiation, link duplex type is autonegotiation

 Flow-control is not enabled

 The Maximum Frame Length is 9022

 Broadcast MAX-ratio: 100%

 Unicast MAX-ratio: 100%

 Multicast MAX-ratio: 100%

 Allow jumbo frame to pass

 PVID: 100

 Mdi type: auto

 Port link-type: trunk

  VLAN Passing  : 824

  VLAN Permitted: 824

  Trunk port encapsulation: IEEE 802.1q

 Port priority: 0

 Last 300 seconds input:  1 packets/sec 147 bytes/sec

 Last 300 seconds output:  1 packets/sec 179 bytes/sec

 Input (total):  271 packets, 12250 bytes //端口在故障时只有组播和广播报文的记数

          150 broadcasts, 121 multicasts

 Input (normal):  271 packets, 12250 bytes

          150 broadcasts, 121 multicasts

 Input:  0 input errors, 0 runts, 0 giants, 0 throttles

          0 CRC, 0 frame, - overruns, 0 aborts

          - ignored, - parity errors

 Output (total): 1522 packets, 183608303 bytes

          13 broadcasts, 860 multicasts, 0 pauses

 Output (normal): 1522 packets, - bytes

          13 broadcasts, 860 multicasts, 0 pauses

 Output: 0 output errors, - underruns, 1 buffer failures

          0 aborts, 0 deferred, 0 collisions, 0 late collisions

          0 lost carrier, - no carrier

1.3  原因分析

从现象上看,SwitchEthernet3/0/4端口的入方向报文计数在故障时只有组播和广播报文,基本上可以确定:由于某种原因,导致从SwitchEthernet3/0/4端口进来的单播报文被全部丢弃了。DSLAM下挂用户正常通信的流量以单播报文为主,这种丢弃行为导致用户下线,然后重新认证,所以端口流量大大减小。

因此从报文被丢弃的原因着手分析问题。这种报文丢弃特征和“源端口返回报文”丢弃很吻合,也就是说很可能端口收到了目的MAC地址和本端口学习到的目的MAC地址一致的报文。正常工作状态下,BAS设备的MAC地址(也就是从SwitchEthernet3/0/4端口上来的PPPoE单播流量的目的MAC地址)只会学习到SwitchGigabitEthernet2/0/1端口的VLAN 1003QinQ外层VLAN),不会学习到用户侧端口,除非网络中有环路或者其他原因。

下面是正常情况下SwitchMAC地址表信息:

<Switch> display mac-address

MAC ADDR        VLAN ID    STATE            PORT INDEX             AGING TIME(s)

0090-1aa0-d47a  1003       Learned          GigabitEthernet2/0/1   AGING

0090-1aa0-d47a  1101       Learned          GigabitEthernet2/0/1   AGING

0090-1aa0-d47a  1201       Learned          GigabitEthernet2/0/1   AGING

0090-1aa0-d47a  4093       Learned          GigabitEthernet2/0/1   AGING

再看看出故障时学习到SwitchEthernet3/0/4端口的MAC地址:

0090-1aa0-d47a   824       Learned            Ethernet3/0/4              AGING

这个MAC地址是BASMAC地址,却学习到了用户侧SwitchEthernet3/0/4端口的VLAN 824。这时,从SwitchEthernet3/0/4端口上来的PPPoE正常业务报文的目的MAC地址正是这个MAC地址,结果被作为源端口返回报文全部丢弃。

重新检视故障前后的定位信息,发现了这样的规律:大规模掉线时(端口大量丢包),BASMAC地址学习到了SwitchEthernet3/0/4端口,而在业务流量逐渐恢复到正常的期间,这个MAC地址被老化掉了。

因为DSLAMSwitch是直连,中间没有其他交换机导致环路,网络拓扑一直处于稳定状态,因此可以得出结论:DSLAM下挂用户通过仿冒网关MAC地址的方法对Switch进行攻击,导致该DSLAM下面用户大规模掉线。从用户的攻击心理看,攻击大多数是为了获取更大的带宽,把其他用户踢下线,让网络系统重新来一次初始化,攻击者会明显感觉网速比以前要快了。

1.4  处理过程

Switch的上行口GigabitEthernet2/0/1配置一个用户侧VLAN 824的静态网关MAC地址,这样网关MAC地址就永远不会学习到SwitchEthernet3/0/4端口了,攻击者仿冒MAC地址的攻击也就不起作用了,方法如下:

# 首先,把GigabitEthernet2/0/1端口加入到VLAN 824

<Switch> system-view

[Switch] interface gigabitethernet 2/0/1

[Switch-GigabitEthernet2/0/1] port link-type trunk

[Switch-GigabitEthernet2/0/1] port trunk permit vlan 824

# 然后,在GigabitEthernet2/0/1端口的VLAN 824设置一个网关静态MAC地址:

[Switch-GigabitEthernet2/0/1] quit

[Switch] mac-address static 0090-1aa0-d47a interface gigabitethernet 2/0/1 vlan 824

配置了静态MAC地址后,DSLAM下挂的用户运行很稳定,再未出现掉线的情况。

&  说明:

在有多个上行口的情况下,在任意一个上行口配置该静态MAC地址即可。

 

1.5  建议与总结

在使能灵活QinQ的情况下,为了防止用户进行源MAC地址攻击,建议在设备的上行口配置网关的静态MAC地址。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright ©2008 杭州华三通信技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

本文档中的信息可能变动,恕不另行通知。

不同款型规格的资料略有差异, 详细信息请向具体销售和800咨询。 H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!