宝塔面板防火墙IP黑名单批量导入导出

很多使用宝塔面板的站长在遇到恶意扫描或攻击时,会通过防火墙拉黑一批IP。
但面板默认只能一个个手动添加,效率很低。
如果你需要批量导入或导出IP黑名单,这篇文章会一步步带你完成,从准备文件到验证结果,零基础也能跟着做。

批量操作前需要确认的几个前提

宝塔面板的防火墙功能通常由btwaf或系统防火墙插件提供,不同版本操作位置略有差异。
建议先登录面板,在【软件商店】确认已安装【宝塔防火墙】或【系统防火墙】。
本文以面板自带防火墙为例,路径为:安全 -> 防火墙 -> IP黑名单。

批量导入导出本质上是对防火墙规则文件的直接操作,因此你需要SSH登录服务器,并拥有root权限。
提前准备好一个文本文件,每行一个IP地址,支持单个IP或CIDR格式,例如:

192.168.1.100
10.0.0.0/24

注意不要包含空行或多余空格,否则导入时可能报错。

导出当前黑名单的两种方式

如果只是想备份现有黑名单,可以直接在面板操作。
进入防火墙的IP黑名单页面,查看是否有“导出”按钮。
部分版本支持一键导出为CSV或TXT文件。
如果没有该按钮,则通过SSH执行命令导出。

宝塔防火墙的IP黑名单通常存储在/www/server/panel/data/firewall/ip_blacklist.json或类似路径下。
你可以用以下命令查看并导出:

cat /www/server/panel/data/firewall/ip_blacklist.json

如果文件不存在,可以尝试搜索:

find /www/server/panel/data -name "*black*"

找到文件后,用cp命令复制到安全位置,例如:

cp /www/server/panel/data/firewall/ip_blacklist.json /root/ip_blacklist_backup.json

导出后建议用文本编辑器检查内容格式,确保后续能正确导入。

批量导入IP黑名单的详细步骤

导入前先准备好你的IP列表文件,假设命名为ip_list.txt,每行一个IP。
如果你有大量IP需要封禁,建议先合并去重,避免重复规则影响性能。

第一步:将文件上传到服务器。
可以使用宝塔面板的文件管理,上传到/root/目录,或者用scp命令上传。

第二步:根据防火墙类型选择导入方法。

如果面板防火墙支持文件导入,直接在IP黑名单页面点击“导入”,选择你的ip_list.txt文件即可。
导入后刷新页面,检查列表是否新增了IP。

如果面板没有导入按钮,则通过命令行操作。
先确认防火墙服务类型,执行:

bt default

查看面板信息,或检查/www/server/panel/data/firewall/下的文件。
对于btwaf,可以使用其命令行工具:

btwaf add_ip_blacklist 192.168.1.100

但批量添加需要循环处理。
可以写一个简单的shell脚本:

while read ip; do
  btwaf add_ip_blacklist "$ip"
done < /root/ip_list.txt

如果使用的是系统防火墙(如firewalld或ufw),则用对应命令。
例如firewalld:

while read ip; do
  firewall-cmd --permanent --add-rich-rule="rule source address='$ip' drop"
done < /root/ip_list.txt
firewall-cmd --reload

第三步:验证导入结果。
在面板防火墙的IP黑名单页面刷新,查看是否出现新IP。
或者用命令检查:

iptables -L -n | grep DROP

如果看到对应IP的DROP规则,说明导入成功。

避坑指南:导入导出常见问题

文件格式错误:IP列表文件必须是纯文本,每行一个IP,不能有逗号、分号或表头。
如果从Excel复制,先粘贴到记事本去除格式。

权限不足:执行命令时确保使用root账户,或加sudo。
普通用户可能无法读写防火墙配置文件。

规则重复:批量导入前最好去重,否则可能产生大量重复规则,影响网络性能。
可以用sort -u ip_list.txt -o ip_list.txt去重。

面板版本差异:不同宝塔版本的防火墙界面和存储路径可能不同。
如果找不到对应文件,建议先查看官方文档或通过面板的“导出”功能获取当前规则格式,再参照修改。

导入后不生效:部分防火墙需要重载配置。
执行firewall-cmd --reload或重启防火墙服务。
如果使用btwaf,可以尝试重启面板:bt restart。

如何验证批量操作是否成功

验证分两步:先在面板界面查看IP黑名单列表,确认新增的IP已经显示。
然后从另一台机器尝试ping或访问被封锁的IP,观察是否被拒绝。
如果服务器本身有业务,可以查看防火墙日志:

tail -f /var/log/firewalld

或

tail -f /www/server/panel/logs/request.log

查看是否有对应IP的拦截记录。
另外,可以统计当前黑名单条目数:

iptables -L -n | grep DROP | wc -l

对比导入前后的数量,判断是否全部添加成功。

常见疑问

导入的IP会立即生效吗? 大多数情况下会立即生效,但部分防火墙需要重载规则。
如果发现不生效,先执行重载命令再测试。

导出的文件可以编辑后再导入吗? 可以,但必须保持格式一致。
推荐先导出一份作为模板,在此基础上增删IP,避免格式错误。

批量导入有数量限制吗? 理论上没有硬性限制,但一次性导入过多IP可能消耗较多内存和CPU。
建议分批次操作,每批不超过1000条。

如果误封了IP怎么快速解封? 在面板黑名单页面找到该IP,点击删除。
或者用命令行删除对应规则,例如firewall-cmd --permanent --remove-rich-rule=...,然后重载。

掌握批量导入导出后,你可以更高效地应对恶意流量。
操作前记得备份现有规则,避免误操作导致自己无法连接服务器。
如果遇到问题,优先检查文件格式和防火墙服务状态。

分享到:
上一篇
宝塔面板网站伪静态一键复制,迁移站点使用
下一篇
宝塔面板PHP禁用函数列表,安全加固推荐
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意