TCP工作一段时间,然后失败,为什么?

这来自OpenStack的实现,我们有一个修复,但我不明白为什么我们需要这个修复。

  • 我的机器的IP为192.168.20.45
  • 我的默认网关(pfsense)的IP为192.168.20.254
  • 我的OpenStack计算节点的IP为192.168.20.58
  • 虚拟机运行时,在10.60.60.12

我可以ssh到这个虚拟机(从20.45),然后从那里ping google.com,它将保持连接约20坪,然后SSH会话超时和断开连接。

添加一些硬编码的路线已经解决了这个问题,但是让我想知道为什么它一直工作?

我们通过192.168.20.58添加了静态路由到10.60.60.x到pfsense,通过dhcp到所有的客户端,以及通过openvpn和MS VPNconfiguration。

我知道静态路由是如何解决这个问题的,但是我所知道的是在它们到位之前它是如何工作的,为什么这个连接从正常运行到不起作用? 为什么TCP会处理前60个数据包,然后退出工作?

最后我们通过添加路线来修复它。 我们从来没有想到的是为什么它可以工作,但是一旦我们在界面的两边添加了路线(openstack以及192.168.20.X),那么一切都很好。

对于它如何连接,我还没有很好的答案,更不用说一会儿传递数据了。