
AWS には、オンプレミス サーバーのアプリケーションに TCP 経由で接続しようとしているが失敗しているサーバーがあります。最初はルーティング/ファイアウォールの問題かもしれないと考え、tcpdump
オンプレミス サーバーで実行されている特定のポートで telnet を使用してそのアプリケーションに接続しようとしました。
私たちが見ているのは(おそらく)テレネット接続要求は受信しているが、何も返されていないということです。
AWS サーバーでは以下を実行します:telnet ON_PREMISE_IP PORT
オンプレミスサーバーではtcpdump -i INTERFACE -n port PORT
そして、次のことがわかります。
15:02:49.785795 IP AWS_IP.RANDOM_PORT > ON_PREMISE_IP.int-rcv-cntrl: Flags [S], seq 3124225083, win 62727, options [mss 1350,sackOK,TS val 576158266 ecr 0,nop,wscale 7], length 0
AWS 側では次のようになります。
telnet: Unable to connect to remote host: No route to host
netstat を実行して、そのポートでリッスンしていることを確認しました。
sudo netstat -ltnp | grep PORT
tcp 0 0 ON_PREMISE_IP:PORT 0.0.0.0:* LISTEN PID/java
さらに、オンプレミス サーバーから同じ AWS サーバーへの接続を確立することもできます。
オンプレミスサーバーはカーネルを搭載したCentOS 8を実行しています4.18.0-305.19.1.el8_4.x86_64
ここからどう続ければいいのか全く分かりません :/
更新 1: 以前はnetcat
独自の Java アプリではなくそのポートをリッスンしていましたが、問題は解決しません。