一、iptables规则的匹配条件类型有三类

1、通用匹配:可直接使用,不依赖于其他条件或扩展,包括网络协议、IP地址、网络接口等条件

2、隐含匹配:要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类型等条件

3、显式匹配:要求以“-m 扩展模块”的形式明确指出类型,包括多端口、MAC地址、IP范围、数据包状态等条件

二、通用匹配规则

1、协议匹配:-p 协议名

2、地址匹配:-s 源地址、-d 目的地址

3、接口匹配:-i 入站网卡、-o 出站网卡

例1:iptables -A FORWARD ! -p icmp -j ACCEPT(除了icmp协议的数据包,别的协议的包都能转发)

例2:在网关型防火墙设置如下:

  ~]#iptables -I FORWARD -s 192.168.1.11 -o eth1 -p tcp --sport 80 -j ACCEPT

注:192.168.1.11是企业内部的web服务器,eth1是网关防火墙的外网网卡,意思是:源地址为192.168.1.11的这台服务器tcp80端口可以回应外网请求,因为eth1是外网网卡,FORWARD转发链也对其ACCEPT了。

三、隐含匹配条件

  之所有叫隐含,是因为它依赖某种协议才能搭配使用。

1、端口匹配:--sport [源端口]       --dport [目的端口]

例:iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT(因为设置的链是FORWARD,所以一般是网关型防火墙中设置的,源ip为192的主机可以访问其他网络的udp53端口,注意源和目的的身份切换一定要弄懂)

  iptables -A FORWARD -d 192.168.4.0/24 -p udp --sport 53 -j ACCEPT(网关型防火墙中设置的,来自于udp53端口的数据包可以访问我们的192主机)

  iptables -A INPUT -p tcp --dport 20:23 -j ACCEPT(一般是主机型防火墙设置的,我们电脑的20到23端口可以被访问)

2、TCP标记匹配:--tcp-flags  [检查范围] [被设置的标记]

例:iptables -I INPUT -i eth1 -p tcp --tcp-flags SYN,RST,ACK  SYN -j  DROP

检查到有SYN的数据包,就丢弃

3、ICMP类型匹配:--icmp-type  ICMP类型(ICMP类型有8、0、3)

例: iptables -A INPUT -p icmp --icmp-type 8 -j DROP  (别人ping我主机的请求被丢弃,8代表请求)

   iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT (我ping别人时,回来的包被允许(一去一回才知道ping没ping通),0带表回来的icmp包)

   iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT(3也是代表请求,主机不可达,不常用)

   iptables -p icmp -h (查看ICMP类型)

四、显示匹配条件

(1)多端口匹配:-m multiport --sports 源端口列表

          -m multiport --sports 目的端口列表

  例:iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT

(2)IP范围匹配:-m iprange --src-range  IP范围

  例:iptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT

(3)MAC地址匹配:-m mac --mac-source MAC地址

  例:iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP

(4)状态匹配:-m state --state 连接状态

  NEW:与任何连接无关的

  ESTABLISHED:响应请求或已建立连接的

  RELATED:与已有连接有相关性的,如FTP数据连接

  例:只开放本机的Web服务,但对发给本机的TCP应答报文予以放行,其他入站报文均丢弃

  iptables -P INPUT DROP

  iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT

  iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

  

linux防火墙(三)—— iptables语法之匹配条件的更多相关文章

  1. Linux防火墙之iptables常用扩展匹配条件(一)

    上一篇博文讲了iptables的基本匹配条件和隐式匹配条件,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12269717.html:今天在来说说iptabel ...

  2. Linux防火墙之iptables常用扩展匹配条件(二)

    上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...

  3. Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件

    一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...

  4. Linux防火墙(iptables/firewalld)

    Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...

  5. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  6. linux防火墙之iptables

    linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...

  7. Linux防火墙配置(iptables, firewalld)

    netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...

  8. Linux防火墙之iptables入门

    一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...

  9. Linux防火墙:iptables禁IP与解封IP常用命令

    在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...

随机推荐

  1. Time的各种变量unity3d

    Time.time:(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算. Time.timeSinceLevelLoad:(只读)表示从当前Scene开始到目前为止的时间,也会随着暂停操作 ...

  2. PHP 正则表达式--转(川山甲)

    思维导图    点击下图,可以看具体内容!     介绍          正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net, ...

  3. 2019.01.22 hdu5195 DZY Loves Topological Sorting(贪心+线段树)

    传送门 题意简述:给出一张DAGDAGDAG,要求删去不超过kkk条边问最后拓扑序的最大字典序是多少. 思路:贪心帮当前不超过删边上限且权值最大的点删边,用线段树维护一下每个点的入度来支持查询即可. ...

  4. 2019.01.08 bzoj4543: [POI2014]Hotel加强版(长链剖分+dp)

    传送门 代码: 长链剖分好题. 题意:给你一棵树,问树上选三个互不相同的节点,使得这个三个点两两之间距离相等的方案数. 思路: 先考虑dpdpdp. fi,jf_{i,j}fi,j​表示iii子树中离 ...

  5. 2018.10.30 NOIP模拟 有环无向图(dijkstra+巧妙建图)

    传送门 建图巧妙啊. 对于每个点的出边,我们将它们排序之后依次连边. 这样可以把O(m2)O(m^2)O(m2)的边数变成O(m)O(m)O(m)的了. 连的权值就是max(edgemax(edgem ...

  6. Mybatis-Plus 实战完整学习笔记(八)------delete测试

    1.根据ID删除一个员工deleteById /** * 删除客户 * * @throws SQLException */ @Test public void deletedMethod() thro ...

  7. DocumentFragment类型

    nodeType 11 nodeName #document-fragment nodeValue NULL parentNode null createdocumentfragment()方法创建了 ...

  8. 链家web前端面试

    共有三轮面试,每个面试官的第一个问题都是:介绍一个你觉着比较出彩的项目 第一轮面试: 因为公司项目没什么亮点,很传统的pc端,美女面试官就说让讲一下我用react的私人项目; 问了很多都是关于reac ...

  9. Mysql分析优化查询的方式

    一:查询语句分析 1.通过create index idx_colunmsName on tableName(columns)为某个表的某些字段创建索引,注意主键和唯一键都会自动创建索引: 如为表st ...

  10. python 基础_ 打印输出 循环分支2

    一.在python3中的打印输出 1.输出字符串是print("hello world!!!") #输出字符串的时候可以是单引号括起来,也可以是双引号括起来.区别在于 2.输出变量 ...