![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
iptables、firewalld、nftables
文章平均质量分 94
iptables、firewalld、ntfables从入门到精通,通过探讨它们的功能、用途及如何配置管理,可以了解如何保护其系统免受潜在的网络威胁。iptables 作为 Linux 系统上经典防火墙工具与最新 firewalld及nftables对比,帮助大家理解了传统和现代防火墙的差异与优势。
Monster✺◟(∗❛ัᴗ❛ั∗)◞✺
这个作者很懒,什么都没留下…
展开
-
nftables(9)NAT、FLOWTABLES
在nftables或类似的网络过滤和流量控制框架中,flowtables是一种高级特性,用于加速软件中的数据包转发。flowtables通过存储和缓存转发决策来优化性能,这些决策基于数据包的某些关键属性(如源和目的地址、端口以及层3/4协议)来做出。这种方式可以显著减少对每个数据包都进行完整路由查找和决策。原创 2024-07-17 16:03:12 · 812 阅读 · 1 评论 -
nftables(8)MAPS、VMAPS
在nftables中,Map(映射)用于存储键值对,类似于许多编程语言中的关联数组/字典/哈希表。在nftables规则中,可以指定一个数据包字段(例如:tcp目的端口),然后引用一个映射来搜索具有与数据包字段值匹配的键的映射元素,并返回该映射元素的值(或者如果映射中没有匹配元素则返回失败)。可以把map想象成一个集合,但它不仅返回“在集合中/不在集合中”的结果,而且返回一个具体的值。在内部实现上,集合和map都使用了相同的通用集合基础设施,因此它们共享许多相同的选项和语义。原创 2024-07-16 15:01:07 · 732 阅读 · 2 评论 -
nftables(7)集合(SETS)
集合(sets)是一种非常重要的数据结构,用于存储一组元素,如IP地址、端口号、MAC地址等,以便在规则中引用。集合的使用可以极大地简化防火墙规则的配置,提高管理效率。通过合理使用集合,可以简化规则配置、提高管理效率,并增强防火墙的灵活性。原创 2024-07-15 14:11:28 · 587 阅读 · 0 评论 -
nftables(6)表达式(4)使用举例
前几篇文章已经介绍了表达式的基本概念,数据类型、还有各种不同类型的表达式规则。表达式的使用方式非常复杂也非常灵活,具体怎么使用要根据自己的实际需求来确定。本篇文章主要介绍集中nftables中的策略设置,以便加深对表达式的理解。原创 2024-07-12 17:16:34 · 1344 阅读 · 0 评论 -
nftables(5)表达式(3)PAYLOAD EXPRESSIONS
Payload expressions在nftables中扮演着重要的角色,因为它们允许用户定义复杂的规则,这些规则可以基于数据包的内容(即有效载荷)来过滤、修改或允许数据包通过。这些表达式可以执行诸如数据拷贝、比较、位操作等多种操作,以实现对数据包内容的精细控制。原创 2024-07-11 11:57:10 · 684 阅读 · 0 评论 -
nftables(4)表达式(2)主要表达式(PRIMARY EXPRESSIONS)
上篇文章已经介绍了数据类型,如INTERGER TYPE、BITMASK TYPE、STRING TYPE、LINK LAYER ADDRESS TYPE、 IPV4 ADDRESS TYPE、 IPV6 ADDRESS TYPE、BOOLEAN TYPE、ICMP TYPE、CONNTRACK TYPES等。那么本篇文章主要介绍PRIMARY表达式的相关内容。原创 2024-07-10 11:48:03 · 859 阅读 · 0 评论 -
nftables(3)表达式(1)数据类型
以上就是我们介绍的一些主要的数据类型,通过数据类型和表达式相互配合,可以帮助用户根据特定的需求构建和评估规则集,从而实现对数据包的精确控制和处理。通过结合不同类型的表达式,用户可以更灵活地管理网络流量和执行各种网络操作。原创 2024-07-09 11:52:53 · 1017 阅读 · 0 评论 -
nftables(2)表、链、规则查询和管理(新增、插入、修改、删除)
上面所介绍的就是nftables基本的表、链、规则的创建和管理,如果熟悉iptables的配置方式的话,那么nftables的配置逻辑理解起来还是相对比较容易的。大家可以多做实验理解表、链、规则的相关性和其互相的关系,如果不是非常清楚,可以参考iptables部分相关的文章。原创 2024-07-08 12:20:43 · 833 阅读 · 0 评论 -
nftables(1)基本原理
nftables是 Linux 内核中用于数据包分类的现代框架,用来替代旧的iptables(包括ip6tablesarptablesebtables等,统称为 xtables)架构。nftables提供了更强大、更灵活以及更易于管理的规则集配置方式,使得网络过滤和路由决策变得更加高效nftables 可在 Linux 内核版本 >= 3.13 上使用。nftables 提供了一个名为 nft 的新命令行实用程序,其语法与 iptables 不同。原创 2024-07-05 14:05:50 · 985 阅读 · 0 评论 -
firewalld(8) policies
防火墙附带了一些预定义的策略。默认情况下,这些选项可能是活动的,也可能不是活动的。例如默认的预定义策略通过使用policy我们可以设置基于zone之间的安全策略,并且可以将不同的应用进行整合,不同的应用类型设置不通的policy,提升策略的灵活度,这样当策略数量非常庞大且复杂的时候,可以极大的提升策略的可视化程度,提升管理效率。原创 2024-07-04 12:27:29 · 1135 阅读 · 0 评论 -
firewalld(7)NAT、端口转发
在前面的文章中已经介绍了firewalld了zone、rich rule等规则设置,并且在iptables的文章中我们介绍了网络防火墙、还有iptables的target,包括SNAT、DNAT、MASQUERADE、REDIRECT的原理和配置。那么在这篇文章中,将继续介绍在firewalld中的NAT的相关配置使用。原创 2024-07-03 10:48:39 · 949 阅读 · 0 评论 -
firewalld(6)自定义services、ipset
自定义服务配置文件:通常位于目录下,文件名以.xml结尾。这些文件允许用户定义自己的服务,包括其使用的端口、协议、模块(如内核模块)以及目标地址等。系统级服务配置文件:位于目录下,这些文件包含预定义的服务配置,这些服务通常是众所周知的网络服务(如HTTP、SSH等)。参考 /usr/lib/firewalld/services/ssh.xml,在下面新建你需要的服务名以.xml结尾,内容格式参照如ssh.xml、rdp.xml等文件中的内容即可。原创 2024-07-02 11:26:59 · 1039 阅读 · 2 评论 -
firewalld(5)--direct
当我们使用--direct参数后,并且将后端改为iptables后,那么数据包的处理方式就和iptables是一样的。我们可以直接修改iptables也可以通过firewalld-cmd进行配置。这个时候如果使用--direct命令去配置的话,需要我们对iptables有一定程度的了解。更多的iptables的使用大家可以看我前面与iptables有关的文章。原创 2024-07-01 17:31:33 · 653 阅读 · 0 评论 -
firewalld(4) Rich Rule
是firewalld防火墙服务中的一部分,它提供了一种更为丰富和易于理解的方式来创建复杂的防火墙规则。这种丰富语言(Rich Language)使用带有值的关键词,并且是对iptables规则的一种抽象表示。原创 2024-07-01 14:56:51 · 887 阅读 · 0 评论 -
firewalld(3)zone配置
在firewalld中,可以添加自定义的zone。自定义的zone允许你根据特定的需求定义一组防火墙规则。这里的--permanent选项确保该zone在重启后仍然存在。在定义了新的zone之后,你需要重新加载firewalld服务以使更改生效。增加完成后就可以按照下面添加zone规则的方式在该zone中添加规则本片文章主要介绍的是zone的配置、包括默认zone,自定义zone,zone中添加规则,如添加IP、端口、服务以及配置保存。原创 2024-06-28 15:20:16 · 1224 阅读 · 0 评论 -
firewalld(2)安装、配置文件、规则查询
/usr/lib/firewalld目录包含了Firewalld提供的默认和回退配置,这些配置是关于ICMP类型(icmptypes)、服务(services)和区域(zones)的。这些文件是随着firewalld包一起安装的,并且通常不应该被修改,因为当firewalld包更新时,这些更改可能会丢失。原创 2024-06-28 09:35:10 · 1149 阅读 · 0 评论 -
firewalld(1)基本原理
Firewalld 是一个简单、基于状态和区域的防火墙管理工具。它使用策略和区域来组织防火墙规则。网络在逻辑上被划分为不同的区域,区域之间的流量可以通过策略进行管理。原创 2024-06-27 16:18:12 · 873 阅读 · 0 评论 -
iptables(12)实际应用举例:策略路由、iptables转发、TPROXY
策略路由(Policy-Based Routing, PBR)是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。允许管理员根据特定的策略来决定数据包的路由路径,这些策略可以基于数据包的源地址、目的地址、协议类型、端口号等多种因素。路由器将通过PBR决定如何对需要路由的数据包进行处理,PBR决定了一个数据包的下一跳转发路由器。路由策略(Routing Policy)主要是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。原创 2024-06-27 12:05:33 · 1430 阅读 · 0 评论 -
iptables(11)target(SNAT、DNAT、MASQUERADE、REDIRECT)
前面我们已经介绍了ACCEPT、DROP、REJECT、LOG,这篇文章我们介绍SNAT、DNAT、MASQUERADE、REDIRECT,这几个参数的定义我们在上篇文章中都有介绍,我这里再列出回顾一下。原创 2024-06-26 09:50:14 · 1131 阅读 · 0 评论 -
iptables(10)target(REJECT、LOG)
前面文章介绍iptables的匹配条件,并且已经用到了一些常用动作,比如ACCEPT、DROP、REJECT等。原创 2024-06-25 11:34:03 · 764 阅读 · 0 评论 -
iptables(9)网络防火墙
我们在第一篇介绍iptables的时候提到过,iptables是一个包过滤防火墙,那么防火墙是怎么分类的呢?都有哪些防火墙?以上以一些简单的分类,在前文的举例中,iptables都是作为主机防火墙的角色出现的,那么这篇文章我们介绍iptables怎么作为网络防火墙。网络防火墙往往处于网络的入口或者边缘,如果想要使用iptables充当网络防火墙,iptables所在的主机则需要处于网络入口处。原创 2024-06-25 09:55:47 · 897 阅读 · 0 评论 -
iptables(8)iptables自定义链
配置自定义链规则和配置普通规则是一样的,默认是filter表,插入规则后面根的是自定义链名称IN-HTTP自定义链在哪里创建,应该被哪条默认链引用,取决于实际的工作场景。一个自定义链可以引用在多个链上,自定义链引用到链上后,就相当于该链配置了自定义链的规则。匹配顺序和普通规则的匹配顺序是一样的,在该链内从上到下一次匹配,匹配到自定义链后,按照自定义链内规则的顺序依次匹配。原创 2024-06-24 15:53:57 · 901 阅读 · 0 评论 -
iptables(7)扩展模块state
前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块。原创 2024-06-24 11:28:36 · 973 阅读 · 0 评论 -
iptables(6)扩展匹配条件--tcp-flags、icmp
--tcp-flags”指的就是tcp头中的标志位,在使用iptables时,我们可以通过此扩展匹配条件,去匹配tcp报文的头部的标识位,然后根据标识位的实际情况实现访问控制的功能。那我们来看下tcp的报头结构标志符(9比特长)ECN显式拥塞通知(Explicit Congestion Notification)是对TCP的扩展,定义于 RFC 3540 (2003)。ECN允许拥塞控制的端对端通知而避免丢包。ECN为一项可选功能,如果底层网络设施支持,则可能被启用ECN的两个端点使用。原创 2024-06-21 19:03:15 · 663 阅读 · 0 评论 -
iptables(5)常用扩展模块iprange、string、time、connlimit、limit
之前我们已经介绍过扩展模块的简单使用,比如使用-m tcp/udp ,-m multiport参数通过--dports,--sports可以设置连续和非连续的端口范围。那么我们如何匹配其他的一些参数呢,比如源地址范围,目的地址范围,时间范围等,这就是我们这篇文章介绍的内容。原创 2024-06-21 16:32:34 · 1407 阅读 · 0 评论 -
iptables(4)规则匹配条件(源、目、协议、接口、端口)
上篇文章中我们介绍的规则是匹配源地址,通过-s参数指定源地址,那我们从源地址开始逐步介绍。图中我指定的源地址是单个IP地址一次指定多个源IP地址通过“,”隔开多个地址,可以一次性指定多个源地址,但是指定了多个不连续的源地址后,在iptables列表中会列出多行显示。注意逗号两侧都没有空格,多个IP之间通过逗号隔开一次性指定一个网段直接使用网段信息,来设置源地址段,那么该条规则就会匹配源地址是这个网段来的所有数据反向匹配(条件取反)!原创 2024-06-21 11:24:56 · 1010 阅读 · 0 评论 -
iptables(3)规则管理(新增、插入、修改、删除、保存)
上一篇文章中,我们已经介绍了怎样使用iptables命令查看规则,那么这篇文章我们就来介绍一下,怎样管理规则,即对iptables进行”增、删、改”操作。注意:在进行iptables实验时,请务必在个人的测试机上进行,不要再有任何业务的机器上进行测试。在进行测试前,为保障我们环境的纯粹性,我们需要将iptables清空,以便进行后续的各项实验测试。可以通过一下命令清空防火墙规则。原创 2024-06-20 12:07:57 · 728 阅读 · 0 评论 -
iptables(2)安装及规则查询
iptables为我们预定义了4张表,它们分别是raw表、mangle表、nat表、filter表,不同的表拥有不同的功能,iptalbes基本语法、查询方式。原创 2024-06-20 10:26:02 · 1072 阅读 · 0 评论 -
Iptables(1)基本概念
内核功能:Linux 内核本身提供了网络数据包的处理和过滤功能。iptables 利用了 Linux 内核的网络包过滤机制 Netfilter,这允许用户定义一系列规则,控制数据包的流动。当一个数据包到达系统时,内核将根据预设的 iptables 规则集进行处理,决定数据包的命运:是放行还是丢弃。用户空间服务:iptables 工具实际上是一个位于 Linux 用户空间的命令行工具,用于配置和管理内核中的防火墙规则。原创 2024-06-19 16:54:54 · 1341 阅读 · 0 评论