黑白名单批量配置服务器IP访问权限管控自动化脚本详解

为什么需要批量配置IP黑白名单?

手动一条条添加防火墙规则,在管理几十甚至上百个IP时效率极低,还容易手误遗漏。
通过自动化脚本,你可以把白名单IP和黑名单IP分别写进两个文件,执行一次脚本就能全部生效。
无论你用的是 iptables、firewalld 还是 ufw,都能用类似思路实现。
本文以最常见的 iptables 为例,给出可直接套用的脚本和避坑说明。

准备工作

  • 一台运行 CentOS 7/8Ubuntu 20.04+ 的服务器(脚本兼容性好)。
  • 已安装 iptables-services(CentOS)或 iptables(Ubuntu 默认自带)。
  • 创建两个文本文件:whitelist.txtblacklist.txt,每行一个 IP 或子网(如 192.168.1.10010.0.0.0/24)。
  • 确保有 root 权限执行脚本。

核心脚本实现

将以下内容保存为 ip_acl.sh,然后赋予执行权限 chmod +x ip_acl.sh

#!/bin/bash
# 黑白名单批量管控脚本 - 基于iptables
iptables -F INPUT  # 清空INPUT链(请只在测试环境这么做,生产环境建议先保存原规则)

# 设置默认策略为允许(后续封禁黑名单)
iptables -P INPUT ACCEPT

# 读取白名单并放行
while read ip; do
  [ -z "$ip" ] && continue
  iptables -A INPUT -s $ip -j ACCEPT
done < whitelist.txt

# 读取黑名单并封禁
while read ip; do
  [ -z "$ip" ] && continue
  iptables -A INPUT -s $ip -j DROP
done < blacklist.txt

# 封禁后默认拒绝其他非白名单IP(可选,若想彻底仅允许白名单则启用下行)
# iptables -P INPUT DROP

echo "黑白名单已批量配置完成。"

关键说明

  • 脚本先清空 INPUT 链,再依次放行白名单、封禁黑名单。
  • 如果希望仅允许白名单,需要把最后一行注释去掉,并将默认策略改为 DROP。
  • 注意白名单和黑名单文件与脚本放在同一目录,或使用绝对路径。

避坑指南与高频问题

Q:执行后自己 SSH 掉线怎么办?
A: 如果你把当前 SSH 连接的 IP 放入了黑名单,或者设置默认策略为 DROP 但没有先加入白名单,就会断连。建议先在本地用 iptables -L INPUT -n 查看当前规则,确认白名单包含你的 IP。或者在脚本开头加入 iptables -A INPUT -s 你的管理IP -j ACCEPT 保护自己。

Q:脚本执行报错 iptables: No chain/target/match by that name
A: 通常是 iptables 模块未加载。CentOS 可以执行 systemctl start iptables,Ubuntu 用 iptables-restore < /etc/iptables/rules.v4 初始化。

Q:黑白名单文件中有空行或注释行?
A: 脚本中 [ -z "$ip" ] && continue 可以跳过空行。如果需要跳过 # 开头的注释行,可以改成 [[ $ip == \#* ]] && continue

效果验证

  1. 运行脚本:./ip_acl.sh
  2. 查看生效规则:iptables -L INPUT -n --line-numbers
  3. 用白名单列表外的 IP 尝试 SSH 或 ping,应该被拒绝;白名单中的 IP 可以正常访问。
  4. 如果想持久化规则(防止重启丢失),CentOS 执行 service iptables save,Ubuntu 执行 netfilter-persistent save

现在你已经掌握了黑白名单批量配置服务器IP访问权限管控的核心方法。
结合自己的网络环境稍微调整文件路径和策略,就能直接用起来。
遇到其他异常时,多检查 IP 格式和 iptables 状态即可。

分享到:
上一篇
数据库连接池耗尽参数优化外贸商城站点卡顿
下一篇
静态资源合并压缩Nginx配置大幅节省海外带宽
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意