宝塔面板被自己封禁,主因是面板内置黑名单(limitip.conf、ips_blacklist.pl)或fail2ban的bt_deny规则封禁了当前公网IP;需依次删除黑名单文件、执行bt 10重载缓存、用fail2ban-client解封IP,并检查云安全组是否放行8888端口。

宝塔面板被自己封了,SSH连得上但面板打不开,大概率不是iptables/firewalld在拦——而是宝塔自己的黑名单或fail2ban在起作用。直接改系统防火墙规则不仅无效,还可能误放攻击IP或破坏原有策略。
为什么改iptables/firewalld通常没用
宝塔面板的IP封锁分三层,系统防火墙(iptables/firewalld)只管最外层网络连接,而面板登录失败触发的封锁发生在应用层:
-
limitip.conf和ips_blacklist.pl是面板进程读取的白/黑名单文件,不经过iptables -
fail2ban的bt_denyjail 封的是8888端口连接,但它通过iptables或nftables实现——但你不能手动删规则,必须用fail2ban-client操作,否则状态不同步 - 云服务器(如阿里云、腾讯云)的安全组是独立于iptables的网络层控制,
iptables -L根本看不到它
确认是不是iptables/firewalld真在拦
先排除干扰,快速验证:
- 执行
iptables -L -n | grep 8888:如果输出为空,说明iptables没对8888端口做显式DROP/REJECT - 执行
firewall-cmd --list-ports(CentOS 7+/Rocky):看是否含8888/tcp;若没有,才是该加端口 - 执行
ss -tlnp | grep :8888:确认面板服务确实在监听,且没被其他进程占端口 - 执行
curl -I http://127.0.0.1:8888:若返回HTTP/1.1 200 OK或重定向到安全入口,则证明本地访问通,问题出在网络路径上
真正该操作的三个位置(按优先级)
别碰iptables/firewalld,除非你明确看到它在DROP 8888。优先处理这三处:
- 删面板层黑名单:
rm -f /www/server/panel/data/limitip.conf(这是输错密码后生成的封禁依据) - 清缓存并重载:
bt 10或bt reload(让面板重新读取配置) - 解封fail2ban:
fail2ban-client set bt_deny unbanip 你的公网IP(注意:不是内网IP,不是127.0.0.1)
只有当确定是firewalld/iptables导致才动手
极少数情况:你或同事手动加过规则封了8888,且没用fail2ban。此时操作要克制:
- firewalld(推荐):
firewall-cmd --permanent --add-port=8888/tcp && firewall-cmd --reload - iptables(旧系统):
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT && service iptables save(CentOS 6) - 切勿执行
iptables -F或firewall-cmd --panic-on:会清空所有规则,包括SSH、DNS等关键链路
真正容易被忽略的是:删完 limitip.conf 后没执行 bt 10,或者解了fail2ban却忘了检查云安全组——那个“403 Forbidden”页面,往往来自阿里云控制台里一条没放行的入方向规则。


















