当学习到一条新路径时,快速路径连接会发生什么?

网络工程 思科
2021-07-06 13:03:46

场景如下:运行 9.1(5) 的 Cisco ASA 5525 在其外部接口上接收到一个数据包(我们称其为数据包“A”),其目标地址位于其内部网络的某处。但是,ASA 没有该特定目标 IP 地址的路由,但有指向 OUTSIDE 接口的静态路由。因此,数据包“A”被路由到/离开外部接口。我假设现在建立了一个“快速路径”连接,其中包括该路由信息。

不久之后,ASA 添加了一条 OSPF 学习的路由,该路由在内部网络上建立任何 IP 地址都应路由到 ASA 上的 INSIDE 接口。然后 ASA 在 OUTSIDE 接口接收数据包“B”。数据包“B”与数据包“A”相同(目的地为内部网络上的 IP),但由于快速路径连接,数据包“B”就像数据包“A”一样被路由回外部接口。尽管 OSPF 获知的路由表明数据包“B”应该已发送到 INSIDE 接口,但这种情况仍会发生。

显然,这是一个问题。我们用相同的静态路由替换 OSPF 学习到的路由。结果:快速路径连接没有变化。发往内部网络的数据包仍会路由回它们来自的地方。

直到我们明确告诉 ASA“清除连接 {inside-IP}”,它才会删除该快速路径连接并开始正确路由“A”和“B”等数据包。

我的问题是:为什么自适应安全算法以这种方式工作?如果快速路径连接永远不会因为稳定的流量而有超时的危险,那么如果不是动态学习的路线,要清除该快速路径需要进行哪些更改?

1个回答

@legioxi,jwbensley:

我为没有早点回复表示歉意。直到今天,我才意识到有人真的回复了我原来的帖子。话虽如此,我终于发现了发生了什么:

Cisco ASA 在 8.2(5)/8.4(2) 版本中引入了“timeout floating-conn”命令,它基本上告诉 ASA 即使在 ASA 知道其他路由的情况下也能保持已建立的连接多长时间。默认值为 0:00:00 - 意味着这些连接永远不会超时。

用 Cisco 自己的话来说:“当多个静态路由存在于具有不同指标的网络时,ASA 会使用在创建连接时具有最佳指标的路由。如果有更好的路由可用,则此超时允许连接关闭,以便可以重新建立连接以使用更好的路由。默认值为 0(连接永不超时)。要利用此功能,请将超时更改为新值。”

为什么默认为 0:00:00 超出我的理解。我可以理解,低超时值否定了快速路径连接在纯粹处理方面的好处,但我认为超时应该设置为某个值,至少让 ASA 有机会适应网络中的变化,或者,至少,由管理员在其自己的配置中进行更新。