Linux

連接到本地埠被拒絕

  • April 25, 2016

我正在嘗試在執行 Ubuntu 14.04 64 位的 AWS EC2 VPC 實例上為 Rust(遊戲)設置專用伺服器。按照說明,我啟動了應用程序並偵聽其預設埠(UDP 28105、TCP 28106。)

netstat -tulpn顯示:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address  State PID/Program name
tcp  0   0   0.0.0.0:28016    0.0.0.0:*  LISTEN   7370/RustDedicated
udp  0   0   0.0.0.0:28015    0.0.0.0:*           7370/RustDedicated    
udp  0   0   0.0.0.0:4209     0.0.0.0:*           7370/RustDedicated

這看起來不錯,但嘗試使用遊戲客戶端和遠端控制台 (RCON) 連接到它會導致連接被拒絕。我懷疑這可能是一個典型的防火牆/安全組問題,所以出於測試目的,我將實例的安全組暴露給所有埠。還是沒有骰子。

相反,我決定看看我是否至少可以在本地連接到它,從應用程序執行的同一個盒子上的 SSH 會話。

我跑了telnet 127.0.0.1 28106,結果是:

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

我的應用程序如何在此埠上進行偵聽,但仍拒絕來自其環回地址的連接?如您所見,它必然是0.0.0.0.

如何配置它以使其不會拋出“連接被拒絕”?

編輯

sudo iptables -L顯示:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

然後我用允許通過以下方式連接的設置對其進行了更新:

Chain INPUT (policy ACCEPT)
target     prot opt source    destination         
ACCEPT     tcp  --  anywhere    anywhere   tcp dpt:28016 flags:FIN,SYN,RST,ACK/SYN
ACCEPT     udp  --  anywhere   anywhere   udp dpt:28015
ACCEPT     tcp  --  anywhere   anywhere    tcp dpt:28015 flags:FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

在您的 netstat 中,您顯示埠 28016 TCP 而不是 28106,以及 UDP 28015 而不是 28105。

同樣在您的 telnet 中,您不是嘗試連接到開放埠(28016 TCP),而是連接到您認為它是開放的埠(28106 TCP)。

引用自:https://serverfault.com/questions/772649