云主機端口不通怎樣排查?
更新時間 2024-06-26 11:18:32
最近更新時間: 2024-06-26 11:18:32
分享文章
本文向您介紹當云主機出現端口不通的情況時請應怎樣排查。
問題現象
云主機端口不通,會導致云主機之間無法通信或云主機無法對外服務,會影響應用或服務間的調用,或者用戶對服務的訪問。
根因分析
可能有以下幾種原因導致端口不通:
- 在控制臺界面,云主機所在安全組未放行該端口;
- 應用服務配置存在問題,對外服務端口未被正常監聽;
- 操作系統內,防火墻配置策略異常,如防火墻未放行端口訪問。
問題定位步驟
本文分別對Windows和Linux操作系統的遠程連接端口進行排查,以下為操作步驟。
Windows 操作系統
此部分以Windows Server 2012操作系統的云主機為示例,對云主機無法遠程連接問題的定位步驟。
步驟1:排查安全組是否放通Windows遠程連接端口3389。
- 登錄控制中心,選擇云主機所在區域,點擊“彈性云主機”進入云主機控制臺。
- 在云主機列表,點擊需要遠程連接的云主機實例名稱。
- 點擊“安全組”頁簽,查看安全組規則。
- 檢查云主機所在的安全組是否已添加3389入方向的安全組規則。

步驟2 :排查端口是否正常被監聽。
在Windows操作系統中打開cmd窗口,執行如下命令。
netstat -ano | findstr :3389
如果回顯信息如下則說明3389端口正常全網監聽。否則,請開啟監聽。

步驟3 :排查防火墻已經放行服務。
- 單擊“控制面板”>“Windows防火墻”。
- 根據防火墻狀態,如果防火墻處于關閉狀態,且您不需要使用防火墻,則無需再做其他處理。
- 如果防火墻處于開啟狀態,則單擊“高級設置”。
- 在彈出窗口的左側導航欄中,單擊“入站規則”。
- 右鍵“入站規則”>新建入站規則>選擇“端口”>填寫“需要放開的端口”完成配置。

Linux 操作系統
此部分以CentOS 7.8操作系統的云主機為示例,對云主機無法遠程連接問題的定位步驟。
步驟1 :確認安全組已經放行22端口。
-
登錄控制中心,選擇云主機所在區域,點擊“彈性云主機”進入云主機控制臺。
-
在云主機列表,點擊需要遠程連接的云主機實例名稱。
-
點擊“安全組”頁簽,查看安全組規則。
-
檢查云主機所在的安全組是否已添加22入方向的安全組規則。

步驟2 :可通過控制臺登錄云主機操作系統,確認遠程連接服務已經開啟。
執行如下命令,檢查sshd服務是否已經開啟。
systemctl status sshd
回顯信息如下所示,則說明sshd已經啟動。

如果未開啟,則執行以下命令啟動sshd服務。
systemctl start sshd
步驟3 :執行如下命令,查看22端口在實例中是否正常被監聽。
netstat -ant | grep 22
回顯信息則說明22端口正常全網監聽。如果返回的不是上述結果,請開啟監聽。

步驟4 :查看防火墻iptables規則列表,排查防火墻是否已經放行服務。
- 執行以下命令,查看防火墻狀態。
systemctl status firewalld 或 firewall-cmd --state
- 根據防火墻狀態,如果防火墻處于關閉狀態,且您不需要使用防火墻,則無需再做其他處理。如果您需要使用防火墻,且防火墻處于關閉狀態,可以執行以下命令開啟。
systemctl start firewalld
- 如果開啟命令執行后提示“Failed to start firewalld.service: Unit is masked.”請執行以下命令后再重新執行開啟防火墻的命令。
systemctl unmask firewalld
- 查看打開的端口。(如果沒有已打開的端口則無返回結果)
firewall-cmd --zone=public --list-ports
- 放行TCP 22端口。
firewall-cmd --zone=public --add-port=22/tcp --permanent
- 更新防火墻規則。再次執行查看打開的端口命令,將會返回已打開的接口。
firewall-cmd --reload
