在两台服务器上运行 netstat 检查与另一台服务器的连接,显示连接数不匹配

在两台服务器上运行 netstat 检查与另一台服务器的连接,显示连接数不匹配

如果我检查 serverA (192.168.1.1) 向 serverB (192.168.2.1) 打开了多少个连接,我会得到以下响应:

[username@serverA ~] $ netstat -n | grep 192.168.2.1
tcp        0      0 192.168.1.1:51846     192.168.2.1:10001     ESTABLISHED
tcp        0      0 192.168.1.1:50872     192.168.2.1:10001     ESTABLISHED
tcp        0      0 192.168.1.1:51824     192.168.2.1:10001     ESTABLISHED
tcp        0      0 192.168.1.1:51848     192.168.2.1:10001     ESTABLISHED
[username@serverA ~] $ netstat -n | grep 10.79.165.145 | wc -l
4

但是,如果我执行相反的操作并检查 serverB 有多少个与 serverA 打开的连接,我会得到以下结果:

[username@serverB ~] $ netstat -n | grep 192.168.1.1
tcp        0      0 192.168.2.1:10001     192.168.1.1:51846     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:55122     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:59930     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:50352     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:44142     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:57698     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:38268     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:41822     ESTABLISHED
                    ... many more connections ... 
tcp        0      0 192.168.2.1:10001     192.168.1.1:43840     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:50870     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:34100     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:34620     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:41126     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:49298     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:50004     ESTABLISHED
tcp        0      0 192.168.2.1:10001     192.168.1.1:51408     ESTABLISHED
[username@serverB ~] $ netstat -n | grep 192.168.1.1 | wc -l
104

我没想到两台服务器之间的连接数量会不匹配,本质上serverB认为有多很多向 serverA 开放的连接,以及 serverA 向 serverB 开放的连接。

这些服务器位于不同的 VLAN 上,并且连接确实穿过防火墙。 serverA 和 serverB 都是在 ESXI 上运行的 RHEL v7 VM。他们不运行任何容器或任何可以进行 NAT 的东西。

造成开放连接数不匹配的原因是什么

答案1

通过针对正在使用的应用程序服务器发布补丁版本解决了这个问题。

相关内容