Linux——firewalld防火墙(二)

news2025/1/12 5:57:38

一、firewalld高级配置 

1、IP地址伪装

        地址伪装(masquerade):通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将通过的数据包的源地址更改为其自己的接口地址。当返回的数据包到达时,会将目的地址修改为原始主机的地址并做路由。地址伪装可以实现局域网多个地址共享单一公网地址上网。类似于NAT技术中的端口多路复用(PAT)。P地址伪装仅支持IPv4,不支持IPv6。

2、端口转发

        端口转发(Forward-port):也称为目的地址转换或端口映射.通过端口转发.将指定Р地址及端口的流量转发到相同计算机上的不同端口,或不同计算机上的端口。企业内网的服务器一般都采用私网地址,可以通过端口转发将使用私网地址的服务器发布到公网,以便让互联网用户访问。例如,当接收互联网用户的HTT请求时,网关服务器判断数据包的目标地址与目标端口,一旦匹配指定规则.则将其目标地址修改为内网真正的服务器地址,从而建立有效连接。

二、firewalld-cmd高级配置

1、firewalld中理解直接规则

        firewalld提供了“direct interface”(直接接口),它允许管理员手动编写的 iptables,ip6tables 和ebtables规则插入firewalld管理的区域中.适用于应用程序,而不是用户。如果对 iptables 不太熟,不建议使用直接接口,可能会无意中导致防火墙被入侵,firewalld保持对所增加项目的追踪,所以它还能质询firewalld和发现使用直接端口模式的程序造成的更改。直接端口通过firewall-cmd 命令中的---direct选项实现。除非将直接规则显式插入firewalld管理的区域,否则将首先解析直接规则.然后解析其他firewalld规则。执行以下命令即可添加一些直接规则以将某个IP范围列入黑名单。

