iptables按照规则进行处理,而iptables的规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包和规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。

我们启用防火墙时,报文需要经过如下链,根据实际情况的不同,报文经过的链可能不同,如果报文需要转发,那么报文则不会经过input链发往用户空间,而是直接在内核空间经过forward链和postrouting链转发出去。如下图。

根据上图,

如果目的地址为本机,报文的方向为: PREROUTING --> INPUT-->OUTPUT-->POSTROUTING

目的地址为其他主机,报文方向为: PREROUTING --> FORWARD --> POSTROUTING -->其他主机

链的概念

防火墙的作用在于对经过的报文匹配“规则”,然后执行对应的“动作”,所以,当报文经过这些关卡的时候,则必须匹配这个关卡上的规则,但是,这个关卡上的规则可能不止有一条规则,而是很多条规则,当我们把这些规则串到一个链条上的时候,就形成了“链”。

表的概念

每个“链”上都放置一串规则,但是对这些规则有些很相似,比如,A类规则都是对IP或者端口的过滤,B类规则是修改报文,那么这个时候,我们可以把这些实现相同功能的规则放在一起。

我们把具有相同功能的规则的集合叫做“表”,所以说,不同功能的规则,我们可以放置在不同的表中进行管理,而iptables已经为我们定义了四种表,每种表对应了不同的功能,而我们定义的规则都在这4种功能的范围,所以,必须要了解每个表的作用。

filter表:负责过滤功能,防火墙;内核模块,iptable_filter

nat表:network address translation,网络地址转换功能;内核模块:iptable_nat

mangle表:拆解报文,做出修改,并重新封装的功能;内核模块:iptable_mangle

raw表:关闭nat表上启用的连接追踪机制;内核模块:iptable_raw

表链关系

PREROUTING的规则可以存在于: raw表,mangle表,nat表 INPUT的规则可以存在于:mangle表,filter表,(centos7中还有nat表,centos6中没有) FORWARD的规则存在于: mangle表,filter表 OUTPUT的规则存在于: raw表,mangle表,nat表,filter表 POSTROUTING的规则在于: mangle表,nat表

但是,在实际使用过程中,往往是通过“表”作为操作入口,对规则进行定义,之所以上面介绍iptables,是因为从“关卡”的角度更容易从入门的角度理解,但是为了以便于在实际使用的时候,更加顺畅的理解它们,此处我们将各“表”与“链”的关系罗列出来。

表(功能) 链(钩子)
raw PREROUTING, OUTPUT
mangle PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
nat PREROUTING, OUTPUT, POSTROUTING (CentOS7中还有INPUT,CentOS6没有)
filter INPUT, FORWARD,OUTPUT

数据经过防火墙流程

iptables常用的处理动作

  ACCEPT:允许数据包通过

  DROP:直接丢弃数据包,不给任何回应信息

  REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息

  SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题

  MASQUERADE:是SNAT的一种特殊形式,适用于动态的,临时会变的ip上

  DNAT:目标地址转换

  REDIRECT:在本机做端口映射

  LOG:在/var/log/message文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作

iptables防火墙--------基本概念的更多相关文章

  1. Linux之iptables(一、防火墙的概念)

    防火墙的概念 一.安全技术 入侵检测与管理系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化.定位来自内外网络的威胁情况,主要以提供报告和事后监督为主,提供 ...

  2. Iptables防火墙规则使用梳理

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  3. Iptables防火墙规则使用

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  4. CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙

    官方文档介绍地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Gui ...

  5. Centos7 防火墙关闭和启用iptables防火墙

    操作系统环境:CentOS Linux release 7.0.1406(Core) 64位CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭f ...

  6. 2-10~2-11 配置iptables防火墙增强服务 selinux简单讲解

    学习一个服务的过程: 1.此服务器的概述:名字,功能,特点,端口号 2.安装 3.配置文件的位置 4.服务启动关闭脚本,查看端口 5.此服务的使用方法 6.修改配置文件,实战举例 7.排错(从下到上, ...

  7. 为Linux设置IPTables防火墙

    我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙. 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统. (阿里 ...

  8. CentOS 7.4中firewall防火墙详解和配置以及切换为iptables防火墙

    转载:https://blog.csdn.net/xlgen157387/article/details/52672988 一.firewall介绍 CentOS 7中防火墙是一个非常的强大的功能,在 ...

  9. Linux(13):期中架构(5)--- 前端部分:keepalived高可用 & HTTPS & iptables防火墙

    keepalived 高可用集群 1. keepalived服务概念说明 # 1.1 keepalived软件的作用? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LV ...

随机推荐

  1. S03_CH13_ZYNQ A9 TCP UART双核AMP例程

    S03_CH13_ZYNQ A9 TCP UART双核AMP例程 13.1概述 ZYNQ中存在两个独立的ARM核,在很多应用场景中往往只需使用其中的1个核心即可.然而,对于复杂的设计,例如多任务,并行 ...

  2. 【数学】Prime-Factor Prime

    Prime-Factor Prime 题目描述 A positive integer is called a "prime-factor prime" when the numbe ...

  3. Python+Appium启动手机APP或者浏览器

    一.设备信息配置 脚本如下: from appium import webdriver class my_app(): def __init__(self): desired_caps = {} # ...

  4. delete删除数据造成归档日志增加,操作系统空间不足导致数据库hang住

    业务需求,对日志表历史数据进行清理.历史表均很大,使用delete 操作删除90天前的数据. 第一部分:快速删除数据 SQL> alter table CC.F_LOG parallel ; S ...

  5. poj 1837 天平问题(01背包变种)

    题意:给你n个挂钩,m个砝码,要求砝码都用上,问有多少中方案数 题解:对于这道题目的状态,我们定义一个变量j为平衡度,当j=0的时候,表明天平平衡.定义dp[i][j]表达的含义为使用前n个砝码的时候 ...

  6. (五)Activiti之查看最新版本的流程定义

    一.查看最新版本的流程定义 因为每个流程定义都可能会有好几个版本,所以有时候我们有这样的需求,查询出最新版本的流程定义的集合 第一步:我们通过Activiti接口来获取根据流程定义Version升序排 ...

  7. 奇妙的算法【11】LeetCode-专属算法面试题汇总

    这个是LeetCode上面的编程训练专项页面,地址:https://leetcode-cn.com/explore/interview/card/top-interview-quesitons-in- ...

  8. ASP.NET Core 入门(4)(IIS 部署前后端站点)

    .NET Core发布部署的文章园内有很多了,大家可以自行百度,该篇主要想总结需要注意的地方,列举前后端(比如前段 Vue,后端 WebAPI)在同一台服务器上的主要两种方式. 两种方式: 1. 前后 ...

  9. mysql-8.0.16-winx64的最新安装教程

    最近刚学习数据库,首先是了解数据库是什么,数据库.数据表的基本操作,这就面临了一个问题,mysql的安装,我这里下载的是64位的,基于Windows的,以下是在我电脑上的安装过程,希望可以帮助到大家. ...

  10. leetcode-55. Jump Game · Array

    题面 这个题面挺简单的,不难理解.给定非负数组,每一个元素都可以看作是一个格子.其中每一个元素值都代表当前可跳跃的格子数,判断是否可以到达最后的格子. 样例 Input: [2,3,1,1,4] Ou ...