我有一個 ubuntu 14.10,並嘗試透過連接埠 5060 遠端登入它,但我一直失敗。我總是收到訊息“連接被外國主機關閉”。
我檢查了我的 iptable,它是預設策略“ACCEPT”,並且 ufw 處於非活動狀態。
那我應該能夠 telnet 到 5060 對嗎?還有什麼可以阻止它?
root@server:/var/log# iptables --list
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
root@server:/var/log#
root@server:/var/log# ufw status
Status: inactive
root@server:/var/log#
但遠端登入只是給了我這個。
user@host ~
$ telnet 192.168.0.5 5060
Trying 192.168.0.5...
Connected to 192.168.0.5.
Escape character is '^]'.
Connection closed by foreign host.
我想稍後在該連接埠上運行 sip 流量,但現在我什至無法打開該連接埠。
多謝你們
答案1
您提供的輸出實際上意味著端口5060
已打開並且沒有任何東西阻止它,因為您得到了Connected to 192.168.0.5
.但是連接一創建就被目標主機終止,這就是為什麼它直接轉到Connection closed by foreign host
.這可能是因為在建立連接後,正在偵聽該連接埠的程式需要一些數據,或者可能需要以不同的方式配置程式。
如果連接埠被封鎖(或未開啟),您將永遠不會看到Conneted to <IPaddress>
,但您會看到類似這樣的內容:
Trying <IPaddress>...
telnet: Unable to connect to remote host: Connection refused
您透過檢查做了正確的事情iptables
,但由於沒有規則阻止流量,因此您可以5060
透過執行以下命令進一步驗證伺服器是否確實開啟了連接埠:
netstat -ntlup | grep 5060
您應該看到如下輸出:
tcp 0 0 0.0.0.0:5060 0.0.0.0:* LISTEN