firewalld防火墙(二)

一:firewalld高级配置

1:关于iptables的知识

iptables 是Linux系统中传统的命令行防火墙管理工具,它基于内核的netfilter框架工作,用于配置和管理网络规则集,比如过滤(允许/拒绝)进出的数据包、网络地址转换(NAT)等。iptables使用链(chains)和规则(rules)的概念来处理数据包,有五个预定义的链(INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING)对应不同的数据包处理阶段。每条规则由匹配条件(如源IP、目的IP、端口等)和目标动作(如ACCEPT, DROP, REJECT等)组成。

  • 表(Table): iptables包含四个主要表:filternatmangle, 和 raw,分别用于不同的数据包处理任务,如过滤、网络地址转换、特殊标记等。
  • 链(Chain): 每个表内含有一系列预设的链,如INPUTOUTPUTFORWARDPREROUTING, 和 POSTROUTING。用户还可以创建自定义链来组织规则。
  • 规则(Rule): 规则定义了对匹配特定条件的数据包执行的动作,例如允许 (ACCEPT)、拒绝 (DROP) 或重定向 (REDIRECT)。
  • 匹配(Match) 和 目标(Target): 规则由匹配条件和目标动作组成,匹配条件决定了哪些数据包适用此规则,目标动作指定了数据包如何被处理。
用户自定义链

自定义链允许你根据特定需求组织规则,提高可读性和管理效率。创建自定义链的命令如下:

  iptables -N MyCustomChain

然后,可以在预设链中引用这个自定义链,例如:

  iptables -A INPUT -j MyCustomChain
使用 -m (match) 扩展模块

iptables 提供多种扩展模块来实现更细致的匹配条件,如 -m state --state ESTABLISHED,RELATED 用于状态检查,只允许已建立连接的数据包通过。

日志记录

利用 -j LOG 目标可以将匹配特定规则的数据包记录下来,便于故障排查。

  iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "S

2:firewalld中理解直接规则

firewalld中,直接规则(Direct Rules) 允许用户直接在底层的iptables规则集中插入、删除或修改规则,而不通过firewalld的区域和服务概念。这意味着直接规则提供了更底层、更灵活的控制,但同时也需要对iptables有一定的了解。直接规则的执行优先级高于firewalld的区域规则和富规则,适合进行精细的调整或兼容特定的iptables配置需求。

  • 直接接口(Direct Interface): 使用直接规则时,你需要指定规则将应用于哪个表和链,以及规则的具体内容。这通常涉及到使用firewall-cmd--direct选项,以及add-ruleremove-rule子命令。
查看直接规则
  • 使用firewall-cmd--list-all-rules选项查看当前所有直接规则。
  firewall-cmd --direct --get-all-rules
删除直接规则
  • 若要删除某条直接规则,首先需确定其位置索引,然后使用remove-rule操作。
  firewall-cmd --direct --remove-rule ipv4 filter INPUT 0

3:使用富语言

富语言规则(Rich Rules) 是firewalld提供的一个高级特性,允许用户以一种更易读和更强大的方式来定义防火墙规则,而不需要直接操作iptables命令。富规则结合了源地址、目的地址、端口、协议等元素,并且支持复杂的逻辑判断(如AND, OR),使得配置更加直观和灵活。例如,你可以用一条富规则来指定某个IP范围内的用户只能访问特定的服务端口,或者设置端口转发规则。相比于基本的firewalld服务和端口配置,富规则提供了更多的定制选项,使得防火墙策略更加适应复杂网络环境的需求。使用firewall-cmd命令加上--add-rich-rule--permanent选项来添加永久性的富规则到相应的配置中。

  • 端口转发:
  firewall-cmd --permanent --add-rich-rule='rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080 to-addr=192.168.1.10'

这条命令永久性地设置了一个富规则,将所有流向公共IP地址80端口的TCP请求转发到内部IP地址192.168.1.10的8080端口。

  • 源地址限制:
  firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=22 protocol=tcp accept'

此命令允许来自192.168.1.0/24子网的所有主机通过TCP协议访问SSH服务(默认端口22)。

