Amazon-Web-Services
無法通過 TCP 連接到 EC2
我的 Ubuntu 19.04 EC2 實例具有安全組,其入站和未綁定規則設置為所有協議、所有埠和
0.0.0.0/0
IP 範圍。我可以使用 SSH 在埠 22 上連接到它,在埠 80 上使用 http 連接到它,使用 Windows
Test-NetConnection
。我在 VM 上執行一個應用程序,它偵聽埠 5000,但我無法從本地電腦連接到它。多虧了這個答案,我執行了一個可測試的程序,該程序在我的 VM 上的埠 5000 上進行偵聽。
ubuntu@ip-172-31-35-82:~$ nc -4 -k -l -v localhost 5000 Listening on [localhost] (family 2, port 5000)
呼叫
curl localhost:5000
另一個終端會產生預期的輸出ubuntu@ip-172-31-35-82:~$ nc -4 -k -l -v localhost 5000 Listening on [localhost] (family 2, port 5000) Connection from localhost 51424 received! GET / HTTP/1.1 Host: localhost:5000 User-Agent: curl/7.58.0 Accept: */*
但是,呼叫
Test-NetConnection
或Invoke-WebRequest
從我的本地電腦到該機器和埠 5000 會立即失敗(沒有超時)。偵聽過程也不會列印它收到任何新連接。(base) PS C:\Users\Konrad> Test-NetConnection **.**.***.** -port 5000 -v WARNING: TCP connect to (**.**.***.** : 5000) failed VERBOSE: **.**.***.**.in-addr.arpa VERBOSE: **.**.***.**.in-addr.arpa VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = QueryIsolationType,'className' = MSFT_NetAddressFilter,'namespaceName' = root\standardcimv2'. VERBOSE: Operation 'Invoke CimMethod' complete. ComputerName : **.**.***.** RemoteAddress : **.**.***.** RemotePort : 5000 InterfaceAlias : Wi-Fi SourceAddress : **.**.***.** PingSucceeded : True PingReplyDetails (RTT) : 42 ms TcpTestSucceeded : False
真實IP已被替換。
我錯過了什麼?
我相信您在測試中遇到的問題是,在 netcat (nc) 命令中,您設置為偵聽您指定 localhost 的連接,這意味著它只會在該 localhost 介面上偵聽,並且任何來自外部的連接都不會t 正在監聽,因此它只會重置連接,這就是您所看到的。
相反,您可以刪除 nc 命令上的 localhost 條目,它將綁定到所有介面,此時它應該在外部工作。
例如:
nc -4 -k -l -v 5000