嘗試使用 CentOS 打開端口

嘗試使用 CentOS 打開端口

(我是新手!)我正在運行一個運行 CentOS 的虛擬伺服器。我正在嘗試運行一個偵聽連接埠 37760 的伺服器。

netstat -lptu

顯示正在偵聽的連接埠列表,以及

tcp        0      0 localhost.localdomain:37760 *:*      LISTEN      15006/node

是條目之一。但是,當我在瀏覽器中訪問 ip:37760 時,連接逾時!

我確信這是非常明顯的,但是一些幫助將會非常有幫助!

謝謝

答案1

輸出netstat顯示node僅在本機上偵聽,因此您需要在該虛擬控制台上使用瀏覽器並導航至或更新要偵聽所有位址localhost:37760的任何配置。node

答案2

您的本地防火牆很有可能阻止連線。

檢查您的本機iptables防火牆。您可以透過執行以下命令來查看目前狀態:

iptables -vnL

這將產生如下所示的輸出:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
9192K 3593M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   18   740 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
1763K  180M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 6124  367K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22

這四個規則是這樣的:

  • 允許與現有連線關聯的流量
  • 允許 ICMP 流量。
  • 允許所有流量透過環回接口
  • 允許 TCP 連接埠 22 (ssh) 上的新連接

您可以在 中看到持久狀態/etc/sysconfig/iptables。如果您需要 GUI 配置機制,則可以使用該system-config-firewall工具,或者您可以利用此機會了解有關防火牆配置如何從命令列工作的更多資訊。

答案3

CentOS 預設會轉IP表並透過 SELinux 執行相當嚴格的安全策略。如果您嘗試從另一台電腦存取該端口,預設的 IPTables 設定會刪除除 SSH 之外的所有傳入連線。如果您不擔心安全性,您可以簡單地運行

sudo service iptables stop 

完全關閉 IPTables。

在 CentO 上,另一件可能阻礙你的事情是SELinux。這充當進程和檔案系統上的第二層安全性,並防止某些伺服器預設擁有提供檔案服務的權限,因為它們無權存取提供檔案服務的目錄。您在這裡有幾個選擇。

1) 透過更改設定來關閉 SELinux,/etc/selinux/config如下所示:

SELINUX=disabled in /etc/selinux/config

2) 更可取的是,用於audit2allow檢查 SELinux 是否阻止您的伺服器,如果是,則產生新的安全性原則以允許該伺服器。看到這個中央作業系統維基條目以及部落格條目。

最後,如果您在虛擬機器上執行,請確保您的虛擬機器具有網路存取權限和使用底層硬體的 NIC 設定的權限。

相關內容