У меня довольно странная проблема, и независимо от того, что я делаю или ищу, я не могу ее исправить и теперь решил сначала обратиться за помощью сюда.
У меня есть кластер серверов, около 10 сгруппированных вместе.
Несколько недель назад один из серверов прекратил связь с главным сервером. Проведя расследование, я обнаружил, что подчиненный сервер больше не может пинговать главный, но главный все еще может пинговать и связываться с подчиненным, но они больше не были кластеризованы.
Я решил, что это проблема с брандмауэром где-то на главном сервере, и искал возможное правило, вызывающее это. В конце концов, я полностью сбросил правила и переписал их снова, но даже после сброса ведомое устройство все еще не могло пропинговать ведущее устройство и потеряло 100% пакетов.
При дальнейшем исследовании на MASTER в netstat -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
Мне нужна помощь в удалении этой записи, чтобы ведомое устройство могло снова проверить связь с ведущим. я пытался
tcpkill host xxx.xxxxxxxx.com
tcpkill host xx.99.1x7.x
но ни один из них не смог удалить запись или разрешить ping.
Я что-то упустил? Мастер не был перезагружен, так как это рабочий сервер. Любые предложения будут высоко оценены.
Это означает, что адрес вашего ведомого устройства настроен как локальный адрес на вашем ведущем устройстве. Ведущее устройство не проверяет связь с ведомым устройством, оно проверяет локальный адрес ведомого устройства. Подчиненное устройство не может проверить связь с мастером, потому что мастер предполагает, что адрес возврата является локальным, и не отправляет ответ обратно ведомому.
Использовать ip addr
чтобы увидеть местные адреса. Вы можете удалить адрес с помощью ip addr del slave-ip dev device
, но вы должны выяснить, где был установлен адрес, чтобы предотвратить повторение этого.