总结
2019年,客户报告称,在给定的子网中,默认网关IP地址的地址解析协议(ARP)响应间歇性地指向某些特定的无线客户端,而不是指向路由器。这可能会导致同一VLAN/子网上的其他设备出现客户端或网络范围的连接问题。
条件
- 不正确的ARP响应指向的MAC地址属于运行10.14或更早版本的Apple macOS设备
- 运行2019年版Android的设备与同一子网关联
- macOS设备关联的接入点是AP-COS(1800/2800/3800/4800/1540/1560/9100系列),采用FlexConnect本地交换或SDA模式,而不是Cisco IOS®AP。
- 接入点启用了FlexConnect Proxy ARP(ARP缓存)
- 默认情况下,在AP-COS 8.3及更高版本中启用FlexConnect ARP缓存
- 8.2不受影响,因为它不支持AP-COS FlexConnect ARP缓存
- 此问题可能会影响使用AireOS或9800系列无线LAN控制器或Mobility Express的部署
根本原因
- 这不是恶意攻击,而是由处于睡眠模式的macOS设备与Android设备生成的特定广播流量之间的交互触发的。
- AP-COS AP在FlexConnect或SDA模式下,默认提供代理ARP(ARP缓存)服务。由于他们的地址学习设计,他们将根据此流量修改表条目,从而修改默认网关ARP条目。
解决方法
禁用FlexConnect代理ARP(ARP缓存)。
- 如果使用AireOS或Mobility Express运行FlexConnect,请使用以下命令配置flexconnect arp-caching禁用
- 该命令适用于8.10、8.9、8.8、8.5.151.0和8.5升级(8.5.140.13或更高版本)
- 如果使用早期的8.5代码,则此命令不起作用(中信建投73371 ),因此升级到8.5.151.0或更高版本
- 如果使用8.3代码,请升级到8.3MR5升级(8.3.150.3或更高版本,可从TAC获得)以获得中信建投73371 修理
- 如果在AireOS中使用SDA Fabric模式,请使用以下命令配置flexconnect arp-caching禁用
- 该命令适用于8.10、8.9.111.0、8.8.125.0和8.5.151.0
- 如果使用早期的8.5或8.8代码,则此命令不起作用(中信建投79850 ),因此升级到8.5.151.0/8.8.125.0/8.10或更高版本
- 如果使用9800系列控制器运行FlexConnect,请使用以下命令无arp-caching在下面无线配置文件flex
通过禁用FlexConnect Proxy ARP,无线客户端的ARP请求将通过“空中传送”进行广播,而不是由AP应答。这将在一定程度上增加无线手持设备(如Cisco 8821手机)的电池消耗。
修复
如果使用AireOS 8.10.120.0或更高版本运行FlexConnect(中信建投42721 ),或IOS-XE 17.2.1或更高版本,如果没有客户端需要使用静态寻址,则:
- 确保在每个位置,所有AP都在同一个非默认FlexConnect组中
- 配置WLAN上需要的DHCP
- 使用命令配置flexconnect arp-caching启用(AireOS)/arp缓存(IOS-XE)
这将阻止客户端使用DHCP分配的IP地址以外的其他IP地址。