宝塔面板放行端口需同步配置宝塔防火墙和云厂商安全组。路径为安全→防火墙→端口放行→添加;阿里云/腾讯云需在控制台对应位置添加入方向规则;命令行放行依系统用firewalld、iptables或ufw;连不上时需检查服务监听、IP黑名单、SELinux及端口实际配置。

宝塔面板里直接放行端口的操作路径
登录宝塔面板后,安全 → 防火墙 → 找到「端口放行」选项卡,点击「添加放行端口」即可。这个操作只影响宝塔内置的 iptables 规则,和云厂商的安全组是两层独立控制,缺一不可。
- 输入端口号(如
3306、8888),协议选TCP(绝大多数服务都走 TCP,UDP 很少用) - 备注可不填,但建议写清楚用途,比如「MySQL 外部访问」或「phpMyAdmin」,方便后续排查
- 点「添加」后规则立即生效,无需重启服务或服务器
- 如果放行的是非标准端口(比如把面板改成了
8899),一定要先确认当前真实端口:bt 14或cat /www/server/panel/data/port.pl
阿里云/腾讯云安全组必须同步配置
只在宝塔里放行,外网依然打不开——这是最常被忽略的一环。云服务器的流量第一道关卡是厂商安全组,它在系统防火墙之前就拦截了请求。
- 阿里云 ECS:控制台 → 实例 →
安全组→管理规则→ 添加入方向规则,协议选「自定义 TCP」,端口填你实际要开放的数字(如8888),源地址建议暂设为0.0.0.0/0(调试用),后期再收紧 - 阿里云轻量:控制台 → 实例 →
防火墙→ 添加规则,应用类型选「自定义」,协议选TCP,端口同上 - 腾讯云:安全组 → 新增规则 → 类型选「自定义TCP」,端口范围填单个端口(如
3306)或范围(如8000:8100) - 验证是否通:本地终端执行
nmap -p 8888 your-server-ip,看到open才算真正放通
纯净系统没装宝塔?用命令行快速放行
有些环境是手动部署或用了精简镜像,没装宝塔,就得直操作 iptables 或 firewalld。CentOS 7 默认用 firewalld,CentOS 6 和部分 Ubuntu 则默认用 iptables,不能混用。
- firewalld(CentOS 7 / Rocky 8+):
firewall-cmd --permanent --add-port=3306/tcp→firewall-cmd --reload - iptables(CentOS 6):
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT→service iptables save - Ubuntu(ufw):
ufw allow 3306/tcp→ufw reload - 注意:不要同时启用
firewalld和iptables,否则规则冲突,端口可能莫名关闭
为什么放了还是连不上?几个关键检查点
端口显示已放行,但浏览器打不开面板或数据库连不上,大概率不是配置漏了,而是卡在更底层的环节。
- 服务本身没监听:用
netstat -nptl | grep :8888看panel进程是否真在监听该端口;如果没输出,说明面板没启动或端口配置没生效 - 宝塔防火墙开着但 IP 被拉黑:进
安全→防火墙→ 「IP黑名单」看看自己公网 IP 是否在里面,误封很常见 - SELinux 干扰(仅 CentOS/RHEL):
sestatus查状态,临时关闭测试:setenforce 0;若恢复访问,说明需配 SELinux 策略,不是简单关就行 - 面板端口被改过但没通知到前端:比如执行了
bt 5修改端口,但忘了运行bt 14确认结果,或修改后没重载 Nginx 配置(极少数情况)