[root@checker ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
success
[root@checker ~]# firewall-cmd --direct --permanent --add-chain ipv4 raw blacklist
success
[root@checker ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.0.0/24 -j blacklist
success
[root@checker ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 0 -m limit --limit 1/min -j LOG --log-prefix "blacklisted"
success
[root@checker ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP
success

2、使用富语言 

        firewalld 的富语言(rich language〉提供了一种不需要了解iptables语法的通过高级语言配置复杂Pv4和IPv6防火墙规则的机制.为管理员提供了一种表达性语言,通过这种语言可以表达 firewalld的基本语法中未涵盖的自定义防火墙规则。

        富规则可用于表达基本的允许/拒绝规则,也可以用于配置记录〈面向 syslog 和 auditd),以及端口转发、伪装和速率限制。下面是表达富规则的基本语法

3、理解富规则命令

        firewall-cmd 有四个选项可以用于处理富规则.所有这些选项都可以同常规的-permanent或——zone=<ZONE>选项组合使用。

source:限制源P地址.源地址可以是一个IPv4、Pv6地址或者一个网络地址段

destination:限制目标地址.目标地址使用跟源地址相同的语法。
element:要素.该项只能是以下几种要素类型之一:service、port , protocol、icmp一block、masquerade和forward--port 

service:服务名称是firewalld提供的其中一种服务。要获得支持的服务列表,输入以下命令:firewall-cmd ---get-services 。如果一个服务提供了一个目标地址,它和规则中的目标地址冲突.则会导致一个错误。命令格式为:service nane-service_name。

port:端口可以是一个独立端口数字.或者是端口范围.如5060~5062。协议为TCP或
uDP、命令格式为:port port=mnurmber _or_range protocol=protocol.

protocol:协议,可以是一个协议ID号,或者一个协议名。查询可用协议,请查阅/etc/protocols,命令格式为:protocol value=protocol_name_or_lD

icrmp-block:阻断一个或多个ICMP类型。要获得支持的ICMP类型列表.输入firewall-crnd--get-icmptypes 命令即可查看。命令格式为:icmp---block name=icmptype..narme

masquerade:规则里的P伪装。用源地址而不是目的地址来把伪装限制在一个范围内。

forward-port:将指定的 TCP或UDP协议的数据包转发到本机的其他端口,或另一台机器,或另-台机器上的其他端口。port和 to-port可以是一个单独的端口数字.或一个端口范围。而目的地址是一个简单的Р地址。

log:注册有内核臼志的连接请求到规则中,如系统日志。可以定义一个前缀文本把日志信息作为前缀加入。日志等级可以是emerg.alert、 crit、error,warning. notice、info 或者debug 中的一个。可以选择日志的用法,按以下方式限制日志:log [prefix=prefix text][level=log level] limit value=rate/duration。持续时间的单位为s、 m、 h、 d、s表示秒.m表示分钟. h表示小时, d表示天。最大限定值是1/d(每天最多有一条日志进入)。

audit:审核.审核类型可以是accept,reject或 drop 中的一-种,但不能在audit 命令后指定,因为审核类型将会从规则动作中自动收集。审核不包含自身参数,但可以选择性地增加限制。审核的使用是可选择的

acceptlreject|drop:可以是accept 、reject 或drop 中的一个行为。命令格式为: accept | reject[type=reject type] | drop。指定accept时.所有新的连接请求都将被允许。指定reject时.连接将被拒绝.发起端将接到一个拒绝信息。指定drop时,所有数据包会被丢弃.并且不会向发起端发送任何信息。

4、规则配置举例

(1)为认证报头协议AH使用新的IPv4

[root@checker ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
success

(2)允许新的IPv4和Pv6连接FTP、并使用审核每分钟记录一次。

[root@checker ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
success

(3)允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次。

[root@checker ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name=tftp log prefix="tftp" level="info" limit value="1/m" accept'
success

(4)为RADIUS协议拒绝所有来自1∶2∶3∶4∶6::的新Pv6连接.日志前缀为“dns",级别为“info”,并每分钟最多记录3次。接受来自其他发起端新的IPv6连接。

[root@checker ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:4:6::" service name=radius log prefix="dns" level="info" limit value="3/m" reject'
success
[root@checker ~]# firewall-cmd --add-rich-rule='rule family="ipv6" service name="radius" accept'
success

(5)将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接。

[root@checker ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
success

(6)拒绝来自public区域中P地址192.168,0.11的所有流量。

[root@checker ~]# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.11/32" reject'
success

(7)丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包

[root@checker ~]# firewall-cmd --add-rich-rule='rule protocol value=esp drop'
success

(8)在192.168.1.0/24子网的dmz区域中,接收端口7900~7905的所有TCP包。

[root@checker ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-7905 protocol=tcp accept'
success

(9)接收从work区域到SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记录到syslog

[root@checker ~]# firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix=ssh level=notice limit value=3/m accept'
success

(10)在接下来的5min 内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接.并且拒绝的连接将记录到audit系统.且每小时最多条消息。

[root@checker ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value=1/h reject' --timeout=300
success



 


 


 

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

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

相关文章

HDFS相关API操作

文章目录 API文档环境配置API操作准备工作创建文件夹文件上传文件下载文件删除文件的更名和移动获取文件详细信息 API文档 HDFS API官方文档&#xff1a;https://hadoop.apache.org/docs/r3.3.1/api/index.html 环境配置 将Hadoop的Jar包解压到非中文路径&#xff08;例如D:…

阿里云实时计算企业级状态存储引擎 Gemini 技术解读

本文整理自阿里云 Flink 存储引擎团队李晋忠&#xff0c;兰兆千&#xff0c;梅源关于阿里云实时计算企业级状态存储引擎 Gemini 的研究&#xff0c;内容主要分为以下五部分&#xff1a; 流计算状态访问的痛点企业级状态存储引擎GeminiGemini 性能评测&线上表现结语参考 一、…

手机直连卫星及NTN简介

一、手机直连卫星的发展现状 近日&#xff0c;华为推出了支持北斗卫星短报文的Mate 50旗舰机、P60系列&#xff0c;苹果也跟Globalstar&#xff08;全球星&#xff09;合作推出了支持卫星求救的iPhone14&#xff0c;最亮眼的还是华为的。这几款产品揭开了卫星通信探索消费领域…

JAVA基础学习笔记-day16-网络编程

JAVA基础学习笔记-day16-网络编程 1. 网络编程概述1.1 软件架构1.2 网络基础 2. 网络通信要素2.1 如何实现网络中的主机互相通信2.2 通信要素一&#xff1a;IP地址和域名2.2.1 IP地址2.2.2 域名 2.3 通信要素二&#xff1a;端口号2.4 通信要素三&#xff1a;网络通信协议 3. 谈…

点割集、边割集

点割集&#xff1a;对图G来说删去点割集的真子集&#xff0c;依旧连通。也就是说&#xff0c;点割集是删去使得图从连通变成非连通的最小节点的集合。 边割集&#xff1a;对图G来说删去边割集的真子集&#xff0c;依旧连通。也就是说&#xff0c;点割集是删去使得图从连通变成…

【小白专用】C# 连接 MySQL 数据库

C# – Mysql 数据库连接 1. 配置环境 #前提&#xff1a;电脑已安装Mysql服务&#xff1b; Visual Studio 安装Mysql依赖库&#xff1a; 工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet程序包 —> 搜索&#xff0c; 安装Mysql.Data (Oracle); (安装成功后&…

建立四叉树[中等]

一、题目 给你一个n * n矩阵grid&#xff0c;矩阵由若干0和1组成。请你用四叉树表示该矩阵grid。你需要返回能表示矩阵grid的四叉树的根结点。四叉树数据结构中&#xff0c;每个内部节点只有四个子节点。此外&#xff0c;每个节点都有两个属性&#xff1a; 【1】val&#xff1…

阿里云c8i服务器CPU性能、架构及费用测评

阿里云第八代云服务器ECS计算型c8i实例&#xff0c;CPU采用Intel Xeon Emerald Rapids或者Intel Xeon Sapphire Rapids&#xff0c;主频不低于2.7 GHz&#xff0c;全核睿频3.2&#xff0c;阿里云百科aliyunbaike.com分享阿里云c8i服务器CPU处理器型号、存储、网络、安全、使用场…

网络协议与攻击模拟_03实施ARP欺骗和攻击

一、ARP攻击 1、实验环境 kali Linux &#xff08;安装arpspoof工具&#xff09;被攻击主机 2、kali配置 kali Linux系统是基于debian Linux系统&#xff0c;采用deb包管理方式&#xff0c;可以使用apt源的方式进行直接从源的安装。 配置kali网络源 vim /etc/apt/sources…

(树木/道路/建筑)点云实验数据,包括pcd,ply,las,txt格式

&#xff08;树木/道路/建筑&#xff09;点云实验数据&#xff0c;包括pcd,ply,las,txt格式 一、介绍1.下载&#xff08;百度网盘&#xff09; 一、介绍 因为一直有朋友问数据&#xff0c;其实有很多的公开数据集可以使用&#xff0c;可能刚开始学习不习惯找吧&#xff0c;所以…

冲刺2024年AMC8模拟题:往年真题限时练一练和答案详解(4)

今天距离2024年AMC8正式比赛还有一周时间了&#xff0c;很多城市的中小学已经基本上放假了&#xff0c;所以参加AMC8竞赛的同学&#xff0c;可以在将更多的时间用在冲刺AMC8竞赛备考了&#xff0c;寒假作业的时间接下来几天可以少一点&#xff0c;AMC8结束后可以再多一点。 今…

Python办公自动化 – 操作NoSQL数据库和自动化图像识别

Python办公自动化 – 操作NoSQL数据库和自动化图像识别 以下是往期的文章目录&#xff0c;需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动…

CentOS 6 制作openssl 1.1.1w rpm包 —— 筑梦之路

参考资料&#xff1a; CentOS 7 制作openssl 1.1.1w 版本rpm包 —— 筑梦之路_centos7 openssl 1.1.1 rpm包-CSDN博客 直接上spec文件如下&#xff1a; Name: openssl Version: 1.1.1w Release: 1%{?dist} Summary: Utilities from the general purpose cryptography li…

科学和统计分析软件GraphPad Prism mac介绍说明

GraphPad Prism for Mac是一款科学和统计分析软件&#xff0c;旨在帮助研究者、科学家和学生更轻松地处理和可视化数据。 GraphPad Prism for Mac是一款功能强大、易于使用的科学和统计分析软件&#xff0c;适用于各种类型的数据处理和可视化需求。无论您是进行基础研究、临床试…

112.Qt中的窗口类

我们在通过Qt向导窗口基于窗口的应用程序的项目过程中倒数第二步让我们选择跟随项目创建的第一个窗口的基类, 下拉菜单中有三个选项, 分别为: QMainWindow、QDialog、QWidget如下图&#xff1a; 常用的窗口类有3个 在创建Qt窗口的时候, 需要让自己的窗口类继承上述三个窗口类的…

Hive基础题-1

别看我&#xff0c;不看答案我也不会写 正因为不会写&#xff0c;所以才要每天一练 本地hive练习题 SET hive.exec.mode.local.autotrue; -- 默认 false SET hive.exec.mode.local.auto.inputbytes.max50000000; SET hive.exec.mode.local.auto.input.files.max5; -- 默认 4# …

wpf的资源路径

1、手动命名空间 xmlns:share"clr-namespace:***;assembly**" 2、资源文件 Pack URI 编译到本地程序集内的资源文件的 pack URI 使用以下授权和路径&#xff1a; 授权&#xff1a;application:///。 路径&#xff1a;资源文件的名称&#xff0c;包括其相对于本地…

构建数字化美食未来:深入了解连锁餐饮系统的技术实现

在当今数字化时代&#xff0c;连锁餐饮系统的设计与开发已成为餐饮业成功经营的重要一环。本文将深入研究连锁餐饮系统的技术实现&#xff0c;结合代码演示&#xff0c;为技术开发者和餐饮业者提供深刻的理解。 1. 技术选型与系统架构 在开始设计开发前&#xff0c;首先要考…

python 爬虫 request get或post传参

爬虫传参 import requestsurl http://www.xxx# get 或 post 传参数据 data {"pageNo": 1652,"pageSize": 10, }headers {Cookie: ,Host: ,Origin: ,Referer: ,User-Agent: , }# get 请求 # res requests.get( # url, # paramsdata, # hea…

内存问题(三)——生成内存问题案例

一、系统非堆内存溢出问题排查 以下例子出自其他人案例&#xff0c;拿过来是为了学习排查问题思路&#xff0c;与解决思路。 1.1 现象描述 运单系统每隔一段时间&#xff0c;内存使用和CPU报警超出阈值85%&#xff0c;通过监控平台可以看到非堆内存持 续增加不回收 。导致频繁…