У меня есть приложение, которое слушает порт (8087). Существует клиентский процесс, который дает запрос этому серверу, и сервер отправит ответное сообщение обратно. После некоторых запросов и ответов мой клиентский процесс не может подключиться к этому порту.
Я мог видеть прослушивание порта, когда использовал инструмент netstat. Также мой процесс запущен.
# netstat -a | grep 8087
tcp 0 0 0.0.0.0:8087 0.0.0.0:* LISTEN
Но я не могу подключиться к этому порту от клиента. Что может быть причиной этого?
Попробуйте выполнить следующие действия.
На машинах сервера выполняется команда "iptables -nL", чтобы узнать, какие политики установлены. Если установлены правила брандмауэра, удалите правила и повторите попытку подключения.
Выполнить следующую команду tcpdump на серверной машине
tcdump -nnvX -s0 -iem1 host client_machine_ip и порт 8087
и после команды tcpdump на клиентской машине
tcdump -nnvX -s0 -iem1 host server_machine_ip и порт 8087
Это скажет вам, что клиентская машина отправляет пакет, и серверная машина его получает.
Запустите команду "netstat -ans" на сервере и под метками IP и TCP, посмотрите, удаляются ли какие-либо пакеты.
Проверьте /var/log/messages на серверной машине, если сообщается о каких-либо ошибках.
Надеюсь это поможет.