当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 微信getUserProfile不弹出授权框
  • 【无标题】云端之C#:全面解析6种云服务提供商的SDK
  • C++学习笔记(33)
  • JVM常用参数配置
  • python中的排序函数sorted
  • 【资料分析】刷题日记2
  • 系统在哪些情况下会触发缺页中断
  • 关于Java数据结构中集合的一个小知识
  • 八股文-JVM
  • Gitlab实现多项目触发式自动CICD
  • 机器学习:逻辑回归--过采样
  • 教育培训小程序开发,简单实用的入门指南
  • AI绘画与摄影新纪元:ChatGPT+Midjourney+文心一格 共绘梦幻世界
  • 机器学习与深度学习之间的区别
  • 诗文发布模板(python代码打造键盘录入诗文自动排版,MarkDown源码文本)
  • 【面试系列】之二:关于js原型
  • Android 控件背景颜色处理
  • ES6之路之模块详解
  • Go 语言编译器的 //go: 详解
  • input实现文字超出省略号功能
  • Java 23种设计模式 之单例模式 7种实现方式
  • PHP 的 SAPI 是个什么东西
  • Python利用正则抓取网页内容保存到本地
  • Spring-boot 启动时碰到的错误
  • Terraform入门 - 1. 安装Terraform
  • Vue.js-Day01
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Webpack 4 学习01(基础配置)
  • 复习Javascript专题(四):js中的深浅拷贝
  • 关于extract.autodesk.io的一些说明
  • 记一次和乔布斯合作最难忘的经历
  • 老板让我十分钟上手nx-admin
  • 免费小说阅读小程序
  • 深度解析利用ES6进行Promise封装总结
  • 微信支付JSAPI,实测!终极方案
  • ​configparser --- 配置文件解析器​
  • ​MySQL主从复制一致性检测
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #{}和${}的区别是什么 -- java面试
  • #100天计划# 2013年9月29日
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #图像处理
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (35)远程识别(又称无人机识别)(二)
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (过滤器)Filter和(监听器)listener
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (十)c52学习之旅-定时器实验
  • (四)软件性能测试
  • (四)事件系统
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计