云主机怎么开通端口?

HCRM技术_小炮 云主机 2025-10-02 1 0

1、云服务商的安全组(防火墙)

2、云主机操作系统自带的防火墙

下面我将以阿里云腾讯云为例,详细说明整个流程,并附上通用原理和排查方法。

核心概念:双重防火墙

开通云主机端口的完整流程,可以用下面这张图来清晰地理解,它涉及云平台和操作系统两层防火墙:

flowchart TD
    A[用户访问云主机公网IP] --> B[请求到达云平台安全组]
    B -- “安全组规则允许” --> C[请求到达云主机操作系统]
    C -- “系统防火墙规则允许” --> D[成功访问目标服务]
    B -- “安全组规则拒绝” --> E[访问被拒绝<br>(Connection timed out)]
    C -- “系统防火墙规则拒绝” --> F[访问被拒绝<br>(Connection refused)]

第一部分:云服务商安全组配置

安全组是云服务商提供的虚拟防火墙,用于控制进出云主机的流量。这是必须配置的第一步。

通用步骤(理念相通):

1、登录云服务商管理控制台

2、 找到你的云主机实例,并进入其安全组 配置页面。

3、添加入方向规则,要开通端口,主要就是配置“入方向”规则。

关键规则参数:

授权策略允许

协议类型根据你的服务选择(TCP, UDP, ICMP)。

端口范围

单个端口80

端口范围8000-8080

所有端口1/65535-1/-1极度不推荐,非常危险

授权对象(源)

0.0.0.0/0 表示允许所有IPv4地址访问。(谨慎使用

::/0 表示允许所有IPv6地址访问。

192.168.1.100/32 表示只允许特定的IP地址访问。(推荐,更安全

你的办公网络IP/32 表示只允许你自己访问。(对于SSH、RDP等管理端口尤其推荐)

优先级数字越小,优先级越高,通常保持默认即可。

主流云服务商操作示例:

1. 阿里云

1、 登录阿里云控制台,进入弹性计算 ECS

2、 找到你的实例,在实例详情页面,点击安全组 标签页。

3、 点击配置规则

4、 在入方向 标签页,点击手动添加

5、 填写规则,例如开通HTTP服务的80端口:

规则自定义TCP

端口范围80/80

授权对象0.0.0.0/0

描述HTTP服务

6、 点击保存

2. 腾讯云

1、 登录腾讯云控制台,进入云服务器 CVM

2、 找到你的实例,点击实例ID进入详情页。

3、 在安全组 标签页,点击关联的安全组ID。

4、 进入安全组规则页面,点击入站规则 ->添加规则

5、 填写规则,例如开通SSH服务的22端口(仅允许你的IP):

类型自定义

来源你的IP地址/32,例如123.123.123.123/32

协议端口TCP:22

策略允许

备注SSH管理

6、 点击完成

第二部分:云主机操作系统防火墙配置

即使安全组允许了流量,云主机操作系统自身的防火墙也可能阻止它,你需要根据操作系统类型进行配置。

1. Linux 系统(以 CentOS 7+ / Ubuntu 使用firewalld 为例)

检查防火墙状态:

sudo systemctl status firewalld

如果firewalld 正在运行,你需要开放对应端口:

永久开放端口(例如80端口):

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

重新加载防火墙使配置生效:

sudo firewall-cmd --reload

验证端口是否开放:

sudo firewall-cmd --list-ports

如果使用iptables(较老系统):

开放端口
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
保存配置(CentOS)
sudo service iptables save
或者(Ubuntu)
sudo netfilter-persistent save

Windows 系统

Windows 使用Windows Defender 防火墙

1、 打开控制面板 ->系统和安全 ->Windows Defender 防火墙

2、 点击高级设置

3、 在左侧选择入站规则,然后在右侧点击新建规则...

4、 选择端口,点击下一步

5、 选择TCPUDP,并输入特定本地端口,如80,点击下一步

6、 选择允许连接,点击下一步

7、 选择何时应用该规则(域、专用、公用),通常全选,点击下一步

8、 为规则起一个名字,例如My Web Service,点击完成

第三部分:服务本身监听配置

确保你主机上运行的服务程序正在正确监听你开放的端口。

在云主机上检查端口监听状态:

Linux:

netstat -tunlp | grep :80
或者使用 ss 命令
ss -tunlp | grep :80

如果输出显示有进程在监听0.0.0.0:80:::80,说明服务监听正常。

Windows:

netstat -ano | findstr :80

如果这里没有输出,说明你的Web服务器(如Nginx、Apache)或应用程序可能没有启动,或者配置成了监听其他端口。

按照下图所示的完整流程,你可以系统地开通端口并排查问题:

flowchart TD
    A[开始开通端口] --> B{端口已通?<br>使用 telnet 或 tcping 测试}
    B -- 通 --> C[成功]
    B -- 不通 --> D[检查云平台安全组规则]
    D -- 规则正确 --> E[检查系统防火墙规则]
    D -- “规则错误<br>或缺失” --> F[添加入站规则]
    E -- 规则正确 --> G[检查应用服务状态]
    E -- “规则错误<br>或缺失” --> H[开放对应端口]
    G -- “服务未运行<br>或未监听” --> I[启动服务或<br>更改监听配置]
    G -- 服务正常 --> J[检查网络ACL等其他设置]
    F & H & I --> K[重新测试]
    K --> B
    J --> B

当端口不通时,请遵循以下排查路径:

1、从外网测试端口

    telnet <你的公网IP> <端口号>
    # telnet 不可用,可以使用 tcping 工具(Windows/Linux均有)

2、常见错误与对应环节

Connection timed out 通常是安全组 没有配置正确,流量在云平台层就被丢弃了,请返回第一步仔细检查。

Connection refused 通常是系统防火墙 阻止了流量,或者服务本身没有运行/没有监听该端口,请检查第二和第三步。

3、检查顺序:务必按照安全组 -> 系统防火墙 -> 服务状态 的顺序进行排查,这是最高效的方法。

按照以上步骤操作,你就能系统地开通并排查云主机的端口问题了,记住安全第一,尽量只开放必要的端口,并对管理端口(如SSH的22,RDP的3389)进行IP源限制。

文章摘自:https://idc.huochengrm.cn/zj/17048.html

评论