记住,在使用--permanent标志后,需要重启firewalld服务使更改生效。不加--permanent参数的规则是即时生效但重启后会丢失的。

以上示例展示了如何利用Firewalld的富语言功能来实现复杂的网络策略配置,相比基本配置,富规则提供了更多定制化和灵活性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3.8安装详细教程

python3.8下载及安装详细教程 Python 3.8 是一个重要的Python版本,它引入了一系列新功能和改进。以下是对Python 3.8的详细概述,包括其关键特性、安装方法以及版本状态等信息。 Python 3.8的关键特性 海象运算符(Walrus Operator&#xff09…

工程文件参考——CubeMX+LL库+SPI主机 阻塞式通用库

文章目录 前言CubeMX配置SPI驱动实现spi_driver.hspi_driver.c 额外的接口补充 前言 SPI,想了很久没想明白其DMA或者IT比较好用的方法,可能之后也会写一个 我个人使用场景大数据流不多,如果是大批量数据交互自然是DMA更好用,但考…

reggie外卖优化

文章目录 一、redis缓存1.1 缓存验证码1.2 缓存菜品数据 二、spring-cache 一、redis缓存 1.1 缓存验证码 不用sesiion,而使用redis来存放验证码。 首先在用户请求验证码,将验证码保存在sesion中,当登录成功之后,将redis中的验证…

Tekla Structures钢结构详图设计软件下载;Tekla Structures高效、准确的合作平台

Tekla Structures,它不仅集成了先进的三维建模技术,还融入了丰富的工程实践经验,为设计师、工程师和建筑商提供了一个高效、准确的合作平台。 在建筑项目的整个生命周期中,Tekla Structures都发挥着举足轻重的作用。从规划阶段开始…

Java Map转泛型对象

Springboot Map转泛型对象 import org.springframework.beans.PropertyAccessorFactory;public abstract class AbstractGoodsProcessor<T>{/*** 封装对象**/Overridepublic T assembleOfBeforeCheck(Map<String, Object> map){return this.mapToParam(map,0);};O…

录音转文字软件免费版哪个好?6个转文字工具让你轻松记录

随着小暑的到来&#xff0c;炎热的天气容易让人心浮气躁&#xff0c;影响工作效率。 在这个季节里&#xff0c;掌握一些办公技巧尤为关键。尤其是当我们需要整理会议记录或讲座内容时&#xff0c;如果能有一种方法&#xff0c;可以迅速将那些冗长的录音转换成清晰的文字&#…

使用Retrofit2+OkHttp监听上传或者下载进度会执行两次的问题

使用Retrofit2OkHttp监听上传或者下载进度RequestBody#writeTo/ResponseBody#source 会执行两次的问题 example&#xff1a; 问题原因&#xff1a; 使用了HttpLoggingInterceptor拦截器&#xff0c;并且日志等级为HttpLoggingInterceptor.Level.BODY 问题解决&#xff1a;

day08. 02 Python中的位运算符案例与解析

理解并掌握Python中的位运算符&#xff1a;异或&#xff08;^&#xff09;、与&#xff08;&&#xff09;、或&#xff08;|&#xff09;、反&#xff08;~&#xff09;、右移&#xff08;>>&#xff09;、无符号右移&#xff08;>>>&#xff0c;注意Python…

艾滋病隐球菌病的病原学诊断方法包括?

艾滋病隐球菌病的病原学诊断方法包括()查看答案 A.培养B.隐球菌抗原C.墨汁染色D.PCR 在感染性疾病研究中&#xff0c;单细胞转录组学的应用包括哪些()? A.细胞异质性研究B.基因组突变检测C.感染过程单细胞分析D.代谢通路分析 开展病原微生物网络实验室体系建设&#xff0c;应通…

Linux--平台设备、平台驱动的注册源码分析

一、设备和驱动的注册 设备注册两种方式&#xff1a; 1、从设备树解析动态注册。设备树dts文件中定义了设备节点&#xff0c;描述了硬件信息&#xff0c;比如寄存器信息&#xff0c;引脚信息等&#xff0c;内核将从设备树中解析得到的platform_device注册到平台总线中。具体设…

一个opencv实现检测程序

引言 图像处理是计算机视觉中的一个重要领域&#xff0c;它在许多应用中扮演着关键角色&#xff0c;如自动驾驶、医疗图像分析和人脸识别等。边缘检测是图像处理中的基本任务之一&#xff0c;它用于识别图像中的显著边界。本文将通过一个基于 Python 和 OpenCV 的示例程序&…

UniApp 中 Web/H5 正确使用反向代理解决跨域问题

因为 Vue3 的构建工具是 Vite&#xff0c;所以配置 vue.config.js 是没用的&#xff08;Vue2 因为使用 webpack 所以才用这个文件&#xff09; 这里提供一份 vue.config.js 的示例&#xff1a; module.exports {devServer: {proxy: {/api: {target: http://example.com,chan…

Python学习速成必备知识,(20道练习题)!

基础题练习 1、打印出1-100之间的所有偶数&#xff1a; for num in range(1, 101):if num % 2 0:print(num) 2、打印出用户输入的字符串的长度&#xff1a; string input("请输入一个字符串&#xff1a;")print("字符串的长度为&#xff1a;", len(str…

使用Python进行文件合并和分割

哈喽,大家好,我是木头左! 引言 在数据处理过程中,经常需要将多个文件合并为一个文件,或者将一个大文件分割成多个小文件。Python作为一种功能强大的编程语言,提供了多种方法来实现这一目标。本文将介绍如何使用Python进行文件合并和分割。 文件合并 1. 逐行合并 最简…

Git不想跟踪某个文件

如果你不想跟踪某个文件&#xff0c;可以将该文件路径添加到 .gitignore 文件中。.gitignore 文件用于告诉 Git 哪些文件或目录应该被忽略&#xff0c;不进行版本控制。以下是具体步骤&#xff1a; 编辑 .gitignore 文件&#xff1a;在项目的根目录下找到或创建一个 .gitignore…

More Effective C++ 35个改善编程与设计的有效方法笔记与心得 5

五. 技术 条款25&#xff1a; 将 constructor 和 non-member functions虚化 请记住&#xff1a; 1. 利用重载技术&#xff08;overload&#xff09;避免隐式类型转换&#xff08;implicit type conversions&#xff09; ‌‌‌‌  重载技术是指在同一个作用域中声明多个同…

差分进化算法(Differential Evolution)及其python实现

### 背景&#xff1a; 差分进化算法&#xff08;Differential Evolution&#xff0c;DE&#xff09;是一种基于种群的优化算法&#xff0c;旨在解决连续优化问题。DE 最初由 Price 和 Storn 提出&#xff0c;是一种简单但有效的全局优化算法&#xff0c;适用于具有非线性、非光…

rillflow运行时,跳转子应用时,页面循环自动刷新

rill-flow-ui执行运行完毕&#xff0c;生成如下运行url&#xff0c;http://110.108.190.18:8080/选中执行&#xff0c;跳转子应用循环自动刷新&#xff0c;debugger发现主应用在和微应用的默认地址建立链接失败&#xff0c; 改为运行 http://localhost:8080/&#xff0c;即可和…

excel表格如何换行,这几个操作方法要收藏好

Excel表格作为一款强大的数据处理工具&#xff0c;在日常工作和生活中被广泛应用。当需要在单元格内显示较长的文本内容或使数据更加清晰易读时&#xff0c;我们需要掌握一些换行技巧。下面将介绍几种常用的Excel换行方法&#xff1a; 一、使用快捷键换行 1、首先&#xff0c;…

iSDF改进优化笔记

《iSDF: Real-Time Neural Signed Distance Fields for Robot Perception》论文提出了一种实时神经签名距离场&#xff08;SDF&#xff09;重建的方法&#xff0c;该方法在多个方面表现优异。然而&#xff0c;仍有一些潜在的改进空间&#xff1a; 1. 扩展实验范围 更多数据集和…