
我們在 AWS 中有一台伺服器嘗試透過 TCP 連接到本地伺服器中的應用程序,但失敗了。最初我們認為這可能是路由/防火牆問題,因此我們嘗試tcpdump
在本地伺服器上運行時在其運行的特定連接埠上使用 telnet 連接到該應用程式。
我們(認為)看到的是我們收到了 Telenet 連線請求,但沒有發回任何內容:
在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 84.18.0-305.19.1.el8_4.x86_64
我不知道如何從這裡繼續:/
Update-1:我曾經netcat
監聽該連接埠而不是我們自己的 Java 應用程序,但問題仍然存在。