黑白名单批量配置服务器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
系统公告

泽御云中秋国庆双节活动上线:新购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 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意