F5 会话超时

网络工程 ipv4 通讯协议 f5 负载均衡器
2021-07-24 23:58:53

我们的 F5 负载均衡器运行版本 10.2.4。我们从 Catalyst 6500 上的 Cisco 负载平衡器卡迁移,过去能够在我们的 solaris 和 linux 服务器上运行 xterm 会话,而这些会话不会在 15 分钟后消失。

我们的老板害怕在我们的 F5 tcp 配置文件中提高 900 秒的数字,因为在他所在的另一家公司,他们这样做了,它耗尽了 F5 中挂起连接的所有资源。

是否有另一种方法可以在不更改超时的情况下防止会话重置?这是我们的配置

profile fastL4 fwd_fastL4_15m {
  defaults from fastL4
  idle timeout 900
}

virtual route_outbound {
  destination any:any
  mask none
  ip forward
  profile fwd_fastL4_15m
}
2个回答

是否有另一种方法可以在不更改超时的情况下防止会话重置?

您已经提到过在您的旧 Cisco 负载平衡器上未使用 keepalive,因此我将重点介绍您可以使用 F5 做什么。

你需要解决两个问题......

  • 当 TCP 会话从状态表中到期时,F5 向客户端发送重置
  • F5 过期后删除 TCP 会话

这两个问题看似相关,但在 F5 上却有不同的解决方案。

解决TCP 重置

默认情况下,F5 会重置超时的 TCP 会话。您可以reset on timeout disable在 TCP 配置文件中禁用该行为然而,所有这些都是阻止 F5 重置客户端连接,但是下次有人休息几个小时时,会话仍然会从 F5 的状态表中过期,然后在 xterm 中再次移动鼠标指针.

在 F5 中解决Session 过期

使用loose initiation enable在TCP的个人资料。 loose initiation允许 F5 在看到未知 TCP 数据包时在 TCP 状态表中创建一个条目。只要这些连接是可信的,并且在您的公司内部,打开loose initiation没有问题

从本质上讲,loose initiation使 F5 的行为更像路由器而不是负载平衡器,这正是您在这种情况下所需要的。xterm 会话创建一个源自 TCP/6000 到客户端的 TCP 套接字。在这种情况下,无论如何您都不会对 xterm 会话进行负载平衡。

最终解决方案

您的最终个人资料应如下所示...

profile fastL4 fwd_fastL4_5m_loose {
  defaults from fastL4
  reset on timeout disable
  idle timeout 300
  loose initiation enable
}
virtual route_outbound {
  destination any:any
  mask none
  ip forward
  profile fwd_fastL4_5m_loose
}

从技术上讲,您可以将超时从 900 秒更改为 300 秒,因为您在route_outbound服务上启用了松散会话启动F5 解决方案文档 7595是转发此类虚拟服务器配置的良好参考……请参阅标题为“使用 BIG-IP LTM 转发虚拟服务器模拟无状态 IP 路由”的部分。

对于学期会话,我认为最好的选择是使用应用程序或操作系统 keepalives通过 SLB 保持连接,这允许您将空闲超时保持在您想要的位置。

这取决于应用程序和操作系统。请参阅保持您的 Linux SSH 会话断开连接作为一种可行的方法。

您的经理对提高空闲超时的关注是非常主观的。您的环境和他的最后一个环境之间的典型流速(conn/sec)和空闲持续时间可能会有很大不同。如果您的流量或空闲持续时间要低得多,您可以增加超时时间。你需要将流量归零,你有什么免费的,你循环的速度有多快。

CSM的默认的超时时间是3600相同的ACE空闲的TCP连接