在云主机上放行端口,通常需要同时配置两个层面:云平台的安全组(网络防火墙) 和云主机内部的系统防火墙,缺一不可。
下面分两部分说明,并给出常见的排查步骤。
云厂商(阿里云、腾讯云、华为云、AWS等)会在虚拟机外部设置一个独立的网络访问控制层,这是第一道关卡。
操作步骤(以阿里云为例,其他云平台类似):
1、登录云平台控制台 → 找到“云服务器 ECS”或“实例”。
2、 找到你的云主机实例,点击它的名称进入详情页。
3、 在左侧或顶部找到“安全组” 或“安全组列表”。
4、 点击当前实例绑定的安全组 ID(或名称),进入规则配置页面。
5、 点击“入方向”(Inbound Rules) →“添加规则”。
关键配置项:
协议类型:根据服务选择(如TCP 用于 HTTP/HTTPS/SSH,UDP 用于 DNS 等)。
端口范围:填写你要放行的端口(如8000 或8000/9000 表示范围)。
授权对象(源IP):
- 若要全网访问:填写0.0.0.0/0。
- 若要限制特定IP:填写你的IP/32(如1.2.3.4/32)。
- 若只能IP段:填写192.168.1.0/24。
描述:可选,建议填写用途(如“Web应用端口”)。
>注意:很多新手只配了出方向(Outbound),或只配了入方向但没保存,请确认入方向规则已添加并生效。
即使云平台放行了,云主机自身的防火墙也需要打开。
1. Linux 系统(CentOS/Ubuntu/Debian)
方法一:使用firewalld(CentOS 7/8/9,标准方式)
查看当前状态 sudo systemctl status firewalld 放行端口(8080) sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent 重新加载配置(重要) sudo firewall-cmd --reload 验证端口是否已放行 sudo firewall-cmd --list-ports
方法二:使用ufw(Ubuntu/Debian 常用)
查看状态 sudo ufw status 放行端口(8080) sudo ufw allow 8080/tcp 重新加载 sudo ufw reload 验证 sudo ufw status numbered
方法三:使用iptables(较旧系统或手动管理)
放行 22 端口(SSH示例) sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT 保存规则(不同系统命令不同,常见如下) sudo service iptables save # CentOS 6 或 sudo iptables-save > /etc/iptables/rules.v4 # Debian/Ubuntu
>提示:如果完全不想用系统防火墙,可以暂时关闭(不推荐):
> ```bash
> # 停止并禁用 firewalld
> sudo systemctl stop firewalld
> sudo systemctl disable firewalld
> ```
- 打开“控制面板” →“系统和安全” →“Windows Defender 防火墙”。
- 点击“高级设置”(左侧菜单)。
- 在左侧选择“入站规则” → 右侧“新建规则”。
- 选择“端口” → 选择TCP 或UDP → 填写端口号 → 选择“允许连接” → 勾选所有配置文件(域、专用、公用)→ 填写名称(如“开放端口8000”)→ 完成。
如果你按上面操作后仍然连不上,请按顺序检查:
1、确认服务正在监听端口:
Linux:sudo netstat -tlnp | grep <端口号> 或ss -tlnp | grep <端口号>
Windows:netstat -ano | findstr :<端口号>
- 如果这里没有显示程序在监听,说明服务根本没启动或端口配置错了(比如程序绑定了 127.0.0.1 而不是 0.0.0.0)。
2、本地 telnet 测试:
telnet <你的云主机公网IP> <端口号>- 如果连接成功,说明端口已通。
- 如果显示“无法打开连接”,则是防火墙或安全组问题。
3、检查云主机是否绑定公网IP:确保实例有弹性公网IP或公网IP。
4、检查程序是否只监听本地环回地址:例如服务绑定了127.0.0.1 或localhost 而不是0.0.0.0,外部就无法访问,修改配置文件为0.0.0.0 后重启服务即可。
5、使用在线工具:用“站长工具”或“端口检测”网站(如port.ping.pe)输入你的公网IP和端口,进行外部检测。
| 步骤 | 操作对象 | 关键点 |
| 1 | 云平台安全组 | 入方向规则,协议/端口/源IP |
| 2 | 操作系统防火墙 | Linux(firewalld/ufw/iptables)或 Windows 防火墙放行端口 |
先配安全组,再配系统防火墙,然后检查服务是否在监听,最后用 telnet 或在线工具验证,按这个流程走,99% 的问题都能解决。
文章摘自:https://idc.huochengrm.cn/zj/25699.html
评论