目录

简介

先决条件

要求

使用的组件

规则

问题

网络拓扑示例

问题触发器

解决方案

解决方案 1

解决方案 2

相关信息

简介

本文描述了一个问题：通过自适应安全设备(ASA)的移动路径连接(使用用户数据报协议(UDP)和IP协议93)可能会中断并继续失败，直到重新加载移动设备，或者移动路径流量被停止并短暂处于非活动状态并重新启动。

先决条件

要求

Cisco 建议您了解以下主题：

- 思科自适应安全设备(ASA)

- 无线局域网控制器(WLC)

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的信息，请参阅 Cisco 技术提示规则。

问题

在这种情况下，10.10.1.2的无线LAN控制器(WLC)尝试与10.10.9.3的WLC通信，但通信失败。

此问题可能由以下任一事件触发：

- ASA将重新启动。

- 路由表由管理员或路由协议修改。

- 接口关闭，然后由管理员重新打开。

除移动流量外，任何UDP或非TCP IP协议都可能遇到此问题。

此问题不是Bug，而是网络拓扑和ASA配置的结果。有关此问题的原因和解决方案，请参阅下文。

网络拓扑示例

ASA路由配置：

!

route outside 0.0.0.0 0.0.0.0 192.168.4.3 1

route inside 10.0.0.0 255.0.0.0 192.168.254.1 1

!

same-security-traffic permit intra-interface

!

ASA dmz接口配置：

!

interface Gigabit-Ethernet0/1.10

vlan 10

nameif dmz

security-level 75

ip address 10.10.9.1 255.255.255.240 standby 10.10.9.2

!

问题触发器

当位于10.10.1.2的WLC发送发往位于10.10.9.3的WLC的流量时，会触发问题。这些数据包导致ASA在其连接表中建立连接，将移动流量从错误的ASA接口（内部）发送出去。

此问题是由ASA的目标接口“dmz”在建立连接时处于关闭/关闭状态引起的，这会导致连接建立出不同的非最佳接口。dmz接口可能由于电缆问题、以太网或端口通道协商问题而关闭，或者可能因管理原因关闭。

在出现问题时，移动路径连接可视为ASA的“接口内”，即将数据包从它们到达的同一内部接口路由回：

ASA# show conn address 10.10.1.2

15579 in use, 133142 most used

97 inside 10.10.9.3 inside 10.10.1.2, idle 0:00:00, bytes 32210

UDP inside 10.10.9.3:16666 inside 10.10.1.2:16666, idle 0:00:00, bytes 4338, flags -

97 inside 10.10.9.3 inside 10.10.1.2, idle 0:00:00, bytes 157240

ASA#

位于10.10.1.2的移动终端继续发送发往10.10.9.3的流量，该流量与这些现有连接匹配。即使dmz接口进入up/up状态，源自10.10.1.2的移动流量也会与表中的现有连接匹配（而不是构建到dmz接口的新连接），这会重置ASA上连接的超时，从而延长问题的时间。

总之，这些事件可能会触发问题：

1. 位于10.10.1.2的设备向10.10.9.3发送协议97或UDP数据包。

2. ASA在内部接口上接收数据包，但dmz接口关闭，这会导致路由表中缺少通往目的网络的更具体路由。由于ASA上启用same-security permit intra-interface命令，因此它遵循为10.0.0.0/8网络配置的静态路由，通过内部接口返回，在连接表中建立连接，然后将数据包从内部接口发送回内部网络。

3. 在某个时候，dmz接口可能会重新打开，路由会重新添加到表中；但是，由于协议97流量的连接已在步骤#2中建立，因此后续数据包将与连接匹配，并且路由表被覆盖，并且流量不会到达dmz上的服务器。

解决方案

解决方案 1

解决此问题的一个可能解决方案是从ASA中删除same-security permit intra-interface命令。此解决方案可防止从接收原始数据包的同一接口重新建立u-turn连接，这样，当接口打开时，就可以建立正确的连接。但是，根据ASA的路由表，此解决方案可能不起作用（根据路由表，流量可能路由到目标之外的其他接口），并且ASA上的其他连接可能需要same-security permit intra-interface命令。

解决方案 2

对于此特定实例，通过启用超时浮动连接功能成功缓解了问题。默认情况下未启用此功能，在ASA的新接口（dmz接口启用时）向路由表添加到某个终端的更首选路由后一分钟，ASA将断开这些连接。然后，当下一个数据包到达ASA时，使用更首选的接口（dmz，而不是10.10.9.3主机的内部接口）立即重建连接。

ASA(config)# timeout floating-conn 0:01:00

当问题得到缓解时，ASA连接表中会构建正确的连接，并自动恢复连接：

ASA# show conn address 10.10.1.2

15329 in use, 133142 most used

97 dmz 10.10.9.3 inside10.10.1.2, idle 0:00:00, bytes 3175742510

UDP dmz 10.10.9.3:16666 inside 10.10.1.2:16666, idle 0:00:00, bytes 40651338, flags -

97 dmz 10.10.9.3 inside10.10.1.2, idle 0:00:00, bytes 1593457240

ASA#

相关信息

- ASA 9.1命令参考 — timeout floating-conn命令

- 技术支持和文档 - Cisco Systems