从 netstat -a 中删除 tcp 条目

从 netstat -a 中删除 tcp 条目

我遇到了一个相当奇怪的问题,无论我做什么或搜索什么,我都无法纠正它,现在我决定首先在这里寻求帮助。

我有一个服务器集群,大约有 10 个服务器集群在一起。

几周前,其中一台服务器停止与主服务器通信。经过调查,我发现从服务器无法再 ping 通主服务器,但主服务器仍能 ping 通并从服务器通信,但它们不再处于集群状态。

我猜想这是主服务器上某处的防火墙问题,并搜索了可能导致此问题的规则。最后,我彻底刷新了规则并重新编写了规则,但即使刷新之后,从服务器仍然无法 ping 通主服务器,并且数据包丢失率为 100%。

经过进一步调查,在 netstat -a 中的 MASTER 上发现了一个奇怪的条目,显示从属设备正在本地监听,尽管该条目不应该出现在那里。

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:4084            0.0.0.0:*               LISTEN
tcp        0      0 xxxxx.xxxxxxxxx.xx:5941 0.0.0.0:*                   LISTEN
tcp        0      0 dex.xxxxxxx.co.u:domain 0.0.0.0:*               LISTEN

第三个条目是从属服务器,它是一个远程服务器,所以如果我没记错的话,它不应该位于本地地址下。据我所知,这似乎是锁定的原因。这里再来一次。

]# netstat -ntlp | grep 9954
tcp        0      0 xx.99.1x7.x:53          0.0.0.0:*               LISTEN
9954/dnsmasq

~]# netstat -ntlp | grep 53
tcp        0      0 xx.99.1x7.x:53          0.0.0.0:*               LISTEN

我需要帮助删除此条目,以便从属设备可以再次 ping 主设备。我试过了

tcpkill host xxx.xxxxxxxx.com
tcpkill host xx.99.1x7.x

但是这些都无法删除条目或允许 ping。

我是不是漏掉了什么?主服务器尚未重新启动,因为它是生产服务器。如有任何建议,我们将不胜感激。

答案1

这意味着从设备的地址在主设备中配置为本地地址。主设备不会 ping 从设备,而是在从设备的本地地址上 ping 自身。从设备无法 ping 主设备,因为主设备认为返回地址是本地地址,因此不会将答案发送回从设备。

使用ip addr查看本地地址。您可以使用 删除地址ip addr del slave-ip dev device,但您必须找出地址的设置位置,这样才能防止再次发生这种情况。

相关内容