Linux iptables防火墙详解(三)——iptables匹配条件

今天继续给大家介绍Linux基础知识,本文主要内容是Linux iptables防火墙配置命令匹配条件。
阅读本文前,您需要对Linux iptables有一定的了解,如果您对此还存在困惑,欢迎查阅一下文章,相信您一定会有所收获!
Linux iptables防火墙详解(一)——iptables基础知识
Linux iptables防火墙详解(二)——iptables基本配置

一、iptables匹配参数介绍

在上文Linux iptables防火墙详解(二)——iptables基本配置中,我们介绍了iptables防火墙一些基本的参数,今天,我们针对iptables防火墙中规则配置的匹配条件相关内容进行详细介绍,首先,我们来看一下iptables防火墙的匹配方式和相应的参数。

(一)按网络接口进行匹配

在iptables防火墙中,如果主机设备含有多块网卡时,可以按照网络接口进行匹配。-i参数表示数据包进入的接口,-o参数表示数据包流出的接口。

(二)按源、目IP进行匹配

在iptables防火墙中,可以按照数据包的源、目IP进行匹配,-s参数可以匹配数据包源IP地址,-d参数可以匹配数据包目的IP地址。IP地址可以是单个IP地址、IP地址段,域名等等。

(三)按协议类型进行匹配

-p参数可以指定协议类型,协议类型可以是tcp、udp、icmp等等。

(四)按源、目端口进行匹配

如果想要匹配端口,则需要使用–sport、–dport参数,–sport表示源端口,–dport表示目的端口。这两个参数后面可以跟单个端口,也可以跟一个端口范围,例如–sport 3306、–dport 300:1000、–sport :200分别表示匹配源端口为3306,
如果想要匹配多个端口,则需要首先使用-m multiport参数,然后跟–sports、–dports或者是–ports参数,

(五)按源MAC地址进行匹配

如果想要iptables按照源码MAC地址进行匹配,则格式如下:

-m mac --mac-source XX.XX.XX.XX.XX.XX

后面紧跟这的是一个MAC地址。

(六)按包速率进行匹配

如果想要按照包速率进行匹配,则格式如下:

-m limit  --limit N/s --limit-burst M

其中N、M是一个正整数,表示一秒多少个数据包,M表示缓冲区大小。其实,iptables对速率的限制,本质上是对数据包个数的限制,iptables不支持对数据包大小和带宽进行直接限制。
如果想要对某一类型的数据包进行限速,–limit参数和–limit-burst参数要配合使用,iptables会首先放置一个计数器,计数器大小为M的值,每当收到一个数据包,就会将计数器的值减1,如果计数器的值为0,则拒绝接受新的数据包,同时,iptables也会按照N的值,定期增加计数器的值。

(七)按包状态进行匹配

除了上述常规的匹配方式外,iptables还支持按照包状态进行匹配,所谓包状态,是根据源目IP、源目端口和序列号等信息,判断处于一个链接的不同的状态,比如TCP的三次握手等交互状态等,iptables支持的包状态有以下4种。
1、NEW。 NEW状态是通常意义上的第一个数据包已经被接收到了,但是其反方向的应答包还没有被接受到的情况,比如TCP三次握手时的第一个SYN包,这就是NEW状态的连接。
2、ESTABLISHED。 ESTABLISHED状态是在NEW状态的基础上,收到了对方的应答包,这样,数据就会有两个方向的传输。比如TCP三次握手的服务端在收到客户端发送的SYN包后,进行SYN+ACK包的应答,这时我们就可以把该状态认为是ESTABLISHED状态。
3、RELATED。 RELATED状态是在ESTABLISHED状态的基础上,有相关链接的建立。最典型的协议是FTP协议,如果是FTP采取主动模式,则在控制链接中,客户端向服务端发送客户端打开的端口号,服务端根据客户端发送的端口号,新建立一个TCP数据链接,主动的去链接客户端。从这个角度看,数据连接与控制链接其实是由很大关联的。
4、INVALID。 如果有其他的状态防火墙不能识别,则把该状态认为是INVALID状态。
在这里,需要特别说明的是,状态的引入,可以很方便的帮助我们配置一些规则。包过滤防火墙向状态监测防火墙的进步,就可以看做是对状态匹配数据报文的支持,而RELATED状态的引入,更是可以类比与现代防火墙的ASPF功能。

二、iptables匹配参数使用示例

接下来,为了让大家更好的理解iptables的各种匹配参数,我简单地罗列一下iptables的使用命令,可以供大家学习参考一下。
1、按照网卡进行匹配

iptables -A INPUT -i ens32 -j ACCEPT

2、常规防范指定流量

iptables -A INPUT -s 192.168.136.0/24 -d 192.168.136.101 -p tcp --sport 20:30 --dport 90 -j ACCEPT

3、防止ICMP洪范攻击

iptables -A INPUT -p icmp -m limit --limit 10/m --limit-burst 5 -j ACCEPT 
iptables -A INPUT -p icmp -j REJECT

上述命令配置后,对该设备的访问结果如下:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值