安全组(云网络层)
在操作系统之外生效,控制实例的出入方向流量。未放行的端口在云网络层直接被拦截,流量不会到达服务器。
约 1453 字大约 5 分钟
2026-08-29
安全组与操作系统防火墙是云服务器两道彼此独立的访问防线。本文介绍安全组的作用、规则要素,以及它与系统防火墙的关系,帮助您在服务无法访问时快速定位问题。
安全组是云平台上的一种虚拟防火墙,用于控制实例出入方向的流量。安全组在操作系统之外生效,是访问实例的第一道关卡:如果安全组未放行某个端口,外部请求在到达服务器之前就会被拦截,与实例内部的任何配置无关。
注
购买服务器时若选择无需安全组,则所有端口默认放行,无需额外设置。出于安全考虑,仍建议为服务器配置安全组并遵循最小开放原则。
安全组(云网络层)
在操作系统之外生效,控制实例的出入方向流量。未放行的端口在云网络层直接被拦截,流量不会到达服务器。
系统防火墙(实例层)
运行在操作系统内部,如 Linux 的 firewalld / ufw、Windows Defender 防火墙,对通过安全组的流量做进一步精细化控制。
两者是"与"关系
一个端口必须同时被安全组和系统防火墙放行,流量才能最终到达应用程序。排查访问问题时,请按「安全组 → 系统防火墙 → 服务监听」的顺序依次检查。
一条安全组规则通常包含以下要素:
| 要素 | 说明 | 示例 |
|---|---|---|
| 方向 | 入方向控制外部访问实例,出方向控制实例访问外部 | 入方向 |
| 协议 | TCP、UDP 或 ICMP | TCP |
| 端口 | 单端口或端口范围 | 80 / 1000-2000 |
| 源地址 | 允许访问的来源 IP 或网段(CIDR) | 0.0.0.0/0 或 192.168.1.0/24 |
| 策略 | 允许或拒绝 | 允许 |
关于源地址
0.0.0.0/0 表示允许所有来源 IP 访问。对必须公开的服务(如网站 80/443)可以使用;对 SSH、远程桌面、数据库等管理类端口,强烈建议只填写您自己的公网 IP 或可信网段。
| 端口 | 协议 | 用途 | 开放建议 |
|---|---|---|---|
| 22 | TCP | Linux SSH 远程连接 | 建议限制来源 IP,或修改默认端口 |
| 3389 | TCP | Windows 远程桌面 | 建议限制来源 IP,或修改默认端口 |
| 80 | TCP | HTTP 网站访问 | 按需对公网开放 |
| 443 | TCP | HTTPS 网站访问 | 按需对公网开放 |
| 21 | TCP | FTP | 被动模式还需放行数据端口段 |
| 3306 | TCP | MySQL | 不建议对公网开放,仅限内网或白名单 |
| 1433 | TCP | SQL Server | 同上 |
| 6379 | TCP | Redis | 不建议对公网开放,仅限内网或白名单 |
| 5432 | TCP | PostgreSQL | 同上 |
| 8080 | TCP | 常用备用 Web 端口 | 按需对公网开放 |
| ICMP | — | ping 测试 | 使用 ping / MTR 测试时需放行 |
放行入方向 TCP 80、443,源地址 0.0.0.0/0。
22(Linux)或 3389(Windows)。添加入方向 TCP 22(或您的自定义远程端口),源地址填写您本地的公网 IP(可通过 IP 查询网站获取)。
检查安全组
登录速维云控制面板,进入安全组页面,确认实例所属安全组的入方向规则已放行对应 IP 和端口。
检查系统防火墙
firewalld / ufw 状态与规则,参见管理 Linux 实例的系统防火墙。检查服务监听状态
在实例内确认服务已启动并在预期端口上监听:
# Linux:查看所有监听端口及对应进程
ss -tunlp
# 确认某个端口(如 80)
ss -tunlp | grep :80# Windows:查看端口监听
netstat -ano | findstr :80验证连通性
使用 telnet / nc 测试端口连通性,参见Linux测试TCP-UDP端口连通性。
0.0.0.0 而非 127.0.0.1。安全组是有状态的:入方向放行的端口,其返回流量(出方向)会自动放行,无需为响应流量额外配置出方向规则。
安全组规则修改后即时生效,无需重启实例,已建立的连接一般不受影响。
最佳实践