如果自适应安全设备(ASA)每个目标子网有两个出口接口,并且到目的地的首选路由从路由表中删除一段时间,则当首选路由重新添加到路由表时,用户数据报协议(UDP)连接可能会失败。TCP连接也可能受问题影响,但是由于TCP检测到丢包,这些连接会由终端自动断开,并在路由更改后使用更优的路由重新构建。
如果使用路由协议且拓扑更改触发ASA上路由表的更改,也可以看到此问题。
要遇到此问题,ASA的路由表必须更改。当ASA通过IGP(OSPF、EIGRP、RIP)获取路由时,冗余方式的双ISP链路通常会出现这种情况。
当主ISP链路恢复联机或所述IGP发现重新收敛时,会发生此问题,因为ASA使用的较不首选的路由被首选的较低度量路由取代。然后,当主路由或首选路由重新安装到ASA的路由表中时,您将看到长期连接(如UDP SIP注册、GRE等)失败。
本文档中的信息基于下列硬件和软件版本:
任何Cisco ASA 5500系列自适应安全设备
ASA版本8.2(5)、8.3(2)12、8.4(1)1、8.5(1)及更高版本
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
如果路由表条目从ASA的路由表中删除,并且没有从接口到达目的地的路由,则通过防火墙构建的与该外部目的地的连接将被ASA删除。这样,就可以使用包含目的地路由条目的不同接口重新建立连接。
但是,如果将更具体的路由添加回表中,则连接不会更新为使用新的更具体的路由,并且会继续使用不太理想的接口。
例如,假设防火墙有两个面向Internet的接口 — “外部”和“备份”,并且ASA配置中存在这两个路由:
route outside 0.0.0.0 0.0.0.0 10.1.1.1 1 track 1 route backup 0.0.0.0 0.0.0.0 172.16.1.1 254
如果外部接口和备份接口都为“up”,则通过防火墙建立的出站连接将使用外部接口,因为它的首选度量为1。如果外部接口关闭(或跟踪路由的SLA监控功能遇到与跟踪的IP的连接丢失),则使用外部接口的连接将断开并使用备份接口重新建立,因为备份接口是唯一具有路由的接口目的地。
当外部接口重新打开或跟踪的路由再次成为首选路由时,就会出现问题。路由表会更新为首选原始路由,但现有连接仍然存在于ASA上并遍历备份接口,因此不会删除并使用首选度量在外部接口上重新创建。这是因为ASA的接口特定路由表中仍然存在备份默认路由。连接继续使用具有较不首选路由的接口,直到删除连接;在UDP中,这可能是不确定的。
这种情况可能导致长期连接出现问题,例如外部SIP注册或其他UDP连接。
为了解决此特定问题,ASA中添加了一项新功能,如果向路由表中添加了通往目的地的更优先路由,该功能将导致连接断开并在新接口上重建。要激活该功能(默认情况下禁用此功能),请将非零超时设置为timeout floating-conn 命令。此超时(以HH:MM:SS指定)指定在将更首选的路由添加到路由表后,ASA在断开连接之前等待的时间:
这是启用该功能的CLI示例。使用此CLI时,如果在现有连接上收到数据包,而该连接现在有一条到目的地的不同、更优先的路由,则该连接将在1分钟后断开(并使用新的、更优先的路由重建):
ASA# config terminal ASA(config)# timeout floating-conn 0:01:00 ASA(config)# end ASA# show run timeout timeout conn 1:00:00 half-closed 0:10:00 udp 0:50:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout sip-provisional-media 0:02:00 uauth 0:01:00 absolute timeout tcp-proxy-reassembly 0:01:00 timeout xlate 0:01:00 timeout pat-xlate 0:00:30 timeout floating-conn 0:01:00 ASA#
此功能在版本8.2(5)、8.3(2)12、8.4(1)1和8.5(1)中添加到ASA平台,包括ASA软件的更高版本。
如果运行的ASA代码版本不实施此功能,则问题的解决方法是手动刷新继续采用较不首选路由的UDP连接,尽管通过clear local-host <IP>或clear-conn <IP>提供了更好的路由。
命令参考在超时部分下列出此新功能。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
05-Jul-2012 |
初始版本 |