弹性云主机

云主机端口不通怎样排查?

2025-10-29 02:34:49

问题现象

云主机端口不通,会导致云主机之间无法通信或云主机无法对外服务,会影响应用或服务间的调用,或者用户对服务的访问。

根因分析

可能有以下几种原因导致端口不通:

  1. 在控制台界面,云主机所在安全组未放行该端口;

  2. 应用服务配置存在问题,对外服务端口未被正常监听;

  3. 操作系统内,防火墙配置策略异常,如防火墙未放行端口访问。

问题定位步骤

本文分别对Windows和Linux操作系统的远程连接端口进行排查,以下为操作步骤。

Windows 操作系统

此部分以Windows Server 2012操作系统的云主机为示例,对云主机无法远程连接问题的定位步骤。

步骤1:排查安全组是否放通Windows远程连接端口3389。

1.      登录控制中心,选择云主机所在区域,点击“弹性云主机”进入云主机控制台。

2.      在云主机列表,点击需要远程连接的云主机实例名称。

3.      点击“安全组”页签,查看安全组规则。

4.      检查云主机所在的安全组是否已添加3389入方向的安全组规则。

步骤2 :排查端口是否正常被监听。

在Windows操作系统中打开cmd窗口,执行如下命令。

netstat -ano | findstr :3389


如果回显信息如下则说明3389端口正常全网监听。否则,请开启监听。

步骤3 :排查防火墙已经放行服务。

1.  单击“控制面板”>“Windows防火墙”。

2.  根据防火墙状态,如果防火墙处于关闭状态,且您不需要使用防火墙,则无需再做其他处理。

3.  如果防火墙处于开启状态,则单击“高级设置”。

4.  在弹出窗口的左侧导航栏中,单击“入站规则”。

5.  右键“入站规则”>新建入站规则>选择“端口”>填写“需要放开的端口”完成配置。

 

Linux 操作系统

此部分以CentOS 7.8操作系统的云主机为示例,对云主机无法远程连接问题的定位步骤。

步骤1 :确认安全组已经放行22端口。

  1. 登录控制中心,选择云主机所在区域,点击“弹性云主机”进入云主机控制台。

  2. 在云主机列表,点击需要远程连接的云主机实例名称。

  3. 点击“安全组”页签,查看安全组规则。

  4. 检查云主机所在的安全组是否已添加22入方向的安全组规则。

        

步骤2 :可通过控制台登录云主机操作系统,确认远程连接服务已经开启。

执行如下命令,检查sshd服务是否已经开启。

systemctl status sshd

回显信息如下所示,则说明sshd已经启动。

如果未开启,则执行以下命令启动sshd服务。

systemctl start sshd

步骤3 :执行如下命令,查看22端口在实例中是否正常被监听。

netstat -ant | grep 22

回显信息则说明22端口正常全网监听。如果返回的不是上述结果,请开启监听。

步骤4 :查看防火墙iptables规则列表,排查防火墙是否已经放行服务。

  1. 执行以下命令,查看防火墙状态。

    systemctl status firewalld 或 firewall-cmd --state
  1. 根据防火墙状态,如果防火墙处于关闭状态,且您不需要使用防火墙,则无需再做其他处理。如果您需要使用防火墙,且防火墙处于关闭状态,可以执行以下命令开启。

    systemctl start firewalld

·         如果开启命令执行后提示“Failed to start firewalld.service: Unit is masked.”请执行以下命令后再重新执行开启防火墙的命令。

    systemctl unmask firewalld
  1. 查看打开的端口(如果没有已打开的端口则无返回结果)

    firewall-cmd --zone=public --list-ports
  1. 放行TCP 22端口

    firewall-cmd --zone=public --add-port=22/tcp --permanent
  1. 更新防火墙规则。再次执行查看打开的端口命令,将会返回已打开的接口。

    firewall-cmd --reload


Iz9ZvDXhFpGN