云服务器安全组配置入门:从放行端口到排查连接失败
云服务器安全组配置,本质是在云平台层面给服务器加一道虚拟防火墙:只有被规则允许的流量才能到达实例。
很多人买了云服务器后网站打不开、SSH 连不上、数据库外部访问失败,问题并不在系统内部,而是安全组没有放行对应端口。
这篇教程按新手能直接照做的顺序,讲清配置前要准备什么、怎么在控制台加规则、如何验证生效,以及连不上时该查哪里。
配置前先搞清楚两件事
安全组是云平台提供的、
作用在实例网卡外层的访问控制,
它和服务器内部的 firewalld、
ufw、
iptables 是两套独立机制。流量要先通过安全组,
才轮到系统防火墙判断,
所以两边都要放行,
缺一个都会失败。
动手前准备三样东西:
- 云平台控制台账号,且能看到目标实例的安全组绑定关系;
- 服务器的公网 IP 或内网 IP;
- 你要放行的端口和用途,例如 SSH 的 22、HTTP 的 80、HTTPS 的 443、MySQL 的 3306。
先确认实例绑定了哪个安全组。
在控制台实例详情里找到“安全组”一栏,记下名称。
如果一台实例绑定了多个安全组,规则会叠加生效,任意一个安全组允许,流量就能通过,这点和很多人以为的“取交集”相反,排查时容易踩坑。
在控制台添加入站和出站规则
不同云厂商的入口叫法略有差异,常见路径是:控制台 → 云服务器 / 实例列表 → 点击目标实例 → 安全组 → 配置规则 → 入站规则 / 出站规则。
下面以放行 Web 服务和 SSH 为例。
入站规则决定谁能访问你的服务器,建议按最小必要开放:
- 协议类型选 TCP;
- 端口范围填
22,来源填你的固定公网 IP,例如203.0.113.10/32,而不是0.0.0.0/0; - 再加一条 TCP
80和一条 TCP443,来源填0.0.0.0/0,因为网站要对所有访客开放; - 授权策略选择“允许”,保存。
出站规则控制服务器主动访问外网。
多数云平台默认放行全部出站,如果你曾手动收紧过,安装软件、拉取镜像、调用外部接口时可能失败,此时要确认出站允许了所需端口。
关于来源地址,0.0.0.0/0 表示允许所有 IPv4 地址,/32 表示只允许单个 IP。把 SSH 的 22 端口长期对全网开放,
是云主机被暴力破解的高发原因,
条件允许时改成只允许自己的办公或家庭 IP。
系统防火墙也要同步放行
安全组放行后,如果系统防火墙仍在拦截,外部依旧连不上。
以常见的 firewalld 为例,放行 80 端口:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
使用 ufw 的系统则执行:
sudo ufw allow 80/tcp
sudo ufw status
最后一条命令的输出里能看到刚才添加的端口,就说明系统层面已放行。改完防火墙记得 reload 或重新加载,否则规则不会立即生效。
怎么验证安全组真的生效了
验证分本地和外部两步。
先在服务器上确认服务确实在监听:
sudo ss -tlnp | grep :80
如果没有任何输出,说明服务本身没起来,问题不在安全组。
看到类似 LISTEN 0 128 0.0.0.0:80 才算正常。
再从你自己的电脑测试端口连通性。
Linux 或 macOS 可用:
telnet 你的公网IP 80
Windows 可在 PowerShell 里用:
Test-NetConnection 你的公网IP -Port 80
返回连接成功或 TcpTestSucceeded: True,说明安全组和防火墙都已放行。
如果卡住或提示超时,回到上面两步逐项排查。
连不上时按这个顺序排查
遇到端口不通,不要反复改安全组,按下面顺序定位更快:
- 确认实例公网 IP 是否正确,是否更换过弹性 IP;
- 检查安全组入站规则里协议、端口、来源三要素是否匹配,注意协议选错(如把 TCP 选成 ICMP)会导致规则不生效;
- 检查实例是否绑定了多个安全组,逐个核对规则;
- 在服务器内部用
ss -tlnp确认服务监听地址,若监听在127.0.0.1,外部本来就访问不到; - 检查系统防火墙和 SELinux 等机制是否拦截。
改安全组前先保留一条可用的 SSH 规则,避免把自己锁在门外。
万一误删了 22 端口规则,可通过云平台控制台的 VNC 远程连接登录后恢复。
几个容易踩的坑
安全组规则修改后通常立即生效,但部分平台存在短暂延迟,刚保存就连不上可以稍等再试。
删除规则比新增规则风险更高,建议只增不删,确认无用后再清理。
数据库端口如 3306 不要对 0.0.0.0/0 开放,改为只允许应用服务器内网 IP。
另外,安全组只管网络层放行,账号密码强度、服务自身权限仍需单独加固。
常见疑问
安全组和系统防火墙必须都配置吗?
是的,两者是独立关卡,只配一边而另一边拦截,流量依然过不去。
放行端口后网站还是打不开怎么办?
先确认服务在监听、域名解析正确,再检查安全组来源和协议是否写对。
出站规则需要手动加吗?
多数平台默认全放行;
若你手动限制过,安装软件或调用外部接口失败时优先检查出站。
把端口改成全部开放更省事吗?
不建议,开放范围越大,被扫描和攻击的概率越高,按实际用途逐条放行更稳妥。