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

相关推荐
-SGlow-1 分钟前
Linux相关概念和重要知识点(4)(自举、vim)
linux·运维·vim
运维Z叔22 分钟前
云安全 | AWS S3存储桶安全设计缺陷分析
android·网络·网络协议·tcp/ip·安全·云计算·aws
weixin_4567325923 分钟前
网络-内核是如何与用户进程交互
网络·交互
多多*25 分钟前
OJ在线评测系统 登录页面开发 前端后端联调实现全栈开发
linux·服务器·前端·ubuntu·docker·前端框架
爱吃涮毛肚的肥肥(暂时吃不了版)1 小时前
计算机网络34——Windows内存管理
网络·计算机网络·udp
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
gopher95112 小时前
linux驱动开发-中断子系统
linux·运维·驱动开发
鼠鼠龙年发大财2 小时前
【x**3专享】安装SSH、XFTP、XShell、ARM Linux
linux·arm开发·ssh
nfgo2 小时前
快速体验Linux发行版:DistroSea详解与操作指南
linux·ubuntu·centos