![服务器上的防火墙阻止同一 NAT ip 上的多台计算机访问](https://linux22.com/image/661710/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E9%98%B2%E7%81%AB%E5%A2%99%E9%98%BB%E6%AD%A2%E5%90%8C%E4%B8%80%20NAT%20ip%20%E4%B8%8A%E7%9A%84%E5%A4%9A%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%AE%BF%E9%97%AE.png)
我在使用我的 VPS 提供商时遇到了一个奇怪的问题,想知道这里是否有具有防火墙/系统管理员经验的人遇到过类似的事情。
是否有人见过这样的情况:当防火墙或类似程序看到来自同一 IP 地址的多台计算机的 TCP 请求时,会导致流量变慢?
|
| +---+
| -+ |
+----+ | ---/ +---+
| | +/ client 1
+----+--------\
server |-\
| --\ +---+
| -+ |
| +---+
NAT client 2
下面是该场景的一个小图。服务器首先收到来自客户端 1 或 2 的请求(顺序无关紧要),然后 10 秒后来自另一台计算机的请求被延迟,直到超时。来自第一台计算机的请求继续进行,没有减少。
我已经进行了 TCP 转储以查看可能发生的情况,但据我所知,导致速度变慢的原因在于 TCP 数据包或以下部分 - 而不是任何应用程序级信息。我可以发送没有应用程序信息的普通 TCP 数据包,这种情况总是会发生。这太奇怪了,每当我搜索此问题时,它只会带来有关配置 NAT 的信息。但问题不在于 NAT - 无论我在哪里,只要是这种情况,这种情况实际上都会发生。
您可以亲自查看这一点,方法是从您的计算机访问我的服务器 zenia.co,然后尝试立即从同一网络上的另一台计算机或使用该网络的 wifi 手机访问它。只要服务器看到相同的 ip 但不同的 tcp /ip 信息(可能是不同的窗口大小或 TTL 或其他东西,这令人难以置信!
这尤其令人担忧,因为如果两个用户尝试从同一个 IP 访问服务器(例如来自同一家企业的台式机上的两个用户),它会允许一个用户但神秘地阻止另一个用户,然后我可能就失去了一个用户。
需要强调的是 - 我只是想知道这是否是某些服务器类型的标准做法 - 这就是我向你们网络工程师/系统管理员询问的原因。我并不是想修复损坏的东西。
技术细节:该盒子是一个虚拟 CentOS 服务器。无论我打开还是关闭盒子防火墙,都会发生这种情况。无论我在盒子上打开什么应用程序(Tomcat、Lighttpd、telnet),都会发生这种情况。
跟进,2016 年 6 月 9 日:这是一家质量较差的 VPS 提供商的情况。我认为只是他们那边的防火墙配置有问题。