为什么我在访问负载均衡器后面的服务器上托管的网站时遇到问题?

网络工程 通讯协议 错误 负载均衡器
2021-07-26 20:01:40

我在访问位于我们公司办公室的 Coyotoepoint 负载平衡器后面的 3 个服务器上托管的网站时遇到问题。我们目前有超过 500 个位置可以访问此站点,但没有出现任何问题,但这一个位置导致了问题。

我们所有的地点都通过 IPsec VPN 终止于我们公司办公室的防火墙。该网站由我们的负载均衡器使用集群 IP 提供服务。问题位置可以毫无问题地 ping 集群 IP,但是当他们尝试访问该站点时却失败了。

从数据包捕获中,我看到了很多 TCP 乱序错误和 TCP Dup ACK。在工作站点上,我没有看到任何这些。

** 更新 ** Bellow 是我的远程站点如何访问我的负载平衡器的 ASCII 图表


+-------------------------公司办公室-------------------------- --------------------------+
| |
| 192.168.15.5/16 +--------------+ 192.168.11.1/30 |
| 内部接口| 思科 ASA | DMZ 接口 |
| ++--------------+<-----------+ |
| +--------------------+<-----------------+ +-------- -------+ |
| | | | Meraki MX90 | |
| | 土狼点 | |192.168.11.2/30| |
| | 192.168.10.140/16 | |网关:.1 | |
| | 网关:40.2 | +--------------+ |
| | | +------------------------------------+ ^ |
| +--------------------+ | 思科路由器 | | |
| | | 192.168.40.2/16 | | |
| | |到远程站点的默认路由:.15.5| | |
| +-----------------+ | +------------------------------------+ | |
| | 网站1 | | | |
| |192.168.10.145/16 | | | |
| |网关:40.2 | | | |
| +------------------+<-+ +-------------------------- ---------------------------|------+
| +-----------------+ | | |
| | 网2 | | | |
| |192.168.10.146/16 | | | |
| |网关:40.2 | | | IPsec VPN
| +-----------------+<-+ | |
| +-----------------+ | | + |
| |网3 | | | +--------------+
| |192.168.10.147/16 | | | |远程站点 |
| |网关:40.2 | | | +--------------+
| +-----------------+<-+ |
+------------------------------------+
1个回答

更新答案

最初我认为是升级负载平衡器的固件来解决我的问题。结果证明这是巧合。实际问题涉及负载平衡器本身的设置。

我们集群中的 Web 服务器必须知道远程站点的内部 IP,以便知道尝试访问页面的位置,然后显示仅与该站点有关的信息。为了做到这一点,我必须在 Coyotepoint 上启用设置调用欺骗。

默认情况下,负载平衡集群中的 Web 服务器仅从负载平衡器的集群 IP 获取请求。当它们以这种方式运行时,从服务器到主机的所有流量都将通过负载平衡器,反之亦然。当欺骗打开时,Web 服务器将源地址视为远程站点的内部 IP。他们只是将响应发送到他们的默认网关,而不是通过负载均衡器路由他们的响应。

Coyotepoint 的最佳实践是在开启欺骗时将 Web 服务器的默认网关设置为集群 IP。我已将 Web 服务器的所有默认网关更改为集群 ip,一切正常。Coyotepoint 确信这就是导致我的 TCP 乱序错误的原因。Coytoepoint 还表示他们的 10.2.0a 代码有重大的网络变化,但没有给我任何具体的信息。

更新网络图:


+-------------------------公司办公室-------------------------- --------------------------+
| |
| 192.168.15.5/16 +--------------+ 192.168.11.1/30 |
| 内部接口| 思科 ASA | DMZ 接口 |
| ++--------------+<-----------+ |
| +--------------------+<-----------------+ +-------- -------+ |
| | | | Meraki MX90 | |
| | 土狼点 | |192.168.11.2/30| |
| | 192.168.10.140/16 | |网关:.1 | |
| | 网关:40.2 | +--------------+ |
| | | +------------------------------------+ ^ |
| +--------------------+ | 思科路由器 | | |
| | | 192.168.40.2/16 | | |
| | |到远程站点的默认路由:.15.5| | |
| +-----------------+ | +------------------------------------+ | |
| | 网站1 | | | |
| |192.168.10.145/16 | | | |
| |网关:10.140 | | | |
| +------------------+<-+ +-------------------------- ---------------------------|------+
| +-----------------+ | | |
| | 网2 | | | |
| |192.168.10.146/16 | | | |
| |网关:10.140 | | | IPsec VPN
| +-----------------+<-+ | |
| +-----------------+ | | + |
| |网3 | | | +--------------+
| |192.168.10.147/16 | | | |远程站点 |
| |网关:10.140 | | | +--------------+
| +-----------------+<-+ |
+------------------------------------+

原答案

这个问题是通过将我的 Coytoepoint 固件版本从 8.6.0i-patch1 升级到 10.2.0a 来解决的。我正在运行的版本是我可以使用的最新版本,而无需从头开始重新配置我的负载平衡器。当您从 8.6.0i-patch1 更新到 v10 时,配置不会转移。

该站点似乎还有一些其他问题需要我研究,但最初的问题已经解决。

感谢大家的帮助和建议。