我们在 AWS 中有一个服务器,它尝试通过 TCP 连接到本地服务器中的应用程序,但失败了。最初我们认为这可能是路由/防火墙问题,因此我们尝试在本地服务器上运行时使用特定端口上的 telnet 连接到该应用程序tcpdump
。
我们(认为)看到的是,我们收到了远程网络连接请求,但没有返回任何内容:
在 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 应用程序,但问题仍然存在。