如何在Linux中配置黑名单同步项

雨墨君_2077

雨墨君_2077

2026-08-18

493人浏览

原创

linux中不存在“黑名单同步项”标准机制,真实需求是多机共享封禁ip列表,需按场景选择:同步hosts.deny需rsync+服务重启;firewalld rich rule应导出再批量导入并reload;iptables同步须确保持久化文件一致且服务启用;fail2ban推荐集中日志+统一管控。

如何在linux中配置黑名单同步项

Linux 中没有叫“黑名单同步项”的标准机制,这个说法通常是对几种不同场景的混淆:可能是想同步 /etc/hosts.deny、firewalld rich rule、iptables 规则,或是 fail2ban 封禁列表;也可能是误把 cron 白名单/黑名单(/etc/cron.allow、/etc/cron.deny)理解成“同步项”。真实需求往往是“让多台机器共享同一套封禁 IP 列表”,下面分场景说明。

同步 /etc/hosts.deny 里的 TCP Wrappers 黑名单

TCP Wrappers 的黑名单靠 /etc/hosts.deny 文件生效,但它本身不支持自动同步。手动同步时要注意两点:一是该文件只对使用 libwrap(如 sshd、vsftpd)的服务有效;二是规则顺序敏感,ALL: ALL 必须放在最后,否则会覆盖前面的白名单。

  • 用 rsync 推送(推荐):rsync -avz /etc/hosts.deny user@192.168.1.10:/etc/hosts.deny
  • 不要直接覆盖,先比对差异:diff /etc/hosts.deny user@192.168.1.10:/etc/hosts.deny
  • 修改后需重启对应服务(如 systemctl restart sshd),TCP Wrappers 不会自动重载

同步 firewalld 的 rich rule 黑名单

firewalld 的富规则存在 XML 配置中(/etc/firewalld/zones/public.xml 等),但直接复制 XML 文件风险高——firewalld 会校验 checksum,且 zone 名称、接口绑定可能不一致。

VLAN Linux Client
VLAN Linux Client

管理 VLAN.CN Linux 客户端的安装、登录、组网连接、服务控制及网络诊断操作。

下载
  • 正确做法是导出规则再批量导入:firewall-cmd --permanent --list-rich-rules > rules.txt,然后在目标机上逐条执行 firewall-cmd --permanent --add-rich-rule=...
  • 避免用 --runtime-to-permanent 同步,它只保存当前运行态,不含富规则
  • 导入后必须 firewall-cmd --reload,否则不生效

同步 iptables 黑名单规则(含持久化)

iptables 规则本身是内存态,同步关键在于持久化文件是否一致。不同发行版路径不同:/etc/iptables/rules.v4(Debian/Ubuntu)、/etc/sysconfig/iptables(RHEL/CentOS 7)。

  • 同步前确认目标机 iptables-service 已启用:systemctl is-enabled iptables
  • Debian 系统别用 iptables-restore 直接加载,应先停服务:<code>systemctl stop iptables,再覆盖文件,再 start
  • CentOS 7 上若用了 firewalld,就别碰 iptables —— 两者冲突,iptables 命令可能被 firewalld 覆盖

fail2ban 封禁 IP 的跨机同步

fail2ban 默认只封本机,它的封禁记录存在内存或 /var/log/fail2ban.log,不自动共享。真要同步,得靠外部协调。

  • 最稳妥方式是集中日志 + 统一 fail2ban 服务器:所有机器日志发到 rsyslog server,由一台 fail2ban 解析并下发封禁指令(如通过 ansible 调用 firewall-cmd)
  • 避免用数据库同步封禁表——fail2ban 没内置 DB 支持,强行加会破坏原子性
  • 如果只是小规模,可写定时脚本从 A 机抓 fail2ban-client status sshd | grep "Banned IP",再推送到 B 机的 hosts.deny

真正容易被忽略的是:同步 ≠ 生效。哪怕文件一模一样,服务没 reload、zone 没匹配、libwrap 没启用,黑名单照样不拦流量。每次同步后,务必验证实际连接行为,而不是只看配置是否存在。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3790

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3273

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2393

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5750

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5402

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3193

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2705

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2919

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习