firewalld封禁IP或IP段

1、firewalld直接封禁某一个ip或ip段

1.1封禁单个ip

$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.x.x' reject"

#1.2 封禁IP段

$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.0.0/16' reject"

$ firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='x.x.x.0/24' reject"

使用上面没什么问题,只不过一旦大量ip需要拉黑,管理上就会很混乱。因此这里介绍firewalld配置ipset来实现。

2、firewalld配置ipse封禁某一个ip或ip段

2.1 创建ipset

$ firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net

创建一个名为blacklist的库,执行完命令可在/etc/firewalld/ipsets路径下看到生成的blacklist.xml文件。

2.2 添加/删除要禁止的ip或ip段

#添加ip

$ firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=x.x.x.x

#添加ip段

$firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=x.x.x.0/24

#删除ip

$firewall-cmd --permanent --zone=public --ipset=blacklist --remove-entry=x.x.x.x

#删除ip段

$firewall-cmd --permanent --zone=public --ipset=blacklist --remove-entry=x.x.x.0/24

备注: --permanent参数表示永久生效,内容会写入blacklist.xml文件且需要重启防火墙;

firewall-cmd --reload生效,如果不加该参数,则立即生效,内容不会写入blacklist.xml文件,服务重启则规则失效。

2.3封禁名为blacklist的ipset

$ firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=blacklist drop'

前面只是创建了名为blacklist的ipset,而且也往里面增加了内容,最后一步即防火墙封禁该ipset即可,这样的好处是防火墙只是一条规则就封禁了文件里管理的大量ip。

2.4重新载入防火墙即可生效:

firewall-cmd --reload

2.5查看当前防火墙状态:

firewall-cmd --list-all

2.6单独查看当前ipset封禁了哪些ip:

ipset list blacklist

相关推荐
独行soc1 分钟前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
EmbedLinX5 分钟前
嵌入式之协议解析
linux·网络·c++·笔记·学习
vortex57 分钟前
解密UUOC:Shell编程中“无用的cat使用”详解
linux·shell编程
凉、介7 分钟前
VMware 三种网络模式(桥接 / NAT / Host-Only)原理与实验解析
c语言·网络·笔记·操作系统·嵌入式·vmware
Aliex_git16 分钟前
跨域请求笔记
前端·网络·笔记·学习
wangjialelele17 分钟前
Linux中的进程管理
java·linux·服务器·c语言·c++·个人开发
杜子不疼.35 分钟前
【Linux】库制作与原理(二):动态库的制作与使用
linux·运维·服务器
森焱森38 分钟前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
小白电脑技术42 分钟前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
tzy23342 分钟前
极简版本的 TCP / IP 协议栈介绍
网络·网络协议·tcp/ip