Tcp

從 netstat -a 中刪除 tcp 條目

  • November 19, 2018

我有一個相當奇怪的問題,無論我做什麼或搜尋,我都無法糾正它,現在決定最初在這裡尋求幫助。

我有一個伺服器集群,大約有 10 個集群在一起。

幾週前,其中一台伺服器停止與主伺服器通信。經過調查,我發現從伺服器無法ping通主伺服器,但主伺服器仍然可以ping和從伺服器通信,但它們不再集群。

我認為這是主伺服器某處的防火牆問題,並蒐索了導致此問題的可能規則。最終,我完全刷新了規則並重新編寫了它們,但即使在刷新之後,slave 仍然無法 ping master 並且有 100% 的封包遺失。

經過進一步調查,在 netstat 中的 MASTER 上發現了一個奇怪的條目 -a 顯示從本地偵聽,即使該條目不應該存在。

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。

有什麼我錯過的嗎?主伺服器尚未重新啟動,因為它是生產伺服器。任何建議將不勝感激。

這意味著您的從站地址在您的主站中配置為本地地址。主伺服器不會 ping 從伺服器,它會在從伺服器的本地地址上 ping 自己。從站無法 ping 主站,因為主站假定返回地址是本地的,並且不會將答案發送回從站。

用於ip addr查看本地地址。您可以使用 刪除地址ip addr del slave-ip dev device,但您必須找出設置地址的位置,以防止再次發生這種情況。

引用自:https://serverfault.com/questions/940762