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