一、防火墙的分类

  一般宏观来说,防火墙分为主机型防火墙,例如我们为了防止个人电脑被攻击,而开启的防火墙,还分为网关型防火墙,一般部署在企业的网关,用于过滤和转发,保证整个企业的网络环境安全性。

  按照物理状态又分为:软件防火墙和硬件防火墙

  按照功能分:包过滤型、状态检测型和代理性

二、iptables介绍

  iptables防火墙属于包过滤型,工作在网络层,针对IP数据包,体现在对包内的IP地址和端口等信息的处理上(源IP、端口和目标IP、端口)。

  iptables防火墙由netfilter和iptables组成,netfilter指的是linux内核中实现包过滤防火墙的内部结构、不以程序或文件形式存在,属于“内核态”,iptables指用来管理linux防火墙的命令程序,通常位于/sbin/iptables目录下,是“用户态”。

三、iptables结构

  iptables由4表、5链和用户在链内写入的各种规则所组成。

  1、表:容纳各种规则链;表是按照功能分的类,具体功能如下:

  (1)raw表:用来决定是否对数据包进行状态跟踪。(不常用)

  (2)mangle表:为数据包设置标记,有ACK、SYN、FIN、RST、PSH、URG等标记。(不常用)

  (3)nat表:修改数据包的IP地址、端口等信息。(网关型防火墙常用)

  (4)filter表:确定是否放行数据包。(常用)

  2、链:容纳各种防火墙规则;链是按照时机分的类。

  (1)input:处理入站请求包

  (2)output:处理出站包(就是响应、应答包)

  (3)forward:处理转发数据包,实现不同网段间的通信

  (4)prerouting:在包做路由选择之前应用此链的规则

  (5)postrouting:在数据包做路由选择之后应用此链的规则

表链结构图

注:初学者很难把表和链的关系联系起来,首先大家要牢记,表是按照功能分类,链是按照时机分类,这里给大家举个例子,比如第三条意思是:只有在路由前和路由后还有出站的时候才能修改数据包的IP地址和端口信息。

四、数据包过滤的匹配流程

1、规则表之间的顺序:raw→mangle→nat→filter

2、规则链之间的顺序:

  (1)入站数据流向:prerouting→input

  (2)出站数据流向:output→postrouting

  (3)转发数据流向:prerouting→forward→postrouting

注:(1)和(2)多用于主机型防火墙,(3)多用于网络型防火墙

3、规则链内的匹配顺序:

  按照顺序依次检查,匹配即停止(log策略例外);若找不到相匹配的规则,按该链的默认策略处理。

匹配流程示意图:

五、防火墙的路由功能

  防火墙可作为路由器起转发作用,具体操作如下:

  (1)永久生效方法

  vim etc/sysctl.conf

  修改

  forward = 1

  sysctl -p(立即生效)

  (2)临时生效方法

  echo 1 > /proc/sys/net/ipv4/ipforward

  或者 sysctl -w net.ipv4.ip_forward=1

linux防火墙(一)—— iptables架构介绍的更多相关文章

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

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

  2. Linux防火墙(iptables/firewalld)

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

  3. linux防火墙之iptables

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

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

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

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

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

  6. linux防火墙相关 iptables

    1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...

  7. Linux防火墙之iptables入门

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

  8. Linux防火墙设置——iptables

    防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...

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

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

随机推荐

  1. Android开发笔记 TableLayout常用的属性介绍

    今天看了安卓简单控件的布局方式,大概有绝对.相对.表格.线性.帧式布局五种方式,表格布局里面的一些属性相对来说比较复杂,下面主要谈谈表格方式布局的一些属性   TableLayout经常用到的属性有: ...

  2. Struts2 result type(结果类型)

    转自:http://www.cnblogs.com/liaojie970/p/7151103.html 在struts2框架中,当action处理完之后,就应该向用户返回结果信息,该任务被分为两部分: ...

  3. C++深度解析教程学习笔记(5)面向对象

    1. 面向对象基本概念 (1)面向对象的意义在于 ①将日常生活中习惯的思维方式引入程序设计中 ②将需求中的概念直观的映射到解决方案中 ③以模块为中心构建可复用的软件系统 ④提高软件产品的可维护性和可扩 ...

  4. 分析比较多表查询中的IN与JOIN

    IN 是子查询的关键字,JOIN 是连接的关键字,项目开发中经常会使用到多表查询,而子查询与连接正是实现多表查询的重要途径.那两者是怎么运行的?IN与JOIN哪个更好?下面就来分析与比较. 现在有te ...

  5. Linux的基本指令shell

    计算机语言的进化过程,7代语言 机器语言(6种位运算)->  汇编语言->C语言  ->  C++/Java   -> Paython / go /Ruby   -> 自 ...

  6. 数据结构》关于差分约束的两三事(BZOJ2330)

    差分约束,主要用来解决数学中的线性规划问题,通过差值与两个未知数可以转化为单源最长路问题(或负值最短路). 当有一个式子为x1-x2>=a时,我们可以建边,这条边设定为x1比x2大等a(或x2比 ...

  7. 【bzoj1015】星球大战starwar

    1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 5139  Solved: 2332[Submit ...

  8. RichEdit在Win8上乱码

    之前的一个项目中使用了RichEdit,发现在Win8中输入中文乱码,但是复制粘贴正常. 经过各种搜索调查,发现是msftedit.dll的问题,我在win7上找到msftedit.dll,将它拷贝到 ...

  9. TOP命令 详解CPU 查看多个核心的利用率按1

    top命令是linux下常用的工具,可以查看各个进程的CPU使用情况.先看一个实例: 这是Ramnode双核VPS的top显示结果: 左上角可以看到CPU的使用率是11.3%,但是看下面的进程,plu ...

  10. Java AOP 注解配置与xml配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...