IPTable简介3——常用匹配

简介: 三 、IPtables的常用匹配规则匹配规则可以用!号进行非运算1、常规匹配1.1 通用匹配规则-s(--src):对报文源ip地址进行匹配可以是常规的数字IP地址,也可以是ip网段,如果是ip网段可以用如下方式定义:例如:-s 192.

三 、IPtables的常用匹配规则

匹配规则可以用!号进行非运算

1、常规匹配

1.1 通用匹配规则

-s(--src):对报文源ip地址进行匹配

可以是常规的数字IP地址,也可以是ip网段,如果是ip网段可以用如下方式定义:

例如:-s 192.168.1.0/24 或者 -s 192.168.1.0/255.255.255.0 两者等效

-d(--dst):对目的ip地址进行匹配

此规则和-s相同

-p(--protocol):对ip协议进行匹配

可以是关键字TCP、UDP或ICMP,也可以是这些协议在IP协议上的协议号(ICMP-1,TCP-6,UDP-7)。

如果是关键字可以在/etc/protocols里定义的协议关键字都可以。还可以是ALL,表示上述三个协议都可以。

例如:-p !TCP 表示匹配协议为非tcp的包。

2、暗含匹配规则:

2.1 对tcp和udp协议可以对源端口和目的端口进行匹配

-dport:对目的端口进行匹配

-sport:对源端口进行匹配

例如: -p tcp --dport 8080

-p tcp --dport 8080:9000 //匹配tcp 端口从8080---9000的所有端口

-p udp --sport :90 //匹配源端口从0--90端口的所有包

2.2 icmp包类型匹配

--icmp-type:对icmp包的某个特殊类型进行匹配

例如:-p icmp --icmp-type 8

3、详细匹配

所有前述的匹配都是不需要加载特殊模块就可以执行的动作。但是现在所描述的匹配都是需要显地加载模块才可以支持。

加载模块的方法用-m或者--match 跟模块名

例如: -m state

2.1、Addrtype匹配

对报文的地址类型进行匹配。常见的地址类型有:

LOCAL:表示地址是本地地址,指本地一切地址含:127.0.0.1回环地址

UNICAST:单播地址

MULTICAST:组播地址

BROADCAST:广播地址

例如:

-m addrtype --dst-type LOCAL

-m addrtype --src-type MULTICAST


2.2、 Mac匹配

对包的源mac地址进行匹配

-m mac --mac-source 01:11:12:13:14:15

只能对prerouting ,forward, input进行匹配。

2.3 、Multiport匹配

对多个端口进行匹配。

-p tcp -m multiport --source-port 22,53,44

-p udp -m multiport --destination-port 11,44,55

-p all -m multi port --port 88,8080

2.4、iprange匹配

对多个ip地址进行匹配

例如:-m iprange --src-range 192.168.3.4-192.168.3.7

-m iprange --dst-range 192.168.3.4-192.168.3.9

2.5、pkttype匹配

可以对ip包的类型进行匹配:unicast,multicast或broadcast

例如:

-m pktype --pkt-type !broadcast

2.6、physdev匹配

可以对netfilter的接入和发送接口名进行匹配。这个和iptables自带的-i 和-o不同的是,physdev只针对网桥的接口。

例如:

-m physdev --physdev-in eth1 --physdev-out eth0

2.7 length匹配

匹配包长度可以length匹配

例如

-m length --length 1400:1500

-m length --length 1400


2.8、state匹配

netfilter在内核中有链接跟踪模块,能够对链接(面向链接和非面向链接都一样)进行状态跟踪,iptables可以利用链接跟踪模块进行匹配常用的链接跟踪匹配模块有state匹配和下文的conntrack匹配(state匹配的扩展)

链接跟踪模块定义了以下几种状态:

NEW:当一个ip包被第一次发出以后,防火墙就规定该流向进入了NEW状态。对应了tcp的sync包发出、udp和icmp的第一个包发出

ESTABLISHED:当该流向的第一包发出后,得到来自对段的ip包后进入此状态。对应tcp收到对端的ack(回复sync)或对段sync包,udp收到对段响应包

RELATED:就是当本流进入established状态后,防火墙识别到本流相关的流就被标记为此状态。例如:ftp 命令流对应的ftp数据流。

INVALID

例如:-m state --state RELATED

2.9、conntrack匹配

是对state匹配的扩展,常用的是--cstate 它除了有state 匹配的状态,还定义了SNAT DNAT

2.10、limit匹配

对于iptables的log动作,可以使用limit匹配来限制记录的数据包频率。

例如:

-m limit --limit 3/hour

-m limit --limit 4/second

-m limit --limit 10/minute

-m limit --limit 11/day

目录
相关文章
|
19天前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于源地址和子网子网匹配案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于源地址和子网进行匹配以实现流量分发的高级配置选项,并通过实战案例展示了配置过程和访问效果。
41 5
HAProxy的高级配置选项-ACL篇之基于源地址和子网子网匹配案例
|
11月前
【每日一记】ACL基本概念(匹配流量、路由条目、书写、规则.....)
【每日一记】ACL基本概念(匹配流量、路由条目、书写、规则.....)
358 1
|
运维 网络协议 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
761 0
|
运维 网络协议 Linux
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(一)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)
1668 0
|
运维 Shell 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
2163 0
|
网络协议 安全 Linux
【Linux】iptables之防火墙概述及规则匹配+实例(1)
网络中的防火墙,是一种将内部网络和外部网络分开的方法,是一种隔离技术。防火墙在内网与外网通信时进行访问控制,依据所设置的规则对数据包作出判断,最大限度地阻止网络中的黑客破坏企业网络,从而加强企业网络安全。
812 0
【Linux】iptables之防火墙概述及规则匹配+实例(1)
|
网络协议
IPTables六—— IPTable规则优化IPSet
六、IPSet iptables在进行包过滤的时候,对每个数据包都过滤一遍iptables中的规则。假设我们有如下三条规则: -s 1.1.1.1 -p tcp accpet -s 2.2.2.2 -p tcp accpet -s 3.3.3.3 -p tcp accpet 那么当一个数据包源地址是3.3.3.3的时候,它首先去匹配第一条规则,不匹配再匹配第二条,最后在第三条匹配中了。
1319 0
|
网络协议 网络安全